Route Distinguisher ID

Each routing instance must have a unique route distinguisher (RD) associated with it. The RD places bounds around a VPN so the device can use the same IP address prefixes in different VPNs without having the addresses overlap.

There are 3 Types of RDs

  • Type 0: 2 byte Type + 2 byte AS + 4 byte number + Prefix

  • Type 1: 2 byte Type + 4 byte IP address (router ID)+ 2 byte number + Prefix (Recommended)

  • Type 2: 2 byte Type + 4 byte AS + 2 byte number + Prefix

Type1 RD enables faster failover when a CE is multihomed to multiple PEs

Ingress PE router adds RD.

root@R6> show configuration routing-instances 
CUST-A {
    instance-type vrf;
    routing-options {
        static {
            route 192.168.200.0/24 next-hop 172.16.3.103;
        }
    }
    interface ge-0/0/3.0;
    route-distinguisher 192.168.1.6:111;
    vrf-target target:65412:111;
    vrf-table-label;
}

root@R6> configure 
Entering configuration mode

[edit]
root@R6# delete routing-instances CUST-A route-distinguisher 

[edit]
root@R6# commit check 
[edit routing-instances]
  'CUST-A'
    RT Instance: Route-distinguisher must be configured for vrf instance: CUST-A
error: configuration check-out failed

[edit]
root@R6# 
root@R6> show route advertising-protocol bgp 192.168.1.5 detail 

CUST-A.inet.0: 3 destinations, 3 routes (3 active, 0 holddown, 0 hidden)
* 172.16.3.0/24 (1 entry, 1 announced)
 BGP group int-group type Internal
     Route Distinguisher: 192.168.1.6:111
     VPN Label: 16
     Nexthop: Self
     Flags: Nexthop Change
     Localpref: 100
     AS path: [64512] I 
     Communities: target:65412:111

* 192.168.200.0/24 (1 entry, 1 announced)
 BGP group int-group type Internal
     Route Distinguisher: 192.168.1.6:111
     VPN Label: 16
     Nexthop: Self
     Flags: Nexthop Change
     Localpref: 100
     AS path: [64512] I 
     Communities: target:65412:111

root@R6>

As we see here, RD is mandatory. But instead of configuring RD for each instance manually, we can auto generate these using the route-distinguisher-id statement.

[edit]
root@R6# set routing-options route-distinguisher-id 192.168.1.6 

[edit]
root@R6# show | compare 
[edit routing-instances CUST-A]
-    route-distinguisher 192.168.1.6:111;
[edit routing-options]
+  route-distinguisher-id 192.168.1.6;

[edit]
root@R6# commit 
commit complete

[edit]
root@R6# 
root@R6> show route advertising-protocol bgp 192.168.1.5 detail    

CUST-A.inet.0: 3 destinations, 3 routes (3 active, 0 holddown, 0 hidden)
* 172.16.3.0/24 (1 entry, 1 announced)
 BGP group int-group type Internal
     Route Distinguisher: 192.168.1.6:9
     VPN Label: 17
     Nexthop: Self
     Flags: Nexthop Change
     Localpref: 100
     AS path: [64512] I 
     Communities: target:65412:111

* 192.168.200.0/24 (1 entry, 1 announced)
 BGP group int-group type Internal
     Route Distinguisher: 192.168.1.6:9
     VPN Label: 17
     Nexthop: Self
     Flags: Nexthop Change
     Localpref: 100
     AS path: [64512] I 
     Communities: target:65412:111

root@R6> 

We can see a route-distinguisher (192.168.1.6:9) is generated automatically.

What if both options are configured? If both options are present, the value configured for route-distinguisher takes preference over the value generated from route-distinguisher-id.

root@R6> show configuration routing-options 
route-distinguisher-id 192.168.1.6;
router-id 192.168.1.6;
autonomous-system 64512;

root@R6> configure 
Entering configuration mode

[edit]
root@R6# set routing-instances CUST-A route-distinguisher 64512:999 

[edit]
root@R6# show | compare 
[edit routing-instances CUST-A]
+    route-distinguisher 64512:999;

[edit]
root@R6# commit 
commit complete

[edit]
root@R6# run show route advertising-protocol bgp 192.168.1.5 detail 

CUST-A.inet.0: 3 destinations, 3 routes (3 active, 0 holddown, 0 hidden)
* 172.16.3.0/24 (1 entry, 1 announced)
 BGP group int-group type Internal
     Route Distinguisher: 64512:999
     VPN Label: 18
     Nexthop: Self
     Flags: Nexthop Change
     Localpref: 100
     AS path: [64512] I 
     Communities: target:65412:111

* 192.168.200.0/24 (1 entry, 1 announced)
 BGP group int-group type Internal
     Route Distinguisher: 64512:999
     VPN Label: 18
     Nexthop: Self
     Flags: Nexthop Change
     Localpref: 100
     AS path: [64512] I 
     Communities: target:65412:111

[edit]
root@R6# 

As we see above, though we still have the route-distinguisher-id, the value configured under the routing-instance (64512:999)is advertised along with the VPN routes.

Back to Top ↑