Internet DRAFT - draft-qiang-tsvwg-udp-options-bounded-latency
draft-qiang-tsvwg-udp-options-bounded-latency
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",
<https://datatracker.ietf.org/doc/
draft-chen-detnet-sr-based-bounded-latency/>.
[draft-ietf-detnet-architecture]
Sca, "DetNet Architecture",
<https://datatracker.ietf.org/doc/
draft-ietf-detnet-architecture/?include_text=1>.
[draft-ietf-detnet-use-cases]
Sca, "DetNet Use Cases",
<https://datatracker.ietf.org/doc/
draft-ietf-detnet-use-cases/>.
[draft-ietf-tsvwg-udp-options]
"Transport Options for UDPE",
<https://tools.ietf.org/html/
draft-ietf-tsvwg-udp-options-05>.
[draft-qiang-detnet-large-scale-detnet]
"Large-Scale Deterministic Network",
<https://datatracker.ietf.org/doc/
draft-qiang-detnet-large-scale-detnet/>.
[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,
<https://www.rfc-editor.org/info/rfc2119>.
[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
May 2017, <https://www.rfc-editor.org/info/rfc8174>.
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, <https://www.rfc-editor.org/info/rfc8402>.
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]