Internal BGP (IBGP) sessions (BGP sessions within your autonomous system) are identified by the neighbor’s AS number being identical to your AS number. While the external BGP (EBGP) sessions are usually established between directly connected routers, IBGP sessions are expected to be configured across the network.
The current best practice is to configure IBGP sessions between the loopback interfaces of the BGP neighbors, ensuring that the TCP session between them (and the BGP adjacency using the TCP session) will not be disrupted after a physical link failure as long as there is an alternate path toward the adjacent router.
To configure an IBGP session following that best practice on Cisco IOS, specify the neighbor’s loopback address in all neighbor commands and use the neighbor update-source command to specify the source IP address of the TCP session.
To configure IBGP session between R1 and R2 use the following configuration commands:
hostname R1 ! interface Loopback 0 ip address 10.0.0.1 ! router bgp 65001 neighbor 10.0.0.2 remote-as 65001 neighbor 10.0.0.2 description R2 neighbor 10.0.0.2 update-source loopback 0
hostname R2 ! interface Loopback 0 ip address 10.0.0.2 ! router bgp 65001 neighbor 10.0.0.1 remote-as 65001 neighbor 10.0.0.1 description R1 neighbor 10.0.0.1 update-source loopback 0