概述
学习边界网关协议BGP的关键在于如何理解和应用协议的“属性”,因此,本期文章将向小伙伴总结分享BGP的第五个属性——本地优先级(Local_Pref)属性。
BGP组网案例-本地优先级(Local_Pref)属性
组网拓扑图
组网拓扑图和地址规划如下图所示。 备注:模拟器采用HCL 5.5.0
组网设备基础配置
组网设备基础配置主要涉及设备命名和接口IP地址配置。
#SW_1设备基础配置
[H3C]sysname SW_1
[SW_1]interface LoopBack0
[SW_1-LoopBack0] ip address 10.10.0.1 255.255.255.255
[SW_1-LoopBack0]quit
[SW_1]interface LoopBack1
[SW_1-LoopBack1] ip address 172.16.10.1 255.255.255.255
[SW_1-LoopBack1]quit
[SW_1]interface GigabitEthernet1/0/2
[SW_1-GigabitEthernet1/0/2] port link-mode route
[SW_1-GigabitEthernet1/0/2] ip address 10.10.12.1 255.255.255.252
[SW_1-GigabitEthernet1/0/2]quit
[SW_1]interface GigabitEthernet1/0/3
[SW_1-GigabitEthernet1/0/3] port link-mode route
[SW_1-GigabitEthernet1/0/3] ip address 10.10.13.1 255.255.255.252
[SW_1-GigabitEthernet1/0/3]quit
[SW_1]
#SW_2设备基础配置
[H3C]sysname SW_2
[SW_2]interface LoopBack0
[SW_2-LoopBack0] ip address 10.10.0.2 255.255.255.255
[SW_2-LoopBack0]quit
[SW_2]interface GigabitEthernet1/0/2
[SW_2-GigabitEthernet1/0/2] port link-mode route
[SW_2-GigabitEthernet1/0/2] ip address 10.10.12.2 255.255.255.252
[SW_2-GigabitEthernet1/0/2]quit
[SW_2]interface GigabitEthernet1/0/4
[SW_2-GigabitEthernet1/0/4] port link-mode route
[SW_2-GigabitEthernet1/0/4] ip address 10.10.24.1 255.255.255.252
[SW_2-GigabitEthernet1/0/4]quit
[SW_2]
#SW_3设备基础配置
[H3C]sysname SW_3
[SW_3]interface LoopBack0
[SW_3-LoopBack0]ip address 10.10.0.3 255.255.255.255
[SW_3-LoopBack0]quit
[SW_3]interface GigabitEthernet1/0/3
[SW_3-GigabitEthernet1/0/3] port link-mode route
[SW_3-GigabitEthernet1/0/3] ip address 10.10.13.2 255.255.255.252
[SW_3-GigabitEthernet1/0/3]quit
[SW_3]interface GigabitEthernet1/0/4
[SW_3-GigabitEthernet1/0/4] port link-mode route
[SW_3-GigabitEthernet1/0/4] ip address 10.10.34.1 255.255.255.252
[SW_3-GigabitEthernet1/0/4]quit
[SW_3]
#SW_4设备基础配置
[SW_4]sysname SW_4
[SW_4]interface LoopBack0
[SW_4-LoopBack0] ip address 10.40.0.1 255.255.255.255
[SW_4-LoopBack0]quit
[SW_4]interface LoopBack1
[SW_4-LoopBack1] ip address 192.168.41.1 255.255.255.255
[SW_4-LoopBack1]quit
[SW_4]interface LoopBack2
[SW_4-LoopBack2] ip address 192.168.42.1 255.255.255.255
[SW_4-LoopBack2]quit
[SW_4]interface GigabitEthernet1/0/1
[SW_4-GigabitEthernet1/0/1] port link-mode route
[SW_4-GigabitEthernet1/0/1] ip address 10.10.34.2 255.255.255.252
[SW_4-GigabitEthernet1/0/1]quit
[SW_4]interface GigabitEthernet1/0/4
[SW_4-GigabitEthernet1/0/4] port link-mode route
[SW_4-GigabitEthernet1/0/4] ip address 10.10.24.2 255.255.255.252
[SW_4-GigabitEthernet1/0/4]quit
[SW_4]ip ttl-expires enable
[SW_4]ip unreachables enable
组网设备BGP配置
#SW_1设备BGP配置
[SW_1]bgp 10
[SW_1-bgp-default] router-id 10.10.0.1
[SW_1-bgp-default] peer 10.10.12.2 as-number 10
[SW_1-bgp-default] peer 10.10.13.2 as-number 10
[SW_1-bgp-default] address-family ipv4 unicast
[SW_1-bgp-default-ipv4]network 172.16.10.1 32
[SW_1-bgp-default-ipv4] peer 10.10.12.2 enable
[SW_1-bgp-default-ipv4]peer 10.10.13.2 enable
[SW_1-bgp-default-ipv4]quit
[SW_1-bgp-default]quit
#SW_2设备BGP配置
[SW_2]bgp 10
[SW_2-bgp-default] router-id 10.10.0.2
[SW_2-bgp-default] peer 10.10.12.1 as-number 10
[SW_2-bgp-default] peer 10.10.24.2 as-number 40
[SW_2-bgp-default] #
[SW_2-bgp-default] address-family ipv4 unicast
[SW_2-bgp-default-ipv4] peer 10.10.12.1 enable
[SW_2-bgp-default-ipv4]peer 10.10.12.1 next-hop-local
[SW_2-bgp-default-ipv4] peer 10.10.24.2 enable
[SW_2-bgp-default-ipv4]quit
[SW_2-bgp-default]quit
[SW_2]
#SW_3设备BGP配置
[SW_3]bgp 10
[SW_3-bgp-default] router-id 10.10.0.3
[SW_3-bgp-default] peer 10.10.13.1 as-number 10
[SW_3-bgp-default] peer 10.10.34.2 as-number 40
[SW_3-bgp-default] #
[SW_3-bgp-default]address-family ipv4 unicast
[SW_3-bgp-default-ipv4]peer 10.10.13.1 enable
[SW_3-bgp-default-ipv4]peer 10.10.13.1 next-hop-local
[SW_3-bgp-default-ipv4]peer 10.10.34.2 enable
[SW_3-bgp-default-ipv4]quit
[SW_3-bgp-default]quit
[SW_3]
#SW_4设备BGP配置
[SW_4]bgp 40
[SW_4-bgp-default] router-id 10.40.0.1
[SW_4-bgp-default] peer 10.10.24.1 as-number 10
[SW_4-bgp-default] peer 10.10.34.1 as-number 10
[SW_4-bgp-default] #
[SW_4-bgp-default] address-family ipv4 unicast
[SW_4-bgp-default-ipv4] network 192.168.41.1 255.255.255.255
[SW_4-bgp-default-ipv4] network 192.168.42.1 255.255.255.255
[SW_4-bgp-default-ipv4] peer 10.10.24.1 enable
[SW_4-bgp-default-ipv4] peer 10.10.34.1 enable
[SW_4-bgp-default-ipv4]quit
[SW_4-bgp-default]quit
[SW_4]
查看SW_1设备BGP路由表-配置Local_Pref属性前
从SW_1设备BGP路由表可知:至目标192.168.41.1/32和192.168.42.1/32的最优路径,它们的下一跳都是10.10.12.2并且Local_Pref都是100。
调试SW_2和SW_3设备配置-设置Local_Pref属性
SW_2设备-设置Local_Pref属性
#定义地址前缀列表L20
[SW_2]ip prefix-list L20 index 10 permit 192.168.41.1 32
#定义路由策略RP_L20节点5,匹配L20地址前缀列表的路由,赋予本地优先级值120;[SW_2]route-policy RP_L20 permit node 5
[SW_2-route-policy-RP_L20-5]if-match ip address prefix-list L20
[SW_2-route-policy-RP_L20-5]apply local-preference 120
[SW_2-route-policy-RP_L20-5]quit
#定义路由策略RP_L20节点10,不设置匹配条件,允许其他路由通过路由策略
[SW_2]route-policy RP_L20 permit node 10
[SW_2-route-policy-RP_L20-10]quit
#SW_2设备BGP相关配置
[SW_2]bgp 10
[SW_2-bgp-default]address-family ipv4 unicast
#BGP对等体调用对应的路由策略,注意是export方向
[SW_2-bgp-default-ipv4]peer 10.10.12.1 route-policy RP_L20 export
[SW_2-bgp-default-ipv4]quit
[SW_2-bgp-default]quit
[SW_2]
SW_3设备-设置Local_Pref属性
#定义地址前缀列表L30
[SW_3]ip prefix-list L30 index 10 permit 192.168.42.1 32
#定义路由策略RP_L30节点5,匹配L30址前缀列表的路由,赋予本地优先级值120;
[SW_3]route-policy RP_L30 permit node 5
[SW_3-route-policy-RP_L30-5]if-match ip address prefix-list L30
[SW_3-route-policy-RP_L30-5]apply local-preference 120
[SW_3-route-policy-RP_L30-5]quit
#定义路由策略RP_L30节点10,不设置匹配条件,允许其他路由通过路由策略
[SW_3]route-policy RP_L30 permit node 10
[SW_3-route-policy-RP_L30-10]quit
[SW_3]
#SW_3设备BGP相关配置
[SW_3]bgp 10
[SW_3-bgp-default]address-family ipv4 unicast
#BGP对等体调用对应的路由策略,注意是export方向
[SW_3-bgp-default-ipv4]peer 10.10.13.1 route-policy RP_L30 export
[SW_3-bgp-default-ipv4]quit
[SW_3-bgp-default]quit
[SW_3]
查看SW_1设备BGP路由表-配置Local_Pref属性后
从SW_1设备BGP路由表可知:
至目标192.168.41.1/32的最优路径,它的下一跳是10.10.12.2并且Local_Pref是120,而备用路径的下一跳是10.10.13.2并且Local_Pref是100。
至目标192.168.42.1/32的最优路径,它的下一跳是10.10.13.2并且Local_Pref是120,而备用路径的下一跳是10.10.12.2并且Local_Pref是100。
在SW_2设备的G1/0/2接口抓包截图如下图所示,SW_2设备向SW_1设备发送的BGP UPDATE更新报文中,目标192.168.41.1/32的路由,Local_Pref是120。
总结
Local_Pref属性是一种“公认任意”类型的属性。
Local_Pref属性表明路由器的BGP优先级,用于判断流量离开AS时的最佳路由。当BGP的设备通过不同的IBGP对等体得到目的地址相同但下一跳不同的多条路由时,将优先选择Local_Pref属性值较高的路由。
Local_Pref属性仅在IBGP对等体之间有效,不通告给其他AS。
Local_Pref属性可以手动配置,如果路由没有配置Local_Pref属性,BGP选路时将该路由的Local_Pref值按缺省值100来处理。
备注:
公认任意(Well-known discretionary):所有BGP设备都可以识别此类属性,但不要求必须存在于Update报文中,即就算缺少这类属性,路由信息也不会出错。