< draft-cheng-spring-mpls-path-segment-00.txt   draft-cheng-spring-mpls-path-segment-01.txt >
Network Working Group W. Cheng Network Working Group W. Cheng
Internet-Draft L. Wang Internet-Draft L. Wang
Intended status: Standards Track H. Li Intended status: Standards Track H. Li
Expires: May 3, 2018 China Mobile Expires: September 3, 2018 China Mobile
M. Chen M. Chen
Huawei Huawei
R. Zigler R. Zigler
Broadcom Broadcom
S. Zhan S. Zhan
ZTE ZTE
October 30, 2017 March 2, 2018
Path Segment in MPLS Based Sement Routing Network Path Segment in MPLS Based Sement Routing Network
draft-cheng-spring-mpls-path-segment-00 draft-cheng-spring-mpls-path-segment-01
Abstract Abstract
An SR path is identified by an SR segment list, one or partial An SR path is identified by an SR segment list, one or partial
segments of the list cannot uniquely identify the SR path. segments of the list cannot uniquely identify the SR path.
This document introduces the concept of Path Segment that is used to This document introduces the concept of Path Segment that is used to
identify an SR path. When used, it is inserted at the ingress node identify an SR path. When used, it is inserted at the ingress node
of the SR path and immediately follows the last segment of the SR of the SR path and immediately follows the last segment of the SR
path. The Path Segment will not be popped off until it reaches the path. The Path Segment will not be popped off until it reaches the
egress of the SR path, it can be used by the egress node to implement egress of the SR path, it can be used by the egress node to implement
end-2-end SR path protection or performance measurement (PM) of an SR end-2-end SR path protection or performance measurement (PM)
path. (especially for measuring packet loss of real traffic) of an SR path.
Requirements Language Requirements Language
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in RFC 2119 [RFC2119]. document are to be interpreted as described in RFC 2119 [RFC2119].
Status of This Memo Status of This Memo
This Internet-Draft is submitted in full conformance with the This Internet-Draft is submitted in full conformance with the
skipping to change at page 2, line 7 skipping to change at page 2, line 7
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at https://datatracker.ietf.org/drafts/current/. Drafts is at https://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on May 3, 2018. This Internet-Draft will expire on September 3, 2018.
Copyright Notice Copyright Notice
Copyright (c) 2017 IETF Trust and the persons identified as the Copyright (c) 2018 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(https://trustee.ietf.org/license-info) in effect on the date of (https://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License. described in the Simplified BSD License.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Path Segment . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Path Segment . . . . . . . . . . . . . . . . . . . . . . . . 3
2.1. One Label Solution . . . . . . . . . . . . . . . . . . . 3 2.1. One Label Solution . . . . . . . . . . . . . . . . . . . 3
2.1.1. Path Segment Assignment . . . . . . . . . . . . . . . 4 2.1.1. Path Segment Assignment . . . . . . . . . . . . . . . 4
2.2. Two Labels Solution . . . . . . . . . . . . . . . . . . . 5 2.2. Two Labels Solution . . . . . . . . . . . . . . . . . . . 5
3. Path Segment Application . . . . . . . . . . . . . . . . . . 7 3. Path Segment Application . . . . . . . . . . . . . . . . . . 7
3.1. Performance Measurement . . . . . . . . . . . . . . . . . 7 3.1. Packet Loss Measurement for Real Traffic . . . . . . . . 7
3.2. End-2-end Path Protection . . . . . . . . . . . . . . . . 7 3.2. End-2-end Path Protection . . . . . . . . . . . . . . . . 7
3.3. Bi-directional SR Tunnel . . . . . . . . . . . . . . . . 8 3.3. Bi-directional SR Tunnel . . . . . . . . . . . . . . . . 7
4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 8 4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 8
5. Security Considerations . . . . . . . . . . . . . . . . . . . 8 5. Security Considerations . . . . . . . . . . . . . . . . . . . 8
6. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 8 6. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 8
7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 8 7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 8
8. References . . . . . . . . . . . . . . . . . . . . . . . . . 8 8. References . . . . . . . . . . . . . . . . . . . . . . . . . 8
8.1. Normative References . . . . . . . . . . . . . . . . . . 8 8.1. Normative References . . . . . . . . . . . . . . . . . . 8
8.2. Informative References . . . . . . . . . . . . . . . . . 9 8.2. Informative References . . . . . . . . . . . . . . . . . 9
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 9 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 9
1. Introduction 1. Introduction
skipping to change at page 3, line 33 skipping to change at page 3, line 33
or ingress node of an SR path, or within an SR domain). It is or ingress node of an SR path, or within an SR domain). It is
normally used by egress nodes for path identification or correlation. normally used by egress nodes for path identification or correlation.
Path Segment can only apply to SR-MPLS. Path Segment can only apply to SR-MPLS.
2. Path Segment 2. Path Segment
This document introduces two options for SR path identification: one This document introduces two options for SR path identification: one
label solution and two labels solution. label solution and two labels solution.
[Editor notes: it is supposed that the WG will discuss and decide [Editor notes: it is supposed that the WG will discuss and decide
which one is the better solution.] which one is preffered.]
2.1. One Label Solution 2.1. One Label Solution
The Path Segment is a single label that is assigned from the Segment The Path Segment is a single label that is assigned from the Segment
Routing Local Block (SRLB) or Segment Routing Global Block (SRGB) of Routing Local Block (SRLB) or Segment Routing Global Block (SRGB) of
the egress node of an SR path. It means that the Path Segment is the egress node of an SR path. It means that the Path Segment is
unique in the context of the egress node of SR paths. When Path unique in the context of the egress node of SR paths. When Path
Segment is used, a Path label MUST be inserted at the ingress node Segment is used, a Path label MUST be inserted at the ingress node
and MUST immediately follow the last label of the SR path. and MUST immediately follow the last label of the SR path.
skipping to change at page 5, line 12 skipping to change at page 5, line 12
computed, the PCE will send a request (with computed path and computed, the PCE will send a request (with computed path and
relevant information) to the egress node to ask for a Path label for relevant information) to the egress node to ask for a Path label for
the SR path. The egress node will allocate a label to the SR path the SR path. The egress node will allocate a label to the SR path
and build mapping relationship between the label and the path. A and build mapping relationship between the label and the path. A
reply will be sent back to the PCE, the PCE will send a reply to the reply will be sent back to the PCE, the PCE will send a reply to the
ingress node about the path information and the corresponding Path ingress node about the path information and the corresponding Path
Segment label. Segment label.
With either way or the variations, the final purpose is to assign a With either way or the variations, the final purpose is to assign a
label from the egress node's label space, hence a single label is label from the egress node's label space, hence a single label is
enough for path identification. Then the ingress node can put the enough for path identification. Then the ingress node can insert the
Path Segment label into the label stack when needed, and the egress Path Segment label into the label stack when needed, and the egress
node can use that Path Segment to implement relevant functionalities. node can use that Path Segment to implement relevant functionalities.
2.2. Two Labels Solution 2.2. Two Labels Solution
Two segments (Source segment and Path segment) are used to identify Two segments (Source segment and Path segment) are used to identify
an SR path. The Source segment is a global node segment, it can an SR path. The Source segment is a global node segment, it can
uniquely identify a node within an SR domain. It MUST NOT be used uniquely identify a node within an SR domain. It MUST NOT be used
for forwarding and indicates that a Path segment immediately follows. for forwarding and indicates that a Path segment immediately follows.
The Path segment is a local segment generated at the ingress node to The Path segment is a local segment generated at the ingress node to
identify an SR path. The combination of Source segment and Path identify an SR path. The combination of Source segment and Path
segment can uniquely identify an SR Path with an SR domain. segment can uniquely identify an SR Path with an SR domain.
A node that enables Path segment function will be assigned two node A node that enables Path segment function will be assigned two node
segments. One is for forwarding just as defined in segments. One is for forwarding just as defined in
[I-D.ietf-spring-segment-routing], the other is for source [I-D.ietf-spring-segment-routing], the other is for source
identification. The corresponding label of the Source Segment is identification. The corresponding label of the Source Segment is
indexed in the SRGB (or in a of the node to which the Source Segment indexed in the SRGB of the node to which the Source Segment will be
will be presented. presented.
The Path segment label is a local label that is assigned to an SR The Path segment label is a local label that is assigned to an SR
path at the ingress node. path at the ingress node.
The label stack with Source and Path segments is as below (Figure 2): The label stack with Source and Path segments is as below (Figure 2):
+--------------------+ +--------------------+
| ... | | ... |
+--------------------+ +--------------------+
| Label 1 | | Label 1 |
skipping to change at page 7, line 7 skipping to change at page 7, line 7
Segment are presented. Segment are presented.
If a node receives a packet with an unknown Source Label, the packet If a node receives a packet with an unknown Source Label, the packet
MUST be discarded and an error SHOULD be reported. MUST be discarded and an error SHOULD be reported.
The Source label and Path label MUST be popped at the node who The Source label and Path label MUST be popped at the node who
receives a packet with the Source label as the stack top label. receives a packet with the Source label as the stack top label.
3. Path Segment Application 3. Path Segment Application
3.1. Performance Measurement 3.1. Packet Loss Measurement for Real Traffic
To measure the packet loss and delay of the real traffic of an SR
path, one fundamental condition is path identification at the
measuring points. For an SR path, the ingress node have the complete
information of the path, it can use those information for packet
counting and/or timestamping. At the egress node, since the Path
Segment label (or combination with Source label) can be used to
identify the path, path based packet counting and/or timestamping can
be implemented as well. Then combined with the mechanisms defined
[RFC6374], end-2-end packet loss and/or delay measurement of an SR
path can be achieved.
Measuring at intermediate nodes needs more consideration, it will be Measuring packet loss of real traffic is called "direct mode" packet
added in the next version. loss measurement in [RFC6374], it is sometime called passive
measurement as well. To measure the packet loss of the real traffic
of an SR path, one fundamental condition is path identification at
the measuring points. For an SR path, the ingress node have the
complete information of the path, it can use those information for
packet counting. At the egress node, since the Path Segment label
(or combination with Source label) can be used to identify the path,
path based packet counting can be implemented as well. Then combined
with the mechanisms defined in [RFC6374], end-2-end packet loss
measurement of an SR path can be achieved.
3.2. End-2-end Path Protection 3.2. End-2-end Path Protection
For end-2-end 1+1 path protection, the egress node of an path needs For end-2-end 1+1 path protection, the egress node of an path needs
to know the set of paths that constitute the primary and the to know the set of paths that constitute the primary and the
backup(s), in order to select the primary packet for onward backup(s), in order to select the primary packet for onward
transmission, and to discard the packets from the backups. transmission, and to discard the packets from the backups.
To do this each path needs a path identifier that is unique at the To do this each path needs a path identifier that is unique at the
egress node. Depending on the design, this single unique label egress node. Depending on the design, this single unique label
skipping to change at page 8, line 11 skipping to change at page 8, line 5
is advertised as primary and the others as secondary will or all are is advertised as primary and the others as secondary will or all are
advertised as of equal status will depend on the details of the advertised as of equal status will depend on the details of the
underlying protection mechanism. underlying protection mechanism.
3.3. Bi-directional SR Tunnel 3.3. Bi-directional SR Tunnel
With the current SR architecture, an SR path is an unidirectional With the current SR architecture, an SR path is an unidirectional
path. In some scenarios, for example, mobile backhaul transport path. In some scenarios, for example, mobile backhaul transport
network, there are requirements to support bi-directional path, and network, there are requirements to support bi-directional path, and
the path is normally treated as a single entity and both directions the path is normally treated as a single entity and both directions
of the path have same fate, for example, failure in one direction of the path have the same fate, for example, failure in one direction
will result in switching at both directions. will result in switching at both directions.
MPLS supports this by introducing the concepts of co-routed MPLS supports this by introducing the concepts of co-routed
bidirectional LSP and associated bi-directional LSP. With SR, to bidirectional LSP and associated bi-directional LSP. With SR, to
support bidirectional path, a straightforward way is to bind two support bidirectional path, a straightforward way is to bind two
unidirectional SR paths to a single bi-directional path. Path unidirectional SR paths to a single bi-directional path. Path
segments can be used to correlate the two unidirectional SR paths at segments can be used to correlate the two unidirectional SR paths at
both ends of the paths. both ends of the paths.
4. IANA Considerations 4. IANA Considerations
skipping to change at page 9, line 6 skipping to change at page 8, line 42
7. Acknowledgements 7. Acknowledgements
The authors would like to thank Stewart Bryant for his review, The authors would like to thank Stewart Bryant for his review,
suggestion and comments to this document. suggestion and comments to this document.
8. References 8. References
8.1. Normative References 8.1. Normative References
[I-D.ietf-6man-segment-routing-header] [I-D.ietf-6man-segment-routing-header]
Previdi, S., Filsfils, C., Raza, K., Leddy, J., Field, B., Previdi, S., Filsfils, C., Raza, K., Dukes, D., Leddy, J.,
daniel.voyer@bell.ca, d., daniel.bernier@bell.ca, d., Field, B., daniel.voyer@bell.ca, d.,
Matsushima, S., Leung, I., Linkova, J., Aries, E., Kosugi, daniel.bernier@bell.ca, d., Matsushima, S., Leung, I.,
T., Vyncke, E., Lebrun, D., Steinberg, D., and R. Raszuk, Linkova, J., Aries, E., Kosugi, T., Vyncke, E., Lebrun,
"IPv6 Segment Routing Header (SRH)", draft-ietf-6man- D., Steinberg, D., and R. Raszuk, "IPv6 Segment Routing
segment-routing-header-07 (work in progress), July 2017. Header (SRH)", draft-ietf-6man-segment-routing-header-08
(work in progress), January 2018.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997, DOI 10.17487/RFC2119, March 1997,
<https://www.rfc-editor.org/info/rfc2119>. <https://www.rfc-editor.org/info/rfc2119>.
8.2. Informative References 8.2. Informative References
[I-D.ietf-spring-segment-routing] [I-D.ietf-spring-segment-routing]
Filsfils, C., Previdi, S., Ginsberg, L., Decraene, B., Filsfils, C., Previdi, S., Ginsberg, L., Decraene, B.,
Litkowski, S., and R. Shakir, "Segment Routing Litkowski, S., and R. Shakir, "Segment Routing
Architecture", draft-ietf-spring-segment-routing-13 (work Architecture", draft-ietf-spring-segment-routing-15 (work
in progress), October 2017. in progress), January 2018.
[I-D.ietf-spring-segment-routing-mpls] [I-D.ietf-spring-segment-routing-mpls]
Filsfils, C., Previdi, S., Bashandy, A., Decraene, B., Bashandy, A., Filsfils, C., Previdi, S., Decraene, B.,
Litkowski, S., and R. Shakir, "Segment Routing with MPLS Litkowski, S., and R. Shakir, "Segment Routing with MPLS
data plane", draft-ietf-spring-segment-routing-mpls-10 data plane", draft-ietf-spring-segment-routing-mpls-12
(work in progress), June 2017. (work in progress), February 2018.
[RFC6374] Frost, D. and S. Bryant, "Packet Loss and Delay [RFC6374] Frost, D. and S. Bryant, "Packet Loss and Delay
Measurement for MPLS Networks", RFC 6374, Measurement for MPLS Networks", RFC 6374,
DOI 10.17487/RFC6374, September 2011, DOI 10.17487/RFC6374, September 2011,
<https://www.rfc-editor.org/info/rfc6374>. <https://www.rfc-editor.org/info/rfc6374>.
Authors' Addresses Authors' Addresses
Weiqiang Cheng Weiqiang Cheng
China Mobile China Mobile
 End of changes. 18 change blocks. 
39 lines changed or deleted 38 lines changed or added

This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/