< draft-ietf-spring-nsh-sr-07.txt   draft-ietf-spring-nsh-sr-08.txt >
SPRING J. Guichard, Ed. SPRING J. Guichard, Ed.
Internet-Draft Futurewei Technologies Internet-Draft Futurewei Technologies
Intended status: Standards Track J. Tantsura, Ed. Intended status: Standards Track J. Tantsura, Ed.
Expires: December 24, 2021 Apstra inc. Expires: December 31, 2021 Apstra inc.
June 22, 2021 June 29, 2021
Integration of Network Service Header (NSH) and Segment Routing for Integration of Network Service Header (NSH) and Segment Routing for
Service Function Chaining (SFC) Service Function Chaining (SFC)
draft-ietf-spring-nsh-sr-07 draft-ietf-spring-nsh-sr-08
Abstract Abstract
This document describes the integration of Network Service Header This document describes the integration of Network Service Header
(NSH) and Segment Routing (SR), as well as encapsulation details, to (NSH) and Segment Routing (SR), as well as encapsulation details, to
support Service Function Chaining (SFC) in an efficient manner while support Service Function Chaining (SFC) in an efficient manner while
maintaining separation of the service and transport planes as maintaining separation of the service and transport planes as
originally intended by the SFC architecture. originally intended by the SFC architecture.
Combining these technologies allows SR to be used for steering Combining these technologies allows SR to be used for steering
packets between Service Function Forwarders (SFF) along a given packets between Service Function Forwarders (SFF) along a given
Service Function Path (SFP) while NSH has the responsibility for Service Function Path (SFP) while NSH has the responsibility for
maintaining the integrity of the service plane, the SFC instance maintaining the integrity of the service plane, the SFC instance
context, and any associated metadata. context, and any associated metadata.
The integration described in this document demonstrates that NSH and This integration demonstrates that NSH and SR can work cooperatively
SR can work jointly and complement each other leaving the network and provide the network operator with the flexibility to use
operator with the flexibility to use whichever transport technology whichever transport technology makes sense in specific areas of their
makes sense in specific areas of their network infrastructure, and network infrastructure while still maintaining an end-to-end service
still maintain an end-to-end service plane using NSH. plane using NSH.
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
provisions of BCP 78 and BCP 79. provisions of BCP 78 and BCP 79.
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 December 24, 2021. This Internet-Draft will expire on December 31, 2021.
Copyright Notice Copyright Notice
Copyright (c) 2021 IETF Trust and the persons identified as the Copyright (c) 2021 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 52 skipping to change at page 2, line 52
11.2. Informative References . . . . . . . . . . . . . . . . . 17 11.2. Informative References . . . . . . . . . . . . . . . . . 17
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 17 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 17
1. Introduction 1. Introduction
1.1. SFC Overview and Rationale 1.1. SFC Overview and Rationale
The dynamic enforcement of a service-derived and adequate forwarding The dynamic enforcement of a service-derived and adequate forwarding
policy for packets entering a network that supports advanced Service policy for packets entering a network that supports advanced Service
Functions (SFs) has become a key challenge for network operators. Functions (SFs) has become a key challenge for network operators.
Particularly, cascading SFs at the so-called Third Generation For instance, cascading SFs at the 3GPP (Third Generation Partnership
Partnership Project (3GPP) Gi interface (N6 interface in 5G Project) Gi interface (N6 interface in 5G architecture) has shown
architecture) in the context of mobile network infrastructure, have limitations such as 1) redundant classification features must be
shown their limitations, such as the same redundant classification supported by many SFs to execute their function, 2) some SFs receive
features must be supported by many SFs to execute their function, traffic that they are not supposed to process (e.g., TCP proxies
some SFs receive traffic that they are not supposed to process (e.g., receiving UDP traffic) which inevitably affects their dimensioning
TCP proxies receiving UDP traffic), which inevitably affects their and performance, and 3) an increased design complexity related to the
dimensioning and performance, an increased design complexity related properly ordered invocation of several SFs.
to the properly ordered invocation of several SFs, etc.
In order to solve those problems and to decouple the services In order to solve those problems, and to decouple the services
topology from the underlying physical network while allowing for topology from the underlying physical network while allowing for
simplified service delivery, Service Function Chaining (SFC) simplified service delivery, Service Function Chaining (SFC)
techniques have been introduced [RFC7665]. techniques have been introduced [RFC7665].
SFC techniques are meant to rationalize the service delivery logic SFC techniques are meant to rationalize the service delivery logic
and master the companion complexity while optimizing service and master the companion complexity while optimizing service
activation time cycles for operators that need more agile service activation time cycles for operators that need more agile service
delivery procedures to better accommodate ever-demanding customer delivery procedures to better accommodate ever-demanding customer
requirements. Indeed, SFC allows to dynamically create service requirements. SFC allows to dynamically create service planes that
planes that can be used by specific traffic flows. Each service can be used by specific traffic flows. Each service plane is
plane is realized by invoking and chaining the relevant service realized by invoking and chaining the relevant service functions in
functions in the right sequence. [RFC7498] provides an overview of the right sequence. [RFC7498] provides an overview of the overall
the overall SFC problem space and [RFC7665] specifies an SFC data SFC problem space and [RFC7665] specifies an SFC data plane
plane architecture. The SFC architecture does not make assumptions architecture. The SFC architecture does not make assumptions on how
on how advanced features (e.g., load-balancing, loose or strict advanced features (e.g., load-balancing, loose or strict service
service paths) could be enabled within a domain. Various deployment paths) could be enabled within a domain. Various deployment options
options are made available to operators with the SFC architecture and are made available to operators with the SFC architecture and this
this approach is fundamental to accommodate various and heterogeneous approach is fundamental to accommodate various and heterogeneous
deployment contexts. deployment contexts.
Many approaches can be considered for encoding the information Many approaches can be considered for encoding the information
required for SFC purposes (e.g., communicate a service chain pointer, required for SFC purposes (e.g., communicate a service chain pointer,
encode a list of loose/explicit paths, or disseminate a service chain encode a list of loose/explicit paths, or disseminate a service chain
identifier together with a set of context information). Likewise, identifier together with a set of context information). Likewise,
many approaches can also be considered for the channel to be used to many approaches can also be considered for the channel to be used to
carry SFC-specific information (e.g., define a new header, re-use carry SFC-specific information (e.g., define a new header, re-use
existing packet header fields, or define an IPv6 extension header). existing packet header fields, or define an IPv6 extension header).
Among all these approaches, the IETF created a transport-independent Among all these approaches, the IETF created a transport-independent
skipping to change at page 9, line 44 skipping to change at page 9, line 44
Service Path Identifier (SPI) and the Service Index (SI) decremented Service Path Identifier (SPI) and the Service Index (SI) decremented
by 1. This saved SR information is used to encapsulate and forward by 1. This saved SR information is used to encapsulate and forward
the packet(s) coming back from the SF. the packet(s) coming back from the SF.
The behavior of remembering the SR segment-list occurs at the end of The behavior of remembering the SR segment-list occurs at the end of
the regularly defined logic. The behavior of reattaching the the regularly defined logic. The behavior of reattaching the
segment-list occurs before the SR process of forwarding the packet to segment-list occurs before the SR process of forwarding the packet to
the next entry in the segment-list. Both behaviors are further the next entry in the segment-list. Both behaviors are further
detailed in section 5. detailed in section 5.
When the SF receives the packet, it processes it as usual and sends When the SF receives the packet, it processes it as usual. The SF
it back to the SFF. Once the SFF receives this packet, it extracts may use a Classifier to re-classify the already processed packet.
the SR information using the NSH SPI and SI as the index into the The SF sends the packet back to the SFF. Once the SFF receives this
cache. The SFF then pushes the retrieved SR header on top of the NSH packet, it extracts the SR information using the NSH SPI and SI as
header, and forwards the packet to the next segment in the segment- the index into the cache. The SFF then pushes the retrieved SR
list. header on top of the NSH header, and forwards the packet to the next
segment in the segment-list. The lookup in the SFF cache might fail
if re-classification changed NSH SPI and/or SI values. In such a
case, SFF must prepare the new SR header to push on top of NSH before
forwarding the packet.
Figure 4 illustrates an example of this scenario. Figure 4 illustrates an example of this scenario.
+-----+ +-----+ +-----+ +-----+
| SF1 | | SF2 | | SF1 | | SF2 |
+--+--+ +--+--+ +--+--+ +--+--+
| | | |
| | | |
+-----------+ | +-----------+ +-----------+ | +-----------+ +-----------+ | +-----------+ +-----------+ | +-----------+
|N(100,255) | | |F:Inner Pkt| |N(100,254) | | |F:Inner Pkt| |N(100,255) | | |F:Inner Pkt| |N(100,254) | | |F:Inner Pkt|
 End of changes. 8 change blocks. 
35 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/