We started looking at the requirements for Interdomain routing - it has to provide connectivity between Autonomous Routing Domains which may be optimising paths for irreconcilable metrics/goals, so it can, at best, find paths that fit policies - it also respects business relationships - again, injected through policy/configuration somewhere (vendor/product specific tools!). Mistakes can be made. These are mapped into the various hacks to allow BGP to do some traffic engineering, like backup paths, load balancing and so on.
BGP is a path vector protocol, which has a plus point of hiding information, by default. And also has the minus point of hiding information by default:-) Being path vector (rather than just distance vector) BGP is at least loop free. However, it is still a diffusing computation, rather than a fixed epoch cycle, so news can travel slowly (or not at all).
Remember, what you announced is what other people look at to see how to get to things, in, or via, your network/AS
It is a classic political-technical space, where simple algorithmic solutions present themselves, but are dismissed because they don't include the competitive/incentive sides.
There have also been proposed alternative approaches to information hiding (advertise everything, but encrypt it and only give keys to people allowed to use this particular AS on a path) - that wouldn't scale.
Useful further reading/notes from this MIT BGP book.
BGP has been around 20 years, and when it was introduced, was probably the world's first planetary scale programmable system. This is not necessarily a good thing, when the language is obscure, and the runtime is compromised.
No comments:
Post a Comment