Internet Engineering Task Force Yimin Shen Internet-Draft Juniper Networks Intended status: Informational Ravi Singh Expires: March 27, 2020 Individual Contributor September 24, 2019 BGP Flexible Color-Based Tunnel Selection draft-shen-idr-flexible-color-tunnel-selection-00 Abstract This document discusses color-based tunnel selection for BGP payload prefixes. It defines a set of extended mapping modes, and describes how to use these modes to construct tunnel selection schemes to achieve flexible tunnel selection. Tunnel selection schemes can be implemented as policies on routers performing tunnel selection, or signaled by next hop routers or a central controller via BGP. 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 27, 2020. Copyright Notice Copyright (c) 2019 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 (https://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 Yimin Shen & Ravi Singh Expires March 27, 2020 [Page 1] Internet-Draft BGP Flexible Color-Based Tunnel Selection September 2019 the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 2. Specification of Requirements . . . . . . . . . . . . . . . . 3 3. Extended Mapping Modes . . . . . . . . . . . . . . . . . . . 3 4. Tunnel Selection Scheme and Operation . . . . . . . . . . . . 5 5. Provisioning of Tunnel Selection Schemes . . . . . . . . . . 7 6. Flexible Color Tunnel Selection Attribute . . . . . . . . . . 8 6.1. Extended Mapping Mode TLV . . . . . . . . . . . . . . . . 8 7. Relationship with Color-Only Bits of Color Extended Community 10 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 10 9. Security Considerations . . . . . . . . . . . . . . . . . . . 10 10. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 11 11. References . . . . . . . . . . . . . . . . . . . . . . . . . 11 11.1. Normative References . . . . . . . . . . . . . . . . . . 11 11.2. Informative References . . . . . . . . . . . . . . . . . 11 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 11 1. Introduction In a network using BGP to advertise payload prefixes, transporting the packets of a prefix from a router to the next hop router relies on the selection of a transport tunnel. This selection is normally based on the prefix's BGP next hop IP address and some constraints. One such constraint is the color, which is encoded in the Color Extended Community [RFC5512]. Color is a generic notion which may represent any characteristic or property of the network, such as virtual topology, network slice, path computation algorithm, TE constraint, administrative profile, etc. In this document, tunnel selection considering color as a constraint is broadly referred to as color-based tunnel selection. In a color-based tunnel selection scenario, payload prefixes may be associated with colors, through either configuration or the attachment of an Color Extended Community. Likewise, transport tunnels may also be associated with colors, which may be encoded in BGP NLRI (e.g. BGP SR-TE policy [BGP-SR-POLICY]), attached as an Extended Color Community (e.g. BGP LU), or assigned by configuration (e.g. RSVP and LDP tunnels), etc. These payload prefixes and tunnels are called "colored payload prefixes" and "colored tunnels", respectively. In general, a payload prefix of color X is expected to be mapped to a tunnel of the same color X for transport. This is considered as the default mapping mode of color-based tunnel selection. Yimin Shen & Ravi Singh Expires March 27, 2020 [Page 2] Internet-Draft BGP Flexible Color-Based Tunnel Selection September 2019 In some cases, when a tunnel of color X cannot be found, a network operator may choose to continue the tunnel selection based on other mapping modes, e.g. a tunnel of another color Y, a tunnel without a color, a tunnel of color X but with an IPv4-mapped IPv6 endpoint address, etc. These modes provide the network operator with the flexibility to take a full advantage of the tunnels in the network. In this document, these modes are called "extended mapping modes", and the procedure of attempting them in a user-defined order is called "fallback". This document defines a set of extended mapping modes to complement the default mapping mode. It introduces the notion of "tunnel selection scheme". A tunnel selection scheme is an ordered list of extended mapping modes, which is executed in tunnel selection. When a tunnel cannot be selected by using the first mode in the list, fallback is performed by attempting the second mode, the third mode, and so on, until a tunnel is selected or the list is exhausted. Color-based tunnel selection for uncolored payload prefixes is also considered in this document as a special case. By using a tunnel selection scheme, an uncolored payload prefix can select a colored or uncolored tunnel in a flexible manner. 2. Specification of Requirements The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in [RFC2119] and [RFC8174]. 3. Extended Mapping Modes This document defines a set of extended mapping modes for flexible color-based tunnel selection. Each mode specifies how a payload prefix's endpoint IPv4 or IPv6 address (derived from BGP next hop and the Tunnel Endpoint sub-TLV in the Tunnel Encapsulation Attribute [BGP-TUNNEL-ENCAP]) and color are used to select a tunnel. The document assumes that each payload prefix SHOULD have a single color or no color, and each tunnel SHOULD have a single color or no color, which is the common usage of colors. In the definitions of the extended mapping modes below, N represents a payload prefix's endpoint IPv4 or IPv6 address, and C represents its color, if applicable. An uncolored payload prefix does not have a color. An extended mapping mode may involve multiple steps or sub- level fallback within it. The mode is completed as soon as a tunnel is successfully selected in a certain step, and the rest steps are not executed. Yimin Shen & Ravi Singh Expires March 27, 2020 [Page 3] Internet-Draft BGP Flexible Color-Based Tunnel Selection September 2019 (1) IP-color, optionally with a fallback color list of {C1, ...,Cn} - If the payload prefix has a color C, select a tunnel whose endpoint address is N and whose color is C. - Select a tunnel whose endpoint address is N and whose color is C1. - ... - Select a tunnel whose endpoint address is N and color is Cn. (2) Color-only, optionally with a fallback color list of {C1, ..., Cn} - If the payload prefix has a color C, select a tunnel whose color is C, regardless of the tunnel's endpoint address. - Select a tunnel whose color is C1, regardless of tunnel's endpoint address. - ... - Select a tunnel whose color is Cn, regardless of tunnel's endpoint address. (3) IP-any-color - Select a tunnel whose endpoint address is N and who has a color of any value. (4) IP-only - Select a tunnel whose endpoint address is N and who does not have a color. (5) Converted-IPv6 This mode is applicable when N is an IPv4 address. Assume N' is the IPv6 address mapped from N. - Select a tunnel whose endpoint address is N' and who does not have a color. (6) Converted-IPv6-color, optionally a fallback color list of {C1, ..., Cn} Yimin Shen & Ravi Singh Expires March 27, 2020 [Page 4] Internet-Draft BGP Flexible Color-Based Tunnel Selection September 2019 This mode is applicable when N is an IPv4 address. Assume N' is the IPv6 address mapped from N. - If the payload prefix has a color C, select a tunnel whose endpoint address is N' and whose color is C. - Select a tunnel whose endpoint address is N' and whose color is C1. - ... - Select a tunnel whose endpoint address is N' and whose color is Cn. (7) Converted-IPv6-any-color This mode is applicable when N is an IPv4 address. Assume N' is the IPv6 address mapped from N. - Select a tunnel whose endpoint address is N' and who has a color of any value. (8) Color-profile - If the payload prefix has a color C, use C as key to look up a profile to construct tunnel selection constraints, and use the constraints to select a tunnel. As shown above, the IP-color, Color-only, and Converted-IPv6-color modes may have a fallback color list for achieving sub-level "cross- color" fallback. More modes MAY be defined in the future. 4. Tunnel Selection Scheme and Operation A tunnel selection scheme is defined by an ordered list of extended mapping modes. The first mode is called a "primary" mode, and all the subsequent modes are called "fallback" modes. A scheme MUST have a primary mode, and MAY or MAY not have any fallback mode. When a scheme is executed, each mode in the list is attempted one at a time sequentially, and within the mode, each step is executed sequentially. The process continues until a tunnel is selected or the list is exhausted. When a given a tunnel is selected successfully by a certain step of a certain mode, the scheme is considered as completed, and all subsequent steps of the mode and all the subsequent modes in the list are skipped. If no tunnel is Yimin Shen & Ravi Singh Expires March 27, 2020 [Page 5] Internet-Draft BGP Flexible Color-Based Tunnel Selection September 2019 selected when the list is exhausted, the corresponding payload prefix will remain as unresolved for transport. When a previously selected tunnel becomes inoperative, the scheme SHOULD be rerun to select a new tunnel. It is possible that a tunnel was previously selected, and sometime later another tunnel of higher preference (in the tunnel selection scheme or in a fallback color list) becomes available. In this case, the new tunnel MAY be selected to replace the current tunnel. This procedure is called reversion. A reversion may be performed manually by a network operator, or triggered automatically by the situation. Note that a tunnel selection scheme with extended mapping modes is a new criterion added to tunnel selection. It SHOULD be used in parallel with other applicable criteria, such as protocol type, tunnel type, or attributes contained in the Tunnel Encapsulation Attribute. This document does not change the processing of these criteria. The following are some examples of tunnel selection schemes. Example 1: Assume a payload prefix has a tunnel endpoint IPv4 address 203.0.113.1 and a color RED, and it is associated with the following tunnel selection scheme. (1) IP-color (2) Converted-IPv6-color (3) IP-only The intended tunnel selection procedure is: (1) Find a tunnel whose endpoint IPv4 address is 203.0.113.1 and whose color is RED. (2) If the above is unsuccessful, convert the IPv4 address to an IPv6 address 2002:cb00:7101::/64. Find a tunnel whose endpoint IPv6 address is 2002:cb00:7101::/64 and whose color is RED. (3) If the above is unsuccessful, find a tunnel whose endpoint IPv4 address is 203.0.113.1 and who does not have a color. Example 2: Yimin Shen & Ravi Singh Expires March 27, 2020 [Page 6] Internet-Draft BGP Flexible Color-Based Tunnel Selection September 2019 Assume a prefix has a tunnel endpoint IPv4 address 203.0.113.1 and a color RED, and it is associated with the following tunnel selection scheme. (1) IP-color, with a fallback color list = {BLUE, GREEN} (2) Converted-IPv6-color, with a fallback color list = {WHITE} (3) IP-only The intended tunnel selection procedure is: (1) Find a tunnel whose endpoint IPv4 address is 203.0.113.1 and whose color is RED. If it is unsuccessful, find a tunnel whose endpoint IPv4 address is 203.0.113.1 and whose color is BLUE. If it is unsuccessful, find a tunnel whose endpoint IPv4 address is 203.0.113.1 and whose color GREEN. (2) If the above is unsuccessful, convert the IPv4 address to an IPv6 address 2002:cb00:7101::/64. Find a tunnel whose endpoint IPv6 address is 2002:cb00:7101::/64 and whose color is RED. If it is unsuccessful, find a tunnel whose endpoint IPv6 address is 2002:cb00:7101::/64 and whose color is WHITE. (3) If the above is unsuccessful, find a tunnel whose endpoint IPv4 address is 203.0.113.1 and who does not have a color. 5. Provisioning of Tunnel Selection Schemes A tunnel selection scheme with extended mapping modes MAY be provisioned for a payload prefix on a router which performs tunnel selection. In this case, the scheme may be implemented as a policy and applied on the router. The syntax of such policy varies by vendors, and hence is out of the scope of this document. The tunnel selection scheme MAY also be provisioned on the BGP next hop router or a central controller where the UPDATE message of the payload prefix is originated. To facilitate this, the document defines a new "Flexible Color Tunnel Selection" attribute to carry the information in the UPDATE message. In the case where a given payload prefix has one scheme specified by a local policy on the current router, and another scheme received in the Flexible Color Tunnel Selection attribute, the router SHOULD treat the policy as a higher preference than the received information. Yimin Shen & Ravi Singh Expires March 27, 2020 [Page 7] Internet-Draft BGP Flexible Color-Based Tunnel Selection September 2019 If a payload prefix does not have any associated tunnel selection scheme, the default mode applicable to a colored or non-colored payload prefix SHOULD be used in tunnel selection. 6. Flexible Color Tunnel Selection Attribute The Flexible Color Tunnel Selection attribute is an optional, non- transitive BGP path attribute that is used to carry the information of a tunnel selection scheme. It is defined as a set of Type/Length/ Value (TLV) triplets. By advertising the Flexible Color Tunnel Selection attribute in the UPDATE message of a payload prefix, the BGP speaker expresses the fact that it expects the tunnel selection process of the payload prefix to use the contained information. This document defines one TLV, i.e. the Extended Mapping Mode TLV. 6.1. Extended Mapping Mode TLV The Extended Mapping Mode TLV carries the information of an extended mapping mode. 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 0x01 | Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Mode | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Color_1 (optional) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ~ (optional) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Color_n (optional) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 1 The TLV Type is 0x01. The TLV Length is the total number of octets of the TLV Value field. The TLV Value field contains a 4-octet extended mapping mode defined as below, and an optional fallback color list. 1 - IP-color 2 - Color-only Yimin Shen & Ravi Singh Expires March 27, 2020 [Page 8] Internet-Draft BGP Flexible Color-Based Tunnel Selection September 2019 3 - IP-any-color 4 - IP-only 5 - Converted-IPv6 6 - Converted-IPv6-color 7 - Converted-IPv6-any-color 8 - Color-profile The IP-color, Color-only and Converted-IPv6-color modes MAY optionally have a fallback color list. The list contains one or multiple 4-octect color values, i.e. Color_1, ..., Color_n, in the order from the highest preference to the lowest preference. Extended Mapping Mode TLVs are encoded in the Flexible Color Tunnel Selection attribute in the following manner: First, an Extended Mapping Mode TLV containing the primary mode is added. If this mode is IP-Color, Color-Only, or Converted- IPv6-Color, and if cross-color fallback is applicable to this mode, the TLV will contain a fallback color list. If there is one or multiple desired fallback modes, an Extended Mapping Mode TLV containing the first fallback mode is added. If this mode is IP-Color, Color-Only, or Converted-IPv6-Color, and if cross-color fallback is applicable to this mode, the TLV will contain a fallback color list. This process continues, until an Extended Mapping Mode TLV containing the last fallback mode is added. If this mode is IP- Color, Color-Only, or Converted-IPv6-Color, and if cross-color fallback is applicable to this mode, the TLV will contain a fallback color list. In decoding a received Flexible Color Tunnel Selection attribute, a receiving router MUST interpret the preference order as the above for the Extended Mapping Mode TLVs contained. If an Extended Mapping Mode TLV contains a mode which is not IP-Color, Color-Only, or Converted-IPv6-Color but has a fallback color list, the entire Flexible Color Tunnel Selection attribute SHOULD be considered as malformatted and ignored. In this case, tunnel selection for the payload prefix SHOULD revert to the default color or non-color mapping mode. Yimin Shen & Ravi Singh Expires March 27, 2020 [Page 9] Internet-Draft BGP Flexible Color-Based Tunnel Selection September 2019 A receiving router MUST consider a payload prefix as having a modified tunnel selection scheme in any of the following situations, and perform tunnel selection accordingly: The payload prefix did not have a Flexible Color Tunnel Selection attribute in the previous UPDATE message, and it has one in the latest UPDATE message. Tunnel selection MUST be performed based on the latest tunnel selection scheme. The payload prefix had a Flexible Color Tunnel Selection attribute in the previous UPDATE message, but it does not have one in the latest UPDATE message. Tunnel selection MUST revert to the default color or non-color mapping mode. The payload prefix had a Flexible Color Tunnel Selection attribute in the previous UPDATE message, and it has one with different content in the latest UPDATE message. Tunnel selection MUST be performed based on the latest tunnel selection scheme. 7. Relationship with Color-Only Bits of Color Extended Community [RFC8402] and [BGP-SR-POLICY] define two "Color-Only" bits (i.e. CO bits) in the BGP Color Extended Community for color-based tunnel selection in the context of segment routing. Each of the four combinations of the CO bits corresponds to a predefined fallback scheme. This document complements these documents by supporting more generic and flexible fallback schemes which are user definable. In fact, the fallback schemes of the CO bits can be fully specified by using the Flexible Color Based Tunnel Selection attribute. If the Color Extended Community with CO bits are used in an UPDATE message, the Flexible Color Tunnel Selection attribute SHOULD NOT be used at the same time, in order to avoid possible collision between them. In case they are both present in an UPDATE message, preference SHOULD be given to the CO bits, and the Flexible Color Tunnel Selection attribute SHOULD be ignored. 8. IANA Considerations This document requires the IANA to allocate a Path Attribute type value for the Flexible Color Tunnel Selection attribute. 9. Security Considerations This document does not introduce any security issues. Yimin Shen & Ravi Singh Expires March 27, 2020 [Page 10] Internet-Draft BGP Flexible Color-Based Tunnel Selection September 2019 10. Acknowledgements Thanks to Jeff Hass and Srihari Sangli for their kind reviews and comments which helped to improve the clarity of this document. 11. References 11.1. Normative References [RFC5512] Mohapatra, P. and E. Rosen, "The BGP Encapsulation Subsequent Address Family Identifier (SAFI) and the BGP Tunnel Encapsulation Attribute", RFC 5512, DOI 10.17487/RFC5512, April 2009, . [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, . [BGP-SR-POLICY] Previdi, S., Filsfils, C., Mattes, P., Rosen, E., Jain, D., and S. Lin, "Advertising Segment Routing Policies in BGP", draft-previdi-idr-segment-routing-te-policy (work in progress), 2019. [BGP-TUNNEL-ENCAP] Patel, K., Velde, G., and S. Sangli, "The BGP Tunnel Encapsulation Attribute", draft-vandevelde-idr-remote- next-hop (work in progress), 2019. 11.2. Informative References [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997, . [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, May 2017, . Authors' Addresses Yimin Shen & Ravi Singh Expires March 27, 2020 [Page 11] Internet-Draft BGP Flexible Color-Based Tunnel Selection September 2019 Yimin Shen Juniper Networks 10 Technology Park Drive Westford, MA 01886 USA Phone: +1 9785890722 Email: yshen@juniper.net Ravi Singh Individual Contributor Email: ravi.singh.ietf@gmail.com Yimin Shen & Ravi Singh Expires March 27, 2020 [Page 12]