BGP - Labeled Unicast
Tags #bgp #labeled_unicast #bgp-lu
In a typical IP network, the destination IPv4 or IPv6 address is used to make routing decisions by each individual router along the path. In MPLS, however, it is the first router that makes a decision on the destination address and assigns a label to the packet. This label is then used by all subsequent routers to quickly and efficiently route the packet to its destination without having to independently determine the best route.
Now typically in an MPLS topology, these labels are exchanged using the Label Distribution Protocol or LDP.
BGP-LU can be viewed as an alternative to the use of LDP for the exchange of labels. BGP-LU uses BGP UPDATES to exchange these MPLS labels between routers, so it can also be used in a large-scale network where BGP is typically used, like ISP networks that compose sections of the internet. This allows for efficient, scalable routing over large distances.
Within the BGP UPDATE header, there is a field called Subsequent Address Family Identifier (SAFI). This identifier indicates what kind of information is carried by the update. A SAFI of 4 indicates that an MPLS label is included in the update using BGP-LU.
BGP-LU is often used in Service Provider networks for interconnecting different parts of the network or for providing MPLS-based services to customers. It also provides a way for network service providers to create VPNs and other services on top of their existing IP networks.
When would you use BGP-LU instead of LDP? Primarily when your MPLS topology spans multiple ASes. Typically, using BGP-LU will be able to exchange labels across AS borders much more easily than LDP would.
It’s important to remember that BGP-LU is not a separate protocol but a mechanism or feature that combines the capabilities of BGP and MPLS. The actual protocols used for communication remain BGP for routing information and MPLS for label information.