Network Working Group L. Qiang, Ed. Internet-Draft T. Eckert Intended status: Informational Huawei Expires: September 9, 2019 March 8, 2019 UDP Options for Bounded Latency draft-qiang-tsvwg-udp-options-bounded-latency-00 Abstract This document explores the use of UDP options for packet forwarding with bounded latency. Status of This Memo This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet- Drafts is at https://datatracker.ietf.org/drafts/current/. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." This Internet-Draft will expire on September 9, 2019. Copyright Notice Copyright (c) 2019 IETF Trust and the persons identified as the document authors. All rights reserved. This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License. Qiang & Eckert Expires September 9, 2019 [Page 1] Internet-Draft UDP Options for Bounded Latency March 2019 Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 1.1. Requirements Language . . . . . . . . . . . . . . . . . . 3 1.2. Terminology & Abbreviations . . . . . . . . . . . . . . . 3 2. Overview of Bounded Latency Forwarding Schemes . . . . . . . 3 2.1. Time Aware Shaping . . . . . . . . . . . . . . . . . . . 3 2.2. Cyclic Queuing and Forwarding . . . . . . . . . . . . . . 4 2.3. Scalable Deterministic Forwarding (SDF) . . . . . . . . . 5 2.4. SR based Bounded Latency . . . . . . . . . . . . . . . . 6 2.5. Other Bounded Latency Forwarding Schemes . . . . . . . . 6 3. UDP Option Extension for Bounded Latency Forwarding . . . . . 6 3.1. Sending Cycle Option . . . . . . . . . . . . . . . . . . 7 3.2. UDP Option for Other Purposes . . . . . . . . . . . . . . 7 4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 7 5. Security Considerations . . . . . . . . . . . . . . . . . . . 7 6. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 8 7. Normative References . . . . . . . . . . . . . . . . . . . . 8 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 9 1. Introduction More and more applications require for deterministic forwarding as summarized in [draft-ietf-detnet-use-cases]. Deterministic forwarding refers to the packet forwarding with bounded latency, as well as low packet loss. In current DetNet's discussion, low packet loss is mainly achieved through PREOF (Packet Replication, Elimination, and Ordering Functions) [draft-ietf-detnet-architecture]. Supporting PREOF through UDP options is out of this document's scope. This document only explores the use of UDP options for bounded latency forwarding purposes. A lot of bounded latency forwarding schemes have been proposed such as Time Aware Shaping [IEEE802.1Qbv], Cyclic Queuing and Forwarding [IEEE802.1Qch], Scalable Deterministic Forwarding [draft-qiang-detnet-large-scale-detnet], and SR based bounded latency [draft-chen-detnet-sr-based-bounded-latency]. These schemes require more or less specific information, whether configured through control plane or carried in data plane. In MPLS data plane, there is enough space in MPLS Label to carry information for bounded latency forwarding. However in an IP data plane, there is no enough space in the IP common header. To that aim, UDP options [draft-ietf-tsvwg-udp-options] are an interesting channel to investigate. Qiang & Eckert Expires September 9, 2019 [Page 2] Internet-Draft UDP Options for Bounded Latency March 2019 1.1. Requirements Language The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [RFC2119][RFC8174] when, and only when, they appear in all capitals, as shown here. 1.2. Terminology & Abbreviations 2. Overview of Bounded Latency Forwarding Schemes In order to figure out what information needs to be carried in an UDP option, this section briefly analyzes existing bounded latency forwarding schemes. More details about forwarding schemes themselves can be found in referenced documents. Generally speaking, in order to ensure end-to-end bounded latency, each hop along the way should be latency-bounded. Different forwarding schemes are actually different packet scheduling methods. 2.1. Time Aware Shaping In Time Aware Shaping [IEEE802.1Qbv], each port has several deterministic forwarding queues. Each queue is controlled by a gate. When a gate opens, packets in the associated queue will be transmitted. Otherwise, packets should wait in the queue. A controller calculates the global optimal gate control list for every port as depicted in Figure 1. Qiang & Eckert Expires September 9, 2019 [Page 3] Internet-Draft UDP Options for Bounded Latency March 2019 Queue 0 Queue 1 Queue 7 +------+ +------+ +------+ ^^^^^^^^^^^^^^^^^^^^^ |------| |------| |------| ^ Gate Control List ^ |------| |------| |------| ^ ^ |------| |------| |------| ^ 1000 0000 ^ |------| |------| .... |------| ^ ^ |------| |------| |------| ^ 0001 0000 ^ |------| |------| |------| ^ ^ |------| |------| |------| ^ 0000 0001 ^ |------| |------| |------| ^ ^ +--+---+ +--+---+ +--+---+ ^ . ^ | | | ^ . ^ | | | ^ . ^ +--+---+ +--+---+ +--+---+ ^ ^ |Gate=1| |Gate=0| .... |Gate=0| ^ ^ +--+---+ +--+---+ +--+---+ ^ 1: Gate Open ^ | | | ^ ^ | | | ^ 0: Gate Close ^ +--+-----------+----------------+---+ ^ ^ | Transmission | ^^^^^^^^^^^^^^^^^^^^^ +-----------------------------------+ Figure 1: Time Aware Shaping In Time Aware Shaping, the scheme specific information is "Gate Control List". Normally, the gate control list is configured through control plane. There is no need for an extension for Time Aware Shaping scheme. 2.2. Cyclic Queuing and Forwarding In Cyclic Queuing and Forwarding (CQF)[IEEE802.1Qch], all nodes are time-synchronized (i.e., time is divided into the same length cycle, and all nodes' cycles start at the same timing). Figure 2 explains the CQF scheme, packets sent out at a cycle will arrive at downstream node at the same cycle, and resent out at the next cycle. As a result, once source node sends out packets at a cycle, then the receiving cycle of these packets at destination node can be determined -- that also means the end-to-end latency is bounded. Qiang & Eckert Expires September 9, 2019 [Page 4] Internet-Draft UDP Options for Bounded Latency March 2019 Upstream Node | cycle x | cycle x+1 | +-----------+-----------+ \ \packet \receiving \ Downstream Node | V | cycle x+1 | +-----------+-----------+ cycle x \packet \sending \ \ V Figure 2: Cyclic Queuing and Forwarding In CQF, the scheme specific information is "sending cycle" at each hop. This specific information is actually indicated by the receiving cycle--each hop can determine the sending cycle of a packet based on the time this packet be received. Hence no need for an extension to explicitly carry any scheme specific information in data plane. 2.3. Scalable Deterministic Forwarding (SDF) Considering a large scale network deployment, the scalable deterministic forwarding [draft-qiang-detnet-large-scale-detnet] scheme makes extensions based on CQF. In scalable deterministic forwarding (SDF) scheme, all nodes are frequency-synchronized (i.e., time is divided into the same length cycle, but different nodes' cycles may start at different timing). As shown in Figure 3, at a single cycle y, downstream node may receive packets that were sent out by upstream node in two different cycles (i.e., cycle x and cycle x+1). There are two different queues inside the downstream node to buffer received packets: one is for packets sent out at cycle x, another one is for packets sent out at cycle x+1. The downstream node needs to decide which queue a packet should enter based on its sending cycle at upstream node. Qiang & Eckert Expires September 9, 2019 [Page 5] Internet-Draft UDP Options for Bounded Latency March 2019 Upstream Node | cycle x | cycle x+1 | +-----------+-----------+ \ \ \ \packet \ \receiving Downstream Node | V V | | +-----------+-----------+ cycle y cycle y+1 \ packet \ sending \ V Figure 3: Scalable Deterministic Forwarding In SDF, the scheme specific information is also "sending cycle". Since a node may receive packets with different sending cycles within a single cycle, the sending cycle information should be explicitly carried with packet. Hence there is a need for an extension to carry the sending cycle information in IP data plane. The use of UDP options is a good candidate given the target applications rely upon an UDP transport. 2.4. SR based Bounded Latency SR [RFC8402] based bounded latency has similar idea as SDF (Section 2.3), the main difference is that the "sending cycle" information is pre-calculated at controller and carried with packet in MPLS labels. Hence no need for UDP option extension in IP data plane. 2.5. Other Bounded Latency Forwarding Schemes TBD 3. UDP Option Extension for Bounded Latency Forwarding After analyzing the existing bounded latency forwarding schemes, we found that there are some scheme specific information need to be carried in data plane. IP common header has very limited space, it is difficult to find enough bits in IP common header to carry these scheme specific information. UDP options defined below is a possible solution for this situation. Qiang & Eckert Expires September 9, 2019 [Page 6] Internet-Draft UDP Options for Bounded Latency March 2019 Kind Length Meaning ------------------------------------------- 127 1 Sending Cycle (SC) Figure 4: UDP Option Extension 3.1. Sending Cycle Option The Sending Cycle (SC) option includes 1-byte cycle identifier filed that indicates the cycle a packet be sent out from upstream node as shown in Figure 5. Normally, the first cyclic forwarding aware node (e.g., edge gateway) is responsible for creating the SC option, and setting the Cycle_Identifier filed to be the corresponding cycle that the packet be sent out. The sending cycle information can help downstream node to determine when the packet should be resent out. After receiving packet from upstream node, the downstream node should interpret the SC option and take an appropriate measures, like entering a certain queue, or re-sending out immediately, or others. If there is only one SC option carried in a packet, the Cycle_Identifier filed may need to be rewritten before re-sending out. One way to relieve in-transit rewriting is to pre-compute the sending cycles along the way, then carry them with multiple SC options. +----------+---------+-------------------+ | Kind=127 | Len=1 | Cycle_Identifier | +----------+---------+-------------------+ Figure 5: Sending Cycle Option 3.2. UDP Option for Other Purposes TBD [Note: As more bounded latency forwarding schemes are developed, more UDP option extensions may be required.] 4. IANA Considerations This document makes no request of IANA. 5. Security Considerations TBD Qiang & Eckert Expires September 9, 2019 [Page 7] Internet-Draft UDP Options for Bounded Latency March 2019 6. Acknowledgements The Authors would like to thank Mohamed Boucadair, Christian Jacquenet and David Black for their review, suggestion and comments to this document. 7. Normative References [draft-chen-detnet-sr-based-bounded-latency] "SR based Bounded Latency", . [draft-ietf-detnet-architecture] Sca, "DetNet Architecture", . [draft-ietf-detnet-use-cases] Sca, "DetNet Use Cases", . [draft-ietf-tsvwg-udp-options] "Transport Options for UDPE", . [draft-qiang-detnet-large-scale-detnet] "Large-Scale Deterministic Network", . [IEEE802.1Qbv] "Enhancements for Scheduled Traffic", 2016. [IEEE802.1Qch] "Cyclic Queuing and Forwarding", 2016. [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997, . [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, May 2017, . Qiang & Eckert Expires September 9, 2019 [Page 8] Internet-Draft UDP Options for Bounded Latency March 2019 [RFC8402] Filsfils, C., Ed., Previdi, S., Ed., Ginsberg, L., Decraene, B., Litkowski, S., and R. Shakir, "Segment Routing Architecture", RFC 8402, DOI 10.17487/RFC8402, July 2018, . Authors' Addresses Li Qiang (editor) Huawei Beijing China Email: qiangli3@huawei.com Toerless Eckert Huawei USA - Futurewei Technologies Inc. 2330 Central Expy Santa Clara 95050 USA Email: tte+ietf@cs.fau.de Qiang & Eckert Expires September 9, 2019 [Page 9]