Internet DRAFT - draft-ymbk-lsvr-discovery-req
draft-ymbk-lsvr-discovery-req
Network Working Group R. Bush
Internet-Draft Arrcus & IIJ
Intended status: Informational K. Patel
Expires: April 23, 2020 Arrcus
October 21, 2019
BGP Topology Discovery Requirements
draft-ymbk-lsvr-discovery-req-03
Abstract
For wide scale routing protocols to build their topology and
reachability databases they need to discover the encapsulation data
on a link, link IP layer 3 attributes, attributes for IP layer 3 and
above protocols on that link, and link liveness. We refer to this as
neighbor discovery. BGP-LS and its enhancements provide an API to
present much of these data to BGP protocols, but do not directly
collect these data. This document explores the needs and criteria
for the data needed.
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 April 23, 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
Bush & Patel Expires April 23, 2020 [Page 1]
Internet-Draft BGP Topology Discovery Requirements October 2019
to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Architectural Considerations . . . . . . . . . . . . . . . . 2
3. Requirements . . . . . . . . . . . . . . . . . . . . . . . . 4
4. Security Considerations . . . . . . . . . . . . . . . . . . . 5
5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 5
6. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 6
7. References . . . . . . . . . . . . . . . . . . . . . . . . . 6
7.1. Normative References . . . . . . . . . . . . . . . . . . 6
7.2. Informative References . . . . . . . . . . . . . . . . . 6
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 6
1. Introduction
In a massive scale datacenter or similar environment BGP([RFC4271])
and BGP-like protocols, e.g. BGP-SPF (see [I-D.ietf-lsvr-bgp-spf]),
provide massive scale-out without centralization using a tried and
tested scalable distributed control plane transport, offering a
scalable routing solution. But BGP4, BGP-SPF, and similar protocols
need layer 3 topology discovery; meaning IP encapsulations on a link,
layer 3 IP addressing data on a link, attributes for IP layer 3 and
above protocols on that link, and assured link liveness from the
network to build and maintain the routing topology.
BGP-LS [RFC7752] and its extensions provide an API which BGP4 and
BGP-SPF can use to get the and distribute topology data. But BGP-LS
itself does not gather the data, it merely presents it. So the IP
topology data must be gathered.
What topology data do BGP-like protocols actually need? What level
of freshness is needed? What are the requirements for scale,
extensibility, security, etc?
2. Architectural Considerations
Massive Data Centers (MDCs) have on the order of 10,000 racks, often
with two Top Of Rack (TOR) devices per rack, on the order of 40
hardware servers per rack, each with order 100 virtual services or
machines, each with their own layer 3 IP address. Given service
mobility, any initial IP address aggregation fragments over time. To
provide this level of scaling reliably, stably, and security imposes
architectural constraints on any discovery protocol.
Bush & Patel Expires April 23, 2020 [Page 2]
Internet-Draft BGP Topology Discovery Requirements October 2019
o Deployable - If it is not easily deployable, it is a pointless
exercise. To be deployable, it must be easy to provision (e.g.
zero touch provisioning, Open Config, YANG, et alia), easily
reconfigured, easily measured, and easily monitored.
o Simple - If it isn't simple, it will not scale. Simplicity
requires restraint in design. 'Union Protocols' which are the sum
of everyone's desires are complex disasters waiting to happen.
Often they do not wait. Prefer 'Intersection Protocols' which
include only those things which everyone absolutely needs.
o Securable - Security properties should be analyzed. Again,
simplicity is key; complex protocols increase in complexity over
time, and security vulnerabilities increase significantly with
complexity. As [RFC5218] 2.2.3 says "The more successful a
protocol becomes, the more attractive a target it will be."
o Extensible - As [RFC5218] Section 2.2.1 said, successful protocols
are extensible beyond the original expectation. MDC and similar
needs are expanding and we are still learning about the space.
Simplicity and extensibility should go a long way to adaptability;
complex protocols are hard to extend, especially when they are
poorly understood.
o Implementable - It must be reasonably easy to implement and
deploy. Some implications are:
* Packet formats should be easy to generate and easily parsable.
Type/length/Value (TLV) formats are preferred.
* The protocols should be free to use and deploy; i.e. not be
constrained by Intellectual Property Right (IPR) claims.
* Again, simpler protocols are simpler to implement, deploy,
measure, monitor, etc.
* Performance Problems arise if the protocol was not designed to
scale.
o Low Impact - The MDCs chose BGP for, among other reasons, it is
quiet and only transmits changes, not repeated flooding of the
same information. This allows great scale. The discovery
protocol should be similar in this regard, not flood or chatter
the same information repeatedly. It should support fast and quiet
session restoration in case of link failure and restoration when
there has been no actual change in end point attributes.
Bush & Patel Expires April 23, 2020 [Page 3]
Internet-Draft BGP Topology Discovery Requirements October 2019
o Compatible - It must be compatible with the various routing
technologies used in MDCs. The new discovery protocol will
discover the IP layer 3 encapsulations, learn layer 3 addressing
data from the network, confirm link liveness, in order to allow
upper layer routing protocol(s), e..g. BGP4, BGP-SPF, and BGP-LS,
to build maintain and distribute the topology.
3. Requirements
The target for the discovery protocol(s) is a massive datacenter
scale deployment using BGP or similar routing, e.g. BGP4 or
[I-D.ietf-lsvr-bgp-spf]; but should be generally usable by other
routing protocols, e.g. EVPN, and in other similar environments.
The IETF is very good at finding corner cases which expand needs and
complicate protocols. This effort should resist this tendency.
It would be easiest for the BGP-like protocols to consume the data if
they are presented via the BGP-LS [RFC7752] API as used in
[I-D.ietf-lsvr-bgp-spf] Section 4.
BGP-like protocols will need at least the following information about
the topology:
Node Identity: Each node in the topology must have an identity/
identifier which must be unique in the topology.
A node must have one or more links to other nodes or it is, ab
definito, not in the topology.
A node has IP layer 3 attributes such as encapsulations and IP
addresses.
Link Identity: A link is between two nodes. Each end of a link is a
node/device interface.
Each link in the topology must be uniquely identified and the
identities of the nodes on the link must be identified. This
includes LAGged links.
As MAC addresses are not unique in actual deployment, they may not
be assumed to uniquely identify a link. Multiple VLANs between a
port pair on two devices are a simple example of this. Link
Aggregation Groups (LAGs), Multi-Chassis LAGs etc. must be
accommodated.
A link might be on a tunnel interface; though the tunnel type may
be restricted..
Bush & Patel Expires April 23, 2020 [Page 4]
Internet-Draft BGP Topology Discovery Requirements October 2019
Link Liveness: Because adjacencies and topology changes must be
quickly detected, The stability of each link should be able to be
monitored and reported. As this can be noisy, it must be able to
be tuned by the operator, and expensive operations should be
minimized.
Encapsulations: The encapsulation(s) (IPv4, IPv6, ...) on each link
must be known. One or more of the common AFI/SAFIs must be
supported on each link, IPv4, IPv6, MPLS, etc.
It is assumed that the set of encapsulations is the same across
the entire topology.
Addresses: The available addresses on the node interfaces for each
encapsulation must be known. More than one address for an
encapsulation type must be supported.
As BGP-like protocols will be peering between the nodes, there may
be a preferred encapsulation and address on an link, or a loopback
interface may be used.
Upper Layer Protocol Parameters To facilitate peering of upper layer
protocols across a link, e.g. BGP, the protocol should support
signaling of the parameters for these protocols, e.g. peer AS
number, peering address(es), etc.
Mobility: Fast detection of [micro-]service mobility must be
supported.
EVPNs: EVPN end-point discovery must be supported.
4. Security Considerations
While this document has no security considerations per se, it does
make a plea for securability in protocol design.
Mis-wires, malicious devices being plugged into ports, and monkey in
the middle attacks should be considered.
There should at least be assurance that the end-point a device opened
a session with six months ago is the same one sending PDUs today.
5. IANA Considerations
This document has no IANA considerations.
Bush & Patel Expires April 23, 2020 [Page 5]
Internet-Draft BGP Topology Discovery Requirements October 2019
6. Acknowledgments
The authors thank Victor Kuarsingh and Gunter Van De Velde for
reviews.
7. References
7.1. Normative References
[I-D.ietf-lsvr-bgp-spf]
Patel, K., Lindem, A., Zandi, S., and W. Henderickx,
"Shortest Path Routing Extensions for BGP Protocol",
draft-ietf-lsvr-bgp-spf-06 (work in progress), September
2019.
[RFC4271] Rekhter, Y., Ed., Li, T., Ed., and S. Hares, Ed., "A
Border Gateway Protocol 4 (BGP-4)", RFC 4271,
DOI 10.17487/RFC4271, January 2006,
<http://www.rfc-editor.org/info/rfc4271>.
[RFC7752] Gredler, H., Ed., Medved, J., Previdi, S., Farrel, A., and
S. Ray, "North-Bound Distribution of Link-State and
Traffic Engineering (TE) Information Using BGP", RFC 7752,
DOI 10.17487/RFC7752, March 2016,
<http://www.rfc-editor.org/info/rfc7752>.
7.2. Informative References
[RFC5218] Thaler, D. and B. Aboba, "What Makes for a Successful
Protocol?", RFC 5218, DOI 10.17487/RFC5218, July 2008,
<http://www.rfc-editor.org/info/rfc5218>.
Authors' Addresses
Randy Bush
Arrcus & IIJ
5147 Crystal Springs
Bainbridge Island, WA 98110
United States of America
Email: randy@psg.com
Bush & Patel Expires April 23, 2020 [Page 6]
Internet-Draft BGP Topology Discovery Requirements October 2019
Keyur Patel
Arrcus
2077 Gateway Place, Suite 400
San Jose, CA 95119
United States of America
Email: keyur@arrcus.com
Bush & Patel Expires April 23, 2020 [Page 7]