One of the questions I find myself answering a lot lately is what Packet Design’s BGP-LS story is. BGP-LS is an extension to Border Gateway Protocol (BGP) for distributing the network’s link-state (LS) topology model to external entities, such as the SDN controller. It has received a lot of attention because many SDN apps need this model.
The network’s link-state topology model consists of nodes (typically, but not limited to, routers) and links that connect these routers together. For each link, a set of attributes is also contained. These may include interface addresses, various metrics, and each link’s total and available bandwidth. This topology model is distributed among routers using one of the two prominent Interior Gateway Protocols (IGPs): ISIS (Intermediate System to Intermediate System) and OSPF (Open Shortest Path First) protocols.
The detailed link-state models of these two protocols are not identical. As a result, BGP-LS defines its own more abstract topology model and defines how to map these IGP models to its own model. As the network topology is discovered by the IGPs, the changes are reflected in the BGP-LS model as well and are also distributed using BGP-LS messages to any interested party, such as SDN controllers and apps. Note that the network devices themselves are not interested in learning the network topology this way, as they already participate in IGP and learn it firsthand.
Similarly, the Packet Design Route Explorer product learns the network topology firsthand by participating in IGPs. This has several advantages over learning it from BGP-LS:
What is BGP-LS good for then? Well, if a large number of SDN apps need the network topology model, it is unrealistic for a service provider to have all of them participate in IGPs. First of all, allowing apps to participate in IGPs requires much vetting. BGP-LS is safer because (1) it does not impact the network’s routing, as it is not used for that purpose; and (2) BGP has an extensive policy mechanism that can control and safeguard this information. BGP-LS is also more convenient for recording remote areas (this typically requires running IGP adjacencies over GRE tunnels or VLANs).
I would argue that even in the SDN apps use case, BGP-LS is not best suited for the job. Using YANG topology data models, a router can provide models for topologies it is part of to SDN controllers, which can then provide these models to applications using their northbound APIs. Or SDN controllers can participate in IGPs the way Route Explorer does and discover the network topology first-hand. Indeed, the ONOS controller has this capability. Packet Design’s SDN Management and Orchestration Platform also provides YANG topology models to applications. I will talk about these, as well as segment routing, in my next blog post.