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