Internal BGP (iBGP)

Need for iBGP





If a company is using two router connected to internet through two different ISP's then one router will act as the backup for the other router. This means that if one router connected to one ISP goes down then the other router connected to another ISP will be available and the company can still access the internet. So these two router s have to be in the same AS and hence they both form the iBGP neighbours.


For iBGP, the neighbor's ASN mentioned in the neighbor (neighbor-IP)  remote-as [ASN] command will be same as the local router ASN.


Configuration



R1 Config

  
R1(config)#router bgp 100
R1 (Config-router)# neighbor 10.1.12.2 remote-as 100


R2 Config


  
R2(config)#router bgp 100
R2(Config-router)# neighbor 10.1.12.1 remote-as 100

The configuration in the above diagram shows the minimum configuration steps required for two routers to form the iBGP neighborship.

If you notice both the configurations point to the other routers IP address of the fastethernet interface.

The ASN in the router BGP 100 command is same as the neighbor (neighbor-IP) remote-as [ASN} command

When the two routers sees that the ASN is same in the both the router BGP 100 and neighbor (neighbor-IP) remote-as 100 command, then they will know that the neighbor is iBGP neighbor.

For redundancy purpose, we can use the loopback ip address for iBGP peers in the neighbor (neighbor-IP) remote-as [ASN} command.


So, in order to use loopback ip address we have to use the neighbor (IP address) update-source command, but there is no need to use neighbor (IP address)
ebgp-multihop command.

For eBGP the IOS uses the default TTL value of 1 and hence we have to use ebgp-multihop command to make the TTL value to 2, if we use the loopback ip address.

For iBGP it is not the case and so there is no need of ebgp multihop command.

So for iBGP to use the loopback ip address we have to follow below steps.

1)Configure IP address on loopback interface.

2)Configure neighbor x.x.x.x update-source [loopback ip address] command.

3)Configure neighbor x.x.x.x  remote-as [ASN]

4)Configure the route to the loopback IP address of the neighbor router.


R1 Config

  
R1(config)#router bgp 100
R1 (Config-router)# neighbor 2.2.2.2 remote-as 100
neighbor 2.2.2.2 update-source loopback0


R2 Config

  
R2(config)#router bgp 100
R2(Config-router)# neighbor 1.1.1.1 remote-as 100
neighbor 1.1.1.1 update-source loopback0