idnits 2.17.1 draft-dong-spring-srv6-inter-layer-programming-00.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- No issues found here. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year -- The document date (July 22, 2019) is 1739 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) == Missing Reference: 'SL' is mentioned on line 139, but not defined == Unused Reference: 'RFC2629' is defined on line 279, but no explicit reference was found in the text == Outdated reference: A later version (-28) exists of draft-ietf-spring-srv6-network-programming-01 ** Obsolete normative reference: RFC 2629 (Obsoleted by RFC 7749) Summary: 1 error (**), 0 flaws (~~), 4 warnings (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 SPRING Working Group J. Dong 3 Internet-Draft Z. Du 4 Intended status: Standards Track Huawei Technologies 5 Expires: January 23, 2020 July 22, 2019 7 SRv6 for Inter-Layer Network Programming 8 draft-dong-spring-srv6-inter-layer-programming-00 10 Abstract 12 This document defines a new SRv6 network function which can be used 13 for SRv6 inter-layer network programming. It is a variant of the 14 End.X function. Instead of pointing to an L3 adjacency, this 15 function points to an underlay interface. Such a interface can stand 16 for a underlay link or path/connection between two routers, which may 17 be invisible in the L3 topology. 19 Status of This Memo 21 This Internet-Draft is submitted in full conformance with the 22 provisions of BCP 78 and BCP 79. 24 Internet-Drafts are working documents of the Internet Engineering 25 Task Force (IETF). Note that other groups may also distribute 26 working documents as Internet-Drafts. The list of current Internet- 27 Drafts is at https://datatracker.ietf.org/drafts/current/. 29 Internet-Drafts are draft documents valid for a maximum of six months 30 and may be updated, replaced, or obsoleted by other documents at any 31 time. It is inappropriate to use Internet-Drafts as reference 32 material or to cite them other than as "work in progress." 34 This Internet-Draft will expire on January 23, 2020. 36 Copyright Notice 38 Copyright (c) 2019 IETF Trust and the persons identified as the 39 document authors. All rights reserved. 41 This document is subject to BCP 78 and the IETF Trust's Legal 42 Provisions Relating to IETF Documents 43 (https://trustee.ietf.org/license-info) in effect on the date of 44 publication of this document. Please review these documents 45 carefully, as they describe your rights and restrictions with respect 46 to this document. Code Components extracted from this document must 47 include Simplified BSD License text as described in Section 4.e of 48 the Trust Legal Provisions and are provided without warranty as 49 described in the Simplified BSD License. 51 Table of Contents 53 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 54 2. Requirements Language and Terminology . . . . . . . . . . . . 3 55 3. END.XU Function . . . . . . . . . . . . . . . . . . . . . . . 3 56 4. Use Case for SRv6 Underlay Interface Function . . . . . . . . 4 57 5. Security Considerations . . . . . . . . . . . . . . . . . . . 6 58 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 6 59 7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 6 60 8. References . . . . . . . . . . . . . . . . . . . . . . . . . 7 61 8.1. Normative References . . . . . . . . . . . . . . . . . . 7 62 8.2. Informative References . . . . . . . . . . . . . . . . . 7 63 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 7 65 1. Introduction 67 In many scenarios, operator owns a multi-layered network. In that 68 case, cross-layer design and optimization mechanisms are more 69 efficient in resource utilization and SLA assurance, but normally are 70 also considered more complicated. As an IP/MPLS based technology, 71 Segment Routing (SR) normally does not need to care about the network 72 layers beneath the IP layer. One exception is as described in 73 [I-D.ietf-isis-l2bundles], IS-IS is extended to advertise the link 74 attributes and Segment Identifiers (SIDs) of Layer 2 (L2) bundle 75 members, so that operator can control traffic flows to traverse a 76 particular individual L2 link which comprises the L2 bundle interface 78 In [I-D.ietf-spring-srv6-network-programming], it is described that 79 for an outgoing interface bundle made of 10 member links, up to 11 80 End.X local SIDs for that bundle need to be allocated. One END.X for 81 the bundle itself and then up to one END.X for each member link. 82 However, there are some differences between the normal END.X function 83 for the bundle and the END.X function for the member link, as they 84 are not at the same network layer. Moreover, besides the L2 bundle 85 use case, there are other types of underlay interfaces or 86 connections, which can be integrated and programmed using SRv6. This 87 document aims to define a unified SRv6 function to support those 88 inter-layer network programming in SRv6. 90 As another example, the underlay of the IP network can be an optical 91 network. In many today's IP and optical transport networks, IP 92 network and optical network are maintained separately, and in most 93 cases, the optical network works as an underlay which is invisible to 94 the IP network. However, the optical path resource and the IP path 95 resource may not be one-to-one mapped so that some resource in 96 optical network can not be fully used. In some cases, there may be 97 some optical paths that is not visible in the L3 IP topology, and 98 thus they can not be used to carry IP traffic. 100 Following the SRv6 network programming concept in 101 [I-D.ietf-spring-srv6-network-programming], we can use a new SRv6 102 function to identify a specific optical path, and put the 103 corresponding SRv6 SID into an integrated SRv6 SID list. The optical 104 path can be either OTN based or DWDM based. Besides the optical 105 paths, it is also possible to use the SRv6 function to identify other 106 underlay paths/connenctions, such as a back-to-back Ethernet 107 connection, or some pre-configured tunnels. 109 The SRv6 function mentioned above can be considered as a variant of 110 the END.X function defined in 111 [I-D.ietf-spring-srv6-network-programming], so that it is suggested 112 to define a new SRv6 function for it. This document defines the 113 operation of this new SRv6 function, and describes some use cases of 114 this SRv6 underlay interface function. 116 2. Requirements Language and Terminology 118 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 119 "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and 120 "OPTIONAL" in this document are to be interpreted as described in 121 [RFC2119] when they appear in ALL CAPS. When these words are not in 122 ALL CAPS (such as "should" or "Should"), they have their usual 123 English meanings, and are not to be interpreted as [RFC2119] key 124 words. 126 3. END.XU Function 128 This section defines the new SRv6 underlay interface function. 130 The "Endpoint with cross-connect to an underlay interface" function 131 (End.XU for short) is a variant of the End.X function defined in 132 [I-D.ietf-spring-srv6-network-programming]. 134 When N receives a packet destined to S and S is a local End.XU SID, N 135 does: 137 1. IF NH=SRH and SL > 0 138 2. decrement SL 139 3. update the IPv6 DA with SRH[SL] 140 4. forward to underlay interface bound to the SID S 141 5. ELSE IF NH!=SRH 142 6. Send an ICMP parameter problem message; drop the packet 143 7. ELSE 144 8. drop the packet 146 Note that the underlay interface or connection in step 4 SHOULD be 147 established before this function is announced into the network. 149 This End.XU function can be announced using IGP or BGP-LS in a 150 similar way to the announcement of END.X function. The detailed 151 protocol extension will be described in a separate document. 153 4. Use Case for SRv6 Underlay Interface Function 155 Assuming that an operator owns both the IP and optical network, and 156 the operator needs to deploy E2E service across IP and optical 157 network, with traditional approaches the planning and service 158 provisioning would be complex and time consuming due of the manual 159 synergy needed between the operator's IP team and optical team. With 160 the popularity of SR and SRv6, one straightforward way is to use a 161 SID list that integrates the path in both the IP layer and the 162 optical layer. 164 As the optical layer is not packet based, normally source routing 165 mechanism can not be directly used in the optical network. However, 166 we can expose the abstracted optical path and its associated 167 attribute and resource information into the network control system of 168 the IP network, by using the SRv6 End.XU function defined in this 169 document, so that E2E inter-layer paths can be programmed to meet 170 some specific traffic's SLA, such as low latency. 172 ----- ----- ----- 173 | P1 |--------| P2 |--------| P3 | 174 ----- ----- ----- 175 / |. |. |. \ 176 ----- / | . | . | . \ ----- 177 | P7 | | . | . | . | P8 | 178 ----- \ | . | . | ./ ----- 179 \ | . | . | / . 180 ----- . ----- . ----- . 181 | P4 |-------| P5 |--------| P6 | . 182 ----- . ----- . ----- . 183 . . . . . . 184 . ===== . ===== . ===== 185 . | O1 |----------| O2 |--------| O3 | 186 . ===== . ===== . ===== 187 . | . | . | 188 . | . | . | 189 . | . | . | 190 . | . | . | 191 .| .| .| 192 ===== ===== ===== 193 | O4 |----------| O5 |--------| O6 | 194 ===== ===== ===== 195 Figure 1. IP and Optical Layered Network Topology 197 In Figure 1, P1 to P8 are IP nodes, and O1 to O6 are optical nodes. 198 Assume we need to deploy a low latency path between P7 and P8. 199 According to traditional segment routing in IP layer, perhaps we can 200 choose the path along {P7, P1, P2, P3, P8}. But if an optical path 201 from O1 to O3 exists, and the End.XU function defined in this 202 document is used to announce this path into the IP domain with 203 specific attributes, the headend node or controller in IP domain can 204 choose the path along {P7, P1, END.XU, P3, P8} which provides lower 205 latency than the normal paths. 207 The creation of the optical path from O1 to O3 may be requested 208 either by the headend IP node P7 or the IP network controller (not 209 shown in the Figure). The creation should be done by the optical 210 network controller (not shown in the Figure), so that P7 or IP 211 network controller needs to inform the path requirements to the 212 optical network controller. The details of the process are out of 213 scope of this document, and may refer to [I-D.lee-teas-actn-vpn-poi]. 215 We can also use the topology in Figure 1 to show another use case. 216 Assume there are two optical paths between P1 and P2. One is {O1, 217 O2} , and the other is {O1, O4, O5, O2}. We can assign two End.XU 218 functions for these two underlay paths separately. One is P1::C2 for 219 the path {O1, O2}, and the other is P1::C45 for the path {O1, O4, O5, 220 O2}. The headend P7 or the IP network controller will be informed 221 about the two SRv6 functions and the associated path attributes, so 222 that the headend or the controller can program different end-to-end 223 inter-layer paths using integrated SID lists for services with 224 different SLA requirement. 226 Assume the path {O1, O2} is owned by the operator with a higher 227 reliability, and the path {O1, O4, O5, O2} is not totally owned by 228 the operator, i.e., they are partly rented. In this use case, for 229 the traffic with high reliability requirement, the integrated SID 230 list implemented in P7 would be . The ellipsis 231 means some other possible SRv6 functions can be added along the path. 232 For traffic with normal reliability requirement, the integrated SID 233 list programmed in P7 can be . Before the 234 announcement of the two functions, the node P1 needs to map the 235 P1::C12 function to the optical path {O1, O2}, and map P1::C45 to the 236 optical path {O1, O4, O5, O2}. 238 5. Security Considerations 240 TBD 242 6. IANA Considerations 244 This document defines a new SRv6 function called END.XU. 246 IANA is requested to allocate four new code points from the "SRv6 247 Endpoint Behaviors" sub-registry in the "Segment-routing with IPv6 248 dataplane (SRv6) Parameters" registry: 250 +-------+--------+---------------------------+-----------+ 251 | Value | Hex | Endpoint function | Reference | 252 +-------+--------+---------------------------+-----------+ 253 | TBA | TBA | End.XU (no PSP, no USP) | [This.ID] | 254 | TBA | TBA | End.XU with PSP | [This.ID] | 255 | TBA | TBA | End.XU with USP | [This.ID] | 256 | TBA | TBA | End.XU with PSP&USP | [This.ID] | 257 +-------+--------+---------------------------+-----------+ 259 7. Acknowledgements 261 The authors would like to thank Xiaodong Chang for his review and 262 comments. 264 8. References 266 8.1. Normative References 268 [I-D.ietf-spring-srv6-network-programming] 269 Filsfils, C., Camarillo, P., Leddy, J., 270 daniel.voyer@bell.ca, d., Matsushima, S., and Z. Li, "SRv6 271 Network Programming", draft-ietf-spring-srv6-network- 272 programming-01 (work in progress), July 2019. 274 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 275 Requirement Levels", BCP 14, RFC 2119, 276 DOI 10.17487/RFC2119, March 1997, 277 . 279 [RFC2629] Rose, M., "Writing I-Ds and RFCs using XML", RFC 2629, 280 DOI 10.17487/RFC2629, June 1999, 281 . 283 8.2. Informative References 285 [I-D.ietf-isis-l2bundles] 286 Ginsberg, L., Bashandy, A., Filsfils, C., Nanduri, M., and 287 E. Aries, "Advertising L2 Bundle Member Link Attributes in 288 IS-IS", draft-ietf-isis-l2bundles-07 (work in progress), 289 May 2017. 291 [I-D.lee-teas-actn-vpn-poi] 292 Lee, Y., Wu, Q., Busi, I., and J. Tantsura, "Abstract", 293 draft-lee-teas-actn-vpn-poi-00 (work in progress), October 294 2018. 296 Authors' Addresses 298 Jie Dong 299 Huawei Technologies 300 Q14, Huawei Campus, No.156 Beiqing Road 301 Hai-Dian District, Beijing, 100095 302 P.R. China 304 Email: jie.dong@huawei.com 305 Zongpeng Du 306 Huawei Technologies 307 Q14, Huawei Campus, No.156 Beiqing Road 308 Hai-Dian District, Beijing, 100095 309 P.R. China 311 Email: duzongpeng@huawei.com