draft-ietf-mpls-sfc-02.txt | draft-ietf-mpls-sfc-03.txt | |||
---|---|---|---|---|
MPLS Working Group A. Farrel | MPLS Working Group A. Farrel | |||
Internet-Draft Juniper Networks | Internet-Draft Juniper Networks | |||
Intended status: Standards Track S. Bryant | Intended status: Standards Track S. Bryant | |||
Expires: February 6, 2019 Huawei | Expires: April 16, 2019 Huawei | |||
J. Drake | J. Drake | |||
Juniper Networks | Juniper Networks | |||
August 5, 2018 | October 13, 2018 | |||
An MPLS-Based Forwarding Plane for Service Function Chaining | An MPLS-Based Forwarding Plane for Service Function Chaining | |||
draft-ietf-mpls-sfc-02 | draft-ietf-mpls-sfc-03 | |||
Abstract | Abstract | |||
Service Function Chaining (SFC) is the process of directing packets | Service Function Chaining (SFC) is the process of directing packets | |||
through a network so that they can be acted on by an ordered set of | through a network so that they can be acted on by an ordered set of | |||
abstract service functions before being delivered to the intended | abstract service functions before being delivered to the intended | |||
destination. An architecture for SFC is defined in RFC7665. | destination. An architecture for SFC is defined in RFC7665. | |||
The Network Service Header (NSH) can be inserted into packets to | The Network Service Header (NSH) can be inserted into packets to | |||
steer them along a specific path to realize a Service Function Chain. | steer them along a specific path to realize a Service Function Chain. | |||
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 February 6, 2019. | This Internet-Draft will expire on April 16, 2019. | |||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2018 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 | |||
skipping to change at page 2, line 32 ¶ | skipping to change at page 2, line 32 ¶ | |||
described in the Simplified BSD License. | described in the Simplified BSD License. | |||
Table of Contents | Table of Contents | |||
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
2. Requirements Language . . . . . . . . . . . . . . . . . . . . 4 | 2. Requirements Language . . . . . . . . . . . . . . . . . . . . 4 | |||
3. Choice of Data Plane SPI/SI Representation . . . . . . . . . 4 | 3. Choice of Data Plane SPI/SI Representation . . . . . . . . . 4 | |||
4. Use Case Scenarios . . . . . . . . . . . . . . . . . . . . . 5 | 4. Use Case Scenarios . . . . . . . . . . . . . . . . . . . . . 5 | |||
4.1. Label Swapping for Logical NSH . . . . . . . . . . . . . 5 | 4.1. Label Swapping for Logical NSH . . . . . . . . . . . . . 5 | |||
4.2. Hierarchical Encapsulation . . . . . . . . . . . . . . . 5 | 4.2. Hierarchical Encapsulation . . . . . . . . . . . . . . . 5 | |||
4.3. Fine Control of Service Function Instances . . . . . . . 6 | 4.3. Fine Control of Service Function Instances . . . . . . . 5 | |||
4.4. Micro Chains and Label Stacking . . . . . . . . . . . . . 6 | 4.4. Micro Chains and Label Stacking . . . . . . . . . . . . . 6 | |||
4.5. SFC and Segment Routing . . . . . . . . . . . . . . . . . 6 | 4.5. SFC and Segment Routing . . . . . . . . . . . . . . . . . 6 | |||
5. Basic Unit of Representation . . . . . . . . . . . . . . . . 6 | 5. Basic Unit of Representation . . . . . . . . . . . . . . . . 6 | |||
6. MPLS Label Swapping . . . . . . . . . . . . . . . . . . . . . 8 | 6. MPLS Label Swapping . . . . . . . . . . . . . . . . . . . . . 7 | |||
7. MPLS Label Stacking . . . . . . . . . . . . . . . . . . . . . 10 | 7. MPLS Label Stacking . . . . . . . . . . . . . . . . . . . . . 10 | |||
8. Mixed Mode Forwarding . . . . . . . . . . . . . . . . . . . . 12 | 8. Mixed Mode Forwarding . . . . . . . . . . . . . . . . . . . . 12 | |||
9. A Note on Service Function Capabilities and SFC Proxies . . . 13 | 9. A Note on Service Function Capabilities and SFC Proxies . . . 13 | |||
10. Control Plane Considerations . . . . . . . . . . . . . . . . 13 | 10. Control Plane Considerations . . . . . . . . . . . . . . . . 13 | |||
11. Use of the Entropy Label . . . . . . . . . . . . . . . . . . 14 | 11. Use of the Entropy Label . . . . . . . . . . . . . . . . . . 14 | |||
12. Metadata . . . . . . . . . . . . . . . . . . . . . . . . . . 15 | 12. Metadata . . . . . . . . . . . . . . . . . . . . . . . . . . 15 | |||
12.1. Indicating Metadata in User Data Packets . . . . . . . . 15 | 12.1. Indicating Metadata in User Data Packets . . . . . . . . 15 | |||
12.2. Inband Programming of Metadata . . . . . . . . . . . . . 17 | 12.2. Inband Programming of Metadata . . . . . . . . . . . . . 17 | |||
13. Worked Examples . . . . . . . . . . . . . . . . . . . . . . . 20 | 13. Worked Examples . . . . . . . . . . . . . . . . . . . . . . . 20 | |||
14. Implementation Notes . . . . . . . . . . . . . . . . . . . . 24 | 14. Implementation Notes . . . . . . . . . . . . . . . . . . . . 24 | |||
skipping to change at page 5, line 33 ¶ | skipping to change at page 5, line 33 ¶ | |||
with an MPLS encapsulation as described in Section 6. The MPLS | with an MPLS encapsulation as described in Section 6. The MPLS | |||
labels encode the same information as the NSH to form a logical NSH. | labels encode the same information as the NSH to form a logical NSH. | |||
The labels are modified (swapped per [RFC3031]) at each SFC hop along | The labels are modified (swapped per [RFC3031]) at each SFC hop along | |||
the chain to indicate the next hop. The processing and forwarding | the chain to indicate the next hop. The processing and forwarding | |||
state for a chain (i.e., the actions to take on a received label) are | state for a chain (i.e., the actions to take on a received label) are | |||
programmed in to the network using a control plane or management | programmed in to the network using a control plane or management | |||
plane. | plane. | |||
4.2. Hierarchical Encapsulation | 4.2. Hierarchical Encapsulation | |||
[I-D.ietf-sfc-hierarchical] describes an architecture for | [RFC8459] describes an architecture for hierarchical encapsulation | |||
hierarchical encapsulation using the NSH. It facilitates | using the NSH. It facilitates partitioning of SFC domains for | |||
partitioning of SFC domains for administrative reasons, and allows | administrative reasons, and allows concatenation of service function | |||
concatenation of service function chains under the control of a | chains under the control of a service classifier. | |||
service classifier. | ||||
The same function can be achieved in an MPLS network using an MPLS | The same function can be achieved in an MPLS network using an MPLS | |||
encoding of the logical NSH, and label stacking as defined in | encoding of the logical NSH, and label stacking as defined in | |||
[RFC3031] and described in Section 7. In this model, swapping is | [RFC3031] and described in Section 7. In this model, swapping is | |||
used per Section 4.1 to navigate one chain, and when the end of the | used per Section 4.1 to navigate one chain, and when the end of the | |||
chain is reached, the final label is popped revealing the label for | chain is reached, the final label is popped revealing the label for | |||
another chain. Thus, the primary mode is swapping, but stacking is | another chain. Thus, the primary mode is swapping, but stacking is | |||
used to enable the ingress classifier to control concatenation of | used to enable the ingress classifier to control concatenation of | |||
service function chains. | service function chains. | |||
skipping to change at page 27, line 26 ¶ | skipping to change at page 27, line 26 ¶ | |||
DOI 10.17487/RFC8393, May 2018, | DOI 10.17487/RFC8393, May 2018, | |||
<https://www.rfc-editor.org/info/rfc8393>. | <https://www.rfc-editor.org/info/rfc8393>. | |||
19.2. Informative References | 19.2. Informative References | |||
[I-D.ietf-bess-nsh-bgp-control-plane] | [I-D.ietf-bess-nsh-bgp-control-plane] | |||
Farrel, A., Drake, J., Rosen, E., Uttaro, J., and L. | Farrel, A., Drake, J., Rosen, E., Uttaro, J., and L. | |||
Jalil, "BGP Control Plane for NSH SFC", draft-ietf-bess- | Jalil, "BGP Control Plane for NSH SFC", draft-ietf-bess- | |||
nsh-bgp-control-plane-04 (work in progress), July 2018. | nsh-bgp-control-plane-04 (work in progress), July 2018. | |||
[I-D.ietf-sfc-hierarchical] | ||||
Dolson, D., Homma, S., Lopez, D., and M. Boucadair, | ||||
"Hierarchical Service Function Chaining (hSFC)", draft- | ||||
ietf-sfc-hierarchical-11 (work in progress), June 2018. | ||||
[I-D.ietf-spring-segment-routing-mpls] | [I-D.ietf-spring-segment-routing-mpls] | |||
Bashandy, A., Filsfils, C., Previdi, S., 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-14 | data plane", draft-ietf-spring-segment-routing-mpls-14 | |||
(work in progress), June 2018. | (work in progress), June 2018. | |||
[I-D.xuclad-spring-sr-service-chaining] | [I-D.xuclad-spring-sr-service-chaining] | |||
Clad, F., Xu, X., Filsfils, C., daniel.bernier@bell.ca, | Clad, F., Xu, X., Filsfils, C., daniel.bernier@bell.ca, | |||
d., Li, C., Decraene, B., Ma, S., Yadlapalli, C., | d., Li, C., Decraene, B., Ma, S., Yadlapalli, C., | |||
Henderickx, W., and S. Salsano, "Segment Routing for | Henderickx, W., and S. Salsano, "Segment Routing for | |||
skipping to change at page 28, line 20 ¶ | skipping to change at page 28, line 15 ¶ | |||
[RFC7665] Halpern, J., Ed. and C. Pignataro, Ed., "Service Function | [RFC7665] Halpern, J., Ed. and C. Pignataro, Ed., "Service Function | |||
Chaining (SFC) Architecture", RFC 7665, | Chaining (SFC) Architecture", RFC 7665, | |||
DOI 10.17487/RFC7665, October 2015, | DOI 10.17487/RFC7665, October 2015, | |||
<https://www.rfc-editor.org/info/rfc7665>. | <https://www.rfc-editor.org/info/rfc7665>. | |||
[RFC8402] Filsfils, C., Ed., Previdi, S., Ed., Ginsberg, L., | [RFC8402] Filsfils, C., Ed., Previdi, S., Ed., Ginsberg, L., | |||
Decraene, B., Litkowski, S., and R. Shakir, "Segment | Decraene, B., Litkowski, S., and R. Shakir, "Segment | |||
Routing Architecture", RFC 8402, DOI 10.17487/RFC8402, | Routing Architecture", RFC 8402, DOI 10.17487/RFC8402, | |||
July 2018, <https://www.rfc-editor.org/info/rfc8402>. | July 2018, <https://www.rfc-editor.org/info/rfc8402>. | |||
[RFC8459] Dolson, D., Homma, S., Lopez, D., and M. Boucadair, | ||||
"Hierarchical Service Function Chaining (hSFC)", RFC 8459, | ||||
DOI 10.17487/RFC8459, September 2018, | ||||
<https://www.rfc-editor.org/info/rfc8459>. | ||||
Authors' Addresses | Authors' Addresses | |||
Adrian Farrel | Adrian Farrel | |||
Juniper Networks | Juniper Networks | |||
Email: afarrel@juniper.net | Email: adrian@olddog.co.uk | |||
Stewart Bryant | Stewart Bryant | |||
Huawei | Huawei | |||
Email: stewart.bryant@gmail.com | Email: stewart.bryant@gmail.com | |||
John Drake | John Drake | |||
Juniper Networks | Juniper Networks | |||
Email: jdrake@juniper.net | Email: jdrake@juniper.net | |||
End of changes. 10 change blocks. | ||||
17 lines changed or deleted | 16 lines changed or added | |||
This html diff was produced by rfcdiff 1.47. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |