Saturday, 1 February 2020

BGP Cluster ID

Cluster ID is used to prevent the routing loop between the RR router. Lets take an example



Here R2 is an RR and its clients are R3 and R1 but suppose if R1 is also an RR and its client is R3.
Now if R3 send an update to R2 as R2 is RR it will pass those prefixes to R1 and being R1 as RR it will send that same update to R3 which cause loop in routing.

To avoid this RR have an in built feature Cluster ID and  originator id.
Lets check on R1.

R1#sh ip bgp 4.1.0.1
BGP routing table entry for 4.1.0.0/24, version 26
Paths: (1 available, best #1, table Default-IP-Routing-Table)
  Advertised to update-groups:
     2
  400
    155.1.123.3 from 150.2.2.2 (150.2.2.2)
      Origin IGP, metric 0, localpref 100, valid, internal, best
      Originator: 150.3.3.3, Cluster list: 150.2.2.2

See R1 getting an update from RR (R2) but the prefixes  included the originator and cluster id.
Cluster id is the RR router id and originator id is originator of the prefix who send it to RR(R2). If suppose R1 also became RR and it clients to R3, R1 will send the update to R3
When R3 receives this update it will check the originator and cluster id if its originator id is same it will drop those updates. But Is assume that R3 is not the originator of this prefix then R3 will accept and R3 send back the prefix to R2  now R2 check the cluster id it was the same then it will drop the update. This mechanism is used  to prevent the loop by having 2 or more Route reflector.

Cluster id and router id can be changed

R2(config)#router bgp 100
R2(config-router)#bgp cluster-id 1.2.3.4


R1#sh ip bgp 4.1.0.1
BGP routing table entry for 4.1.0.0/24, version 32
Paths: (1 available, best #1, table Default-IP-Routing-Table)
Flag: 0x800
  Advertised to update-groups:
     2
  400
    155.1.123.3 from 150.2.2.2 (150.2.2.2)
      Origin IGP, metric 0, localpref 100, valid, internal, best
      Originator: 150.3.3.3, Cluster list: 1.2.3.4

Note : Router Id and Cluster Id are different. 

No comments:

Post a Comment