BGP Synchronization

This tutorial explains the BGP synchronization rule. To understand what this is all about, make sure you understand why we need IBGP first. If you are a little fuzzy about IBGP, BGP split horizon and why we need IBGP full mesh adjacencies then please read my IBGP tutorial first. Having said that, let’s look at the synchronization rule.

BGP synchronization is an old rule from the days where we didn’t run IBGP on all routers within a transit AS. In short, BGP will not advertise something that it learns from an IBGP neighbor to an EBGP neighbor if the prefix can’t be validated in its IGP.

It’s best explained with an example, take a look below:

Bgp Synchronization Example Topology Ibgp EbgpAbove we see 5 routers and 3 autonomous systems. When we want to get from R1 to R5 we’ll have to cross AS2, this makes AS2 our transit AS.

EBGP has been configured between R1/R2 and also between R4/R5. IBGP is configured between R2/R4 and R3 on top doesn’t run BGP at all.

The routers within AS2 are configured with OSPF, this is required since R2/R4 have to be able to reach each other to establish the IBGP session.

R1 will advertise a prefix in BGP, AS2 and AS3 will learn about this prefix…

Let me show you the configurations. We’ll use the topology from above but I added some IP addresses to it:

Bgp Synchronization Lab Topology

OSPF Configuration

The OSPF configuration is really straight-forward. R2 and R4 have a loopback interface that is used for the IBGP peering which is advertised in OSPF:

R2#
router ospf 1
 network 2.2.2.0 0.0.0.255 area 0
 network 192.168.23.0 0.0.0.255 area 0
R3#
router ospf 1
 network 3.3.3.0 0.0.0.255 area 0
 network 192.168.23.0 0.0.0.255 area 0
 network 192.168.34.0 0.0.0.255 area 0
R4#
router ospf 1
 network 4.4.4.0 0.0.0.255 area 0
 network 192.168.34.0 0.0.0.255 area 0

Let me also show you the BGP configuration…

BGP Configuration

The configuration of R1 is simple, it’s configured to run EBGP with R2 and it advertises network 1.1.1.0 /24 into BGP:

R1#
router bgp 1
 no synchronization
 bgp log-neighbor-changes
 network 1.1.1.0 mask 255.255.255.0
 neighbor 192.168.12.2 remote-as 2
 no auto-summary

R2 runs EBGP with R1 and IBGP with R4:

R2#
router bgp 2
 no synchronization
 bgp log-neighbor-changes
 neighbor 4.4.4.4 remote-as 2
 neighbor 4.4.4.4 update-source Loopback0
 neighbor 4.4.4.4 next-hop-self
 neighbor 192.168.12.1 remote-as 1
 no auto-summary

R4 is similar to R2:

R4#
router bgp 2
 no synchronization
 bgp log-neighbor-changes
 neighbor 2.2.2.2 remote-as 2
 neighbor 2.2.2.2 update-source Loopback0
 neighbor 2.2.2.2 next-hop-self
 neighbor 192.168.45.5 remote-as 3
 no auto-summary

And finally R5, it only runs EBGP with R4:

R5#show run | b router bgp
router bgp 3
 no synchronization
 bgp log-neighbor-changes
 neighbor 192.168.45.4 remote-as 2
 no auto-summary

By default, BGP synchronization is disabled.  You can see the no synchronization command in the configurations of the routers above. Let’s take a “before” and “after” look..

BGP synchronization disabled

We’ll take a look at R4 and R5, see if they learned about the 1.1.1.0 /24 network which is advertised on R1 and forwarded by R2 through IBGP:

R4#show ip bgp
BGP table version is 10, local router ID is 4.4.4.4
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
              r RIB-failure, S Stale
Origin codes: i - IGP, e - EGP, ? - incomplete

   Network          Next Hop            Metric LocPrf Weight Path
*>i1.1.1.0/24       2.2.2.2                  0    100      0 1 i

R4 knows about this prefix and installed it…what about R5?

R5#show ip bgp
BGP table version is 6, local router ID is 5.5.5.5
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
              r RIB-failure, S Stale
Origin codes: i - IGP, e - EGP, ? - incomplete

   Network          Next Hop            Metric LocPrf Weight Path
*> 1.1.1.0/24       192.168.45.4                           0 2 1 i

Great, R5 also knows about this network. The problem in this scenario however is that we will never get any IP packets from AS3 to AS1 since R3 doesn’t run BGP…it will never learn about network 1.1.1.0 /24 so whenever R4 forwards something, it will be dropped. Take a look at R3 here:

R3#show ip route 1.1.1.0
% Network not in table

To synchronization rule was created to prevent this problem. Let’s find out how it works…

BGP synchronization enabled

Let me show you what happens when we enable it, you have to do this on the border routers (R2 and R4):

R2(config)#router bgp 2
R2(config-router)#synchronization
R4(config)#router bgp 2
R4(config-router)#synchronization

Take a look again at R4:

R4#show ip bgp
BGP table version is 11, local router ID is 4.4.4.4
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
              r RIB-failure, S Stale
Origin codes: i - IGP, e - EGP, ? - incomplete

   Network          Next Hop            Metric LocPrf Weight Path
* i1.1.1.0/24       2.2.2.2                  0    100      0 1 i

R4 sees the network in its BGP table but refuses to install it.

We're Sorry, Full Content Access is for Members Only...

If you like to keep on reading, Become a Member Now! Here is why:

  • Learn any CCNA, CCNP and CCIE R&S Topic. Explained As Simple As Possible.
  • Try for Just $1. The Best Dollar You've Ever Spent on Your Cisco Career!
  • Full Access to our 654 Lessons. More Lessons Added Every Week!
  • Content created by Rene Molenaar (CCIE #41726)

540 Sign Ups in the last 30 days

satisfaction-guaranteed
100% Satisfaction Guaranteed!
You may cancel your monthly membership at any time.
No Questions Asked!

Forum Replies

  1. Hi Rene, i am confused to understanding this concept. please help.

    So what I could figure-out so far is :-

    "In a transit AS scenario, Enabling BGP sync made sense. because otherwise our ASBR router will advertise EBGP routes (learned from EBGP neighbor) to other internal routers as well and ultimately may become a transit AS for both EBGP neighbors which we don’t want.

    So the rule said if we learn a route from IGP then only we should advertise it to other EBGP neighbor. that means we are only advertising network that we own.
    But now this rule is not needed in t

    ... Continue reading in our forum

  2. Hi @chriscowboyfann,

    I didn’t watch the video again but if I was talking about the AD, it’s 110 for OSPF. If the router has to decide if it wants to use routing information from routing protocol X or Y then it will look for the AD. For example, 1.1.1.0/24 is learned through IBGP and OSPF…t will look at the administrative distance and prefers the lowest value. It will use OSPF since it has an AD of 110, compared to 200 for iBGP.

    The local preference is used when the router has learned multiple paths for a network through BGP, and it has to make a decision which

    ... Continue reading in our forum

  3. Hey Rene, I don’t quite understand how your BGP table can show RIB Failure in sub-section “BGP synchronization disabled” for R4’s route to 1.1.1.0, you have no IGP providing route to it, how can it be in RIB failure ?

  4. Hi Rene,

    I have a very basic doubt. We configure the sync rule under the BGP configuration, so in this case, how would it know that there is a routing table entry for IGP route. Is the check for routing table entry performed by the router itself or the individual process such as BGP, OSPF or EIGRP.

    Thank you!

  5. Hello Ishan

    When the sync rule is enabled, the route will not be installed in the routing table unless the IGP being used has learned about it.

    It is not looking for the route in the routing table, since it will never be there because this is a condition for installing a route into the routing table. It will only be installed if this condition is met.

    What the sync rule does is cause the router to first check if the route is “known” by an IGP. What this means is it looks in the topology table in the case of EIGRP, or the OSPF Link State Database to see if the

    ... Continue reading in our forum

17 more replies! Ask a question or join the discussion by visiting our Community Forum