BGP属性
路由属性是对路由的特定描述,所有的BGP路由属性都可以分为以下4类,常见BGP属性类型如表1所示:
-
公认必须遵循(Well-known mandatory):所有BGP设备都可以识别此类属性,且必须存在于Update报文中。如果缺少这类属性,路由信息就会出错。
-
公认任意(Well-known discretionary):所有BGP设备都可以识别此类属性,但不要求必须存在于Update报文中,即就算缺少这类属性,路由信息也不会出错。
-
可选过渡(Optional transitive):BGP设备可以不识别此类属性,如果BGP设备不识别此类属性,但它仍然会接收这类属性,并通告给其他对等体。
-
可选非过渡(Optional non-transitive):BGP设备可以不识别此类属性,如果BGP设备不识别此类属性,则会被忽略该属性,且不会通告给其他对等体。
-
AS_Path属性
AS_Path属性按矢量顺序记录了某条路由从本地到目的地址所要经过的所有AS编号。在接收路由时,设备如果发现AS_Path列表中有本AS号,则不接收该路由,从而避免了AS间的路由环路。
当BGP Speaker传播自身引入的路由时:
-
当BGP Speaker将这条路由通告到EBGP对等体时,便会在Update报文中创建一个携带本地AS号的AS_Path列表。
-
当BGP Speaker将这条路由通告给IBGP对等体时,便会在Update报文中创建一个空的AS_Path列表。
当BGP Speaker传播从其他BGP Speaker的Update报文中学习到的路由时:
-
当BGP Speaker将这条路由通告给EBGP对等体时,便会把本地AS编号添加在AS_Path列表的最前面(最左面)。收到此路由的BGP设备根据AS_Path属性就可以知道去目的地址所要经过的AS。离本地AS最近的相邻AS号排在前面,其他AS号按顺序依次排列。
-
当BGP Speaker将这条路由通告给IBGP对等体时,不会改变这条路由相关的AS_Path属性。
-
拓扑图
R1 基本配置
<Huawei>system-view
[Huawei]sysname R1
[R1]interface GigabitEthernet 0/0/0
[R1-GigabitEthernet0/0/0]ip address 192.168.13.1 24
[R1-GigabitEthernet0/0/0]q
[R1]interface GigabitEthernet 0/0/1
[R1-GigabitEthernet0/0/1]ip address 192.168.15.1 24
[R1-GigabitEthernet0/0/1]q
[R1]interface LoopBack 0
[R1-LoopBack0]ip address 1.1.1.1 32
配置BGP
[R1]bgp 100
[R1-bgp]router-id 1.1.1.1
[R1-bgp]peer 192.168.13.3 as-number 300
[R1-bgp]peer 192.168.15.5 as-number 500
[R1-bgp]network 1.1.1.1 32
[R1-bgp]q
更改 Path/ogn 路径的长短 改变路线
[R1]ip ip-prefix as_path permit 2.2.2.2 32
[R1]route-policy as_path permit node 10
[R1-route-policy]if-match ip-prefix as_path
[R1-route-policy]apply as-path 1000 1000 additive
[R1-route-policy]q
[R1]route-policy as_path permit node 20
Info: New Sequence of this List.
[R1-route-policy]q
[R1]bgp 100
[R1-bgp]peer 192.168.15.5 reflect-client
[R1-bgp]peer 192.168.15.5 route-policy as_path import
[R1-bgp]q
配置完结果
R2基本配置
<Huawei>system-view
[Huawei]sysname R2
[R2]interface GigabitEthernet 0/0/0
[R2-GigabitEthernet0/0/0]ip address 192.168.42.2 24
[R2-GigabitEthernet0/0/0]q
[R2]interface GigabitEthernet 0/0/1
[R2-GigabitEthernet0/0/1]ip address 192.168.26.2 24
[R2-GigabitEthernet0/0/0]q
[R2]interface LoopBack 0
[R2-LoopBack0]ip address 2.2.2.2 32
配置BGP
[R2]bgp 200
[R2-bgp]router-id 2.2.2.2
[R2-bgp]peer 192.168.26.6 as-number 500
[R2-bgp]peer 192.168.42.4 as-number 400
[R2-bgp]network 2.2.2.2 32
用 overwrite 强制改写 Path/ogn
[R2]ip ip-prefix as_path permit 1.1.1.1 32
[R2]route-policy as_path permit node 10
[R2-route-policy]if-match ip-prefix as_path
[R2-route-policy]apply as-path 300 500 500 100 overwrite
Warning: The AS-Path lists of routes to which this route-policy is applied will
be overwritten. Continue? [Y/N]y
[R2-route-policy]q
[R2]route-policy as_path permit node 20
[R2]bgp 200
[R2-bgp]peer 192.168.26.6 route-policy as_path import
[R2-bgp]q
R3 基本配置
<Huawei>system-view
[Huawei]sysname R3
[R3]interface GigabitEthernet 0/0/0
[R3-GigabitEthernet0/0/0]ip address 192.168.13.3 24
[R3-GigabitEthernet0/0/0]q
[R3]interface GigabitEthernet 0/0/1
[R3-GigabitEthernet0/0/1]ip address 192.168.34.3 24
配置BGP
[R3]bgp 300
[R3-bgp]router-id 3.3.3.3
[R3-bgp]peer 192.168.13.1 as-number 100
[R3-bgp]peer 192.168.34.4 as-number 400
R4 基本配置
<Huawei>system-view
[Huawei]sysname R4
[R4]interface GigabitEthernet 0/0/0
[R4-GigabitEthernet0/0/0]ip address 192.168.34.4 24
[R4-GigabitEthernet0/0/0]q
[R4]interface GigabitEthernet 0/0/1
[R4-GigabitEthernet0/0/1]ip address 192.168.42.4 24
BGP配置
[R4]bgp 400
[R4-bgp]router-id 4.4.4.4
[R4-bgp]peer 192.168.34.3 as-number 300
[R4-bgp]peer 192.168.42.2 as-number 200
R5 基本配置
<Huawei>system-view
[Huawei]sysname R5
[R5]interface GigabitEthernet 0/0/0
[R5-GigabitEthernet0/0/0]ip address 192.168.65.5 24
[R5-GigabitEthernet0/0/0]q
[R5]interface GigabitEthernet 0/0/1
[R5-GigabitEthernet0/0/1]ip address 192.168.15.5 24
配置BGP
[R5]bgp 500
[R5-bgp]router-id 5.5.5.5
[R5-bgp]peer 192.168.15.1 as-number 100
[R5-bgp]peer 192.168.65.6 as-number 500
[R5-bgp]peer 192.168.65.6 next-hop-local //R5 R6 下一跳要指定 local
R6 基本配置
<Huawei>system-view
[Huawei]sysname R6
[R6]interface GigabitEthernet 0/0/0
[R6-GigabitEthernet0/0/0]ip address 192.168.26.6 24
[R6-GigabitEthernet0/0/0]q
[R6]interface GigabitEthernet 0/0/1
[R6-GigabitEthernet0/0/1]ip address 192.168.65.6 24
配置BGP
[R6]bgp 500
[R6-bgp]router-id 6.6.6.6
[R6-bgp]peer 192.168.65.5 as-number 500
[R6-bgp]peer 192.168.26.2 as-number 200
[R6-bgp]peer 192.168.65.5 next-hop-local //R5 R6 下一跳要指定 local