BGP is an internet protocol that allows groups of routers (called Autonomous Systems) to share routing information, so efficient loop free paths can be established, and that sounds exactly like what EIGRP already does so what is the need for BGP?
I am glad I asked:
BGP is an Exterior Gateway protocol that runs between ISP’s, while OSPF / EIGRP / RIP are Interior Gateway Protocols (IGP’s), so it runs on top of the Internet Architecture and IGP’s run underneath it. So it allows IGP routings protocols to find routes to each other from this top, unseen layer of the Internetwork
The following are some of the similarities it shares with EIGRP:
- Supports VLSM and Summarization
- Sends full updates initially upon forming a neighbor relationship, then sends partial updates after initial exchange / synchronization
- Creates neighbor relationship BEFORE exchanging any route information, uses Hello’s as keepalive to keep Adjacency formed, Adjacency drops if Hello’s stop
So what has been learned from EIGRP in theory can be applied to BGP for those topics, however BGP updates are massive, and comprised of what are called “attributes.” The updates are attributes that contain BGP Path information, also known as ‘Path Attributes’.
*** One important note up front whether to pass this exam or the CCIE, knowing the difference between well known and option attributes will be key in BGP success***
Now onto the topic of when to USE BGP vs when you would NOT USE it:
- The routing of your organization to your ISP different (redundant ISP links) so that your router can determine the best path between its ISP BGP Peers
- If your an ISP, and other AS’s use your AS as a Transit Area
- Basically any time you have the options (and router hardware resources) to have different choices for best Path Selection, or your a Transit Area, you’re running BGP
Don’t use it
- When you only have a single connection to the internet or another AS, and no redundant links exist
- When you don’t care about Path Selection to reach a route in another AS
- When you don’t have the router resources to handle the load on both the memory and CPU that BGP requires to run reliably
- When there are low-bandwidth issues with connections between multiple AS’s, static or default routes may work better
Speaking of BGP Peering, lets talk about that
Like TCP, BGP is connection oriented and considered reliable, as an underlying connection is made between two BGP Speakers before any route information exchange begins.
This “underlying connection” uses TCP port 179 – Remember that! Make sure no ACL’s are blocking that port if you are trying to Peer your router up!
Once the connection is established, the BGP Speakers as mentioned previously exchange full route information / attributes, and only send updates upon network change.
BGP Speakers DO NOT need to be in the same AS to become neighbors and / or exchange route information, in fact this segways perfectly into my final topic – BGP Peering.
Not a whole lot on this actually until we hit the lab and hit the topic harder, but a few facts about BGP peering:
- BGP Adjancies are another name for “BGP Peerings”
- Two BGP Speakers that peer in the same AS # are Internal BGP Peers (iBGP)
- Two BGP Speakers that peer in different AS #’s are External BGP Peers (eBGP)
Cisco recommends eBGP Peers to be directly connected to each other, while iBGP peers will often not be directly connected to each other.
That is all the boring theory I have for now, time to get configuring / breaking / troubleshooting some BGP peering moving forward through the belly of the beast!