Network Working Group X. Geng
Internet-Draft M. Mach
Intended status: Experimental Huawei
Expires: November 8, 2019 May 7, 2019

SRv6 Based Bounded Latency
draft-geng-srv6-based-bounded-latency-00

Abstract

One of the goals of DetNet is to provide bounded end-to-end latency for critical flows. This document defines how to leverage Segment Routing over IPv6 (SRv6) to implement bounded latency. Specifically, new SRv6 SID function is used to specify transmission time (cycles) of a packet. When forwarding devices along the path follow the instructions carried in the packet, the bounded latency is achieved. This mechanism of latency guarantee is called Cycle Specified Queuing and Forwarding (CSQF) which is defined in [I-D.chen-detnet-sr-based-bounded-latency].

Requirements Language

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119.

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 November 8, 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.


Table of Contents

1. Introduction

Deterministic Networking(DetNet) provides a capability to carry specified data flows with extremely low data loss rates and bounded latency within a network domain. DetNet is enabled by a group of technologies, such as resource allocation, service protection and explicit routes.([I-D.ietf-detnet-architecture])

Segment Routing(SR) leverages the source routing paradigm. A ingress node steers a packet through an ordered list of instructions, called "segments". SR can be applied over IPv6 data plane using Routing Extension Header(SRH). Besides routing, the segment of SRv6 can indicate functions which are executed locally in the node where they are defined. SRv6 network programming makes it convenient to add sophisticated operations in the network. ([RFC8402])

This document describes how to implement DetNet with SRv6. It can provide : 1. Source routing, which can steer the DetNet flows go through the network according to an explicit route with allocated resource by segment list in SRH; 2. Network programming, which can give packet instructions in every node along the path to guarantee bounded latency. DetNet SRv6 encapsulation and new SRv6 functions for DetNet are defined in this document.

Control plane and OAM are not in the scope of this document.

2. Terminology and Conventions

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in [RFC2119].

2.1. Terminology

Terminologies for DetNet go along with the definition in [I-D.ietf-detnet-architecture]. Other terminologies are defined as follows:

2.2. Conventions

Conventions in the document are defined as follows:

3. SRv6 DetNet Data Plane Overview

[I-D.chen-detnet-sr-based-bounded-latency] defines a new segment that is called a Cycle SID, which is used to identify a cycle. .

A Cycle SID has two meanings: 1) identify an interface/link, just like the adjacency segment does; 2) identify a cycle of the interface/link. To specify to which interface and in which cycle a packet should be transmitted. By attaching a list of Cycle Segments to a packet in SRH, it can not only implement the explicit route of the packet that is required by DetNet [I-D.ietf-detnet-architecture], but also specify the sending cycle at each node along the path without maintaining per-flow states at the intermediate and egress nodes.

SRv6 Cycle SID can be represented as LOC:FUNCT:ARG::, where LOC, abbreviated for "LOCATION", directs the explicit route, FUNCT, abbreviated for "FUNCTION", directs the packet processing in the local node, and ARG, abbreviated for "ARGUMENTS", provides the cycle information. New SID functions for DetNet is defined in section 3.2.

3.1. Encapsulation

The SRH for DetNet in the outer IPv6 header is showed as follows:

  0                   1                   2                   3
  0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |  Next Header  |   Hdr Ext Len |  Routing Type |  Segment Left |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |   Last Entry  |     Flags     |              Tag              |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |                  Location & Function                          |
 |       (Segment List[0] for transit node with CSQF Function)   |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |                    Cycle Information                          |
 |                                                               |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |                              ...                              |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |                                                               |
 |                      Segment List[n]                          |
 |                                                               |
 |                                                               |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |                          Optional TLVS                        |
 |                              ...                              |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

3.2. Functions

New SID functions are defined as follows:

End.X.Cycle.Indication

  1. IF NH=SRH and SL > 0
  2. decrement SL
  3. reserve the value of cycle information field
  4. update the IPv6 DA with SRH[SL]
  5. forward to layer-3 adjacency bound to the Location
  6. put the packet in the queue corresponding to the cycle information reserved
  7. ELSE
  8. drop the packet

4. IANA Considerations

This document makes no request of IANA.

Note to RFC Editor: this section may be removed on publication as an RFC.

5. Security Considerations

TBD

6. Acknowledgements

7. Normative References

[I-D.chen-detnet-sr-based-bounded-latency] Chen, M., Geng, X. and Z. Li, "Segment Routing (SR) Based Bounded Latency", Internet-Draft draft-chen-detnet-sr-based-bounded-latency-00, October 2018.
[I-D.filsfils-spring-srv6-network-programming] Filsfils, C., Camarillo, P., Leddy, J., daniel.voyer@bell.ca, d., Matsushima, S. and Z. Li, "SRv6 Network Programming", Internet-Draft draft-filsfils-spring-srv6-network-programming-07, February 2019.
[I-D.ietf-6man-segment-routing-header] Filsfils, C., Previdi, S., Leddy, J., Matsushima, S. and d. daniel.voyer@bell.ca, "IPv6 Segment Routing Header (SRH)", Internet-Draft draft-ietf-6man-segment-routing-header-18, April 2019.
[I-D.ietf-detnet-architecture] Finn, N., Thubert, P., Varga, B. and J. Farkas, "Deterministic Networking Architecture", Internet-Draft draft-ietf-detnet-architecture-13, May 2019.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997.
[RFC8402] Filsfils, C., Previdi, S., Ginsberg, L., Decraene, B., Litkowski, S. and R. Shakir, "Segment Routing Architecture", RFC 8402, DOI 10.17487/RFC8402, July 2018.

Authors' Addresses

Xuesong Geng Huawei EMail: gengxuesong@huawei.com
Mach(Guoyi) Chen Huawei EMail: mach.chen@huawei.com