BGP is a routing protocol that provides exchanging routes between different autonomous systems. It is known as the “routing protocol of internet” as well.

BGP PROPERTIES

* BGP uses TCP port 179.

* Sends triggered updates (Triggerred updates are sent if only there is a change in the network.)

* BGP has a very high metric value. It is the routing protocol that converges slowest in the world.

BGP IMPLEMENTATION TECHNIQUES

1)Default Route Only

bgp default route

155.5.5.0/24 networks is advertised to both ISPs.If a problem occurs on ISP-1, customers of ISP-3 are delivered to ISP-2 via slowly converge. That provides redundancy on the network. ( Because of 150.x.x.x network won’t be advertised from ISP-1 )

2)Partial Updates

bgp partial update

If branch offices have better connection to ISPs, it is useful that taking partial updates from ISPs. For instances routes of Russia and Australia are advertised and delivering these specific routes to corporate office can be provided via BGP. After preferred route for Russia can be managed over ISP-1, preferred route for Australia can be managed over ISP-2. If the link is down which goes to ISP-1, traffic can go ahead over ISP-2.

3)Full Updates

bgp full update

All routing table of internet can be gathered from ISP-1 and ISP-2 but that requires two routing table which needs over 100 MB of memory. Corporate office router can’t put all of these paths to its routing table and keeps them on BGP table. If a path is down, corporote office router finds this path from BGP table. This method requires too much sources.

BGP ROUTING ALGORITHM

bgp algorithm

If BGP is not tuned, it behaves just like RIP ! It is a distance vector protocol but as known as “path vector” too.

ISP-1 and ISP-2 send full routing tables to corporate office router and corporate office router defines the best path via hop count ( ISP count ).

BGP TABLES AND PACKET TYPES

Tables :

* Neighbor table : Includes all neighbors which consists of BGP configuration. ( Neighbors are configured manually for BGP )

* BGP table : Includes all BGP routes ( Can be so big )

* Routing table : Includes best path for the target network.

Packets :

* Open : Starts session between routers like a hello packet.

* Keep alive : Controls if the neighbor is up or not.

* Update : Update packet is sent if there is a change in the network.

* Notification: This packet is sent if there is an unwanted situation and neighborship is deleted.