Internet DRAFT - draft-lin-lsr-srv6-service-sid
draft-lin-lsr-srv6-service-sid
Network Working Group C. Lin
Internet Draft M. Chen
Intended status: Standards Track H. Li
Expires: March 6, 2024 New H3C Technologies
September 6, 2023
IS-IS and OSPFv3 Extensions to Advertise SRv6 Service SID
draft-lin-lsr-srv6-service-sid-02
Abstract
The IPv6 backbone networks only deploying IGP may be required to
interconnect IPv4 islands. SRv6 Service SIDs like End.DT4 may be
used to realize such requirements. This document extends IS-IS and
OSPFv3 to advertise SRv6 Service SIDs.
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 March 6, 2024.
Copyright Notice
Copyright (c) 2023 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
(http://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.
Lin, et al. Expire March 6, 2024 [Page 1]
Internet-Draft Advertise SRv6 Service SID in IGP January 2023
Table of Contents
1. Introduction...................................................2
2. Problem Statement..............................................2
3. IGP Solution based on SRv6.....................................3
4. IS-IS Extensions...............................................3
5. OSPFv3 Extensions..............................................5
6. Extensions for TE..............................................6
7. Example........................................................6
8. Security Considerations........................................7
9. IANA Considerations............................................7
10. References....................................................7
10.1. Normative References.....................................7
10.2. Informative References...................................8
Authors' Addresses................................................9
1. Introduction
Segment Routing (SR) [RFC8402] is a source routing paradigm that
explicitly indicates the forwarding path for packets at the ingress
node. SRv6 refers to Segment Routing instantiated on the IPv6
dataplane. [RFC9252] describes how BGP messages may carry SRv6
Service SIDs to interconnect PEs and form VPNs.
The IPv6 backbone networks only deploying IGP may be required to
interconnect IPv4 islands. SRv6 Service SIDs like End.DT4 may be
used to realize such requirements. This document extends IS-IS and
OSPFv3 to advertise SRv6 Service SIDs.
2. Problem Statement
There are situations such as those described in [RFC5565] where it
is required to establish connectivity between 'islands' of IPv4
networks across a transit backbone of IPv6 network.
IPv6 Backbone
+-------------+
+------+ | | +------+
| IPv4 |--+-A----B----C-+--| IPv4 |
+------+ | | +------+
+-------------+
Figure 1: IPv4 Islands across IPv6 Backbone
[RFC8950] specifies the BGP extensions to allow the advertising of
IPv4 NLRI with a next-hop address that belongs to the IPv6 protocol.
[RFC9252] defines procedures and messages for BGP based L3 Service
Lin, et al. Expires March 6, 2024 [Page 2]
Internet-Draft Advertise SRv6 Service SID in IGP September 2023
over SRv6, which uses SRv6 Service SIDs to interconnect PEs and form
VPNs.
Take the network in Figure 1 as an example. Router A and C are BGP
speakers. They exchange the prefixes of IPv4 islands by using BGP
IPv4 NLRIs whose next hop is the peer's IPv6 address. In addition,
SRv6 Service SID with End.DT4 (Decapsulation and Specific IPv4 Table
Lookup) behavior is carried in the BGP Prefix-SID attribute. When
the traffics from IPv4 islands need to traverse the IPv6 backbone,
router A and C encapsulate the payload in in an outer IPv6 header
where the destination address is the SRv6 Service SID.
For the IPv6 backbone networks not deploying BGP, for example, the
campus network using IS-IS or OSPFv3, it is expected to extend IS-IS
or OSPFv3 to support such services.
3. IGP Solution based on SRv6
In an IPv6 backbone network which only deploys IGP, SRv6 Service SID
like End.DT4 may be used to interconnect IPv4 islands.
The edge router advertises IPv4 prefixes along with an SRv6 Service
SID in IGP. When an ingress edge router forwards IPv4 packets across
the IPv6 backbone, it encapsulates the payload in an outer IPv6
header where the destination address is the SRv6 Service SID
provided by the egress router. The edge routers must be SR-enabled,
while the underlay between the edge routers only needs to support
plain IPv6 forwarding. When an egress edge router receives the
packets whose IPv6 destination address is an SRv6 Service SID
instantiated by itself, it will decapsulate the outer IPv6 header
and perform IPv4 table lookup to forward the inner IPv4 packet.
Besides, the SRv6 Service SID may also be advertised with IPv6
prefixes, which can be used to support SRv6-TE Services in IGP.
4. IS-IS Extensions
The IS-IS SRv6 Service SID Sub-TLV is defined in this document to
advertise SRv6 Service SIDs in IS-IS.
The IS-IS SRv6 Service SID Sub-TLV has the following format:
Lin, et al. Expires March 6, 2024 [Page 3]
Internet-Draft Advertise SRv6 Service SID in IGP September 2023
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 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| SRv6 SID Value (16 octets) //
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| SRv6 Endpoint Behavior | Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Sub-sub-tlv-len| Sub-sub-TLVs (variable) //
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
o Type: TBD.
o Length: 1 octet. The length value is variable.
o SRv6 SID Value: 16 octets. Encodes an SRv6 SID as defined in
[RFC8986].
o SRv6 Endpoint Behavior: 2 octets. Encodes SRv6 Endpoint behavior
codepoint value that is associated with SRv6 SID, as defined in
[RFC8986].
o Reserved: 2 octets. MUST be set to 0 by the sender and ignored by
the receiver.
o Sub-sub-tlv-len: 1 octet. Number of octets used by sub-sub-TLVs.
o Sub-sub-TLVs: Optional Sub-sub-TLVs.
IS-IS SRv6 Service SID Sub-TLV is applicable to TLVs 135, 235, 236,
and 237. When the IS-IS SRv6 Service SID Sub-TLV appears, it means
that the prefixes advertised in those TLV can be accessed via the
associated SRv6 Service SID.
The originator of IS-IS SRv6 Service SID Sub-TLV must also advertise
the corresponding SRv6 Locator (covering prefix of the SRv6 Service
SID) using the SRv6 Locator TLV [I-D.ietf-lsr-isis-srv6-extensions],
so that forwarding entries for the SRv6 Locator can be installed in
the forwarding plane of receiving routers. The Prefix Reachability
TLV (TLV-236 or TLV-237) carrying the SRv6 Locator should also be
advertised for SRv6 incapable routers.
The receiver of IS-IS SRv6 Service SID Sub-TLV should check the
reachability of that SID or its Locator. If it is reachable, the
receiver may create forwarding entries of the associated prefix,
with relevant instruction that the packet will be encapsulated in an
Lin, et al. Expires March 6, 2024 [Page 4]
Internet-Draft Advertise SRv6 Service SID in IGP September 2023
outer IPv6 header with the destination address of SRv6 Service SID
and forwarded according to the SID or Locator.
In cases where the prefix associated with SRv6 Service SID is
reachable both by the SRv6 Service SID and the SPF computation, the
SPF computation must be preferred when installing entries in the
forwarding plane. This is to prevent inconsistent forwarding entries
between SRv6 Service SID capable and incapable routers. So, it is
recommended that the prefix associated with SRv6 Service SID is
advertised with a metric larger than MAX_PATH_METRIC (0xFE000000).
5. OSPFv3 Extensions
The OSPFv3 SRv6 Service SID Sub-TLV is defined in this document to
advertise SRv6 Service SIDs in OSPFv3.
The OSPFv3 SRv6 Service SID Sub-TLV has the following format:
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 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| SRv6 SID Value (16 octets) //
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| SRv6 Endpoint Behavior | Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Sub-sub-TLVs (variable) //
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
o Type: TBD.
o Length: 2 octets. The length value is variable.
o SRv6 SID Value: 16 octets. Encodes an SRv6 SID as defined in
[RFC8986].
o SRv6 Endpoint Behavior: 2 octets. Encodes SRv6 Endpoint behavior
codepoint value that is associated with SRv6 SID, as defined in
[RFC8986].
o Reserved: 2 octets. MUST be set to 0 by the sender and ignored by
the receiver.
o Sub-sub-TLVs: Optional Sub-sub-TLVs.
Lin, et al. Expires March 6, 2024 [Page 5]
Internet-Draft Advertise SRv6 Service SID in IGP September 2023
OSPFv3 SRv6 Service SID Sub-TLV is applicable to External-Prefix
TLV. The processing of OSPFv3 SRv6 Service SID Sub-TLV is similar
with section 4.
6. Extensions for TE
To provide SRv6 Traffic Engineering (TE) Services based on BGP, the
egress router colors the overlay service route with a Color Extended
Community for steering of flows for those routes into SRv6 Policies.
IGP may also advertise the color information along with prefixes to
support SRv6-TE Services. Such extensions will be described in the
future version of this document.
7. Example
An example network is shown as Figure 2. In the IPv6 backbone,
router A, B and C run IS-IS. Router C advertises the prefix p1 in
IPv4 island 2 using TLV-135 along with IS-IS SRv6 Service SID Sub-
TLV carrying the End.DT4 SID s1. Router A creates a forwarding entry
for prefix p1 with SID s1. When a packet from IPv4 island 1 to p1 in
IPv4 island 2 needs to traverse the IPv6 backbone, router A
encapsulates an outer IPv6 head whose DA is s1. Then the packet is
forwarded to C. According to the function of s1, C decapsulates the
outer IPv6 header and performs IPv4 table lookup to forward the
inner IPv4 packet to IPv4 island 2.
Lin, et al. Expires March 6, 2024 [Page 6]
Internet-Draft Advertise SRv6 Service SID in IGP September 2023
<-------------------IS-IS LSP
IPv4 Prefix: p1
SRv6 End.DT4 SID: s1
|<- IPv6 Backbone ->|
IPv4 Island 1--A---------B---------C--IPv4 Island 2
+-------+ +-------+
| IPv6 | | IPv6 |
| DA=s1 | | DA=s1 |
+-------+ +-------+ +-------+ +-------+
| IPv4 | | IPv4 | | IPv4 | | IPv4 |
| DA=p1 | | DA=p1 | | DA=p1 | | DA=p1 |
+-------+ > +-------+ > +-------+ > +-------+
|Payload| |Payload| |Payload| |Payload|
+-------+ +-------+ +-------+ +-------+
Figure 2: Example Network
8. Security Considerations
TBD
9. IANA Considerations
TBD
10. References
10.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, DOI
10.17487/RFC2119, March 1997, <https://www.rfc-
editor.org/info/rfc2119>.
[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
May 2017, <https://www.rfc-editor.org/info/rfc8174>.
[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>.
[RFC5565] Wu, J., Cui, Y., Metz, C., and E. Rosen, "Softwire Mesh
Framework", RFC 5565, DOI 10.17487/RFC5565, June 2009,
<https://www.rfc-editor.org/info/rfc5565>.
Lin, et al. Expires March 6, 2024 [Page 7]
Internet-Draft Advertise SRv6 Service SID in IGP September 2023
[RFC8986] Filsfils, C., Ed., Camarillo, P., Ed., Leddy, J., Voyer,
D., Matsushima, S., and Z. Li, "Segment Routing over IPv6
(SRv6) Network Programming", RFC 8986, DOI
10.17487/RFC8986, February 2021, <https://www.rfc-
editor.org/info/rfc8986>.
[RFC9252] Dawra, G., Ed., Talaulikar, K., Ed., Raszuk, R., Decraene,
B., Zhuang, S., and J. Rabadan, "BGP Overlay Services
Based on Segment Routing over IPv6 (SRv6)", RFC 9252, DOI
10.17487/RFC9252, July 2022, <https://www.rfc-
editor.org/info/rfc9252>.
10.2. Informative References
[RFC8950] Litkowski, S., Agrawal, S., Ananthamurthy, K., and K.
Patel, "Advertising IPv4 Network Layer Reachability
Information (NLRI) with an IPv6 Next Hop", RFC 8950, DOI
10.17487/RFC8950, November 2020, <https://www.rfc-
editor.org/info/rfc8950>.
[I-D.ietf-lsr-isis-srv6-extensions] Psenak, P., Filsfils, C.,
Bashandy, A., Decraene, B., and Z. Hu, "IS-IS Extensions
to Support Segment Routing over IPv6 Dataplane", draft-
ietf-lsr-isis-srv6-extensions-19 (work in progress),
November 2022.
Lin, et al. Expires March 6, 2024 [Page 8]
Internet-Draft Advertise SRv6 Service SID in IGP September 2023
Authors' Addresses
Changwang Lin
New H3C Technologies
Email: linchangwang.04414@h3c.com
Mengxiao Chen
New H3C Technologies
Email: chen.mengxiao@h3c.com
Hao Li
New H3C Technologies
Email: lihao@h3c.com
Lin, et al. Expires March 6, 2024 [Page 9]