Trade-offs in BGP Peer Discovery
Arrcus, Inc. & Internet Initiative Japan
5147 Crystal Springs
Bainbridge Island
Washington
98110
US
randy@psg.com
This draft is an exploration of the alternatives and trade-offs in
BGP peer discovery at various layers in the stack. It is based on
discussions in the IDR WG BGP Discovery Design Team. The current
target environment is the datacenter; while keeping an eye not to
preclude WAN deployment. This document is not intended to become
an RFC.
This draft is an exploration of the alternatives and trade-offs in
BGP peer discovery at various layers in the stack. It is based on
discussions in the IDR WG BGP Discovery Design Team. The current
target environment is the datacenter; while keeping an eye not to
preclude WAN deployment. This document is not intended to become
an RFC.
Previous design team discussions converged on a number of aspects
of the problem.
The assumedenvironment has BGP used as the underlay routing
protocol in data center.
Some requirements have been agreed by the design team as
follows:
Support IPv4 and IPv6 address families, but do not assume
both are available.
Support discovery of the peering addresses for the BGP
session endpoints.
Support using either a device's external interface or one of
its loopback addresses for the BGP session endpoint.
Support discoverery of the peers' ASs.
Agree on any BGP session authentication and parameters.
Enable Layer 3 link liveness detection, such as BFD.
The goal is to provide the minimal set of configuration
parameters needed by BGP OPEN to successfully start a BGP
peering. The goal is specifically not to replace or conflict
with data exchanged during BGP OPEN. Multiple sources of
truth are a recipe for complexity and hence painful errors.
Simplicity is key. Features not absolutely needed will not be
included in the design.
BGP OPEN will do the heavy lifting.
BGP discovery should not do anything that could be done by BGP
OPEN. Two sources of the same data are a recipe for errors.
BGP peering will be selective; every BGP speaker may not want to
peer with every other speaker.
Before BGP OPEN, there is discovery and there is choosing peers.
After discovery, it would be nice if another exchange was not
needed before BGP OPEN.
In discovery, an aspiring BGP speaker needs to discover:
The set of possible peers,
To start, discovery does not know the potential peers' layer
three IP addresses.
Each one's attributes, a deployment defined set, e.g.: leaf,
spine, ice cream flavor, ... These attributes are arbitrary
and operator dependednt. No assumptions should be made, code
points assigned,, etc.
Each one's layer three peering address(es), and
Other attributes required for BGP OPEN to succeed, e.g.
authentication data.
Operator configuration should be able to decide at lest the
following:
Select or otherwise filter which peers to actually try to BGP
OPEN,
What parameters to use, e.g.:
IP addressing: IPv4, IPv6, Loopback, or Direct
Any special forwarding or routing needed for reaching the
prospective peer, e.g., loopback,
AS numbering, and
BGP Authentication Options.
What are the criteria for success and failure of the design
decisions, and how do we measure them?
BGP Discovery at Layer-2 would entail finding potential peers on a
LAN or on Point-to-Point links, discovering their Layer-3
attributes such as IP addresses, etc.
There are two available candidates for peer discovery at Layer-2,
Link Layer Discovery Protocol, LLDP, and Layer 3 Discovery
Protocol, L3DL .
LLDP is a widely deployed protocol with implementations for most
devices. Unfortunately it does not currently reveal Layer-3 IP
addresses. There is an early LLDPv2 development to extend it in
IEEE.
describes how
to use the LLDP IETF Organizationally Specific TLV to augment
the LLDP TLV set to transport BGP Config Sub-TLVs signaling AFI,
IP address (IPv4 or IPv6), Local ASs, Local BGP Identifier (aka,
BGP Router ID), Session Group-ID, BGP [Authentication] Session
Capabilities, and Local Address (Next Hop). Which iof these are
really necessary could be discussed.
L3DL is an ongoing
development in the IETF LSVR Working Group with the goals of
discovering IP Layer-3 attributes of links, such as neighbor IP
addressing, logical link IP encapsulation abilities, and link
liveness which may then be disseminated using BGP-SPF and
similar protocols.
This is similar but not quite the sane as the needs of this IDR
Design Team. E.g., the result is likely more complex than is
needed. A week's work could customize the design for the IDR
Design Team's needs. But ...
Unlike LLDP, L3DL has only one implementation and is not widely
deployed.
Discovery at Layer-3 can assume IP addressability, though the IP
addresses of potential peers are not known a priori and need to be
discovered before further negotiation.
The principal problem would appear to be discovery at Layer-3,
because one neither knows whether to use IPv4 or IPv6. This is
exacerbated by the possibility of a potential peer not being on
the local subnet, and hence broadcast and simiar techniques may
not be applicable.
If one can assume point-to-point links , then discovery might try
IPv6 link-local or even IPv4 link-local. Or maybe a link
broadcast protocol.
For switched or bridged multi-point which is at least on the same
subnet, VLAN, etc., broadcasts might be a viable approach.
There will be difficulty if one or both peers wish to use a
loopback for peering.
Peer discovery at Layer-7 requires application layer rendezcous
mechanisms analogous to those used by LISP, or the Bitcoin Protocol.
If the infrastructure is at all complex, e.g. multi-segment or
worse, then it will need prior routing/forwarding knowledge in
order to reach the rendezvous. In a BGP centric deployment this
could pose a chicken and egg problem.
Rendezvous approaches may appeal to deployments which favor a
central control framework.
On the other hand, those who favor distributed protocols will have
the classic worries about fragility, redundancy, reliability, etc.
None yet, but there will be many.
The IDR BGP Discovery Design Team.
The authors wish to thank .