INDEX

Avici Systems Inc.


Route Reflectors

Introduction

BGP rules require that all routers within an autonomous system are fully meshed. For large networks, this requirement represents a severe scaling problem that has been well documented.

Route reflectors bend the BGP rules by enabling a BGP speaker to pass (reflect) learned routes to internal neighbors. Typically, the routers at the core of a network's backbone are fully meshed with one another, and are configured as route reflectors for routers that are not part of the core.

Figure 8-1. With and Without Route Reflection

In Figure C-1, AS 100 is configured without route reflection. All routers within AS 100 are fully meshed.

Router A in AS 200 is configured as a route reflector and is responsible for distributing routes to BGP neighbors (Routers B, C, and D). Routers B, C, and D do not need to establish a peer relationship. Instead, Router A will reflect updates learned from each router to the other routers. The number of peering relationships within the AS is greatly reduced.

Router A in AS 200 is the route reflector. Routers B, C, and D are route reflector clients. Together, reflectors and route reflector clients form a cluster.

Usually, a cluster is configured with a single route reflector. For redundancy, two or more route reflectors may be configured per cluster.

Route reflectors distribute updates differently depending on the source of the update:

Configuring a Single Route Reflector

Route reflection is configured using the neighbor route-reflection-client command. Router A in AS 200 in Figure C-1 is the route reflector. The configuration for Router A includes:

router#router bgp 200

router(config-router)#neighbor 120.100.30.1 remote-as 200

router(config-router)#neighbor 120.100.30.1 route-reflector-client

router(config-router)#neighbor 120.100.30.2 remote-as 200

router(config-router)#neighbor 120.100.30.2 route-reflector-client

router(config-router)#neighbor 120.100.30.3 remote-as 200

router(config-router)#neighbor 120.100.30.3 route-reflector-client

Routers B, C and D are the route reflector clients. No special configuration is required on route reflector clients.

CAUTION When route reflection is enabled, every peer in the network does not have a full view of all the routes to choose from.

Configuring Multiple Clusters in an AS

In Figure C-2, autonomous system 100 is divided into three clusters. Each cluster has one route reflector. Notice that the route reflectors are fully meshed and that the clients of the route reflectors are not fully meshed.

Figure 8-2. Multiple Clusters in an AS

The following are the configurations for the routers in the cluster including Routers A, B, and C:

Router A (route reflector for the cluster):

router#router bgp 100

router(config-router)#neighbor 120.5.2.211 remote-as 100

router(config-router)#neighbor 120.5.2.211 route-reflector-client

router(config-router)#neighbor 120.5.2.212 remote-as 100

router(config-router)#neighbor 120.5.2.212 route-reflector-client

router(config-router)#neighbor 120.5.3.1 remote-as 100

router(config-router)#neighbor 120.5.4.1 remote-as 100

Router B (client with external peer):

router#router bgp 100

router(config-router)#neighbor 120.5.2.3 remote-as 100

router(config-router)#neighbor 172.10.2.2 remote-as 200

Router C (client):

router#router bgp 100

router(config-router)#neighbor 120.5.2.4 remote-as 100

Multiple Route Reflectors in a Cluster

A cluster of clients will normally have a single route reflector. To avoid a single point of failure, a cluster can be configured with more than one route reflector.

By default, a single route reflector for a cluster is identified by its router ID. When more than one route reflector is configured for a cluster, all the route reflectors in the cluster must be configured with the cluster ID.

Cluster IDs are assigned using the bgp cluster-id command. The cluster ID is an integer from 0 and 4294967295.

The ID enables route reflectors to recognize route updates from route reflectors within the same cluster.

NOTE You can not modify the cluster ID if any neighbors are configured as route reflector clients. To change the cluster ID, you must delete all neighbors configured as clients, change the cluster ID and reconfigure the client neighbors.

Figure 8-3. Multiple Route Reflectors in a Cluster

The following are configurations for Routers A, B, C and G:

Router A (route reflector):

router#router bgp 100

router(config-router)#neighbor 120.10.10.5 remote-as 100

router(config-router)#neighbor 120.10.10.5 route-reflector-client

router(config-router)#neighbor 120.10.10.7 remote-as 100

router(config-router)#neighbor 120.10.10.7 route-reflector-client

router(config-router)#neighbor 120.10.20.10 remote-as 100

router(config-router)#neighbor 120.10.20.10 route-reflector-client

router(config-router)#neighbor 120.10.20.12 remote-as 100

router(config-router)#neighbor 120.10.20.12 route-reflector-client

router(config-router)#neighbor 120.10.20.6 remote-as 100

router(config-router)#neighbor 120.10.50.2 remote-as 100

router(config-router)#bgp cluster-id 2000

Router B (route reflector in the same cluster as Router A):

router#router bgp 100

router(config-router)#neighbor 120.10.10.6 remote-as 100

router(config-router)#neighbor 120.10.10.6 route-reflector-client

router(config-router)#neighbor 120.10.10.8 remote-as 100

router(config-router)#neighbor 120.10.10.8 route-reflector-client

router(config-router)#neighbor 120.10.20.11 remote-as 100

router(config-router)#neighbor 120.10.20.11 route-reflector-client

router(config-router)#neighbor 120.10.20.13 remote-as 100

router(config-router)#neighbor 120.10.20.13 route-reflector-client

router(config-router)#neighbor 120.10.30.1 remote-as 100

router(config-router)#neighbor 120.10.50.3 remote-as 100

router(config-router)#bgp cluster-id 2000

Router C (client with an external peer):

router#router bgp 100

router(config-router)#neighbor 120.10.10.1 remote-as 100

router(config-router)#neighbor 120.10.20.1 remote-as 100

router(config-router)#neighbor 120.10.40.1 remote-as 200

Router G (route reflector in a different cluster than A and B)

router#router bgp 100

router(config-router)#neighbor 120.10.55.1 remote-as 100

router(config-router)#neighbor 120.10.55.1 route-reflector-client

router(config-router)#neighbor 120.10.55.2 remote-as 100

router(config-router)#neighbor 120.10.55.2 route-reflector-client

router(config-router)#neighbor 120.10.30.2 remote-as 100

router(config-router)#neighbor 120.10.20.5 remote-as 100

router(config-router)#neighbor 120.10.50.1 remote-as 300




INDEX

Copyright © 2005 Avici Systems Inc.
Avici® and TSR® is a registered trademark of Avici Systems Inc.
IPriori™, Composite Links™, SSR™, QSR, and NSR® are trademarks of Avici Systems Inc.

   Source File Name: RteRefl.fm
    HTML File Name: RteRefl.html
    Last Updated: 02/25/05 at 15:41:22

Please email suggestions and comments to: doc@avici.com