Internal Border Gateway Protocol
Although the Internal Border Gateway Protocol (IBGP) and the External Border Gateway Protocol (EBGP) are the same protocol in that the message types are the same, they behave quite differently. With IBGP, when Router B receives an update from a peer in a different autonomous system (AS), Router A, it will forward that prefix information to a peer in its own AS (Router C). However Router C will not forward this prefix information on to Router E. Thus, Router E will not learn any of the prefixes from AS100. Routers B and E need not be physically connected to solve this problem; they only need a TCP/BGP logical connection. This full mesh requirement does not scale well, though, so confederations and route reflectors are needed.
Internal BGP and Synchronization
BGP peers between autonomous systems (AS) use the External Border Gateway Protocol (EBGP), and BGP peers within an AS use the Internal Border Gateway Protocol (IBGP). Within the AS, not all the routers are required to use BGP. An interior gateway protocol (IGP), such as Intermediate System-Intermediate System (IS-IS) or Open Shortest Path First (OSPF), might be used to establish the routes that are used by the BGP messages. However, if an internal gateway protocol is being used, the prefixes outside the AS must be known by the IGP router so that the IP packets can be routed through it. Alternatively, the IGP router can be configured with static routes, and no route redistribution is required, but this solution does not scale.
In the visual, assume prefix A is being advertised from Router A to Router B. Router B has IBGP connections to Router D and Router E. Router E has IBGP connections to Router B and Router D. Router B updates Routers E and D with this information, but Router C, the IGP router, is unaware of the route (no redistribution has occurred). Router D will in turn update Router G in AS400. Now a packet destined for prefix A is sent from AS400 Router G to AS200 Router D. Router D forwards this packet to Router C, but Router C can not forward it on because the prefix is not in Router C’s routing table. The prefix has not been redistributed from BGP to the IGP by Router B.
One solution to the problem is to redistribute routes into the IGP at Routers B and D, or use static routes at Router C. Route distribution must be complete prior to AS200 updating AS100 or AS400 routers. Synchronization occurs only when all routers in the AS have learned about the route via IGP.
If all the routers within the AS are running BGP, then synchronization is not needed and can be disabled. In the visual, this is accomplished by fully meshing the BGP connection between all routers within AS200. Routers B, C, D, and E all have connections to one another, for a total of six TCP connections within AS200: (n(n-1))/2, where n equals the number of routers within AS200.