Internet-Draft IGP for Service Segment January 2021
Liu, et al. Expires 25 July 2021 [Page]
Workgroup:
LSR Working Group
Internet-Draft:
draft-lz-lsr-igp-sr-service-segments-04
Published:
Intended Status:
Standards Track
Expires:
Authors:
Yao. Liu
ZTE Corporation
Zheng. Zhang
ZTE Corporation
Yongqing. Zhu
China Telecom

IGP Extensions for Segment Routing Service Segment

Abstract

This document defines extensions to the link-state routing protocols (IS-IS and OSPF) in order to carry service segment information via IGP.

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 25 July 2021.

Table of Contents

1. Introduction

Segments are introduced in the SR architecture [RFC8402]. Segment Routing (SR) allows for a flexible definition of end-to-end paths by encoding paths as sequences of topological sub-paths, called "segments".

Service Function Chaining (SFC) [RFC7665] provides support for the creation of composite services that consist of an ordered set of Service Functions (SF) that are to be applied to packets and/or frames selected as a result of classification.

[I-D.ietf-spring-sr-service-programming] describes how a service can be associated with a SID and how to achieve service funtion chaining in SR-enabled MPLS and IPv6 networks. It also defines SR-aware and SR-unaware services. For a SR-unaware service ,there has to be a SR proxy handling the SR processing on behalf of the service .

[I-D.dawra-idr-bgp-ls-sr-service-segments] propose extensions to BGP-LS for Service Chaining to distribute the service segment information to SR Controller.

The reference network topology is shown in figure 1.

                         SR-C


            A----1----2----3----4----5----B
                      |         |
                      |         |
                      S1        S2


Figure 1: Figure 1: Network with Services

Node 1-5 are nodes capital of segment routing. A and B are two end hosts. S1 is an SR-aware Service. S2 is an SR-unaware Service and node 4 act as an SR proxy. The path from A to B needs to pass through service function S1 and S2. SR Controller (SR-C) is capable of receiving BGP-LS updates to discover topology, and calculating constrained paths between 1 and 5. To provision and maintain service function path, the SR-C needs to collect the SID-related service information as well.

If the service segment information can only be transmitted through BGP-LS, the BGP protocol needs to be enabled on all the service function nodes or SFFs, and BGP neighbors should be established between these nodes and the SR-C or the node selected to have a BGP session with the controller.

A common scenario is that IGP is enabled on each node in the network to distributed SIDs and SID-related information(e.g reachability, behavior, structure,etc) within the domain and a small amout of nodes are connected to the controller/PCE via BGP-LS to report SID-related information along with the topology. This document proposes extensions for IGP to advertise service segment information along with SIDs to support such scenario.

2. Conventions used in this document

2.1. Requirements Language

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here.

2.2. Acronyms

SFC: Service Function Chain

SFF: Service Function Forwarder

SF: Service Function

SFP: Service Function Path

3. IGP Extensions for Service Segments

If an service function node like S1 supports IGP function, it advertises the service information to other SR nodes through IGP itself. Otherwise, SFFs like node 2 or node 4 are responsible to advertise the service information through IGP. How can SFFs get the service segment information from SFs is outside of scope of this document.

3.1. IS-IS Extensions

This document introduces new sub-sub-TLVs for SRv6 End SID sub-TLV [I-D.ietf-lsr-isis-srv6-extensions] and Prefix Segment Identifier (Prefix-SID) Sub-TLV [RFC8667] for SR-MPLS to associate the Service SID Value with Service-related Information.

One of the new TLVs is Service Chaining (SC) TLV, the TLV is defined 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
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |   Type        |    Length     |        Service Info           |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |   Flags       | Traffic Type  |          RESERVED             |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+




Figure 2: Figure 2:Service Chaining (SC) TLV

where:

Type: 8 bit field. TBD

Length: 8 bit field indicating the length of the remainder of the TLV

The Flags, Traffic Type and RESERVED fields are the same as in the SC TLV defined in [I-D.dawra-idr-bgp-ls-sr-service-segments] chapter 2.

Flags: 8 bit field. Bits SHOULD be 0 on transmission and MUST be ignored on reception.

Traffic Type: 8 Bit field. A bit to identify if Service is IPv4 OR IPv6 OR L2 Ethernet Capable.

Bit 0(LSB): Set to 1 if Service is IPv4 Capable

Bit 1: Set to 1 if Service is IPv6 Capable

Bit 2: Set to 1 if Service is Ethernet Capable

RESERVED: 16bit field. SHOULD be 0 on transmission and MUST be ignored on reception.

Service Info: 16-bits field. The right most 12 bits categorize the Service Type: (such as "Firewall", "Classifier" etc).

0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| P FLAG|    Service Type       |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 3: Figure 3: Service Info Field

The first 4 bits are P FLAG which is used to indicate the SR proxy type with the following values:

0000:SR-aware function.

0001:Static proxy.

0010:Dynamic proxy.

0011:Masquerading proxy(for SRv6 only).

0100:Shared memory proxy.

Other values are reserved.

The P FLAG is mainly defined for SR-MPLS.

In SRv6, although the SR proxy type can be represented by the END functions[I-D.ietf-spring-sr-service-programming] which can be advertised in Endpoint Behavior field of End SID sub-TLV [I-D.ietf-lsr-isis-srv6-extensions], there may be situations that the proxy with certain type cannot be associated with a network programming function(for example, Shared memory proxy),or an user want to define a new type of proxy for private use, or the SR proxy node does not support network programming, so the P flag is still useful.

In the IS-IS notification message, when both SR proxy END function and P FLAG exist, the proxy type represented by P FLAG shall prevail.

Another Optional Opaque Metadata(OM) TLV is defined in figure 4. The definition and structure are the same as the OM TLV defined in [I-D.dawra-idr-bgp-ls-sr-service-segments] chapter 2.

           +---------------------------------------+
           |         Type (1 octet)                |
           +---------------------------------------+
           |        Length (1 octet)               |
           +---------------------------------------+
           |        Opaque  Type (2 octet)         |
           +---------------------------------------+
           |        Flags (1 octet)                |
           +---------------------------------------+
           |        Value (variable)               |
           +---------------------------------------+
Figure 4: Figure 4:Opaque Metadata(OM) TLV

3.2. OSPFv2 and OSPFv3 Extensions

This document introduces new sub-sub-TLVs for SRv6 End SID sub-TLV [I-D.li-ospf-ospfv3-srv6-extensions] and Prefix-SID Sub-TLV [RFC8665] [RFC8665] for SR-MPLS to associate the Service SID Value with Service-related Information.

One of the new TLVs is Service Chaining (SC) TLV,

    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            |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |          Service Info         |     Flags     |  Traffic Type |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |          RESERVED             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 5: Figure 5:Service Chaining (SC) TLV

where:

Type: 16 bit field. TBD

Length: 16 bit field indicating the length of the remainder of the TLV

Flags, Traffic Type and RESERVED are the same as that in SC TLV defined in [I-D.dawra-idr-bgp-ls-sr-service-segments] chapter 2.

The definition and use principle of the Service Type field is the same as that defined in the IS-IS extension above.

Another Optional Opaque Metadata(OM) TLV is defined in figure 6. The definition and structure are the same as the OM TLV defined in [I-D.dawra-idr-bgp-ls-sr-service-segments] chapter 2.

           +---------------------------------------+
           |         Type (2 octet)                |
           +---------------------------------------+
           |        Length (2 octet)               |
           +---------------------------------------+
           |        Opaque  Type (2 octet)         |
           +---------------------------------------+
           |        Flags (1 octet)                |
           +---------------------------------------+
           |        Value (variable)               |
           +---------------------------------------+
Figure 6: Figure 6:Opaque Metadata(OM) TLV

4. Security Considerations

Procedures and protocol extensions defined in this document do not affect the IS-IS and OSPF security model

5. IANA Considerations

TBD

6. References

6.1. Normative References

[I-D.dawra-idr-bgp-ls-sr-service-segments]
Dawra, G., Filsfils, C., Talaulikar, K., Clad, F., daniel.bernier@bell.ca, d., Uttaro, J., Decraene, B., Elmalky, H., Xu, X., Guichard, J., and C. Li, "BGP-LS Advertisement of Segment Routing Service Segments", Work in Progress, Internet-Draft, draft-dawra-idr-bgp-ls-sr-service-segments-04, , <http://www.ietf.org/internet-drafts/draft-dawra-idr-bgp-ls-sr-service-segments-04.txt>.
[I-D.ietf-lsr-isis-srv6-extensions]
Psenak, P., Filsfils, C., Bashandy, A., Decraene, B., and Z. Hu, "IS-IS Extension to Support Segment Routing over IPv6 Dataplane", Work in Progress, Internet-Draft, draft-ietf-lsr-isis-srv6-extensions-11, , <http://www.ietf.org/internet-drafts/draft-ietf-lsr-isis-srv6-extensions-11.txt>.
[I-D.ietf-spring-sr-service-programming]
Clad, F., Xu, X., Filsfils, C., daniel.bernier@bell.ca, d., Li, C., Decraene, B., Ma, S., Yadlapalli, C., Henderickx, W., and S. Salsano, "Service Programming with Segment Routing", Work in Progress, Internet-Draft, draft-ietf-spring-sr-service-programming-03, , <http://www.ietf.org/internet-drafts/draft-ietf-spring-sr-service-programming-03.txt>.
[I-D.li-ospf-ospfv3-srv6-extensions]
Li, Z., Hu, Z., Cheng, D., Talaulikar, K., and P. Psenak, "OSPFv3 Extensions for SRv6", Work in Progress, Internet-Draft, draft-li-ospf-ospfv3-srv6-extensions-07, , <http://www.ietf.org/internet-drafts/draft-li-ospf-ospfv3-srv6-extensions-07.txt>.
[RFC2119]
Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, , <https://www.rfc-editor.org/info/rfc2119>.
[RFC7665]
Halpern, J., Ed. and C. Pignataro, Ed., "Service Function Chaining (SFC) Architecture", RFC 7665, DOI 10.17487/RFC7665, , <https://www.rfc-editor.org/info/rfc7665>.
[RFC8174]
Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, , <https://www.rfc-editor.org/info/rfc8174>.
[RFC8665]
Psenak, P., Ed., Previdi, S., Ed., Filsfils, C., Gredler, H., Shakir, R., Henderickx, W., and J. Tantsura, "OSPF Extensions for Segment Routing", RFC 8665, DOI 10.17487/RFC8665, , <https://www.rfc-editor.org/info/rfc8665>.
[RFC8666]
Psenak, P., Ed. and S. Previdi, Ed., "OSPFv3 Extensions for Segment Routing", RFC 8666, DOI 10.17487/RFC8666, , <https://www.rfc-editor.org/info/rfc8666>.
[RFC8667]
Previdi, S., Ed., Ginsberg, L., Ed., Filsfils, C., Bashandy, A., Gredler, H., and B. Decraene, "IS-IS Extensions for Segment Routing", RFC 8667, DOI 10.17487/RFC8667, , <https://www.rfc-editor.org/info/rfc8667>.

6.2. Informative References

[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, , <https://www.rfc-editor.org/info/rfc8402>.

Authors' Addresses

Liu Yao
ZTE Corporation
Nanjing
China
Zhang Zheng
ZTE Corporation
Nanjing
China
Zhu Yongqing
China Telecom
China