AS-path属性:
特点:1、公认必遵属性
2、AS间防环的属性
3、用于BGP路由的路径选择。
防环机制:
- BGP路由器将BGP路由传递给EBGP邻居的时候,会将自身AS号添加到AS-PATH属性前面。
- BGP路由器从EBGP邻居收到路由时,将会对as-path进行检查,如果这条路由的as-ptah属性,携带了自身的AS号,那么将丢弃这条路由。
- IBGP邻居之间不做AS-PATH的防环检测。
BGP添加AS号是在下面图红圈处,策略处理是在之前,所以策略修改ASpath列表的时候,添加的as号在本身的AS号之前。
例子:
上图中 ar1在as1中,有一条静态路由192.168.1.0 24 null0。将静态路由network进bgp路由协议里面。
分别在ar2和ar3上查看bgp routingtable
现在我们通过route-policy 来在ar1与ar3之间的bgp路由添加AS号,以便达到静态路由从ar1--ar2---ar3
[ar1] //系统视图
route-policy aspath permit node 10 // route-policy 创建名称为 aspath
apply as-path 99 88 77 additive // 添加 as号为 99 88 77到as-path列表中,添加顺序为77 88 99
[bgp1] //进入bgp协议视图
peer 10.0.13.3 route-policy aspath export // 在与ar3建丽bgp邻居的时候关联route-policy
查看ar3上的bgp routingtable :
从上图中我们可以得出以下结论:
1.根据bgp的选路原则,优先选择aspath短的。所以现在192.168.1.0 这条路由经过ar2到ar3。
2.策略添加的as号优先处理添加,最后在添加本身的as号,最后将bgp路由发出给邻居。
3.我们在实际添加as号到列表的时候,最好添加这边已经存在的AS号,这样可以避免在以后的网络扩展时候遇到麻烦。
命令总结: apply as-path 1 2 3 4 additive //添加as号到as-path 添加顺序为 4 3 2 1
apply as-path 1 2 3 4 overwrite // 用指定的as-path列表来覆盖原来的列表
apply as-path one overwrite // 清空之前的的as-path列表
peer allow-as-loop xx //用来配置本地的as号重复次数,默认情况下as号不允许重复。xx的取值默认为1,取值范围 1-10
bestroute as-path-ignore //配置bgp路由器选择路由的时候,忽略as-path属性的比较,直接比较下一条。
将上面的ar1的192.168.1.0 这条路由添加上as2到aspath列表。
[ar1 ] route-plicy aspath1 permit node 10 // route-policy 策略aspath1
apply as-path 3 additive //添加as3到列表
[bgp 1 ]
peer 10.0.12.2 route-policy aspath1 export //在与ar2建立bgp的时调用策略
查看ar2的bgp路由表
查看ar3的bgp路由表:egp的防环原则不允许接收含有自身as号的路由。
在ar3上使用peer allow-as-loop,并查看结果。
bestroute as-path-ignore //bgp路由器在选路的时候忽略比较as-path属性的比较,直接比较下一条。
小例子:
如上图:
在ar1 上import 静态路由192.168.1.0 24 null0 //import -route static
在ar5上network静态路由192.168.1.0 24 null0 //network 192.168.1.0 24
在ar4上策略添加as234到aspath列表 // peer 2.2.2.2 route policy aspath
// route-policy aspath permit node 10
// apply as-path 234 additive
现在我们在ar2上查看bgp 路由表
比较aspath列表的时候,宣告的路由由于列表添加了as234,所以反而没有引入的路由更优。
现在我们在ar2的路由器上通过bestroute as-path-ignore 来忽略aspath列表的比较
[ar2-bgp]
bestroute as-path-ignore
然后再查看bgptable
完毕 -----2022-04-24 上午10:53