概述
学习边界网关协议BGP的关键在于如何理解和应用协议的“属性”,因此,本期文章将向小伙伴总结分享BGP的第四个属性——协议首选值(PrefVal)属性。
BGP组网案例-协议首选值(PrefVal)属性
组网拓扑图
组网拓扑图和地址规划如下图所示。 备注:模拟器采用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.20.0.1 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.20.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.30.0.1 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.30.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.30.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.20.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 20
[SW_1-bgp-default] peer 10.10.13.2 as-number 30
[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_1]save f
Validating file. Please wait...
Saved the current configuration to mainboard device successfully.
[SW_1]#
#SW_2设备BGP配置
[SW_2]bgp 20
[SW_2-bgp-default] router-id 10.20.0.2
[SW_2-bgp-default] peer 10.10.12.1 as-number 10
[SW_2-bgp-default] peer 10.20.24.2 as-number 40
[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.20.24.2 enable
[SW_2-bgp-default-ipv4]quit
[SW_2-bgp-default]quit
[SW_2]save f
Validating file. Please wait...
Saved the current configuration to mainboard device successfully.
[SW_2]#
#SW_3设备BGP配置
[SW_3]bgp 30
[SW_3-bgp-default] router-id 10.20.0.3
[SW_3-bgp-default] peer 10.10.13.1 as-number 10
[SW_3-bgp-default] peer 10.30.34.2 as-number 40
[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.30.34.2 enable
[SW_3-bgp-default-ipv4]quit
[SW_3-bgp-default]quit
[SW_3]save f
Validating file. Please wait...
Saved the current configuration to mainboard device successfully.
[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.30.34.1 as-number 30
[SW_4-bgp-default] peer 10.20.24.1 as-number 20
[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.30.34.1 enable
[SW_4-bgp-default-ipv4] peer 10.20.24.1 enable
[SW_4-bgp-default-ipv4]quit
[SW_4-bgp-default]quit
[SW_4]save f
Validating file. Please wait...
Saved the current configuration to mainboard device successfully.
[SW_4]
查看SW_1设备BGP路由表-配置PrefVal属性前
从SW_1设备BGP路由表可知:至目标192.168.41.1/32和192.168.42.1/32的最优路径,它们的下一跳都是10.10.12.2并且PrefVal都是0。
调试SW_1设备配置-设置协议首选值(PrefVal)属性
设置协议首选值(PrefVal)属性
[SW_1]#定义地址前缀列表L20和L30
[SW_1]ip prefix-list L20 index 10 permit 192.168.41.1 32
[SW_1]ip prefix-list L30 index 10 permit 192.168.42.1 32
#定义路由策略RP_L20节点5,匹配L20地址前缀列表的路由,赋予协议首选值为10;
[SW_1]route-policy RP_L20 permit node 5
[SW_1-route-policy-RP_L20-5]if-match ip address prefix-list L20
[SW_1-route-policy-RP_L20-5]apply preferred-value 10
[SW_1-route-policy-RP_L20-5]quit
[SW_1]
#定义路由策略RP_L20节点10,不设置匹配条件,允许其他路由通过路由策略
[SW_1]route-policy RP_L20 permit node 10
[SW_1-route-policy-RP_L20-10]quit
[SW_1]
#定义路由策略RP_L30节点5,匹配L30址前缀列表的路由,赋予协议首选值为10;
[SW_1]route-policy RP_L30 permit node 5
[SW_1-route-policy-RP_L30-5]if-match ip address prefix-list L30
[SW_1-route-policy-RP_L30-5]apply preferred-value 10
[SW_1-route-policy-RP_L30-5]quit
[SW_1]#定义路由策略RP_L30节点10,不设置匹配条件,允许其他路由通过路由策略
[SW_1]route-policy RP_L30 permit node 10
[SW_1-route-policy-RP_L30-10]quit
[SW_1]
#BGP对等体调用对应的路由策略,注意是import方向
[SW_1]bgp 10
[SW_1-bgp-default]address-family ipv4 unicast
[SW_1-bgp-default-ipv4]peer 10.10.12.2 route-policy RP_L20 import
[SW_1-bgp-default-ipv4]peer 10.10.13.2 route-policy RP_L30 import
[SW_1-bgp-default-ipv4]quit
[SW_1-bgp-default]quit
[SW_1]
查看SW_1设备BGP路由表-配置PrefVal属性后
从SW_1设备BGP路由表可知:
至目标192.168.41.1/32的最优路径,它的下一跳是10.10.12.2并且PrefVal是10,而备用路径的下一跳是10.10.13.2并且PrefVal是0。
至目标192.168.42.1/32的最优路径,它的下一跳是10.10.13.2并且PrefVal是10,而备用路径的下一跳是10.10.12.2并且PrefVal是0。
总结
协议首选值(PrefVal)属性,它是一种厂商(华为和华三)自定义的私有属性,类似Cisco IOS中的管理性权值(Administrative Weight)。该属性仅在本地有效,不会传递给BGP邻居。因为协议首选值是人为主动设置的,代表本地用户的意愿,因而在BGP进行选路时会优先比较协议首选值。
当到达同一地址前缀有多条路由时,优先选择首选值大的路由。缺省情况下,从邻居学来的路由的初始首选值为0。