DetNet Shaofu. Peng
Internet-Draft ZTE
Intended status: Standards Track Peng. Liu
Expires: 12 April 2025 China Mobile
Kashinath. Basu
Oxford Brookes University
9 October 2024
Mechanism to control jitter caused by policing in Detnet
draft-peng-detnet-policing-jitter-control-01
Abstract
This document presents a noble mechanism to eliminate jitter caused
by policing delay in a network. It needs to be used in combination
with a queueing mechanism that provides low jitter for the DetNet
path, and ultimately provides a low jitter guarantee for the DetNet
flow.
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 12 April 2025.
Copyright Notice
Copyright (c) 2024 IETF Trust and the persons identified as the
document authors. All rights reserved.
Peng, et al. Expires 12 April 2025 [Page 1]
Internet-Draft Policing Jitter Control October 2024
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 Revised BSD License text as
described in Section 4.e of the Trust Legal Provisions and are
provided without warranty as described in the Revised BSD License.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Requirements Language . . . . . . . . . . . . . . . . . . . . 3
3. Overview of the Solution . . . . . . . . . . . . . . . . . . 3
4. Set Edge-to-edge Policing Delay Budget . . . . . . . . . . . 5
5. Multi-domain considerations . . . . . . . . . . . . . . . . . 5
6. Encoding Considerations . . . . . . . . . . . . . . . . . . . 6
7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 7
8. Security Considerations . . . . . . . . . . . . . . . . . . . 7
9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 7
10. References . . . . . . . . . . . . . . . . . . . . . . . . . 7
10.1. Normative References . . . . . . . . . . . . . . . . . . 7
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 8
1. Introduction
A policing function, as defined in RFC2216 differentiates those
packets in a traffic flow which conform to a particular token bucket
specification from those packets which do not. A Token Bucket is a
particular form of traffic specification consisting of a "token rate"
r and a "bucket size" b. More specifically, the traffic must obey
the rule that over all time periods, the amount of data sent cannot
exceed r*T+b, where T is the length of the time period. The common
treatment accorded to nonconforming packets may be relegating the
packet to best effort service, discarding the packet, or marking the
packet in some fashion.
A DetNet [RFC8655] flow with conforming packets released to the
network is the condition that must be followed to obtain the DetNet
services. According to DetNet architecture [RFC8655], rate limiting
and shaping functions at the ingress of the DetNet domain must be
applied. This is also consistent with the problem statement of flow
characterization in [RFC8557]. Assuming that there is enough buffer
space at the network entrance to store nonconforming packets, then
that is important for DetNet flows that expect zero packet loss. A
conforming packet may experience zero policing delay, while a
nonconforming packet may experience non-zero policing delay. After
policing at the network entrance, each packet of the DetNet flow will
Peng, et al. Expires 12 April 2025 [Page 2]
Internet-Draft Policing Jitter Control October 2024
be guaranteed the bounded delay and jitter by the applied queueing
mechanisms in the DetNet domain. Generally, the applied queueing
mechanism is only responsible for the delay performance of the DetNet
path, but not the runtime policing delay at the network entrance.
Although some DetNet flows may declare in the contract with the
network service provider that they will accept additional jitter due
to policing delay for nonconforming packets at the edges, other
DetNet flows, especially those that are extremely sensitive to
jitter, hope not to get larger jitter due to the policing delay.
This document describes a mechanism to eliminate jitter caused by
policing delay. It needs to be used in combination with a queueing
mechanism that provides low jitter for the DetNet path, and
ultimately provides a low jitter guarantee for the DetNet flow.
2. 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.
3. Overview of the Solution
The end-to-end delay experienced by the DetNet flow can be considered
to consist of two parts: edge-to-edge policing delay, and the DetNet
path delay. According to flow's end-to-end delay requirement and
edge-to-edge policing delay budget, a DetNet path with expected delay
performance (i.e., end-to-end delay requirement minus edge-to-edge
policing delay budget) can be calculated and setup. An appropriate
edge-to-edge policing delay budget can be configured for the
application flow according to its TSpec and actual possible arrival
pattern, and generally be the maximum policing delay that may be
possibly experienced at the network entrance.
The edge-to-edge policing delay budget is consumed by the headend and
endpoint of the DetNet path.
edge-to-edge policing delay budget = headend policing delay +
endpoint damping delay
The headend policing delay is the runtime policing delay experienced
at the network entrance. The endpoint damping delay is obtained by
subtracting the headend policing delay from the edge-to-edge policing
delay budget.
Peng, et al. Expires 12 April 2025 [Page 3]
Internet-Draft Policing Jitter Control October 2024
Figure 1 shows that the relationship between these delay components.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
(~ ~)
(~ ~)
+------+ +-------+ DetNet Path +--------+ +------+
|AppSrc|---|Headend|---------------------------|Endpoint|---|AppDst|
+------+ +-------+ +--------+ +------+
(~ ~)
(~ DetNet Domain ~)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|<---------- E2E Delay Reuirement ---------->|
| |
| |<--------- Path Delay ----------->| |
|<-->| |<-->|
headend endpoint
policing damping
delay delay
Figure 1: Relationship Between Delay Elements
When the headend of the DetNet path receives the packet from the
application source, it may carry the endpoint damping delay value in
the encoded packet sent to the endpoint, and the endpoint damping
delay will be used as the holding time imposed on the endpoint before
the packet is delivered to the application destination.
Note that some queueing mechanisms, such as
[I-D.peng-detnet-deadline-based-forwarding] and
[I-D.peng-detnet-packet-timeslot-mechanism], also provide the latency
deviation (E) information of the DetNet path. Depending on the
implementation, the endpoint can use different buffers to firstly
implement jitter control based on path latency deviation (E) and
secondly jitter control based on endpoint damping delay, or use the
same buffer to uniformly implement jitter control based on the sum of
path latency deviation (E) and endpoint damping delay. However, it
must use separate fields in the packet to carry these two values.
Therefore, a flow with possible nonconforming packets will be
regulated and changed to be conforming at the network entrance, then
get the DetNet service within the network, and finally reverted to
the nonconforming pattern at the network exit, and then delivered to
the application destination.
Peng, et al. Expires 12 April 2025 [Page 4]
Internet-Draft Policing Jitter Control October 2024
4. Set Edge-to-edge Policing Delay Budget
The edge-to-edge policing delay budget can be configured for the
DetNet flow according to its TSpec and actual possible arrival
pattern.
For example, a DetNet flow has service burst interval (SBI) 100 us,
and three packets P1, P2, P3 per SBI. Assuming the maximum packet
size is 1000 bits. It can be seen that the bandwidth required by the
DetNet flow is 30 Mbps. The packet size 1000 bits and the required
bandwidth 30 Mbps are also the leaky bucket policing parameters at
the network entrance.
In the ideal case, a conforming pattern of the DetNet flow is that
the three packets arrive evenly at the network entrance, i.e., with
packet interval 33 us. However, an extremely case of nonconforming
pattern may be that P1, P2, P3 arrived back-to-back. After leaky
bucket regulation, P1, P2 and P3 will get different policing delays,
of which P3 has the largest policing delay, which may be 2/3 of SBI
and can be used as edge-to-edge policing delay budget.
There may be other settings of edge-to-edge policing delay budget
that are not based on the above extreme case, such as sampling the
most likely actual arrival pattern of flow to set a smaller edge-to-
edge policing delay budget.
The network entrance node should maintain the edge-to-edge policing
delay budget for each DetNet flow, and when it receives a packet from
the application source, it identifies the flow and applies the
corresponding edge-to-edge policing delay budget. If the edge-to-
edge policing delay budget is M, and the runtime policing delay of
the packet is S, then the endpoint damping delay for that packet
equals to M - S.
5. Multi-domain considerations
In the case of multi-domain, all domains may apply the same or
different queueing machanisms. For each transit domain and egress
domain, the input traffic should be conforming and then get the
DetNet services. The output traffic from the upstream domain must be
conforming, that can be achieved based on path latency deviation (E).
There are two options to implement policing jitter control. An
explicit indication in the packet should be provided for the selected
option.
Peng, et al. Expires 12 April 2025 [Page 5]
Internet-Draft Policing Jitter Control October 2024
One option is to implement policing jitter control at the entrance
and exit of each domain independently. That is, at each domain
entrance, it maintain the edge-to-edge policing delay budget for the
DetNet flow, regulate the nonconforming arrived packets, and
calculate the endpoint damping delay for each packet. Then, at each
domain exit, packets are held based on the endpoint damping delay.
In this option, each domain contribute a separate edge-to-edge
policing delay budget to the end-to-end delay.
When the packet leaves the upstream domain, the scheduling metadata
related to the queueing mechanism of the upstream domain and the
endpoint damping delay information are removed, and the current
domain entrance will re-encapsulate the scheduling metadata related
to the queueing mechanism of the current domain and the endpoint
damping delay information.
The limitation of this option is the states per flow maintained at
each domain entrance.
Another option is to implement policing jitter control only at the
ingress domain entrance and the egress domain exit. That is, at the
ingress domain entrance, it maintain the edge-to-edge policing delay
budget for the DetNet flow, regulate the nonconforming arrived
packets, and calculate the endpoint damping delay for each packet.
Then, at the egress domain exit, packets are held based on the
endpoint damping delay. In this option, only a single edge-to-edge
policing delay budget is contributed to the end-to-end delay.
When the packet leaves the upstream domain, the scheduling metadata
related to the queueing mechanism of the upstream domain is removed,
but the endpoint damping delay information remains unchanged. The
current domain entrance will re-encapsulate the scheduling metadata
related to the queueing mechanism of the current domain. However, if
all domains use the same queueing mechanism, they may optionally
share a single metadata to avoid removing and re-encapsulating.
This option has less cost than the first option, i.e., no states per
flow maintained on each domain entrance.
6. Encoding Considerations
A new IPv6 option for DOH Options header ([RFC8200]), or a new
ancillary data for MPLS MNA header ([I-D.ietf-mpls-mna-hdr]), can be
defined to carry endpoint damping delay. It is also possible to
carry endpoint damping delay in an IPv6 Routing Header, such as in
the segment field, to flexibly control which nodes (e.g, each domain
exit, or only egress domain exit) need to implement jitter control
based on endpoint damping delay.
Peng, et al. Expires 12 April 2025 [Page 6]
Internet-Draft Policing Jitter Control October 2024
The related encoding format and its usage is defined in
[I-D.peng-6man-delay-options].
7. IANA Considerations
This document need not require IANA allocations.
8. Security Considerations
TBD.
9. Acknowledgements
TBD.
10. References
10.1. Normative References
[I-D.ietf-mpls-mna-hdr]
Rajamanickam, J., Gandhi, R., Zigler, R., Song, H., and K.
Kompella, "MPLS Network Action (MNA) Sub-Stack Solution",
Work in Progress, Internet-Draft, draft-ietf-mpls-mna-hdr-
08, 30 August 2024,
<https://datatracker.ietf.org/doc/html/draft-ietf-mpls-
mna-hdr-08>.
[I-D.peng-6man-delay-options]
Peng, S., "Delay Options", Work in Progress, Internet-
Draft, draft-peng-6man-delay-options-00, 18 January 2024,
<https://datatracker.ietf.org/doc/html/draft-peng-6man-
delay-options-00>.
[I-D.peng-detnet-deadline-based-forwarding]
Peng, S., Du, Z., Basu, K., cheng, Yang, D., and C. Liu,
"Deadline Based Deterministic Forwarding", Work in
Progress, Internet-Draft, draft-peng-detnet-deadline-
based-forwarding-12, 8 August 2024,
<https://datatracker.ietf.org/doc/html/draft-peng-detnet-
deadline-based-forwarding-12>.
[I-D.peng-detnet-packet-timeslot-mechanism]
Peng, S., Liu, P., Basu, K., Liu, A., Yang, D., and G.
Peng, "Timeslot Queueing and Forwarding Mechanism", Work
in Progress, Internet-Draft, draft-peng-detnet-packet-
timeslot-mechanism-09, 12 August 2024,
<https://datatracker.ietf.org/doc/html/draft-peng-detnet-
packet-timeslot-mechanism-09>.
Peng, et al. Expires 12 April 2025 [Page 7]
Internet-Draft Policing Jitter Control October 2024
[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>.
[RFC8200] Deering, S. and R. Hinden, "Internet Protocol, Version 6
(IPv6) Specification", STD 86, RFC 8200,
DOI 10.17487/RFC8200, July 2017,
<https://www.rfc-editor.org/info/rfc8200>.
[RFC8557] Finn, N. and P. Thubert, "Deterministic Networking Problem
Statement", RFC 8557, DOI 10.17487/RFC8557, May 2019,
<https://www.rfc-editor.org/info/rfc8557>.
[RFC8655] Finn, N., Thubert, P., Varga, B., and J. Farkas,
"Deterministic Networking Architecture", RFC 8655,
DOI 10.17487/RFC8655, October 2019,
<https://www.rfc-editor.org/info/rfc8655>.
Authors' Addresses
Shaofu Peng
ZTE
China
Email: peng.shaofu@zte.com.cn
Peng Liu
China Mobile
China
Email: liupengyjy@chinamobile.com
Kashinath Basu
Oxford Brookes University
United Kingdom
Email: kbasu@brookes.ac.uk
Peng, et al. Expires 12 April 2025 [Page 8]