ORIGINATOR_ID
当反射器RR被部署时,ORIGINATOR_ID是在AS内部防止路由环路。
在RR环境中,第一个RR创建ORIGINATOR_ID属性,并用发起该路由的路由器标识router id设置它。
所谓发起该路由的路由器,满足以下一种情况时,ORIGINATOR_ID则是该路由器的标识router id。
1. 在本地AS始发路由的BGP宣告者,如:network方式注入;
2. AS内通过ebgp学到路由的边界路由器。
当ibgp的宣告者接收到路由包含它自己的ORIGINATOR_ID时,则丢弃该路由。
如果ORIGINATOR_ID已经存在,BGP的宣告者就不会重新创建。
举例:
不属于同一个簇的两个RR有同一个客户机R1。当R1从AS200收到172.16.0.0/16的前缀路由信息时,R1通过ibgp通告给RR1和RR2。
RR1会把从客户机收到路由通告给非客户机RR2,同理RR2也把路由通告给RR1。如图RR2到RR1会话设置了更高的weight值,因此RR2优选通过RR1的路径。
一旦RR2认为RR1是去往172.16.0.0/16的最佳路径,那么它会撤回发给RR1的路由并向R1发出172.16.0.0/16路由更新。但是R1会拒绝收RR2发来的更新,因为更新包含了R1的ORIGINATOR_ID属性,这样就防止了路由环路。
值得注意的是:第一个RR创建ORIGINATOR_ID属性,并用发起该路由的路由器router id设置它。
对应本例中,RR1创建了ORIGINATOR_ID属性,以R1的router id设置。