draft-ietf-bess-datacenter-gateway-04.txt | draft-ietf-bess-datacenter-gateway-05.txt | |||
---|---|---|---|---|
BESS Working Group A. Farrel | BESS Working Group A. Farrel | |||
Internet-Draft Old Dog Consulting | Internet-Draft Old Dog Consulting | |||
Intended status: Standards Track J. Drake | Intended status: Standards Track J. Drake | |||
Expires: February 22, 2020 E. Rosen | Expires: September 12, 2020 E. Rosen | |||
Juniper Networks | Juniper Networks | |||
K. Patel | K. Patel | |||
Arrcus, Inc. | Arrcus, Inc. | |||
L. Jalil | L. Jalil | |||
Verizon | Verizon | |||
August 21, 2019 | March 11, 2020 | |||
Gateway Auto-Discovery and Route Advertisement for Segment Routing | Gateway Auto-Discovery and Route Advertisement for Segment Routing | |||
Enabled Domain Interconnection | Enabled Domain Interconnection | |||
draft-ietf-bess-datacenter-gateway-04 | draft-ietf-bess-datacenter-gateway-05 | |||
Abstract | Abstract | |||
Data centers are critical components of the infrastructure used by | Data centers are critical components of the infrastructure used by | |||
network operators to provide services to their customers. Data | network operators to provide services to their customers. Data | |||
centers are attached to the Internet or a backbone network by gateway | centers are attached to the Internet or a backbone network by gateway | |||
routers. One data center typically has more than one gateway for | routers. One data center typically has more than one gateway for | |||
commercial, load balancing, and resiliency reasons. | commercial, load balancing, and resiliency reasons. | |||
Segment Routing is a popular protocol mechanism for use within a data | Segment Routing is a popular protocol mechanism for use within a data | |||
skipping to change at page 2, line 15 ¶ | skipping to change at page 2, line 15 ¶ | |||
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 February 22, 2020. | This Internet-Draft will expire on September 12, 2020. | |||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2019 IETF Trust and the persons identified as the | Copyright (c) 2020 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/license-info) in effect on the date of | (https://trustee.ietf.org/license-info) in effect on the date of | |||
publication of this document. Please review these documents | publication of this document. Please review these documents | |||
carefully, as they describe your rights and restrictions with respect | carefully, as they describe your rights and restrictions with respect | |||
to this document. Code Components extracted from this document must | to this document. Code Components extracted from this document must | |||
include Simplified BSD License text as described in Section 4.e of | include Simplified BSD License text as described in Section 4.e of | |||
the Trust Legal Provisions and are provided without warranty as | the Trust Legal Provisions and are provided without warranty as | |||
skipping to change at page 2, line 41 ¶ | skipping to change at page 2, line 41 ¶ | |||
Table of Contents | Table of Contents | |||
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
2. Requirements Language . . . . . . . . . . . . . . . . . . . . 5 | 2. Requirements Language . . . . . . . . . . . . . . . . . . . . 5 | |||
3. SR Domain Gateway Auto-Discovery . . . . . . . . . . . . . . 5 | 3. SR Domain Gateway Auto-Discovery . . . . . . . . . . . . . . 5 | |||
4. Relationship to BGP Link State and Egress Peer Engineering . 7 | 4. Relationship to BGP Link State and Egress Peer Engineering . 7 | |||
5. Advertising an SR Domain Route Externally . . . . . . . . . . 7 | 5. Advertising an SR Domain Route Externally . . . . . . . . . . 7 | |||
6. Encapsulation . . . . . . . . . . . . . . . . . . . . . . . . 7 | 6. Encapsulation . . . . . . . . . . . . . . . . . . . . . . . . 7 | |||
7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 7 | 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 7 | |||
7.1. Tunnel Encapsulation Tunnel Type . . . . . . . . . . . . 7 | ||||
7.2. Tunnel Encapsulation Sub-TLVs . . . . . . . . . . . . . . 8 | ||||
8. Security Considerations . . . . . . . . . . . . . . . . . . . 8 | 8. Security Considerations . . . . . . . . . . . . . . . . . . . 8 | |||
9. Manageability Considerations . . . . . . . . . . . . . . . . 9 | 9. Manageability Considerations . . . . . . . . . . . . . . . . 9 | |||
10. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 9 | 10. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 9 | |||
11. References . . . . . . . . . . . . . . . . . . . . . . . . . 10 | 11. References . . . . . . . . . . . . . . . . . . . . . . . . . 10 | |||
11.1. Normative References . . . . . . . . . . . . . . . . . . 10 | 11.1. Normative References . . . . . . . . . . . . . . . . . . 10 | |||
11.2. Informative References . . . . . . . . . . . . . . . . . 10 | 11.2. Informative References . . . . . . . . . . . . . . . . . 10 | |||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 12 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 12 | |||
1. Introduction | 1. Introduction | |||
skipping to change at page 5, line 4 ¶ | skipping to change at page 5, line 4 ¶ | |||
AS. | AS. | |||
This document defines a solution that overcomes this limitation and | This document defines a solution that overcomes this limitation and | |||
works equally well with a backbone constructed from one or more ASes. | works equally well with a backbone constructed from one or more ASes. | |||
The solution uses the Tunnel Encapsulation attribute | The solution uses the Tunnel Encapsulation attribute | |||
[I-D.ietf-idr-tunnel-encaps] as follows: | [I-D.ietf-idr-tunnel-encaps] as follows: | |||
We define a new tunnel type, "SR Tunnel". When the GWs to a given | We define a new tunnel type, "SR Tunnel". When the GWs to a given | |||
SR domain advertise a route to a prefix X within the SR domain, | SR domain advertise a route to a prefix X within the SR domain, | |||
they will each include a Tunnel Encapsulation attribute with | they will each include a Tunnel Encapsulation attribute with | |||
multiple tunnel instances each of type "SR Tunnel" (value TBD1 | multiple tunnel instances each of type "SR Tunnel" (value 17), one | |||
assigned by IANA), one for each GW, and each containing a Remote | for each GW, and each containing a Remote Endpoint sub-TLV with | |||
Endpoint sub-TLV with that GW's address. | that GW's address. | |||
In other words, each route advertised by a GW identifies all of the | In other words, each route advertised by a GW identifies all of the | |||
GWs to the same SR domain (see Section 3 for a discussion of how GWs | GWs to the same SR domain (see Section 3 for a discussion of how GWs | |||
discover each other). Therefore, even if only one of the routes is | discover each other). Therefore, even if only one of the routes is | |||
distributed to other ASes, it will not matter how many times the next | distributed to other ASes, it will not matter how many times the next | |||
hop changes, as the Tunnel Encapsulation attribute (and its remote | hop changes, as the Tunnel Encapsulation attribute (and its remote | |||
endpoint sub-TLVs) will remain unchanged. | endpoint sub-TLVs) will remain unchanged. | |||
To put this in the context of Figure 1, GW1 and GW2 discover each | To put this in the context of Figure 1, GW1 and GW2 discover each | |||
other as gateways for the egress SR domain. Both GW1 and GW2 | other as gateways for the egress SR domain. Both GW1 and GW2 | |||
skipping to change at page 6, line 24 ¶ | skipping to change at page 6, line 24 ¶ | |||
The auto-discovery route that each GW advertises consists of the | The auto-discovery route that each GW advertises consists of the | |||
following: | following: | |||
o An IPv4 or IPv6 NLRI containing one of the GW's loopback addresses | o An IPv4 or IPv6 NLRI containing one of the GW's loopback addresses | |||
(that is, with an AFI/SAFI pair that is one of 1/1, 2/1, 1/4, or | (that is, with an AFI/SAFI pair that is one of 1/1, 2/1, 1/4, or | |||
2/4). | 2/4). | |||
o A Tunnel Encapsulation attribute containing the GW's encapsulation | o A Tunnel Encapsulation attribute containing the GW's encapsulation | |||
information, which at a minimum consists of an SR Tunnel TLV (type | information, which at a minimum consists of an SR Tunnel TLV (type | |||
TBD2 to be allocated by IANA) with a Remote Endpoint sub-TLV as | TBD1 to be allocated by IANA) with a Remote Endpoint sub-TLV as | |||
specified in [I-D.ietf-idr-tunnel-encaps]. | specified in [I-D.ietf-idr-tunnel-encaps]. | |||
To avoid the side effect of applying the Tunnel Encapsulation | To avoid the side effect of applying the Tunnel Encapsulation | |||
attribute to any packet that is addressed to the GW itself, the GW | attribute to any packet that is addressed to the GW itself, the GW | |||
SHOULD use a different loopback address for the two cases. | SHOULD use a different loopback address for the two cases. | |||
As described in Section 1, each GW will include a Tunnel | As described in Section 1, each GW will include a Tunnel | |||
Encapsulation attribute for each GW that is active for the SR domain | Encapsulation attribute for each GW that is active for the SR domain | |||
(including itself), and will include these in every route advertised | (including itself), and will include these in every route advertised | |||
externally to the SR domain by each GW. As the current set of active | externally to the SR domain by each GW. As the current set of active | |||
skipping to change at page 7, line 47 ¶ | skipping to change at page 7, line 47 ¶ | |||
to send them a packet in that SR domain's native encapsulation, then | to send them a packet in that SR domain's native encapsulation, then | |||
each GW will also include multiple instances of a tunnel TLV for that | each GW will also include multiple instances of a tunnel TLV for that | |||
native encapsulation in externally advertised routes: one for each GW | native encapsulation in externally advertised routes: one for each GW | |||
and each containing a remote endpoint sub-TLV with that GW's address. | and each containing a remote endpoint sub-TLV with that GW's address. | |||
A remote GW may then encapsulate a packet according to the rules | A remote GW may then encapsulate a packet according to the rules | |||
defined via the sub-TLVs included in each of the tunnel TLV | defined via the sub-TLVs included in each of the tunnel TLV | |||
instances. | instances. | |||
7. IANA Considerations | 7. IANA Considerations | |||
7.1. Tunnel Encapsulation Tunnel Type | ||||
IANA maintains a registry called "Border Gateway Protocol (BGP) | IANA maintains a registry called "Border Gateway Protocol (BGP) | |||
Parameters" with a sub-registry called "BGP Tunnel Encapsulation | Parameters" with a sub-registry called "BGP Tunnel Encapsulation | |||
Attribute Tunnel Types." The registration policy for this registry | Attribute Tunnel Types." The registration policy for this registry | |||
is First-Come First-Served [RFC8126]. | is First-Come First-Served [RFC8126]. | |||
IANA is requested to assign a codepoint from this sub-registry for | IANA has assigned the value 17 from this sub-registry for "SR | |||
"SR Tunnel" (TBD1). The next available value may be used and | Tunnel". | |||
reference should be made to this document. | ||||
[[Note: This text is likely to be replaced with a specific code point | 7.2. Tunnel Encapsulation Sub-TLVs | |||
value once the FCFS allocation has been made.]] | ||||
IANA maintains a registry called "Border Gateway Protocol (BGP) | IANA maintains a registry called "Border Gateway Protocol (BGP) | |||
Parameters" with a sub-registry called "BGP Tunnel Encapsulation | Parameters" with a sub-registry called "BGP Tunnel Encapsulation | |||
Attribute Sub-TLVs." The registration policy for this registry is | Attribute Sub-TLVs." The registration policy for this registry is | |||
Standards Action.[RFC8126]. | Standards Action.[RFC8126]. | |||
IANA is requested to assign a codepoint from this sub-registry for | IANA is requested to assign a codepoint from this sub-registry for | |||
"SR Tunnel TLV" (TBD2). The next available value may be used and | "SR Tunnel TLV" (TBD1). The next available value may be used and | |||
reference should be made to this document. | reference should be made to this document. | |||
8. Security Considerations | 8. Security Considerations | |||
From a protocol point of view, the mechanisms described in this | From a protocol point of view, the mechanisms described in this | |||
document can leverage the security mechanisms already defined for | document can leverage the security mechanisms already defined for | |||
BGP. Further discussion of security considerations for BGP may be | BGP. Further discussion of security considerations for BGP may be | |||
found in the BGP specification itself [RFC4271] and in the security | found in the BGP specification itself [RFC4271] and in the security | |||
analysis for BGP [RFC4272]. The original discussion of the use of | analysis for BGP [RFC4272]. The original discussion of the use of | |||
the TCP MD5 signature option to protect BGP sessions is found in | the TCP MD5 signature option to protect BGP sessions is found in | |||
skipping to change at page 10, line 16 ¶ | skipping to change at page 10, line 16 ¶ | |||
11.1. Normative References | 11.1. Normative References | |||
[I-D.ietf-idr-bgpls-segment-routing-epe] | [I-D.ietf-idr-bgpls-segment-routing-epe] | |||
Previdi, S., Talaulikar, K., Filsfils, C., Patel, K., Ray, | Previdi, S., Talaulikar, K., Filsfils, C., Patel, K., Ray, | |||
S., and J. Dong, "BGP-LS extensions for Segment Routing | S., and J. Dong, "BGP-LS extensions for Segment Routing | |||
BGP Egress Peer Engineering", draft-ietf-idr-bgpls- | BGP Egress Peer Engineering", draft-ietf-idr-bgpls- | |||
segment-routing-epe-19 (work in progress), May 2019. | segment-routing-epe-19 (work in progress), May 2019. | |||
[I-D.ietf-idr-tunnel-encaps] | [I-D.ietf-idr-tunnel-encaps] | |||
Patel, K., Velde, G., Ramachandra, S., and E. Rosen, "The | Patel, K., Velde, G., and S. Ramachandra, "The BGP Tunnel | |||
BGP Tunnel Encapsulation Attribute", draft-ietf-idr- | Encapsulation Attribute", draft-ietf-idr-tunnel-encaps-15 | |||
tunnel-encaps-13 (work in progress), July 2019. | (work in progress), December 2019. | |||
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | |||
Requirement Levels", BCP 14, RFC 2119, | Requirement Levels", BCP 14, RFC 2119, | |||
DOI 10.17487/RFC2119, March 1997, | DOI 10.17487/RFC2119, March 1997, | |||
<https://www.rfc-editor.org/info/rfc2119>. | <https://www.rfc-editor.org/info/rfc2119>. | |||
[RFC4271] Rekhter, Y., Ed., Li, T., Ed., and S. Hares, Ed., "A | [RFC4271] Rekhter, Y., Ed., Li, T., Ed., and S. Hares, Ed., "A | |||
Border Gateway Protocol 4 (BGP-4)", RFC 4271, | Border Gateway Protocol 4 (BGP-4)", RFC 4271, | |||
DOI 10.17487/RFC4271, January 2006, | DOI 10.17487/RFC4271, January 2006, | |||
<https://www.rfc-editor.org/info/rfc4271>. | <https://www.rfc-editor.org/info/rfc4271>. | |||
End of changes. 13 change blocks. | ||||
18 lines changed or deleted | 20 lines changed or added | |||
This html diff was produced by rfcdiff 1.47. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |