That is, when a route reflector learns about an IP prefix from one of its clients, it adds the ORIGINATOR–ID attribute before reflecting to other speakers. This attribute is added only by the originating route reflector.
ORIGINATOR–ID: This attribute identifies a route reflector through its 4-byte router ID it is given the type code 9, and is optional and non-transitive. The question then is: can we detect and avoid routing loops? The answer is yes, but the solution requires two additional attributes as described below:
Consider Figure 9.12(d) if route reflector RR1 learns about external IP prefixes from AS64521, it will pass on to route reflectors RR2 and RR3, and route reflector client R2.įrom the above discussion, you might realize that Rule-2 discussed earlier in Section 9.5 is relaxed since the route reflectors are now allowed to reflect IP prefixes they has learned from an iBGP speaker to other iBGP speakers. If an announcement is received by a route reflector from an eBGP speaker, reflect to all other route reflectors and clients. Consider Figure 9.12(d) if route reflector RR3 learns from client R1, it will pass on to route reflectors RR1 and RR2. If an announcement is received by a route reflector from a route reflector client, then reflect to another route reflector. Consider Figure 9.12(c) if route reflector RR2 learns from route reflector RR1, it will pass on to route reflector clients R1 and R4. If an announcement is received by a route reflector from another route reflector, then reflect/pass it to its clients. There are certain rules to follow in regard to announcements:
Full mesh among route reflectors is not apparent until there are at least three route reflectors (see Figure 9.12(d)). It is important to note that route reflectors must form a full mesh connectivity among themselves and each client peer with only its route reflector. Therefore, it is often better to deploy two or more route reflectors to form clusters so that each route reflector has a reasonable number of iBGP sessions to handle. In this case, the lone route reflector is still required to maintain n − 1 sessions with the other iBGP speakers that is, for this route reflector, the processing overhead is no different than if it were under the full mesh scenario. Note that if there is only one route reflector (see Figure 9.12(b)), then it creates the hub-and-spoke connectivity where the route reflector connects to each route reflector client (see Figure 9.12(b)). If there is only one route reflector in a cluster, then the CLUSTER–ID is the BGP identifier of the route reflector otherwise, a common CLUSTER–ID can be defined for use by multiple route reflectors within a cluster. Each cluster is identified by a CLUSTER–ID. While we show here just one route reflector in each cluster, for redundancy, a cluster may have multiple route reflectors. For example, in Figure 9.12(c), there are two clusters: one cluster is RR1 with R2 and R3, and another cluster is RR2 with R1 and R4. In Figure 9.12, we show iBGP session connectivity under full mesh, and when there are one, two, or three route reflectors. Note that a client is not aware that it is talking to a route reflector, and assumes that it is like a full-mesh configuration. iBGP speakers associated with a route reflector in a cluster are referred to as route reflector clients iBGP speakers that are not client peers are referred to as non-clients. The introduction of route reflectors then creates a hierarchy among the iBGP speakers by clustering a subset of iBGP speakers with each route reflector. The idea is fairly simple: have one or more iBGP speakers act as concentration routers, commonly known as route reflectors. The concept of route reflector (, , ) has been developed to address the scalability problem of full mesh iBGP sessions.