路由反射器防环机制:Originator ID与Cluster List
一、Originator ID
- 该属性属于BGP的可选非过渡属性;
- Originator ID由RR产生,使用的Router ID的值标识路由的发送者,用于防止集群内产生路由环路;
- 当一条路由第一次被RR反射的时候,RR将Originator ID属性加入这条路由,标识这条路由的起始设备。如果一条路由中已经存在了Originator ID屡性,则RR将不会创建新的Originator ID属性(此时的Originator ID 指的是将该路由传递给RR的路由器的Router ID,不是RR的Router ID);
- 当设备接收到这条路由的时候,将比较收到的Originator ID和本地的Router ID,如果两个ID相同则不接收此路由。
二、Cluster List
- 该属性属于BGP的可选非过渡属性,用于集群间的防环,由每个路由反射器 (RR)产生,记录反射路由经过的集群;
- 路由反射器和它的客户机组成一个集群 (Cluster)。在一个AS内,每个路由反射器便用唯一的ClusterlD作为集群标识。缺省情况下,每个路由反射器使用自己的Router ID作为集群ID;
- 为了防止集群间产生路由环路,路由反射器便用Cluster List属性,记示路由经过的所有集群的Cluster ID;
- 当RR在它的客户机之间或客户机与非客户机之间反射路由时,RR会把本地Cluster ID添加到Cluster List的前面,如果Cluster List为空,RR就创建一个;
- 当RR接收到一条更新路由时,RR会检查Cluster List。 如果Cluster List中已经有本地Cluster ID,则丢弃该路由;如果Cluster List中没有本地Cluster ID,则将其加入Cluster List,然后反射该路由。