1、公认必遵属性
Origin、AS_Path、Next_Hop
1)AS_Path:标识了前往目标网络经过的AS,路由被通告给EBGP对等体时,路由器会在该路由的AS_Path加上本地的AS号,被通告给IBGP对等体时,AS_Path不会发生改变,主要是为了确保路由在EBGP之间传递时无环 同一条路由,AS_Path越短越优先
R6将路由1.1.1.1/32传递给EBGP对等体R1时,加上了自己的AS号300
R1将路由1.1.1.1/32传递给IBGP对等体R2时,AS号没有改变
2)Origin:标识了路由的启源,通过network宣告到BGP,属性为IGP,标记为i;通过EGP学习到的属性为EGP,标记为e;通过其他方式学习到的,属性为incomplete,标记为? 例如通过import-route宣告的路由
以R1的环回口为例,在ospf进行了宣告,同时在bgp进行了network宣告和import-route ospf宣告,所以可以看到这条路由有两个属性,但是因为IGP>EGP>Incomplete,所以R1发给R2的是network宣告的路由
可以看到R2收到的是R1network宣告的路由
3)Next_Hop:指定到达目标网络的下一跳地址,路由器学习到BGP路由后,需对BGP路由的Next_Hop属性进行检查,该属性值(IP地址)必须在本地路由可达,如果不可达,则这条BGP路由不可用
a 路由器将路由发送给自己的EBGP对等体时,会将Next_Hop设置为TCP连接源地址
R1收到的这条路由,下一跳为16.0.0.6,为R6的接口地址,与R1建立TCP连接的源地址
b 路由器收到EBGP对等体通告的路由后,在将路由传递给自己的IBGP对等体时,会保持路由的Next_Hop属性不变
可以看到下一跳没有变,依然为16.0.0.6