In order to prevent loops within as, "IBGP peers do not allow the outward declaration of learning from other IBGP peers", so the IBGP neighbor is required to interconnect all. This means that an n (n-1) bar IBGP connection needs to be established within the AS. The routing reflector passes an optional alternative to the full interconnect.
Reflection rule:
To prevent possible routing loops and routing errors, the routing reflector is required not to change the properties of the route it receives from the customer, and to use the originator_id and Cluster_list properties to prevent the loop from appearing. (RFC2796 defines the originator_id and Cluster_list properties)
The Originator_id property length of 4 bytes is an optional, transitive property created by a routing reflector that is generated by a routing reflector (RR) and carries the router ID of the local as internal route initiator.
(1) When a route is first reflected by a RR, the RR adds the originator_id attribute to this route, identifying the originating router for the route. If the Originator_id property already exists in a route, the RR will not create a new originator_id.
(2) When other BGP speaker receive this route, they will compare the received originator_id and the local
Router ID, if two IDs are the same, BGP speaker ignores this route and does not process it.
The Originator_id property guarantees that the route does not loop between the reflector and the client/non client.
Cluster_list is a 4 8-bit optional id,cluster_list cluster consisting of a series of cluster_id that describes the reflector path that a route passes through, which is similar to the As_path attribute that describes the as path through which the route passes. The cluster_list is generated by the routing reflector.
More Wonderful content: http://www.bianceng.cnhttp://www.bianceng.cn/Network/lyjs/
1 when a RR reflects a route between its clients or between client and non-client, the RR adds the local cluster_id to the front of the cluster_list. If Cluster_list is empty, the RR creates one.
2 When a RR receives an update route, the RR checks for cluster_list. If there is already a local cluster_id in the cluster_list, discard the route, and if there is no local cluster_id, add it to cluster_list, The update route is then reflected.
In order to ensure that the client can learn the routes sent by the reflector, cluster_id cannot be the same as the client's router ID. If the same, the client will discard the routes it receives. Cluster_list is only propagated within as, and the routes containing cluster_list received from the EBGP peer are discarded.
Clients in a routed reflection cluster can establish a peer-to-peer relationship with external neighbors, but in a routing reflector cluster, they can only establish a peer-to-peer relationship with other customers in the internal neighbor or cluster. A RR can establish an equivalent relationship with an internal neighbor and an external neighbor outside the cluster.
This article is from the "Network Engineer" blog, please be sure to keep this source http://692344.blog.51cto.com/682344/1057254