< draft-xu-idr-neighbor-autodiscovery-03.txt   draft-xu-idr-neighbor-autodiscovery-04.txt >
Network Working Group X. Xu Network Working Group X. Xu
Internet-Draft K. Bi Internet-Draft Alibaba Inc.
Intended status: Standards Track Huawei Intended status: Standards Track K. Bi
Expires: July 6, 2018 J. Tantsura Expires: October 9, 2018 Huawei
Individual J. Tantsura
January 2, 2018 Nuage Networks
N. Triantafillis
Linked-in
K. Talaulikar
Cisco
April 7, 2018
BGP Neighbor Autodiscovery BGP Neighbor Autodiscovery
draft-xu-idr-neighbor-autodiscovery-03 draft-xu-idr-neighbor-autodiscovery-04
Abstract Abstract
BGP has been used as the underlay routing protocol in many hyper- BGP has been used as the underlay routing protocol in many hyper-
scale data centers. This document proposes a BGP neighbor scale data centers. This document proposes a BGP neighbor
autodiscovery mechanism that greatly simplifies BGP deployments. autodiscovery mechanism that greatly simplifies BGP deployments.
This mechanism is very useful for those hyper-scale data centers This mechanism is very useful for those hyper-scale data centers
where BGP is used as the underlay routing protocol. where BGP is used as the underlay routing protocol.
Requirements Language
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 RFC 2119 [RFC2119].
Status of This Memo Status of This Memo
This Internet-Draft is submitted in full conformance with the This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79. provisions of BCP 78 and BCP 79.
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 July 6, 2018. This Internet-Draft will expire on October 9, 2018.
Copyright Notice Copyright Notice
Copyright (c) 2018 IETF Trust and the persons identified as the Copyright (c) 2018 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
described in the Simplified BSD License. described in the Simplified BSD License.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
1.1. Requirements Language . . . . . . . . . . . . . . . . . . 3
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3
3. BGP Hello Message Format . . . . . . . . . . . . . . . . . . 3 3. BGP Hello Message Format . . . . . . . . . . . . . . . . . . 3
4. Hello Message Procedure . . . . . . . . . . . . . . . . . . . 5 4. Hello Message Procedure . . . . . . . . . . . . . . . . . . . 5
5. HELLO Message Error Handling . . . . . . . . . . . . . . . . 6 5. HELLO Message Error Handling . . . . . . . . . . . . . . . . 6
6. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 6 6. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 6
7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 6 7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 7
7.1. BGP Hello Message . . . . . . . . . . . . . . . . . . . . 6 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 7
7.2. TLVs of BGP Hello Message . . . . . . . . . . . . . . . . 7 8.1. BGP Hello Message . . . . . . . . . . . . . . . . . . . . 7
8. Security Considerations . . . . . . . . . . . . . . . . . . . 7 8.2. TLVs of BGP Hello Message . . . . . . . . . . . . . . . . 7
9. References . . . . . . . . . . . . . . . . . . . . . . . . . 7 9. Security Considerations . . . . . . . . . . . . . . . . . . . 7
9.1. Normative References . . . . . . . . . . . . . . . . . . 8 10. References . . . . . . . . . . . . . . . . . . . . . . . . . 8
9.2. Informative References . . . . . . . . . . . . . . . . . 8 10.1. Normative References . . . . . . . . . . . . . . . . . . 8
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 8 10.2. Informative References . . . . . . . . . . . . . . . . . 8
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 9
1. Introduction 1. Introduction
BGP has been used as the underlay routing protocol instead of IGP in BGP has been used as the underlay routing protocol instead of IGP in
many hyper-scale data centers [RFC7938]. Furthermore, there is an many hyper-scale data centers [RFC7938]. Furthermore, there is an
ongoing effort to leverage BGP link-state distribution mechanism to ongoing effort to leverage BGP link-state distribution mechanism to
achieve BGP-SPF [I-D.keyupate-idr-bgp-spf]. However, BGP is not good achieve BGP-SPF [I-D.keyupate-lsvr-bgp-spf]. However, BGP is not
as an IGP from the perspective of deployment automation and good as an IGP from the perspective of deployment automation and
simplicity. For instance, the IP address and the Autonomous System simplicity. For instance, the IP address and the Autonomous System
Number (ASN) of each and every BGP neighbor have to be manually Number (ASN) of each and every BGP neighbor have to be manually
configured on BGP routers although these BGP peers are directly configured on BGP routers although these BGP peers are directly
connected. In addition, for those directly connected BGP routers, connected. In addition, for those directly connected BGP routers,
it's usually not ideal to establish BGP sessions over their directly it's usually not ideal to establish BGP sessions over their directly
connected interface addresses due to the following reasons: 1) it's connected interface addresses due to the following reasons: 1) it's
not convient to do trouble-shooting; 2) the BGP update volume is not convient to do trouble-shooting; 2) the BGP update volume is
unnecessarily increased when there are multiple physical links unnecessarily increased when there are multiple physical links
between them and those links couldn't be configured as a Link between them and those links couldn't be configured as a Link
Aggregtion Group (LAG) due to whatever reason (e.g., diffferent link Aggregtion Group (LAG) due to whatever reason (e.g., diffferent link
skipping to change at page 3, line 23 skipping to change at page 3, line 33
the discovered loopback address of the BGP neighbor. In addition, to the discovered loopback address of the BGP neighbor. In addition, to
elimnate the need of configuring static routes or enabling IGP for elimnate the need of configuring static routes or enabling IGP for
the loopback addresses, a certain type of routes towards the BGP the loopback addresses, a certain type of routes towards the BGP
neighbor's loopback addresses are dynatically instantiated once the neighbor's loopback addresses are dynatically instantiated once the
BGP neighbor has been discovered. The administritive distance of BGP neighbor has been discovered. The administritive distance of
such type of routes MUST be smaller than their equivalents that are such type of routes MUST be smaller than their equivalents that are
learnt by the regular BGP update messages . Otherwise, circular learnt by the regular BGP update messages . Otherwise, circular
dependency would occur once these loopback addresses are advertised dependency would occur once these loopback addresses are advertised
via the regular BGP updates. via the regular BGP updates.
1.1. Requirements Language
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 RFC 2119 [RFC2119].
2. Terminology 2. Terminology
This memo makes use of the terms defined in [RFC4271]. This memo makes use of the terms defined in [RFC4271].
3. BGP Hello Message Format 3. BGP Hello Message Format
To automatically discover directly connected BGP neighbors, a BGP To automatically discover directly connected BGP neighbors, a BGP
router periodically sends BGP HELLO messages out those interfaces on router periodically sends BGP HELLO messages out those interfaces on
which BGP neighbor autodiscovery are enabled. The BGP HELLO message which BGP neighbor autodiscovery are enabled. The BGP HELLO message
is a new BGP message which has the same fixed-size BGP header as the is a new BGP message which has the same fixed-size BGP header as the
skipping to change at page 5, line 42 skipping to change at page 5, line 42
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 4: Router ID TLV Figure 4: Router ID TLV
Type: TBD3 Type: TBD3
Length:Specifies the length of the Value field in octets and it's Length:Specifies the length of the Value field in octets and it's
set to 4 for the IPv4-address-formatted BGP Router ID. set to 4 for the IPv4-address-formatted BGP Router ID.
Router ID: This variable-length field indicates the BGP router ID Router ID: This variable-length field indicates the BGP router ID
which could be used for performing the BGP-SPF algorithm as which could be used for performing the BGP-SPF algorithm as
described in [I-D.keyupate-idr-bgp-spf]. described in [I-D.keyupate-lsvr-bgp-spf].
4. Hello Message Procedure 4. Hello Message Procedure
A BGP peer receiving Hellos from another peer maintains a Hello A BGP peer receiving Hellos from another peer maintains a Hello
adjacency corresponding to the Hellos. The peer maintains a hold adjacency corresponding to the Hellos. The peer maintains a hold
timer with the Hello adjacency, which it restarts whenever it timer with the Hello adjacency, which it restarts whenever it
receives a Hello that matches the Hello adjacency. If the hold timer receives a Hello that matches the Hello adjacency. If the hold timer
for a Hello adjacency expires the peer discards the Hello adjacency. for a Hello adjacency expires the peer discards the Hello adjacency.
We recommend that the interval between Hello transmissions be at most We recommend that the interval between Hello transmissions be at most
skipping to change at page 6, line 35 skipping to change at page 6, line 35
BGP uses the regular receipt of BGP Hellos to indicate a peer's BGP uses the regular receipt of BGP Hellos to indicate a peer's
intent to keep BGP session identified by the Hello. A BGP peer intent to keep BGP session identified by the Hello. A BGP peer
maintains a hold timer with each Hello adjacency that it restarts maintains a hold timer with each Hello adjacency that it restarts
when it receives a Hello that matches the adjacency. If the timer when it receives a Hello that matches the adjacency. If the timer
expires without receipt of a matching Hello from the peer, BGP expires without receipt of a matching Hello from the peer, BGP
concludes that the peer no longer wishes to keep BGP session for that concludes that the peer no longer wishes to keep BGP session for that
link or that the peer has failed. The BGP peer then deletes the link or that the peer has failed. The BGP peer then deletes the
Hello adjacency. When the last Hello adjacency for an BGP session is Hello adjacency. When the last Hello adjacency for an BGP session is
deleted, the BGP peer terminates the BGP session by sending a deleted, the BGP peer terminates the BGP session by sending a
Notification message and closing the transport connection. Notification message and closing the transport connection.
Meanwhile, the routes towards the BGP neighbor's loopback addresses
that had been dynamically created due to the BGP Hello adjacency
SHOULD be deleted accordingly.
5. HELLO Message Error Handling 5. HELLO Message Error Handling
TBD TBD
6. Acknowledgements 6. Contributors
The authors would like to thank Enke Chen and Nikos Triantafillis for Satya Mohanty
their valuable comments and suggestions on this document. Cisco
Email: satyamoh@cisco.com
7. IANA Considerations 7. Acknowledgements
7.1. BGP Hello Message The authors would like to thank Enke Chen for his valuable comments
and suggestions on this document.
8. IANA Considerations
8.1. BGP Hello Message
This document requests IANA to allocate a new UDP port for BGP Hello This document requests IANA to allocate a new UDP port for BGP Hello
message. message.
Value TLV Name Reference Value TLV Name Reference
----- ------------------------------------ ------------- ----- ------------------------------------ -------------
Service Name: BGP-HELLO Service Name: BGP-HELLO
Transport Protocol(s): UDP Transport Protocol(s): UDP
Assignee: IESG <iesg@ietf.org> Assignee: IESG <iesg@ietf.org>
Contact: IETF Chair <chair@ietf.org>. Contact: IETF Chair <chair@ietf.org>.
Description: BGP Hello Message. Description: BGP Hello Message.
Reference: This document -- draft-xu-idr-neighbor-autodiscovery. Reference: This document -- draft-xu-idr-neighbor-autodiscovery.
Port Number: TBD1 (179 is the suggested value) -- To be assigned by IANA. Port Number: TBD1 (179 is the suggested value) -- To be assigned by IANA.
7.2. TLVs of BGP Hello Message 8.2. TLVs of BGP Hello Message
This document requests IANA to create a new registry "TLVs of BGP This document requests IANA to create a new registry "TLVs of BGP
Hello Message" with the following registration procedure: Hello Message" with the following registration procedure:
Registry Name: TLVs of BGP Hello Message. Registry Name: TLVs of BGP Hello Message.
Value TLV Name Reference Value TLV Name Reference
------- ------------------------------------------ ------------- ------- ------------------------------------------ -------------
0 Reserved This document 0 Reserved This document
1 Accepted ASN List This document 1 Accepted ASN List This document
2 Connection Address This document 2 Connection Address This document
3 Router ID This document 3 Router ID This document
4-65500 Unassigned 4-65500 Unassigned
65501-65534 Experimental This document 65501-65534 Experimental This document
65535 Reserved This document 65535 Reserved This document
8. Security Considerations 9. Security Considerations
For security purposes, BGP speakers usually only accept TCP For security purposes, BGP speakers usually only accept TCP
connection attempts to port 179 from the specified BGP peers or those connection attempts to port 179 from the specified BGP peers or those
within the configured address range. With the BGP auto-discovery within the configured address range. With the BGP auto-discovery
mechanism, it's configurable to enable or disable sending/receiving mechanism, it's configurable to enable or disable sending/receiving
BGP hello messages on the per-interface basis and BGP hello messages BGP hello messages on the per-interface basis and BGP hello messages
are only exchanged between physically connected peers that are are only exchanged between physically connected peers that are
trustworthy. Therefore, the BGP auto-discovery mechanism doesn't trustworthy. Therefore, the BGP auto-discovery mechanism doesn't
introduce additional security risks associated with BGP. introduce additional security risks associated with BGP.
In addition, for the BGP sessions with the automatically discovered In addition, for the BGP sessions with the automatically discovered
peers via the BGP hello messages, the TTL of the TCP/BGP messages peers via the BGP hello messages, the TTL of the TCP/BGP messages
(dest port=179) MUST be set to 255. Any received TCP/BGP message (dest port=179) MUST be set to 255. Any received TCP/BGP message
with TTL being less than 254 MUST be dropped according to [RFC5082]. with TTL being less than 254 MUST be dropped according to [RFC5082].
9. References 10. References
9.1. Normative References
10.1. Normative References
[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>.
9.2. Informative References
[I-D.keyupate-idr-bgp-spf]
Patel, K., Lindem, A., Zandi, S., and G. Velde, "Shortest
Path Routing Extensions for BGP Protocol", draft-keyupate-
idr-bgp-spf-03 (work in progress), June 2017.
[RFC5036] Andersson, L., Ed., Minei, I., Ed., and B. Thomas, Ed., [RFC5036] Andersson, L., Ed., Minei, I., Ed., and B. Thomas, Ed.,
"LDP Specification", RFC 5036, DOI 10.17487/RFC5036, "LDP Specification", RFC 5036, DOI 10.17487/RFC5036,
October 2007, <https://www.rfc-editor.org/info/rfc5036>. October 2007, <https://www.rfc-editor.org/info/rfc5036>.
[RFC5082] Gill, V., Heasley, J., Meyer, D., Savola, P., Ed., and C. [RFC5082] Gill, V., Heasley, J., Meyer, D., Savola, P., Ed., and C.
Pignataro, "The Generalized TTL Security Mechanism Pignataro, "The Generalized TTL Security Mechanism
(GTSM)", RFC 5082, DOI 10.17487/RFC5082, October 2007, (GTSM)", RFC 5082, DOI 10.17487/RFC5082, October 2007,
<https://www.rfc-editor.org/info/rfc5082>. <https://www.rfc-editor.org/info/rfc5082>.
[RFC8279] Wijnands, IJ., Ed., Rosen, E., Ed., Dolganow, A.,
Przygienda, T., and S. Aldrin, "Multicast Using Bit Index
Explicit Replication (BIER)", RFC 8279,
DOI 10.17487/RFC8279, November 2017,
<https://www.rfc-editor.org/info/rfc8279>.
10.2. Informative References
[I-D.keyupate-lsvr-bgp-spf]
Patel, K., Lindem, A., Zandi, S., and W. Henderickx,
"Shortest Path Routing Extensions for BGP Protocol",
draft-keyupate-lsvr-bgp-spf-00 (work in progress), March
2018.
[RFC7938] Lapukhov, P., Premji, A., and J. Mitchell, Ed., "Use of [RFC7938] Lapukhov, P., Premji, A., and J. Mitchell, Ed., "Use of
BGP for Routing in Large-Scale Data Centers", RFC 7938, BGP for Routing in Large-Scale Data Centers", RFC 7938,
DOI 10.17487/RFC7938, August 2016, DOI 10.17487/RFC7938, August 2016,
<https://www.rfc-editor.org/info/rfc7938>. <https://www.rfc-editor.org/info/rfc7938>.
Authors' Addresses Authors' Addresses
Xiaohu Xu Xiaohu Xu
Huawei Alibaba Inc.
Email: xuxh.mail@gmail.com Email: xiaohu.xxh@alibaba-inc.com
Kunyang Bi Kunyang Bi
Huawei Huawei
Email: bikunyang@huawei.com Email: bikunyang@huawei.com
Jeff Tantsura Jeff Tantsura
Individual Nuage Networks
Email: jefftant.ietf@gmail.com Email: jefftant.ietf@gmail.com
Nikos Triantafillis
Linked-in
Fax: Nikos Triantafillis<nikos@linkedin.com>
Ketan Talaulikar
Cisco
Email: ketant@cisco.com
 End of changes. 24 change blocks. 
45 lines changed or deleted 68 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/