| < draft-krishnan-6man-sids-00.txt | draft-ietf-6man-sids-00.txt > | |||
|---|---|---|---|---|
| 6man S. Krishnan | 6man S. Krishnan | |||
| Internet-Draft Kaloom | Internet-Draft Cisco | |||
| Intended status: Informational February 10, 2022 | Intended status: Informational 14 April 2022 | |||
| Expires: August 14, 2022 | Expires: 16 October 2022 | |||
| Segment Identifiers in SRv6 | Segment Identifiers in SRv6 | |||
| draft-krishnan-6man-sids-00 | draft-ietf-6man-sids-00 | |||
| Abstract | Abstract | |||
| The data plane for Segment Routing over IPv6 (SRv6) [RFC8754] is | The data plane for Segment Routing over IPv6 (SRv6) [RFC8754] is | |||
| built using IPv6 as the underlying forwarding plane. Due to this | built using IPv6 as the underlying forwarding plane. Due to this | |||
| underlying use of IPv6, Segment Identifiers (SIDs) used by SRv6 can | underlying use of IPv6, Segment Identifiers (SIDs) used by SRv6 can | |||
| resemble IPv6 addresses and behave like them [RFC8754][RFC8986] while | resemble IPv6 addresses and behave like them [RFC8754][RFC8986] while | |||
| exhibiting slightly different behaviors in some situations. This | exhibiting slightly different behaviors in some situations. This | |||
| document intends to explore the characteristics of SRv6 SIDs and to | document intends to explore the characteristics of SRv6 SIDs and to | |||
| clarify the relationship of SRv6 SIDs to the IPv6 Addressing | clarify the relationship of SRv6 SIDs to the IPv6 Addressing | |||
| skipping to change at page 1, line 37 ¶ | skipping to change at page 1, line 37 ¶ | |||
| 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 August 14, 2022. | This Internet-Draft will expire on 16 October 2022. | |||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2022 IETF Trust and the persons identified as the | Copyright (c) 2022 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/ | |||
| (https://trustee.ietf.org/license-info) in effect on the date of | license-info) in effect on the date of publication of this document. | |||
| publication of this document. Please review these documents | Please review these documents carefully, as they describe your rights | |||
| carefully, as they describe your rights and restrictions with respect | and restrictions with respect to this document. Code Components | |||
| to this document. Code Components extracted from this document must | extracted from this document must include Revised BSD License text as | |||
| include Simplified BSD License text as described in Section 4.e of | described in Section 4.e of the Trust Legal Provisions and are | |||
| the Trust Legal Provisions and are provided without warranty as | provided without warranty as described in the Revised BSD License. | |||
| described in the Simplified BSD License. | ||||
| Table of Contents | Table of Contents | |||
| 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | |||
| 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 2 | 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 2 | |||
| 3. SRv6 SIDs and the IPv6 addressing architecture . . . . . . . 3 | 3. SRv6 SIDs and the IPv6 addressing architecture . . . . . . . 3 | |||
| 4. Special Considerations for Compressed SIDs . . . . . . . . . 4 | 4. Special Considerations for Compressed SIDs . . . . . . . . . 4 | |||
| 4.1. Open Issues to be Addressed with C-SIDs . . . . . . . . . 4 | 4.1. Open Issues to be Addressed with C-SIDs . . . . . . . . . 5 | |||
| 4.2. Applicability to other forms of compressed SIDs . . . . . 5 | 4.2. Applicability to other forms of compressed SIDs . . . . . 5 | |||
| 5. Allocation of a Global Unicast Prefix for SIDs . . . . . . . 5 | 5. Allocation of a Global Unicast Prefix for SIDs . . . . . . . 5 | |||
| 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 6 | 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 6 | |||
| 7. Security Considerations . . . . . . . . . . . . . . . . . . . 6 | 7. Security Considerations . . . . . . . . . . . . . . . . . . . 6 | |||
| 8. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 6 | 8. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 6 | |||
| 9. References . . . . . . . . . . . . . . . . . . . . . . . . . 6 | 9. References . . . . . . . . . . . . . . . . . . . . . . . . . 6 | |||
| 9.1. Normative References . . . . . . . . . . . . . . . . . . 6 | 9.1. Normative References . . . . . . . . . . . . . . . . . . 6 | |||
| 9.2. Informative References . . . . . . . . . . . . . . . . . 7 | 9.2. Informative References . . . . . . . . . . . . . . . . . 7 | |||
| Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 7 | Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 8 | |||
| 1. Introduction | 1. Introduction | |||
| Segment Routing over IPv6 (SRv6) [RFC8754] uses IPv6 as the | Segment Routing over IPv6 (SRv6) [RFC8754] uses IPv6 as the | |||
| underlying data plane. In SRv6, SR source nodes initiate packets | underlying data plane. In SRv6, SR source nodes initiate packets | |||
| with a segment in the Destination Address of the IPv6 header, and SR | with a segment in the Destination Address of the IPv6 header, and SR | |||
| segment endpoint nodes that process a local segment present the | segment endpoint nodes that process a local segment present the | |||
| Destination Address of an IPv6 header. Thus Segment Identifiers | Destination Address of an IPv6 header. Thus Segment Identifiers | |||
| (SIDs) in SRv6 can and do appear in the Destination Address field of | (SIDs) in SRv6 can and do appear in the Destination Address field of | |||
| IPv6 datagrams by design. | IPv6 datagrams by design. | |||
| 2. Terminology | 2. Terminology | |||
| The following terms are used as defined in [RFC8402]. | The following terms are used as defined in [RFC8402]. | |||
| o Segment Routing (SR) | * Segment Routing (SR) | |||
| o SR Domain | ||||
| o Segment | * SR Domain | |||
| o Segment ID (SID) | * Segment | |||
| o SRv6 | * Segment ID (SID) | |||
| * SRv6 | ||||
| o SRv6 SID | * SRv6 SID | |||
| o SR Policy. | * SR Policy. | |||
| The following terms are used as defined in [RFC8754]. | The following terms are used as defined in [RFC8754]. | |||
| o Segment Routing Header (SRH) | * Segment Routing Header (SRH) | |||
| o SR Source Node | * SR Source Node | |||
| o Transit Node | * Transit Node | |||
| o SR Segment Endpoint Node | * SR Segment Endpoint Node | |||
| o Reduced SRH | * Reduced SRH | |||
| o Segments Left | * Segments Left | |||
| o Last Entry | * Last Entry | |||
| 3. SRv6 SIDs and the IPv6 addressing architecture | 3. SRv6 SIDs and the IPv6 addressing architecture | |||
| [RFC8754] defines the Segment List of the SRH as a contiguous array | [RFC8754] defines the Segment List of the SRH as a contiguous array | |||
| of 128-bit IPv6 addresses, and that each of the elements in this list | of 128-bit IPv6 addresses, and that each of the elements in this list | |||
| are SIDs. But all of these elements are not necessarily made equal. | are SIDs. But all of these elements are not necessarily made equal. | |||
| Some of these elements may represent a local interface as described | Some of these elements may represent a local interface as described | |||
| in Section 4.3 of [RFC8754] as "A FIB entry that represents a local | in Section 4.3 of [RFC8754] as "A FIB entry that represents a local | |||
| interface, not locally instantiated as an SRv6 SID". From this it | interface, not locally instantiated as an SRv6 SID". From this it | |||
| follows that all the SIDs that appear in the SRH are not SRv6 SIDs as | follows that all the SIDs that appear in the SRH are not SRv6 SIDs as | |||
| skipping to change at page 5, line 5 ¶ | skipping to change at page 5, line 10 ¶ | |||
| the SRv6 SIDs are being treated simply as routing prefixes on transit | the SRv6 SIDs are being treated simply as routing prefixes on transit | |||
| nodes this does not constitute a modification to the IPv6 data plane | nodes this does not constitute a modification to the IPv6 data plane | |||
| on such transit nodes and any changes are restricted to SR aware | on such transit nodes and any changes are restricted to SR aware | |||
| nodes. | nodes. | |||
| 4.1. Open Issues to be Addressed with C-SIDs | 4.1. Open Issues to be Addressed with C-SIDs | |||
| There are a few issues that need to be addressed in the C-SID draft | There are a few issues that need to be addressed in the C-SID draft | |||
| prior to its publication as RFC: | prior to its publication as RFC: | |||
| o This draft needs to provide an updated definition for the | * This draft needs to provide an updated definition for the | |||
| SegmentsLeft field of the SRH since the current definition in | SegmentsLeft field of the SRH since the current definition in | |||
| [RFC8754][RFC8200] no longer holds true in the presence of C-SIDs. | [RFC8754][RFC8200] no longer holds true in the presence of C-SIDs. | |||
| o In some cases it is possible that the SR policy can be expressed | * In some cases it is possible that the SR policy can be expressed | |||
| purely with C-SIDs without requiring an SRH. In this case, to | purely with C-SIDs without requiring an SRH. In this case, to | |||
| allow the SR domain to fail closed, some form of filtering based | allow the SR domain to fail closed, some form of filtering based | |||
| on the LOC part of the SRv6 SID is required as relying purely on | on the LOC part of the SRv6 SID is required as relying purely on | |||
| the presence of an SRH will not be sufficient. | the presence of an SRH will not be sufficient. | |||
| o The use of C-SIDs might cause some difficulty in troubleshooting | * The use of C-SIDs might cause some difficulty in troubleshooting | |||
| error conditions signaled by ICMPv6. Section 5.4 of [RFC8754] | error conditions signaled by ICMPv6. Section 5.4 of [RFC8754] | |||
| describes the ICMPv6 error processing that is required to be | describes the ICMPv6 error processing that is required to be | |||
| performed on the SR Source Nodes to correlate packets since the | performed on the SR Source Nodes to correlate packets since the | |||
| Destination Address field of the packet changes in flight. | Destination Address field of the packet changes in flight. | |||
| Similar logic needs to be specified for SR Source Nodes that use | Similar logic needs to be specified for SR Source Nodes that use | |||
| C-SIDs to determine the destination address for use by protocol- | C-SIDs to determine the destination address for use by protocol- | |||
| error handlers. | error handlers. | |||
| 4.2. Applicability to other forms of compressed SIDs | 4.2. Applicability to other forms of compressed SIDs | |||
| skipping to change at page 7, line 22 ¶ | skipping to change at page 7, line 27 ¶ | |||
| (SRv6) Network Programming", RFC 8986, | (SRv6) Network Programming", RFC 8986, | |||
| DOI 10.17487/RFC8986, February 2021, | DOI 10.17487/RFC8986, February 2021, | |||
| <https://www.rfc-editor.org/info/rfc8986>. | <https://www.rfc-editor.org/info/rfc8986>. | |||
| 9.2. Informative References | 9.2. Informative References | |||
| [I-D.filsfilscheng-spring-srv6-srh-compression] | [I-D.filsfilscheng-spring-srv6-srh-compression] | |||
| Cheng, W., Filsfils, C., Li, Z., Decraene, B., Cai, D., | Cheng, W., Filsfils, C., Li, Z., Decraene, B., Cai, D., | |||
| Voyer, D., Clad, F., Zadok, S., Guichard, J., Liu, A., | Voyer, D., Clad, F., Zadok, S., Guichard, J., Liu, A., | |||
| Raszuk, R., and C. Li, "Compressed SRv6 Segment List | Raszuk, R., and C. Li, "Compressed SRv6 Segment List | |||
| Encoding in SRH", draft-filsfilscheng-spring-srv6-srh- | Encoding in SRH", Work in Progress, Internet-Draft, draft- | |||
| compression-02 (work in progress), July 2021. | filsfilscheng-spring-srv6-srh-compression-02, 28 July | |||
| 2021, <https://www.ietf.org/archive/id/draft- | ||||
| filsfilscheng-spring-srv6-srh-compression-02.txt>. | ||||
| [I-D.ietf-spring-compression-analysis] | [I-D.ietf-spring-compression-analysis] | |||
| Bonica, R., Cheng, W., Dukes, D., Henderickx, W., Li, C., | Bonica, R., Cheng, W., Dukes, D., Henderickx, W., Li, C., | |||
| Peng, S., and C. Xie, "Compressed SRv6 SID List Analysis", | Peng, S., and C. Xie, "Compressed SRv6 SID List Analysis", | |||
| draft-ietf-spring-compression-analysis-00 (work in | Work in Progress, Internet-Draft, draft-ietf-spring- | |||
| progress), September 2021. | compression-analysis-00, 27 September 2021, | |||
| <https://www.ietf.org/archive/id/draft-ietf-spring- | ||||
| compression-analysis-00.txt>. | ||||
| [RFC6052] Bao, C., Huitema, C., Bagnulo, M., Boucadair, M., and X. | [RFC6052] Bao, C., Huitema, C., Bagnulo, M., Boucadair, M., and X. | |||
| Li, "IPv6 Addressing of IPv4/IPv6 Translators", RFC 6052, | Li, "IPv6 Addressing of IPv4/IPv6 Translators", RFC 6052, | |||
| DOI 10.17487/RFC6052, October 2010, | DOI 10.17487/RFC6052, October 2010, | |||
| <https://www.rfc-editor.org/info/rfc6052>. | <https://www.rfc-editor.org/info/rfc6052>. | |||
| [RFC6169] Krishnan, S., Thaler, D., and J. Hoagland, "Security | [RFC6169] Krishnan, S., Thaler, D., and J. Hoagland, "Security | |||
| Concerns with IP Tunneling", RFC 6169, | Concerns with IP Tunneling", RFC 6169, | |||
| DOI 10.17487/RFC6169, April 2011, | DOI 10.17487/RFC6169, April 2011, | |||
| <https://www.rfc-editor.org/info/rfc6169>. | <https://www.rfc-editor.org/info/rfc6169>. | |||
| [RFC7343] Laganier, J. and F. Dupont, "An IPv6 Prefix for Overlay | [RFC7343] Laganier, J. and F. Dupont, "An IPv6 Prefix for Overlay | |||
| Routable Cryptographic Hash Identifiers Version 2 | Routable Cryptographic Hash Identifiers Version 2 | |||
| (ORCHIDv2)", RFC 7343, DOI 10.17487/RFC7343, September | (ORCHIDv2)", RFC 7343, DOI 10.17487/RFC7343, September | |||
| 2014, <https://www.rfc-editor.org/info/rfc7343>. | 2014, <https://www.rfc-editor.org/info/rfc7343>. | |||
| Author's Address | Author's Address | |||
| Suresh Krishnan | Suresh Krishnan | |||
| Kaloom | Cisco | |||
| Email: suresh.krishnan@gmail.com | ||||
| Email: suresh@kaloom.com | ||||
| End of changes. 25 change blocks. | ||||
| 37 lines changed or deleted | 39 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/ | ||||