Vyatta NOS documentation

Learn how to install, configure, and operate Vyatta Network Operating System (Vyatta NOS), which helps to drive our virtual networking and physical platforms portfolio.

Show Page Sections

Route Reflection

Overview

BGP Virtual Route Reflectors are typically deployed by installing hardware capable of handling high speed data plane forwarding and is deployed without accompanying hardware. Virtual Route Reflector functionality in the software enables routing with fewer routing pairs and eliminates the need for fully meshed Asynchronous Systems (AS).

Multiple peer routers can connect through iBGP with the route reflector which serves as a central point-of-contact server, enabling access to clients of the route reflector, that is, other routers participating in a full mesh. One or more router is configured as route reflector in a BGP topology to provide redundancy.

Route reflector requires BGP to be enabled. The BGP software component is not part on the data plane architecture.

Figure 1. Route reflector overview
Table 1. Configuring BGP synchronization

Step

Description

1

BGP17 advertises 100.1.1/24 to BGP18.

2

Configure set protocol bgp 200 parameter synchronization in BGP20 only.

3

Configure set protocol ospf redistribute bgp in BGP18.

4

Configure the capability of dynamic restart using protocols bgpasnneighboridcapability dynamic , to establish the BGP peer.

5

Configure graceful restart using, protocols bgpasnneighboridcapability dynamic graceful-restart.

BGP multiple cluster IDs

The BGP multiple cluster IDs let you to configure a route reflector such that the route reflector associates a cluster ID with each peer to unite groups of clients into different clusters. This association also allows you to disable the reflection of routes between route reflection clients in the same cluster, that is, intra-cluster route reflection.

A route reflector and its clients form a cluster. If the route reflector is connected to a group of clients that are fully meshed, you can assign a cluster ID to each peer of the route reflector peer or assign a cluster ID to a peer group. You can also disable client-to-client route reflection for the cluster that is connected to the route reflector. On disabling the intra-cluster client-to-client route reflection, the loop prevention mechanism is modified automatically to consider multiple cluster IDs.

You can reduce the number of updates in the network by disabling the intra-cluster client-to-client route reflection which in-turn increases the convergence speed.

Configuring multiple cluster IDs

In this section, you configure multiple cluster IDs for a network that contains routers and route reflectors. In the example, there are five routers one of which is a route reflector (RR), and four routers are route reflector clients (R1, R2, R3, and R4).

Clients R1 and R2 are fully meshed and the two routers can share prefixes with each other without involving the RR.

There are two logical clusters, cluster 1 and cluster 2. Clients R1 and R2 are in cluster 1 and have 1 as the cluster ID that is configured on RR. Clients R3 and R4 are in cluster 2 and have 2 as the cluster ID. In the given example, RR reflects routes from R3 to R1 and from R1 to R4 but blocks route reflection between R1 and R2 because R1 and R2 are fully meshed.

You can now disable client-to-client route reflection inside a specific cluster by using protocols bgp <asn> parameters no-client-to-client-reflection cluster-id <cluster-id>. Therefore, RR does not reflect routes between clients from the cluster for which the client-to-client route reflection is disabled. All other types of reflection, such as client-to-non client routes, from one cluster to another continue to work. In this example the client-to-client route reflection is disabled for cluster 1.

Figure 2. BGP multiple cluster-ids

To configure multiple cluster IDs, perform the following steps in configuration mode.

Table 2. Configuring multiple cluster IDs

Router

Step

Command(s)

RR

Configure cluster ID as 2 for routers R3 and R4.

vyatta@RR# set protocols bgp 100 neighbor 3.3.3.3 address-family ipv4-unicast 'route-reflector-client'
vyatta@RR# set protocols bgp 100 neighbor 3.3.3.3 cluster-id 2
vyatta@RR# set protocols bgp 100 neighbor 3.3.3.3 remote-as '100'
vyatta@RR# set protocols bgp 100 neighbor 4.4.4.4 address-family ipv4-unicast 'route-reflector-client'
vyatta@RR# set protocols bgp 100 neighbor 4.4.4.4 cluster-id 2
vyatta@RR# set protocols bgp 100 neighbor 4.4.4.4 remote-as '100'

RR

Commit the configuration.

vyatta@RR# commit

RR

Configure cluster ID as 1 for routers R1 and R2.

vyatta@RR# set protocols bgp 100 neighbor 1.1.1.1 address-family ipv4-unicast 'route-reflector-client'
vyatta@RR# set protocols bgp 100 neighbor 1.1.1.1 cluster-id 1
vyatta@RR# set protocols bgp 100 neighbor 1.1.1.1 remote-as '100'
vyatta@RR# set protocols bgp 100 neighbor 2.2.2.2 address-family ipv4-unicast 'route-reflector-client'
vyatta@RR# set protocols bgp 100 neighbor 2.2.2.2 cluster-id 1
vyatta@RR# set protocols bgp 100 neighbor 2.2.2.2 remote-as '100'

R1

Configure R1

vyatta@R1# set protocols bgp 100 address-family ipv4-unicast network '1.1.1.1/32'
vyatta@R1# set protocols bgp 100 neighbor 5.5.5.5 address-family 'ipv4-unicast'
vyatta@R1# set protocols bgp 100 neighbor 5.5.5.5 remote-as '100' 

R1

Commit the configuration.

vyatta@R1# commit

R2

Configure R2

vyatta@R2# set protocols bgp 100 address-family ipv4-unicast network '2.2.2.2/32'
vyatta@R2# set protocols bgp 100 neighbor 5.5.5.5 address-family 'ipv4-unicast'
vyatta@R2# set protocols bgp 100 neighbor 5.5.5.5 remote-as '100

R2

Commit the configuration

vyatta@R2# commit

R3

Configure R3

vyatta@R3# set protocols bgp 100 address-family ipv4-unicast network '3.3.3.3/32'
vyatta@R3# set protocols bgp 100 neighbor 5.5.5.5 address-family 'ipv4-unicast'
vyatta@R3# set protocols bgp 100 neighbor 5.5.5.5 remote-as '100

R3

Commit the configuration

vyatta@R3# commit

R4

Configure R4

vyatta@R4# set protocols bgp 100 address-family ipv4-unicast network '4.4.4.4/32'
vyatta@R4# set protocols bgp 100 neighbor 5.5.5.5 address-family 'ipv4-unicast'
vyatta@R4# set protocols bgp 100 neighbor 5.5.5.5 remote-as '100

R4

Commit the configuration

vyatta@R4# commit

RR

Disable intra-cluster client-to-client route reflection

vyatta@RR# set protocols bgp 100 parameters no-client-to-client-reflection cluster-id 1

RR

Verify the cluster IDs configured on the route-reflector.

vyatta@RR# show ip bgp cluster-ids
Global cluster-id: 1.1.1.1
BGP client-to-client reflection:         Configured Used
  all (inter-cluster and intra-cluster): Enabled
  intra-cluster:                         Enabled    Enabled
 
List of Cluster-Ids:
Cluster-Id     Neighbors C2C Reflection: Configured Used
0.0.0.1        2                         Enabled    Enabled

RR

Verify the neighbors of the route reflector.

vyatta@RR# show ip bgp neighbors 1.1.1.1
BGP neighbor is 1.1.1.1, remote AS 100, local AS 100, internal link
<...>
  Minimum time between advertisement runs is 5 seconds
  Configured with cluster-id 0.0.0.1
 For address family: IPv4 Unicast
<...>