Saturday, 26 July 2025

BGP CHAPTER 24 Originator ID , Cluster ID & Cluster List

 Loop Prevention in RR Setups - 

iBGP loop prevention mechanism  - Split Horizon Rule 

Route learned from an iBGP neighbor cannot be forwarded to other iBGP neighbor.

RR violates this rule so …”introduces risk of loops”


Originator ID 

The Originator ID is set by the route reflector

32-bit router ID of the original iBGP speaker that injected the route. For eg R1

Visible in Route Reflector environments

Prevents loops if route comes back to the originator



Cluster ID & Cluster List

Cluster ID is an unique ID assigned to each Route Reflector.

Cluster List is a list of all Cluster IDs the route has passed through

When an RR reflects a route, it adds its own Cluster ID to the Cluster List.

If a router sees its own Cluster ID in the Cluster List → loop detected → route discarded



Cluster 1 

R1 , R2 - Client 

R3 - Route Reflector 

Cluster 2 

R4 , R5 - Client

R6 - Route Reflector 

BGP Neighborship 

R1_Client>show ip bgp summary 

BGP router identifier 1.1.1.1, local AS number 100

BGP table version is 1, main routing table version 1


Neighbor        V           AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd

3.3.3.3         4          100       7       7        1    0    0 00:03:31        0


R2_Client>show ip bgp summary 

BGP router identifier 2.2.2.2, local AS number 100

BGP table version is 1, main routing table version 1


Neighbor        V           AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd

3.3.3.3         4          100       6       8        1    0    0 00:03:48        0

R2_Client>


R3_RR1#show ip bgp summary 

BGP router identifier 3.3.3.3, local AS number 100

BGP table version is 1, main routing table version 1


Neighbor        V           AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd

1.1.1.1         4          100      11      11        1    0    0 00:06:41        0

2.2.2.2         4          100      10       8        1    0    0 00:06:13        0

6.6.6.6         4          100       4       4        1    0    0 00:00:08        0


R4_Client>show ip bgp summary 

BGP router identifier 4.4.4.4, local AS number 100

BGP table version is 1, main routing table version 1


Neighbor        V           AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd

6.6.6.6         4          100       9       9        1    0    0 00:05:01        0


R5_Client>show ip bgp summary 

BGP router identifier 5.5.5.5, local AS number 100

BGP table version is 1, main routing table version 1


Neighbor        V           AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd

6.6.6.6         4          100       9       9        1    0    0 00:05:20        0

R5_Client>


R6_RR2#show ip bgp summary 

BGP router identifier 6.6.6.6, local AS number 100

BGP table version is 1, main routing table version 1


Neighbor        V           AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd

3.3.3.3         4          100       5       5        1    0    0 00:01:10        0

4.4.4.4         4          100      10      10        1    0    0 00:05:43        0

5.5.5.5         4          100      10      10        1    0    0 00:05:43        0

R6_RR2#

=============================================

Now lets advertise a network 100.1.1.1/32 from R1 in BGP 


R1_Client(config)#int loopback 100

R1_Client(config-if)#ip address 100.1.1.1 255.255.255.255

R1_Client(config)#router bgp 100

R1_Client(config-router)#network 100.1.1.1 mask 255.255.255.255

R1_Client(config-router)#^Z


Lets check on its RR - R3


R3_RR1#show ip bgp 100.1.1.1/32

BGP routing table entry for 100.1.1.1/32, version 2

Paths: (1 available, best #1, table default)

  Advertised to update-groups:

     2          3         

  Refresh Epoch 1

  Local, (Received from a RR-client)

    1.1.1.1 (metric 11) from 1.1.1.1 (1.1.1.1)  

      Origin IGP, metric 0, localpref 100, valid, internal, best

      rx pathid: 0, tx pathid: 0x0


Lets check on RR2 - R6


R6_RR2#show ip bgp 100.1.1.1/32

BGP routing table entry for 100.1.1.1/32, version 2

Paths: (1 available, best #1, table default)

  Advertised to update-groups:

     2         

  Refresh Epoch 1

  Local

    1.1.1.1 (metric 21) from 3.3.3.3 (3.3.3.3)

      Origin IGP, metric 0, localpref 100, valid, internal, best

      Originator: 1.1.1.1, Cluster list: 3.3.3.3  ----------> ORIGINATOR ID OF R1     CLUSTER ID OF RR1

      rx pathid: 0, tx pathid: 0x0

Now lets check on R4

R4_Client>show ip bgp 100.1.1.1/32

BGP routing table entry for 100.1.1.1/32, version 2

Paths: (1 available, best #1, table default)

  Not advertised to any peer

  Refresh Epoch 1

  Local

    1.1.1.1 (metric 31) from 6.6.6.6 (6.6.6.6)

      Origin IGP, metric 0, localpref 100, valid, internal, best

      Originator: 1.1.1.1, Cluster list: 6.6.6.6, 3.3.3.3   ---> RR2 Cluster ID is also attached

      rx pathid: 0, tx pathid: 0x0

R4_Client>


For complete configuration - mail me on networkengineerstuff.com




No comments:

Post a Comment