I am almost done with the Internet Routing Architectures book, and its a great book!! You really get to understand why BGP is the way it is.
Where IGP’s as we know them concentrate on fast convergence, BGP is all about 2 things: stability and policies.
The policy part, comes from the fact that you want to have a protocol that will allow multiple ISP’s and other large enterprises to dictate dictate how traffic should flow and tweak it to just the exact pattern they want it. This can be done in a lot of ways using BGP’s features. AS path manipulation, Community strings, Local preference, MED (Multi-Exit-Discriminator), aggregation, suppression. The list goes on. There are so many knobs you can turn to make it work the way you want it to. Having multiple attributes to perform path selection really makes a difference compared to regular Distance Vector or Link-state protocols, which basically have their “cost”, be it EIGRP’s metric of bandwidth and delay pr. default, or OSPF’s link-cost as an inverse of 100mbit, its all pretty static and hard to map to contractual policies. BGP does this really well.
The stability part is from a technical standpoint really interesting. Where we with IGP’s want fast convergence with routes being exchanged at light-speed, with BGP we really dont want things to change more than they really need to. The internet routing table (BGP table) is huge (ive heard estimates in the ballpark of 250k+ routes?), any unstable route will have a ripple effect on the whole thing if its not designed probably. That means summarizing routes where you can to avoid flapping sub-routes from triggering this ripple effect further up the chain so to speak. Even something as mundane as resetting (hard-resetting) a neighbor with BGP with that kind of table, can take forever on some links. Thats why tools such as soft-resets and route-dampening have been introduced. All to help everything be in a stable state as much of the time as possible.
The book also covers quite alot of history which I really appreciated. It puts things into perspective, and gives a solid foundation for the remainder of the book.
I am now at the last chapter, and I am labbing up alot of the scenarios to try it out,and see how it actually affects everything in the real world. Great stuff!
Close to 3 hours lab time today, very satisfied with this.