一、优选AS_Path属性值最短的路由
AS_Path:这是BGP中最重要的属性之一,它记录了路由信息经过的所有自治系统。AS_Path属性帮助接收路由信息的路由器了解该路由的来源和路径。AS_Path由一系列的自治系统号组成,这些自治系统号代表了路由信息在到达当前路由器之前所经过的所有AS。
AS_Path的作用:
-  
   
确定来源和路径  -  
   
防止环路  -  
   
用于BGP路由优选  
1.1 确定来源和路径
AS_Path记录了路由信息经过的所有自治系统,表示为 [as number] [asnumber],然后顺序是从右到左。
 这表示8.8.8.8/32这个路由条目是起源于AS400,然后经过AS300到达自己的。
1.2 防止环路
AS_Path的预防环路功能:当一个路由器接收到一个路由更新时,它会检查AS_Path属性,如果发现其中包含了自己的自治系统号,那么它将不会接受该路由,从而避免路由环路的产生。
路由器不会接受带有自身AS号的路由。
简单说就是从自己发出去的路由不会再接收回来,防止环路产生。
1.3 BGP路由优选
最后就是AS_Path在前面三个路由选路原则一致的情况下用于路由优选。
 
  
 
  R3通告的BGP路由拥有更短的AS_Path,在前几条优选规则一致的情况下,R1优选R3通告的BGP路由。
这里需要注意AS_Path是比较路径的长短而不是AS号的大小。因此as : 100 和as : 200是相等的,我们需要改变优先级可以增长这个列表的长度,可以通过路由策略来实现。
以之前拓扑为例:
 
  AR1从两边学习的AS_Path路径是相等的。
 
  通过路由策略可以在AR2通告出去给AR1时增加AS或者在AR1接收时增加AS。
# 匹配前缀列表add_as
ip ip-prefix add_as index 10 permit 192.168.1.0 24
# 配置路由策略add_as
route-policy add_as permit node 10 
 if-match ip-prefix add_as 
 apply as-path 500 additive        # 这里写增加的as,可以选择additive(增加)或者overwrite(覆盖)
#
route-policy add_as permit node 20 
# 在AR2 的BGP中发送给邻居1.1.1.1的时候调用
bgp 100
 peer 1.1.1.1 as-number 100 
 peer 1.1.1.1 connect-interface LoopBack0
 peer 3.3.3.3 as-number 100 
 peer 3.3.3.3 connect-interface LoopBack0
 peer 10.1.24.4 as-number 200 
 #
 ipv4-family unicast
  undo synchronization
  peer 1.1.1.1 enable
  peer 1.1.1.1 route-policy add_as export      # 调用路由策略
  peer 1.1.1.1 next-hop-local 
  peer 3.3.3.3 enable
  peer 10.1.24.4 enable
 
 结果:优选AR3路由,因为AS_Path属性短。
 
  需要注意的是,我们通过手动增加的方式AS号有可能是实际使用的,会导致出现问题,所以可以使用自身AS号增加,也就是AS100。
总结:AS_Path是BGP路由属性中的一个重要属于,用于确定路由的来源和路径,防止环路,以及在前面几条BGP选路原则无法优选情况下进行BGP路由优选。通过增加AS_Path的长度控制路由,需要注意AS_Path是比较AS列表的长度而不是AS号的大小。
如果对文章感兴趣欢迎微信搜索公众号:不喜欢热闹的孩子 
本文由 mdnice 多平台发布




![[next.js]移动端调试vconsole](https://img-blog.csdnimg.cn/direct/ee7714ef43924b7296641e920f0bed5e.png)

![[linux]如何跟踪linux 内核运行的流程呢](https://img-blog.csdnimg.cn/direct/c4396f3d66e74b6e84e46fd5fe839747.png)












