BGP基础-路径属性

 

Update报文如下

 

 

 

公认必遵属性一:Origin标识了BGP路由的起源

 

  •   Origin属性为公认必遵属性,它标识了BGP路由的起源。如上表所示,根据路由被引入BGP的方式不同,存在三种

     类型的Origin

  •      当去往同一个目的地存在多条不同Origin属性的路由时,在其他条件都相同的情况下,BGP将按如Origin的
      下顺序优选路由:IGP > EGP > Incomplete

      

在BGP路由表在Ogn项下用i ? e符号进行标记,如下截图

 

 

 

公认必遵属性二:AS_Path   

  • AS_Path该属性描述前往目标路由经过的AS号列表
  • 作用:确保路由在EBGP之间传递无环路,也是作为最优路由的衡量标准之一
  • AS_Path号只有经过EBGP对等体时才会追加本区域的AS号;经过IBGP对等体时,AS_Path不会发生改变

 

 已上图的实验背景为例。AR5路由器到达10.1.1.1路由条目路径有两条AS5-AS4-AS1和AS5-AS3-SA1;正常情况下AR2路径为最优路径,AR3为次优路径。最优路径AS_Path属性为300 100i,次优路径AS_Path属性为500 200 100i。如下截图所示

 

 

使用策略修改AS属性有三种方式:

 

 

  实验验证一:追加AS_Path,修改次优路径

    目标:将AR5前往10.1.1.1的最优路径AR5-AR4-AR1修改为次优路径

      方法一:在AR1或者AR4路由出方向追加AS_Path

[AR4]ip ip-prefix ar1 permit 10.1.1.1 32 greater-equal 32 less-equal 32
[AR4]ip ip-prefix ar2 index 10 permit 1.1.1.1 32 greater-equal 32 less-equal 32
[AR4]route-policy ar1 permit node 10 [AR4-route-policy]if-match ip-prefix ar1 [AR4-route-policy]apply as-path 600 700 additive
[AR4]route-policy ar1 permit node 2
[AR4-route-policy]if-match ip-prefix ar2
[AR4-route-policy]q
#配置路由策略:只针对10.1.1.1路由修改AS_Path,其余路由路径属性不变
[AR4]bgp 300
[AR4-bgp]peer 10.1.45.5 route-policy ar1 export
在BGP路由出方向应用策略

  

    验证结果截图:在AR5查看BGP路由表,最优路径已修改为AR5-AR3-AR2-AR1路径

     

 

    配置生效后的AR5的抓包信息

 

     第一条UPDATA报文:

 

 

    第二条UPDATA报文

 AR4发送AR5更新报文中会说明更新的路由条目信息,来源,AS_Path路径信息,AR5访问1.1.1.1的下一跳地址是AR4的出口地址

 

 

 

    第三个UPDATA报文

 在AR5收到AR4关于10.1.1.1更新报文后,自身BGP路由表中关于10.1.1.1最优路径改变成AR5-AR3-AR2-AR1路径。会发送最新访问10.1.1.1路径信息给邻居。

 

 

 

 

  方法二:在AR5接受路由入方向应用路由策略修改AS_Path

    AR5配置策略如下

[AR5]ip ip-prefix ar1 index 10 permit 10.1.1.1 32 greater-equal 32 less-equal 32
[AR5]acl 2001
[AR5-acl-basic-2001]rule 10 permit source any 
#写路由的匹配规则

[AR5]route-policy ar1 permit node 10 
[AR5-route-policy]if-match ip-prefix ar1 
[AR5-route-policy]apply as-path 600 700 additive
#配置名称为ar1,节点10的策略;引用ar1匹配规则

[AR5]route-policy ar1 permit node 20
[AR5-route-policy]if-match acl 2001 
#配置名称为ar1,节点20的策略;引用访问控制列表ACL 2001匹配规则
#代表只针对10.1.1.1路径属性AS_Path修改;其他路由条目信息不变

[AR5]bgp 400
[AR5-bgp]peer 10.1.45.4 route-policy ar1 import  
#应用在路由传入方向

  

 

 

    验证结果截图:在AR5查看BGP路由表,最优路径已修改为AR5-AR3-AR2-AR1路径

 

 

 

  实验验证二:替换AS_Path新值

  

 初始状态下,前往10.1.1.1最优路径是AS300-AS100路线

 

 

 

可以通过overwrite替换新的AS_Path的方式修改,配置与验证一配置相同,在apply动作改为overwrite

[AR5]ip ip-prefix ar1 index 10 permit 10.1.1.1 32 greater-equal 32 less-equal 32
[AR5]acl 2001
[AR5-acl-basic-2001]rule 10 permit source any 
#写路由的匹配规则

[AR5]route-policy ar1 permit node 10 
[AR5-route-policy]if-match ip-prefix ar1 
[AR5-route-policy]apply as-path 600 700 800 900 overwrite 
#配置名称为ar1,节点10的策略;引用ar1匹配规则

[AR5]route-policy ar1 permit node 20
[AR5-route-policy]if-match acl 2001 
#配置名称为ar1,节点20的策略;引用访问控制列表ACL 2001匹配规则
#代表只针对10.1.1.1路径属性AS_Path修改;其他路由条目信息不变

[AR5]bgp 400
[AR5-bgp]peer 10.1.45.4 route-policy ar1 import  
#应用在路由传入方向

  

结果验证:配置生效后,BGP路由表中的属性会按照新的AS_Path显示

 

连通性测试结果:正常通信

 

 

 

  实验验证三:清空AS_Path方式修改路径属性,配置基本相同,apply后面参数不同。不做记录

 

 

 公认必遵属性三——NEXT_HOP 

  • NEXT_HOP是一个公认必遵属性,用于指定到达目标网络的下一跳地址。
  • 当路由器学习到BGP路由后,需对BGP路由的Next_Hop属性值进行检查,该属性值(IP地址)必须
     在本地路由可达,如果不可达,则这条BGP路由不可用。

 

 AR5路由与AR2路由器单纯建立BGP对等体关系

AR2路由器与AR5路由器对等体配置

 

 

 AR2路由器BGP路由表从EBGP对等体学习到1.1.1.1路由条目。该条目会传输给IBGP对等体AR5

 

 

AR5路由器上BGP学习到1.1.1.1路由,但是该路由条目不可用;

 

因为1.1.1.1路由的下一跳地址是AR1路由器接口地址,AR5路由器路由无法到达202.102.1.1,所以该路由不可用,不收录到路由表中

 

实现AR5学习到1.1.1.1有效路由,需要AR2将1.1.1.1路由的针对所以IBGP路由器的NEXT_TOP下一跳属性修改为自身的接口地址;

添加配置如下

[AR2-bgp]peer 3.3.3.3 next-hop-local
[AR2-bgp]peer 4.4.4.4 next-hop-local
[AR2-bgp]peer 5.5.5.5 next-hop-local

 

 

AR5路由器BGP路由表中1.1.1.1下一跳地址AR2的Loopback0地址。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

公认任意属性之一:Local_Prefernce

 

 

 

• Local_Preference即本地优先级属性,是公认任意属性,通告同一AS内的路由器,哪条路径是离开本AS的首选路径。
• Local_Preference属性值越大则BGP路由越优。缺省的Local_Preference值为100。
• 该属性只能被传递给IBGP对等体,而不能传递给EBGP对等体

 

    实验验证一:通过Route-policly在AR10路由器改变Local_Preference,使前往7.7.7.7路由下一跳地址为8.8.8.8

AR10路由器的配置

[AR10]ip ip-prefix r7 index 10 permit 7.7.7.7 32 greater-equal 32 less-equal 32
[AR10]ip ip-prefix r8 index 10 permit 0.0.0.0 0 greater-equal 0 less-equal 0
#匹配条件

[AR10]route-policy a7 permit node 10 
[AR10-route-policy]if-match ip-prefix a7 
[AR10-route-policy]apply local-preference 200 
#匹配条件应用到Route-policy的第10条策略

[AR10]route-policy a7 permit node 20
[AR10-route-policy]if-match ip-prefix r8
#匹配条件应用到Route-policy的第20条策略

[AR10]bgp 200
[AR10-bgp]peer 8.8.8.8 route-policy a7 import 
#策略应用到BGP接受AR8路由器路由的入方向

  

 

 

策略生效后,7.7.7.7路由条目下一跳8.8.8.8Local_preference优先值变为200,200大于100,所以优先走AR8路由器

 除了增大8.8.8.8的优先值外,还可以减小9.9.9.9优先值;或者在AR8,AR9出方向引用对应的减小或增大优先值的策略

 

 

 

 

 

 

公认任意属性之二:Atomic_Aggregate

 

 

Atomic_Aggregate:该标记代表手动聚合BGP路由条目;收到该聚合条目的设备无法学习聚合路由的详细路由条目。

UPDATA报文如下:

 

AS100路由器聚合路由配置如下:

[AS100-bgp]aggregate 172.16.0.0 23 detail-suppressed as-set 
#在BGP配置视图下,aggregate 手动聚合命令
#detail-suppressed 抑制明细路由
#as-set 继承明细路由的AS路径属性

  

查看AS400路由器路由表,路由表只学习172.16.0.0/23 聚合路由条目;172.16.0.0/24和172.16.1.0/24的详细路由已抑制无法学习

 

 

 

AS400路由器查看BGP路由表172.16.0.0/23的详细路由条目;带有Atomic_Aggregate标识,做聚合路由设备的AS号,设备ID信息

 

 

 

 

 

 

可选过度属性之一:Aggregator

Aggregator聚合路由都会带有的标记,标明了做聚合路由配置的路由器的AS号,设备ID信息

 

 

 

posted @ 2023-08-29 17:04  广东二十一郎  阅读(184)  评论(0编辑  收藏  举报