Now let's have a look at how to configure iBGP. The first difference between iBGP and eBGP is that the peers are within the same AS. The second difference is that iBGP speakers do not need to be directly connected to each other. They just need to be able to reach each other somehow through the network, and your interior gateway protocol takes care of how to get the traffic there. The third difference is that iBGP speakers must form a full mesh, which means that every iBGP speaker peers with every other iBGP speaker in your AS. The reason for this full mesh is because iBGP speakers don't forward prefixes received by iBGP to other iBGP neighbors, that is there's no flooding of iBGP information. This might sound inefficient, but actually it works well and if you have a very large network you can simplify the full mesh by using route reflectors, which we'll talk about later. But, the simple approach is that every router has a separate iBGP session with every other router in your network. And these all have to be configured by hand. And just to be clear, this full mesh topology doesn't have any relationship to the topology of your internal network. For example in this diagram there is a peering session between router "A" and router "B", but there's no network segment linking them. The endpoints of the TCP session are "A" and "B", but the packets are routed via "C" and "D". When you configure iBGP you should use loopback interfaces for both the source and destination address of each session. This is because the loopback address never changes, even if the topology of your network changes or physical interfaces go up and down. We want the iBGP sessions and the full mesh to remain up all the time, regardless of topology changes. It's BGP's job to keep track of prefixes at the AS level. BGP has no idea of the internal topology within an AS, and if the iBGP information can't reach all the routers in your network, it will break. So how do you go about configuring iBGP? Well the commands are very similar to eBGP, and again we're looking at examples for Cisco IOS. The differences are that firstly, the remote AS is the same as the local AS number. That's what distinguishes iBGP from eBGP. Secondly, you use the remote routers loopback address as the destination and you also configure the session to use the local router's loopback address as the source. That has to be done for each neighbor. Thirdly, there's no filtering. You never filter routes in iBGP. If we compare router "B's" configuration to router "A's" they're almost identical. Router "B" has a different local loopback address and it peers with the other two routers, "A" and "C". But apart from that, it's the same. So actually, rolling out iBGP across your network is easy. Finally, once you've configured iBGP, you can check the status using the same commands as eBGP. That is: "show ip bgp summary" for IPv4 and "show bgp ipv6 unicast summary" for IPv6. Look for peering sessions where the local AS number is the same as the remote AS number.

© Produced by Philip Smith and the Network Startup Resource Center, through the University of Oregon.

Attribution-NonCommercial 4.0 International (CC BY-NC 4.0)
This is a human-readable summary of (and not a substitute for) the license. Disclaimer. You are free to: Share — copy and redistribute the material in any medium or format Adapt — remix, transform, and build upon the material The licensor cannot revoke these freedoms as long as you follow the license terms. Under the following terms: Attribution — You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use. NonCommercial — You may not use the material for commercial purposes. No additional restrictions — You may not apply legal terms or technological measures that legally restrict others from doing anything the license permits.