SPRING Working Group Yao. Liu
Internet-Draft Shaofu. Peng
Intended status: Standards Track ZTE Corporation
Expires: December 30, 2020 June 28, 2020
SRv6 Compressed Path Recover Method
draft-pl-spring-compr-path-recover-00
Abstract
This document describes a path information recovery method for
compressed SRv6 segment lists.
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 December 30, 2020.
Copyright Notice
Copyright (c) 2020 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.
Liu & Peng Expires December 30, 2020 [Page 1]
Internet-Draft Compressed Path Recover June 2020
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Overview . . . . . . . . . . . . . . . . . . . . . . . . . . 2
3. Segment List Recover TLV . . . . . . . . . . . . . . . . . . 3
4. Illustration . . . . . . . . . . . . . . . . . . . . . . . . 5
4.1. Shifting Method . . . . . . . . . . . . . . . . . . . . . 5
4.2. Stitching Method . . . . . . . . . . . . . . . . . . . . 7
4.3. Mapping Method . . . . . . . . . . . . . . . . . . . . . 8
5. Security Considerations . . . . . . . . . . . . . . . . . . . 8
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 8
7. References . . . . . . . . . . . . . . . . . . . . . . . . . 8
7.1. Normative References . . . . . . . . . . . . . . . . . . 8
7.2. Informative References . . . . . . . . . . . . . . . . . 9
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 10
1. Introduction
Segment routing (SR) [RFC8402] is a source routing paradigm that
explicitly indicates the forwarding path for packets at the ingress
node by inserting an ordered list of instructions, called
segments.Segment Routing can be deployed on the MPLS data plane by
encoding 32-bits SIDs in MPLS label stack [RFC8660]. It can also be
deployed on the IPv6 data plane by encoding a list of 128-bits SRv6
SIDs in IPv6 Segment Routing Extension Header (SRH)[RFC8754].
Several proposals are introduced to reduce the overhead for both the
traffic volume and the network processor in SRv6. The main ideas of
them are basically to use a shorter ID associated with the complete
128 bit SID. The SRH does not carry complete path information after
compression, however, the transit and egress nodes may need to know
the complete SID information along the path in some scenarios such as
OAM.
This document describes a path information recovery method for
compressed SRv6 segment lists.
2. Overview
Several proposals are introduced to reduce the overhead for both the
traffic volume and the network processor in SRv6. The main ideas of
them are basically to use a shorter ID associated with the complete
128 bit SID. The method to establish such association could be
mapping,stitching, shifting, or translation.
Existing compression schemes use the 128 bit space as the carrier of
compressing SIDs. In the compressed SRH, the meaning of a 128 bit
segment may be:
Liu & Peng Expires December 30, 2020 [Page 2]
Internet-Draft Compressed Path Recover June 2020
a) an uncompressed SID
b) a unified prefix, followed by several short SIDs, and possibly
existing end marker or padding, which is generally set to value 0
c) short SIDs of the same type and length, possibly followed by end
marker or padding, which is generally set to value 0
So after receiving the SRv6 packets, the node or application cannot
obtain the complete path information according to segment list in SRH
any more.
3. Segment List Recover TLV
This document defines an SRH TLV called Segment List Recover TLV,
where,
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length | List ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| List Recover Info (optional) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 1: Segment List Recover TLV
List ID: 16 bits, identification of a complete path with local
significance.
List Recover Info: variable length. It provides auxiliary
information to recover the complete path information from the segment
list in the received SRH.
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - - -
| Index | Range | BL | ST | count | Basic Compressed Description Unit
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - - -
~ ... ... ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 2: List Recover Info detailed structure
Liu & Peng Expires December 30, 2020 [Page 3]
Internet-Draft Compressed Path Recover June 2020
List Recover Info contains one or more Basic Compressed Description
Unit, where:
Index: 8-bit index, number of 128 bit unit remaining from the current
carrier, which is a bit like segments left([RFC8200], Section 4.4).
Index refers to the start of (consecutive) carrier(s) that contains
the compression information. If a segment list contains both
compressed carrier and complete SID, the index will skip the complete
SID.
Range: 8 bit.It indicates the number of consecutive 128-bit carrier
in the same format, starting from the carrier directed by the index.
In this way, if multiple consecutive carriers use the same format,
only one Basic Compressed Description Unit needs to be carried.
When range is set to 1, it indicates that the basic unit carries
informational of only one 128 bit carrier.
BL: It indicates the prefix length. When set to 0, it means that the
128 bit carrier does not carry prefix information but only contains
short SIDs.
ST:short SID type, 4 bits with following values:
0001: 32-bits SID
0010: 16-bits SID
Existing proposals mainly focus on the 16-bits and 32-bits short
SIDs, other values may be defined in the future.
count: 4 bits.It indicates the number of short SIDs in the 128 bit
carrier.
When the headend of the SR policy sends the SRv6 packet, it can
contain the TLV used to describe the above compression details in the
SRH.Upon receiving the above SRv6 packets, the transit node or egress
node can perform segment list restoration according to the TLV
carried in the SRH.
The restored SID list information can be used as an important
reference for constructing the reverse path, or used for displaying
to the user or for other OAM purposes.
This document provides two path restoration options:
Liu & Peng Expires December 30, 2020 [Page 4]
Internet-Draft Compressed Path Recover June 2020
a) The node locally maintains the mapping between the list ID and the
path information. Upon receiving the packet, the node identifies the
path corresponding to the SRH according to the list ID carried in the
SRH TLV. List Recover Info is not needed in this case.
b) According to the information carried in the list recover info,
combined with the segment list in the SRH, the node recovers the
complete path information.
It should be noticed that option b can't be used in reduced SRH.
4. Illustration
This section describes how to restore a complete path utilizing a
Segment List Recover TLV.
The current chapter focuses on option B combined with some
representative schemes. Option A will be discussed in the later
version.
4.1. Shifting Method
[I-D.filsfils-spring-net-pgm-extension-srv6-usid] extends SRv6
Network Programming with a new type of SRv6 SID behavior.
A uSID carrier is a 128 bit SRv6 SID of format <uSID-Block><Active-
uSID><Next-uSID>...<Last-uSID><End-of-Carrier>...<End-of-Carrier>.
So the segment list may be encoded as figure 3 after compression.
It is consist of six 128-bit units. SID-1 is an uncompressed 128-bit
SID and is the first segment to be processed in the segment list.
Liu & Peng Expires December 30, 2020 [Page 5]
Internet-Draft Compressed Path Recover June 2020
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - - -
| Block(64) | uSIDA(32) | uSIDB(32) | index=0
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - - -
| Block(64) | uSIDA(32) | uSIDB(32) | index=1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - - -
| Block(32) | uSID7(32) | uSID8(32) | uSID9(32) | index=2
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - - -
| Block(32) | uSID4(32) | uSID5(32) | uSID6(32) | index=3
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - - -
| Block(32) | uSID1(32) | uSID2(32) | uSID3(32) | index=4
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - - -
| SID-1(128 bit) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - - -
Figure 3: segment list encoding example A
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length | List ID=1 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - - -
| Index=4 | Range=3 | BL=32 |ST=0001|count=3| Basic Compressed Description Unit 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - - -
| Index=1 | Range=2 | BL=64 |ST=0001|count=2| Basic Compressed Description Unit 2
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - - -
Figure 4: Segment List Recover TLV encoding example A
Figure 4 shows the corresponding Segment List Recover TLV encoding of
the compressed segment list.
Basic Compressed Description Unit 1 has following components, where,
Index=4: It indicates that the compression information starting from
the 128-bit unit with index 4 is described in this Basic Compressed
Description Unit.
Range=3: It indicates that there are 3 128-bit unit of the same
structure described in this Basic Compressed Description Unit
BL=32: It indicates that the block length is 32 bit.
ST=0001: It indicates that the length of each short SID is 32 bit.
Liu & Peng Expires December 30, 2020 [Page 6]
Internet-Draft Compressed Path Recover June 2020
count=3: It indicates that this carrier contains 3 short SIDs.
The meaning of Basic Compressed Description Unit2 is similar, so it
will not be explained in details.
4.2. Stitching Method
The compression method of stitching is to extract the public prefix
information in the SIDs, the remaining part is short SID and stored
in SRH. The prefix and short SID are spliced into a complete 128-bit
address.
[I-D.decraene-spring-srv6-vlsid] and
[I-D.li-spring-compressed-srv6-np] use the stitching method.
Stitching is also one of the compression modes supported by
[I-D.mirsky-6man-unified-id-sr].
Figure 5 shows a possible SRH encoding in stitching method.
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - - -
| uncompressed SID(128 bit) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - - -
| uSID1(32) | uSID2(32) | uSID3(32) | uSID4(32) | index=1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - - -
| uSID1(32) | uSID2(32) | uSID3(32) | uSID4(32) | index=2
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - - -
| Block(96) | uSID1(32) | index=3
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - - -
Figure 5: segment list encoding example B
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length | List ID=1 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - - -
| Index=3 | Range=1 | BL=96 |ST=0001|count=1| Basic Compressed Description Unit 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - - -
| Index=2 | Range=2 | BL=0 |ST=0001|count=4| Basic Compressed Description Unit 2
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - - -
Figure 6: Segment List Recover TLV encoding example B
Liu & Peng Expires December 30, 2020 [Page 7]
Internet-Draft Compressed Path Recover June 2020
When restoring the path, the node will save the prefix used in the
current carrier, and stich the prefix, each short SID and possible
padding into a complete 128-bit address. If BL in the next Basic
Compressed Description Unit is not 0, it indicates that there's a new
prefix, and the node will replace the previous prefix with the new
prefix, and continue the processing. If BL is 0 as in unit 2 showed
in figure 6, the previous prefix will still be used.
SRH may also be used carry short SIDs without any prefix information.
In this case, when the node recovers segment list, it may obtain the
prefix from the source IP of the IPv6 header.
4.3. Mapping Method
In the mapping method, the short SID is no longer part of the
complete 128-bit address, unlike shifting or stitching.
Stitching is supported in [I-D.mirsky-6man-unified-id-sr].
For the compression proposal using the mapping mode, option A can be
used to restore the segment list.
The node need to maintains the mapping between the list ID and the
path information. Upon receiving the packet, the node identifies the
path corresponding to the SRH according to the list ID carried in the
SRH TLV. The list ID can be assigned by a centralized controller or
by a node locally.
This will be further discussed in a future version of this document.
5. Security Considerations
The security requirements and mechanisms described in [RFC8402] and
[RFC8754] also apply to this document.This document does not
introduce any new security vulnerabilities.
6. IANA Considerations
TBD
7. References
7.1. Normative References
Liu & Peng Expires December 30, 2020 [Page 8]
Internet-Draft Compressed Path Recover June 2020
[I-D.filsfils-spring-net-pgm-extension-srv6-usid]
Filsfils, C., Camarillo, P., Cai, D., Voyer, D., Meilik,
I., Patel, K., Henderickx, W., Jonnalagadda, P., Melman,
D., Liu, Y., and J. Guichard, "Network Programming
extension: SRv6 uSID instruction", draft-filsfils-spring-
net-pgm-extension-srv6-usid-07 (work in progress), May
2020.
[I-D.mirsky-6man-unified-id-sr]
Cheng, W., Mirsky, G., Peng, S., Aihua, L., Wan, X., and
C. Wei, "Unified Identifier in IPv6 Segment Routing
Networks", draft-mirsky-6man-unified-id-sr-06 (work in
progress), March 2020.
[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>.
[RFC8660] Bashandy, A., Ed., Filsfils, C., Ed., Previdi, S.,
Decraene, B., Litkowski, S., and R. Shakir, "Segment
Routing with the MPLS Data Plane", RFC 8660,
DOI 10.17487/RFC8660, December 2019,
<https://www.rfc-editor.org/info/rfc8660>.
[RFC8754] Filsfils, C., Ed., Dukes, D., Ed., Previdi, S., Leddy, J.,
Matsushima, S., and D. Voyer, "IPv6 Segment Routing Header
(SRH)", RFC 8754, DOI 10.17487/RFC8754, March 2020,
<https://www.rfc-editor.org/info/rfc8754>.
7.2. Informative References
[I-D.decraene-spring-srv6-vlsid]
Decraene, B., Raszuk, R., Li, Z., and C. Li, "SRv6 vSID:
Network Programming extension for variable length SIDs",
draft-decraene-spring-srv6-vlsid-03 (work in progress),
March 2020.
[I-D.li-spring-compressed-srv6-np]
Li, Z., Li, C., Xie, C., LEE, K., Tian, H., Zhao, F.,
Guichard, J., Cong, L., and S. Peng, "Compressed SRv6
Network Programming", draft-li-spring-compressed-
srv6-np-02 (work in progress), February 2020.
Liu & Peng Expires December 30, 2020 [Page 9]
Internet-Draft Compressed Path Recover June 2020
Authors' Addresses
Liu Yao
ZTE Corporation
No. 50 Software Ave, Yuhuatai Distinct
Nanjing
China
Email: liu.yao71@zte.com.cn
Peng Shaofu
ZTE Corporation
No. 50 Software Ave, Yuhuatai Distinct
Nanjing
China
Email: peng.shaofu@zte.com.cn
Liu & Peng Expires December 30, 2020 [Page 10]