3 ms·
BGP is far more flexible and less expensive, which is why Microsoft, Google, and Amazon have used it. Further, the data structures used by BGP (NLRIs) are easi
by ra1n85 11y ago
BGP is far more flexible and less expensive, which is why Microsoft, Google, and Amazon have used it. Further, the data structures used by BGP (NLRIs) are easily extensible for complex networks involving many dimensions for path selection.
Not sure about the value add of using a protocol that keeps state on the whole network, specifically when that is the task of a centralized controller. Also, OSPF has many quirks that prevent it from scaling well, and offers far less tuning when it comes to path selection.
- detaro 11y agoI agree with your points, except the claim that BGP is less expensive. If you look outside of fat datacenter ToR switches, there are quite a few models where BGP either requires a more expensive firmware version or is not available at all.
- ra1n85 11y agoExpensive in this context refers to compute capacity needed to determine a path, not monetary cost.
- vanbee 11y ago@ra1n85: the capacity needed to determine a path is negligible. The routers actually don't even need to recompute their shortest-path when presented with a lie. This is described in the podcast.
- vanbee 11y ago@ra1n85: Fibbing can encode any (loop-free) path in the network, whatever it might be. It also enables you to do unequal load-balance on any given set of paths. BGP simply does not enable you to do this. Regarding scalability, the OSPF code is extremely optimized these days making Fibbing overhead negligible. We have numbers in the papers showing that routers do not even blink even when you inject 100,000 fake information into the Link-State protocol. Quite obviously, most people only require a few lies to implement their requirements, not that many. Another point, I'd like to mention is that by leveraging the OSPF flooding and distributed computation, Fibbing can install thousands of forwarding entries (network-wide) in less than a second. If you use BGP as a way to provision static route from a central controller for instance, you want reach these kind of performance. The podcast also lists some other differences. Disclaimer: I'm one of the author of Fibbing.