BORDER GATEWAY PROTOCOL (BGP)
Just pause for a second and think about the Internet. Where does it come from? Can someone switch it off? Who owns the Internet? How is the Internet connected? These are some of the questions and more that most people ask when they are talking about the Internet or want to know more about the Internet.
No one person or company owns the Internet or can anyone wake up one morning and switch off the Internet for all of us. The Internet is simply a collections of Computer Networks of different companies and Internet Service Providers (ISPs) connected together. Actually the name Internet really means a network of networks. We have end to end connectivity because different ISPs are connected together to each other thus connecting us all together from one country and continent to another continent.
Network Engineers in each ISP configures their routers to connect to two or more other ISPs for redundancy. ISPs exchange routes with each other and there is so much redundancy in the Internet. If one path fails to a given destination, there is another one or more alternative paths towards the same destination. So how do ISPs exchange public IP routes with each other and ensures that there is redundancy and the Internet is always up? The answer to these questions is Border Gateway Protocol (BGP).
So what is BGP? Simply put, BGP is the protocol that powers the Internet. Without getting into too much details, BGP is the routing protocol that ISPs use to communicate to each other. BGP is the protocol that they use to exchange IP routes with one another.
Here at MoigeTech Systems we have a wide range of hands-on skills when it comes to ISP technology and more so BGP which is the major focus of this article. Next we list some of the things that we are able to do with BGP although it is not the full list.
1. Building BGP Neighbor Relationships. These can be Internal BGP (iBGP) which are between the routers within the same organization and External BGP (eBGP) which is a neighbor relationship with a router of another organization e.g another ISP’s router.
2. Injecting routes into the BGP process.
3. Performing BGP Manual Route Summarization.
4. Designing, configuring and troubleshooting BGP Route Reflectors
5. Designing, configuring and troubleshooting BGP Confederations.
6. Designing and performing BGP Route Filtering using:
· Distribution Lists
· Prefix Lists
· AS_PATH Filter Lists and
· Route Maps
· LOCAL_PREF PA
· Locally Injected Routes
· ORIGIN PA
· Multi-Exit Discriminator (MED) PA
· Neighbor Type (iBGP or eBGP)
And now to an example network that we have build to demonstrate how BGP works. Please note that BGP neighbor relationships within an Autonomous System Number (ASN) [ An ASN is a globally unique number ISPs are given to differentiate themselves from other ISPs and companies around the planet. Public ASNs are unique globally.] form an iBGP relationship while neighbor relationships that form between different ASNs form a eBGP relationships.
HOW THE INTERNET WORKS
In this demonstration network, we have three ISPs and one customer, i.e MOIGETECH, TELKOM, SAFARICOM, and ENYANSU BAKERIES KISII. Routes 184.108.40.206 through 220.127.116.11 are injected into the BGP process through SAFARICOM-KISII-R6 by ENYANSU BAKERIES. Also routes 18.104.22.168 through 22.214.171.124 are injected into the BGP process by TELKOM-MOMBASA-R5 Router using the network command.
As far as BGP verification is concerned, we are going to use these 3 commands as follows:
1. Show ip bgp: This command displays all the IP routes learned from all its neighbors regardless if they are the best routes or not.
2. Show ip bgp summary: This command displays in summary all the BGP neighbors this router has formed in a list form and the number of IP Routes it has learned from this neighbor.
3. Show ip route bgp: This command shows the routes the BGP process has put into its routing table. This command shows only BGP routes in the IP Routing table
INTERNET NETWORK TOPOLOGY DIAGRAM
MOIGETECH-KISII-R1# Show ip bgp
MOIGETECH-KISII-R1# Show ip bgp summary
MOIGETECH-KISII-R1# Show ip route bgp
MOIGETECH-KISUMU-R2# Show ip bgp
MOIGETECH-KISUMU-R2# Show ip bgp summary
MOIGETECH-KISUMU-R2# Show ip route bgp
MOIGETECH-NAIROBI-R3# Show ip bgp
MOIGETECH-NAIROBI-R3# Show ip bgp summary
MOIGETECH-NAIROBI-R3# Show ip route bgp
TELKOM-NAIROBI-R4# Show ip bgp
TELKOM-NAIROBI-R4# Show ip bgp summary
TELKOM-NAIROBI-R4# Show ip route bgp
TELKOM-MOMBASA-R5# Show ip bgp
TELKOM-MOMBASA-R5# Show ip bgp summary
TELKOM-MOMBASA-R5# Show ip route bgp
SAFARICOM-KISII-R6# Show ip bgp
SAFARICOM-KISII-R6# Show ip bgp summary
SAFARICOM-KISII-R6# Show ip route bgp
SAFARICOM-MOMBASA-R7# Show ip bgp
SAFARICOM-MOMBASA-R7# Show ip bgp summary
SAFARICOM-MOMBASA-R7# Show ip route bgp
And there you have it. A sneak peek into BGP. BGP is a huge protocol that is so tunable and that is why it is the best protocol that is preferred to be used on the Internet. If you may have a need to use and implement BGP in your organization or business, please talk to us and we will let you know the best way forward.