Skip to main content

Mechanism to control jitter caused by policing in Detnet
draft-peng-detnet-policing-jitter-control-01

Document Type Active Internet-Draft (individual)
Authors Shaofu Peng , Peng Liu , Kashinath Basu
Last updated 2024-10-08
RFC stream (None)
Intended RFC status (None)
Formats
Stream Stream state (No stream defined)
Consensus boilerplate Unknown
RFC Editor Note (None)
IESG IESG state I-D Exists
Telechat date (None)
Responsible AD (None)
Send notices to (None)
draft-peng-detnet-policing-jitter-control-01
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]