idnits 2.17.1 draft-dang-queuing-with-multiple-cyclic-buffers-00.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- No issues found here. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year == The document doesn't use any RFC 2119 keywords, yet seems to have RFC 2119 boilerplate text. -- The document date (February 22, 2021) is 1152 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) == Unused Reference: 'RFC2119' is defined on line 223, but no explicit reference was found in the text -- Possible downref: Non-RFC (?) normative reference: ref. 'IEEE8021TSN' Summary: 0 errors (**), 0 flaws (~~), 3 warnings (==), 2 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Network Working Group B. Liu 3 Internet-Draft J. Dang, Ed. 4 Intended status: Standards Track Huawei 5 Expires: August 26, 2021 February 22, 2021 7 A Queuing Mechanism with Multiple Cyclic Buffers 8 draft-dang-queuing-with-multiple-cyclic-buffers-00 10 Abstract 12 This document presents a queuing mechanism with multiple cyclic 13 buffers. 15 Status of This Memo 17 This Internet-Draft is submitted in full conformance with the 18 provisions of BCP 78 and BCP 79. 20 Internet-Drafts are working documents of the Internet Engineering 21 Task Force (IETF). Note that other groups may also distribute 22 working documents as Internet-Drafts. The list of current Internet- 23 Drafts is at https://datatracker.ietf.org/drafts/current/. 25 Internet-Drafts are draft documents valid for a maximum of six months 26 and may be updated, replaced, or obsoleted by other documents at any 27 time. It is inappropriate to use Internet-Drafts as reference 28 material or to cite them other than as "work in progress." 30 This Internet-Draft will expire on August 26, 2021. 32 Copyright Notice 34 Copyright (c) 2021 IETF Trust and the persons identified as the 35 document authors. All rights reserved. 37 This document is subject to BCP 78 and the IETF Trust's Legal 38 Provisions Relating to IETF Documents 39 (https://trustee.ietf.org/license-info) in effect on the date of 40 publication of this document. Please review these documents 41 carefully, as they describe your rights and restrictions with respect 42 to this document. Code Components extracted from this document must 43 include Simplified BSD License text as described in Section 4.e of 44 the Trust Legal Provisions and are provided without warranty as 45 described in the Simplified BSD License. 47 Table of Contents 49 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 50 2. Requirements Language . . . . . . . . . . . . . . . . . . . . 2 51 3. Terminology & Abbreviations . . . . . . . . . . . . . . . . . 2 52 4. Problem Statement . . . . . . . . . . . . . . . . . . . . . . 2 53 5. Queuing with Multiple Cyclic Buffers . . . . . . . . . . . . 3 54 6. Security Considerations . . . . . . . . . . . . . . . . . . . 5 55 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 5 56 8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 5 57 9. Normative References . . . . . . . . . . . . . . . . . . . . 5 58 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 5 60 1. Introduction 62 Network forwarding with bounded latency and zero congestion loss is 63 important for various industrial applications. The DetNet working 64 group draft "DetNet Bounded 65 Latency"[draft-ietf-detnet-bounded-latency] describes requirements 66 for queuing mechanisms. Among the referenced queuing mechanisms, 67 Cyclic Queuing and Forwarding (CQF) requires no per-flow dynamic 68 state at core nodes, which is scalable when the number of flows 69 grows. To cope with long link delay, more than two cyclic buffers 70 can be used. 72 This document discusses the details of the cyclic queuing mechanisms. 73 We propose a queuing model and mechanism with multiple cyclic 74 buffers, which can improve bandwidth utilization without sacrificing 75 latency and jitter. 77 2. Requirements Language 79 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 80 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 81 document are to be interpreted as described in RFC 2119. 83 3. Terminology & Abbreviations 85 CQF: Cyclic Queuing and Forwarding 87 T_c: the length of a cycle 89 4. Problem Statement 91 IEEE 802.1Q[IEEE8021TSN] defines CQF. As described in "DetNet 92 Bounded Latency"[draft-ietf-detnet-bounded-latency], CQF with two 93 synchronized buffers works as follows. All nodes keep a same cycle 94 starting time. In a cycle x, Node A sends all packets in a buffer to 95 Node B. In the same cycle x, Node B uses a buffer to accumulate all 96 packets from A, and at the same time sends out the packets that have 97 already been buffered in cycle x-1. In the next cycle x+1, Node B 98 sends out all the packets that are received from Node A in cycle x. 99 If a packet traverses h hops, the maximum latency is (h+1)T_c, and 100 the minimum latency is (h-1)T_c. The jitter (latency variation) 101 bound is 2T_c. 103 | cycle x | cycle x+1 | 104 Node A +-----------+-----------+ 105 \ 106 \packet 107 \receiving 108 \ 109 | V | cycle x+1 | 110 Node B +-----------+-----------+ 111 cycle x \packets 112 \sending 113 \ 114 \ 115 V 117 Figure-1: CQF with two synchronized buffers 119 The major disadvantages of CQF with two synchronized buffers are as 120 follows. First, packets are sent and received in a same cycle by 121 upstream and downstream nodes, respectively. So the link propagation 122 delay must be smaller than the T_c. This prohibits the method from 123 being used with long links, such as in WAN and MAN scenarios. 124 Otherwise T_c must be larger than the link delay, resulting in high 125 latency, jitter and buffer upper bound. Second, when the method is 126 applicable, the sum of link delay, output delay, preemption delay and 127 processing delay takes a portion of T_c, called dead time in 128 [draft-ietf-detnet-bounded-latency], which cannot be used to send 129 packets with deterministic services. This results in the conflict 130 between good bandwidth utilization rate and good latency and jitter 131 bound. 133 5. Queuing with Multiple Cyclic Buffers 135 This document proposes a cyclic queuing model that decouples link 136 propagation delay with cycle length T_c. The model is shown in 137 Figure-2. 139 | cycle x | cycle x+1 | 140 Node A +-----------+-----------+ 141 \ ` 142 packets \ ` packets 143 in \ ` in 144 cycle x \ ` cycle x+1 145 \ ` 146 \ ` 147 \ ` 148 \ ` 149 \ ` 150 \ ` 151 \ ` 152 \ ` 153 \ ` 154 \ ` 155 V v 156 | cycle y-1 | cycle y | cycle y+1 | cycle y+2 | 157 Node B +-----------+-----------+-----------+-----------+ 158 \ ` 159 \ ` 160 V v 162 Figure-2: Proposed model for cyclic queuing 164 In this model, the cycle starting time points of different nodes can 165 be either synchronized or not. However, the "phase difference" 166 between neighbor nodes should be stable, and the variation should be 167 bounded. 169 Since link delay and T_c are decoupled, a small T_c can be used with 170 arbitrary link length without sacrificing bandwidth utilization. Any 171 time range in a cycle can be used for deterministic traffic. In 172 Figure-2, the last packet of the deterministic packets sent in cycle 173 x by Node A is received by Node B in its local cycle y (all 174 variations and jitters are considered). Node B stores those packets 175 in a buffer associated with cycle y, and transmits the packets in 176 this buffer in cycle y+1. The first packet of cycle x+1 may also be 177 received by Node B in cycle y. So two or even more receiving buffers 178 are needed simultaneously. 180 Since there is variation in link delay and output delay, the last 181 packet in cycle x and the first packet in cycle x+1 may be difficult 182 to distinguish to Node B, especially when the bandwidth utilization 183 is high. To resolve the ambiguity, a cycle label can be put in a 184 packet, which identifies which cycle the packet belongs with. 185 Packets in different cycles carry different cycle labels. So Node B 186 can unambiguously distinguish the packet's sending cycle and map it 187 in a correct local buffer even when the bandwidth is fully utilized. 189 There can be multiple ways to map a cycle label in a packet to a 190 local cyclic buffer. For example, an ordered pair of neighboring 191 nodes can learn a cycle mapping table. Node B may receive packets 192 from different upstream nodes that carry different cycle labels. 193 Node B can use the mapping table to swap the labels to a same local 194 cycle label, and put the packets into a same local buffer. Or, an 195 upstream node can swap a local label to a downstream label before 196 transmitting the packet. Another way is to put a label stack in the 197 packet, so every hop just pops a label and maps it to a local buffer. 198 Further study is required to define how cycle labels are formated and 199 processed and how mapping tables are learned. 201 6. Security Considerations 203 TBD 205 7. IANA Considerations 207 TBD 209 8. Acknowledgements 211 TBD 213 9. Normative References 215 [draft-ietf-detnet-bounded-latency] 216 "DetNet Bounded Latency", . 219 [IEEE8021TSN] 220 "IEEE 802.1 Time-Sensitive Networking (TSN) Task Group", 221 . 223 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 224 Requirement Levels", BCP 14, RFC 2119, 225 DOI 10.17487/RFC2119, March 1997, 226 . 228 Authors' Addresses 229 Bingyang Liu 230 Huawei 231 No.156 Beiqing Road 232 Beijing, P.R. China 100095 233 China 235 Email: liubingyang@huawei.com 237 Joanna Dang (editor) 238 Huawei 239 No.156 Beiqing Road 240 Beijing, P.R. China 100095 241 China 243 Email: dangjuanna@huawei.com