1、实验环境
以华为模拟器eNSP为实验环境,结合wireshark抓包进行BGP/MPLS ××× OptionA 控制层面、数据层面以及日常排错三个方面进行研究;如下图所示:
Public routing table : OSPF
Destinations : 3 Routes : 3
OSPF routing table status :
Destinations : 3 Routes : 3
Destination/Mask Proto Pre Cost Flags NextHop Interface
1.1.1.1/32 OSPF 10 2 D 23.23.23.2 GigabitEthernet
0/0/1
2.2.2.2/32 OSPF 10 1 D 23.23.23.2 GigabitEthernet
0/0/1
12.12.12.0/24 OSPF 10 2 D 23.23.23.2 GigabitEthernet
0/0/1
OSPF routing table status :
Destinations : 0 Routes : 0
查看MPLS LDP session:
LSP Information: LDP LSP
Public routing table : OSPF
Destinations : 3 Routes : 3
OSPF routing table status :
Destinations : 3 Routes : 3
Destination/Mask Proto Pre Cost Flags NextHop Interface
5.5.5.5/32 OSPF 10 1 D 45.45.45.5 GigabitEthernet
0/0/1
6.6.6.6/32 OSPF 10 2 D 45.45.45.5 GigabitEthernet
0/0/1
56.56.56.0/24 OSPF 10 2 D 45.45.45.5 GigabitEthernet
0/0/1
OSPF routing table status :
Destinations : 0 Routes : 0
查看MPLS LDP session:
LSP Information: LDP LSP
FEC In/Out Label In/Out IF Vrf Name
4.4.4.4/32 3/NULL -/-
5.5.5.5/32 NULL/3 -/GE0/0/1
5.5.5.5/32 1024/3 -/GE0/0/1
6.6.6.6/32 NULL/1025 -/GE0/0/1
6.6.6.6/32 1025/1025 -/GE0/0/1
2)配置各个站点CE与PE的×××实例:
①ISP1:
PE1:
ip ***-instance spi
ipv4-family
route-distinguisher 100:1
***-target 100:1 export-extcommunity
***-target 100:1 import-extcommunity
interface GigabitEthernet0/0/1
ip binding ***-instance spi
ip address 192.168.1.254 255.255.255.0
ip ***-instance spd
ipv4-family
route-distinguisher 200:1
***-target 200:1 export-extcommunity
***-target 200:1 import-extcommunity
interface GigabitEthernet0/0/2
ip binding ***-instance spd
ip address 10.10.1.254 255.255.255.0
ping测试站点到网关
②ISP2
PE2:
ip ***-instance spi
ipv4-family
route-distinguisher 100:1
***-target 100:1 export-extcommunity
***-target 100:1 import-extcommunity
interface GigabitEthernet0/0/1
ip binding ***-instance spi
ip address 192.168.2.254 255.255.255.0
ip ***-instance spd
ipv4-family
route-distinguisher 200:1
***-target 200:1 export-extcommunity
***-target 200:1 import-extcommunity
interface GigabitEthernet0/0/2
ip binding ***-instance spd
ip address 10.10.2.254 255.255.255.0
ping测试站点到网关
3)配置MP-BGP在PE与ASBR之间传递×××V4站点×××V4私网路由:
①ISP1
建立MP-BGP连接:
PE1:
bgp 100
undo default ipv4-unicast
peer 3.3.3.3 as-number 100
peer 3.3.3.3 connect-interface LoopBack0
ipv4-family unicast
undo synchronization
peer 3.3.3.3 enable
ipv4-family ***v4
policy ***-target
peer 3.3.3.3 enable
ASBR1:
bgp 100
undo default ipv4-unicast
peer 1.1.1.1 as-number 100
peer 1.1.1.1 connect-interface LoopBack0
ipv4-family unicast
undo synchronization
peer 1.1.1.1 enable
ipv4-family ***v4
policy ***-target
peer 1.1.1.1 enable
查看MP-BGP建立连接情况:
[ASBR1]dis bgp ***v4 all peer
BGP local router ID : 3.3.3.3
Local AS number : 100
Total number of peers : 1 Peers in established state : 1
Peer V AS MsgRcvd MsgSent OutQ Up/Down State Pre
fRcv
1.1.1.1 4 100 9 9 0 00:07:51 Established 0
宣告×××路有到MP-BGP:
PE1:
ipv4-family ***-instance spd
network 10.10.1.0 255.255.255.0
ipv4-family ***-instance spi
network 192.168.1.0
查看***v4私网路由路有从PE1传递到ASBR1情况:
BGP Local router ID is 3.3.3.3
Status codes: * - valid, > - best, d - damped,
h - history, i - internal, s - suppressed, S - Stale
Origin : i - IGP, e - EGP, ? - incomplete
Total number of routes from all PE: 2
Route Distinguisher: 100:1
Network NextHop MED LocPrf PrefVal Path/Ogn
*>i 192.168.1.0 1.1.1.1 0 100 0 i
Route Distinguisher: 200:1
Network NextHop MED LocPrf PrefVal Path/Ogn
*>i 10.10.1.0/24 1.1.1.1 0 100 0 i
×××-Instance spd, Router ID 3.3.3.3:
Total Number of Routes: 1
Network NextHop MED LocPrf PrefVal Path/Ogn
*>i 10.10.1.0/24 1.1.1.1 0 100 0 i
×××-Instance spi, Router ID 3.3.3.3:
Total Number of Routes: 1
Network NextHop MED LocPrf PrefVal Path/Ogn
*>i 192.168.1.0 1.1.1.1 0 100 0 i
①ISP2
建立MP-BGP连接:
PE2:
bgp 200
undo default ipv4-unicast
peer 4.4.4.4 as-number 200
peer 4.4.4.4 connect-interface LoopBack0
ipv4-family unicast
undo synchronization
peer 4.4.4.4 enable
ipv4-family ***v4
policy ***-target
peer 4.4.4.4 enable
ASBR2:
bgp 200
undo default ipv4-unicast
peer 6.6.6.6 as-number 200
peer 6.6.6.6 connect-interface LoopBack0
ipv4-family unicast
undo synchronization
peer 6.6.6.6 enable
ipv4-family ***v4
policy ***-target
peer 6.6.6.6 enable
BGP local router ID : 4.4.4.4
Local AS number : 200
Total number of peers : 1 Peers in established state : 1
Peer V AS MsgRcvd MsgSent OutQ Up/Down State Pre
fRcv
6.6.6.6 4 200 3 3 0 00:01:55 Established 0
宣告×××路有到MP-BGP:
PE2
ipv4-family ***-instance spd
network 10.10.2.0 255.255.255.0
ipv4-family ***-instance spi
network 192.168.2.0
查看***v4私网路由路有从PE2传递到ASBR2情况:
BGP Local router ID is 4.4.4.4
Status codes: * - valid, > - best, d - damped,
h - history, i - internal, s - suppressed, S - Stale
Origin : i - IGP, e - EGP, ? - incomplete
Total number of routes from all PE: 2
Route Distinguisher: 100:1
Network NextHop MED LocPrf PrefVal Path/Ogn
*>i 192.168.2.0 6.6.6.6 0 100 0 i
Route Distinguisher: 200:1
Network NextHop MED LocPrf PrefVal Path/Ogn
*>i 10.10.2.0/24 6.6.6.6 0 100 0 i
×××-Instance spd, Router ID 4.4.4.4:
Total Number of Routes: 1
Network NextHop MED LocPrf PrefVal Path/Ogn
*>i 10.10.2.0/24 6.6.6.6 0 100 0 i
×××-Instance spi, Router ID 4.4.4.4:
Total Number of Routes: 1
Network NextHop MED LocPrf PrefVal Path/Ogn
*>i 192.168.2.0 6.6.6.6 0 100 0 i
4)进行ASBR1与ASBR2 的OPTION B跨域配置:
①ISP1
ASBR1:
interface GigabitEthernet0/0/0
ip address 34.34.34.3 255.255.255.0
Ping 测对端接口地址
②ISP2
ASBR2:
interface GigabitEthernet0/0/0
ip address 34.34.34.4 255.255.255.0
Ping 测对端接口地址
ASBR1与ASBR2建立MP-EBGP传递各自PE MP-IBGP传来的路由:
ASBR1:
bgp 100
undo default ipv4-unicast
peer 34.34.34.4 as-number 200
ipv4-family unicast
undo peer 34.34.34.4 enable
ipv4-family ***v4
policy ***-target
peer 34.34.34.4 enable
ASBR2:
bgp 200
undo default ipv4-unicast
peer 34.34.34.3 as-number 100
ipv4-family unicast
undo synchronization
undo peer 34.34.34.3 enable
ipv4-family ***v4
policy ***-target
peer 34.34.34.3 enable
配置完成后发现ASBR1与ASBR2收不到任何×××V4的路由,但是各自的PE1与PE2都已经发送×××V4路由如下图:
由于ASBR1与ASBR2上已经没有××× 实例,在控制层面MP-IBGP接收路由需要BGP的×××V4地址簇中对RT值进行过滤;所以在ASBR1与ASBR2上MP-BGP的×××V4地址簇中把policy ***-target undo掉。
但是发现PE1上接收不到ASBR1发送过来的192.168.2.0的路由如图:
排查发现ASBR1没有收到ASBR2上发来的路由:
在ASBR1上排查发现:
192.168.2.0/24的路由只有出去的标签,只有ASBR2给分发的标签,没有ASBR1分发的标签,所以它不转发给PE1;
注意:如果通过PE MP-BGP把私网路由传给ASBR或其它设备,如果该设备上没有起任何对应×××实例,该设备无法接收对应该实例×××V4路由,要想接收把***-target过滤关掉,如果采用Option B跨域注意两个ASBR互联接口使能MPLS,否则ASBR完不成标签交换不会把×××V4路由发出!
所以在ASBR1与ASBR2上使能MPLS,注意只需要使能MPLS,使得ASBR1 MP-IBGP与MP-EBGP能够交换标签,那么ASBR1会给发给PE1的192.168.2.0打上标签;
ASBR1:
PE1:
Destination: 192.168.2.0/24
Protocol: IBGP Process ID: 0
Preference: 255 Cost: 0
NextHop: 3.3.3.3 Neighbour: 3.3.3.3
State: Active Adv Relied Age: 00h03m24s
Tag: 0 Priority: low
Label: 1029 QoSInfo: 0x0
IndirectID: 0x4
RelayNextHop: 12.12.12.2 Interface: GigabitEthernet0/0/0
TunnelID: 0x3 Flags: RD
3、控制层面分析
spi routing table : Direct
Destinations : 4 Routes : 4
Direct routing table status :
Destinations : 4 Routes : 4
Destination/Mask Proto Pre Cost Flags NextHop Interface
192.168.2.0/24 Direct 0 0 D 192.168.2.254 GigabitEthernet
0/0/1
192.168.2.254/32 Direct 0 0 D 127.0.0.1 GigabitEthernet
0/0/1
192.168.2.255/32 Direct 0 0 D 127.0.0.1 GigabitEthernet
0/0/1
255.255.255.255/32 Direct 0 0 D 127.0.0.1 InLoopBack0
Direct routing table status :
Destinations : 0 Routes : 0
Destination: 192.168.2.0/24
Protocol: Direct Process ID: 0
Preference: 0 Cost: 0
NextHop: 192.168.2.254 Neighbour: 0.0.0.0
State: Active Adv Age: 03h29m00s
Tag: 0 Priority: high
Label: NULL QoSInfo: 0x0
IndirectID: 0x0
RelayNextHop: 0.0.0.0 Interface: GigabitEthernet0/0/1
TunnelID: 0x0 Flags: D
②把*** spi中192.168.2.0直连路由导入MP-BGP中:
[V200R003C00]
bgp 200
undo default ipv4-unicast
peer 4.4.4.4 as-number 200
peer 4.4.4.4 connect-interface LoopBack0
ipv4-family unicast
undo synchronization
peer 4.4.4.4 enable
ipv4-family ***v4
policy ***-target
peer 4.4.4.4 enable
ipv4-family ***-instance spi
network 192.168.2.0
③PE2 在MP-BGP中192.168.2.0/24路由情况:
BGP Local router ID is 6.6.6.6
Status codes: - valid, > - best, d - damped,
h - history, i - internal, s - suppressed, S - Stale
Origin : i - IGP, e - EGP, ? - incomplete
Total number of routes from all PE: 5
Route Distinguisher: 100:1
Network NextHop In/Out Label
> 192.168.2.0 192.168.2.254 1026/NULL
BGP local router ID : 6.6.6.6
Local AS number : 200
×××-Instance spi, Router ID 6.6.6.6:
Paths: 1 available, 1 best, 1 select
BGP routing table entry information of 192.168.2.0/24:
Network route.
From: 0.0.0.0 (0.0.0.0)
Route Duration: 02h05m43s
Direct Out-interface: GigabitEthernet0/0/1
Original nexthop: 192.168.2.254
Qos information : 0x0
AS-path Nil, origin igp, MED 0, pref-val 0, valid, local, best, select, pre 0
Not advertised to any peer yet
PE2上的MP-BGP给192.168.2.0的×××v4路由分配的私网标签:
BGP Local router ID is 6.6.6.6
Status codes: * - valid, > - best, d - damped,
h - history, i - internal, s - suppressed, S - Stale
Origin : i - IGP, e - EGP, ? - incomplete
Total number of routes from all PE: 4
Route Distinguisher: 100:1
Network NextHop In/Out Label
>i 192.168.1.0 4.4.4.4 NULL/1029
> 192.168.2.0 192.168.2.254 1026/NULL
④ASBR2 在MP-BGP中收到192.168.2.0/24路由情况:
ASBR2上收到PE2 MP-IBGP 192.168.2.0 的×××V4路由分的标签1026
ASBR 2上与ASBR1的 MP-EBGP给192.168.2.0 的×××V4路由分的1026
LSP Information: L3××× LSP
LSP Information: LDP LSP
LSP Information: LDP LSP
FEC In/Out Label In/Out IF Vrf Name
4.4.4.4/32 NULL/3 -/GE0/0/1
4.4.4.4/32 1024/3 -/GE0/0/1
5.5.5.5/32 3/NULL -/-
6.6.6.6/32 NULL/3 -/GE0/0/0
6.6.6.6/32 1025/3 -/GE0/0/0
⑤ 在ASBR1上进行查收192.168.2.0/24路由情况:
ASBR 2上与ASBR1的 MP-EBGP给192.168.2.0 的×××V4路由分的1026
ASBR1上与PE1 的MP-IBGP给192.168.2.0 的×××V4路由分的标签1029
LSP Information: BGP LSP
LSP Information: LDP LSP
FEC In/Out Label In/Out IF Vrf Name
2.2.2.2/32 NULL/3 -/GE0/0/0
2.2.2.2/32 1024/3 -/GE0/0/0
1.1.1.1/32 3/NULL -/-
3.3.3.3/32 NULL/1025 -/GE0/0/0
3.3.3.3/32 1025/1025 -/GE0/0/0
LSP Information: BGP LSP
LSP Information: LDP LSP
FEC In/Out Label In/Out IF Vrf Name
2.2.2.2/32 NULL/3 -/GE0/0/0
2.2.2.2/32 1024/3 -/GE0/0/0
1.1.1.1/32 3/NULL -/-
3.3.3.3/32 NULL/1025 -/GE0/0/0
3.3.3.3/32 1025/1025 -/GE0/0/0
⑤ 在PE1上进行查收192.168.2.0/24私网路由与标签情况:
ASBR1上与PE1 的MP-IBGP给192.168.2.0 的×××V4路由分的标签1029
BGP Local router ID is 1.1.1.1
Status codes: - valid, > - best, d - damped,
h - history, i - internal, s - suppressed, S - Stale
Origin : i - IGP, e - EGP, ? - incomplete
Total number of routes from all PE: 4
Route Distinguisher: 100:1
Network NextHop In/Out Label
> 192.168.1.0 192.168.1.254 1027/NULL
*>i 192.168.2.0 3.3.3.3 NULL/1029
④ 去往192.168.2.1的数据包在PE1上G0/0/0封装如图所示;
LSP Information: LDP LSP
FEC In/Out Label In/Out IF Vrf Name
2.2.2.2/32 3/NULL -/-
1.1.1.1/32 NULL/3 -/GE0/0/0
1.1.1.1/32 1024/3 -/GE0/0/0
3.3.3.3/32 NULL/3 -/GE0/0/1
3.3.3.3/32 1025/3 -/GE0/0/1
把公网标签1025换为3
发现一个3这个特殊标签,在离开P1时发生第二跳标签弹出,把3的标签也弹出;
在P1离开接口G0/0/1上抓包发现只留私网标签1029:
⑥ 在ASBR1上BGP路由中发现标签为:
ASBR2上收到ASBR2 MP-EBGP 192.168.2.0 的×××V4路由分的标签1026
ASBR1上与PE1 的MP-IBGP给192.168.2.0 的×××V4路由分的标签1029
BGP Local router ID is 3.3.3.3
Status codes: - valid, > - best, d - damped,
h - history, i - internal, s - suppressed, S - Stale
Origin : i - IGP, e - EGP, ? - incomplete
Total number of routes from all PE: 4
Route Distinguisher: 100:1
Network NextHop In/Out Label
>i 192.168.1.0 1.1.1.1 1027/1027
*> 192.168.2.0 34.34.34.4 1029/1026
通过1029的标签发现哪个×××实例(MP-BGP分发的是私网标签,用于在PE上指导私网数据从BGP ×××V4的标签表剥离标签后转移至对应的vrf);
⑦去往192.168.2.1报文进入spi VRF路由表并从G0/0/1上出去到ASBR2:
只剩下ASBR2与ASBR1分的MP-EBGP给192.168.2.0 的×××V4路由分的标签1026
⑧去往192.168.2.1报文进入ASBR2:
ASBR2上收到PE2 MP-IBGP 192.168.2.0 的×××V4路由分的标签1026
ASBR 2上与ASBR1的 MP-EBGP给192.168.2.0 的×××V4路由分的1026
LSP Information: L3××× LSP
LSP Information: LDP LSP
LSP Information: LDP LSP
LSP Information: LDP LSP
FEC In/Out Label In/Out IF Vrf Name
4.4.4.4/32 NULL/3 -/GE0/0/1
4.4.4.4/32 1024/3 -/GE0/0/1
5.5.5.5/32 3/NULL -/-
6.6.6.6/32 NULL/3 -/GE0/0/0
6.6.6.6/32 1025/3 -/GE0/0/0
把公网标签1025换为3
发现一个3这个特殊标签,在离开P2时发生第二跳标签弹出,把3的标签也弹出;
在P2离开接口G0/0/1上抓包发现只留私网标签1026:
11、去往192.168.2.1数据包进入PE2:
BGP Local router ID is 6.6.6.6
Status codes: * - valid, > - best, d - damped,
h - history, i - internal, s - suppressed, S - Stale
Origin : i - IGP, e - EGP, ? - incomplete
Total number of routes from all PE: 5
Route Distinguisher: 100:1
Network NextHop In/Out Label
>i 34.34.34.0 4.4.4.4 NULL/1027
>i 192.168.1.0 4.4.4.4 NULL/1028
*> 192.168.2.0 192.168.2.254 1026/NULL
通过1026的标签发现哪个×××实例(MP-BGP分发的是私网标签,用于在PE上指导私网数据从BGP ×××V4的标签表剥离标签后转移至对应的vrf);
12、去往192.168.2.1报文进入spi VRF路由表:
Destination: 192.168.2.0/24
Protocol: Direct Process ID: 0
Preference: 0 Cost: 0
NextHop: 192.168.2.254 Neighbour: 0.0.0.0
State: Active Adv Age: 05h28m11s
Tag: 0 Priority: high
Label: NULL QoSInfo: 0x0
IndirectID: 0x0
RelayNextHop: 0.0.0.0 Interface: GigabitEthernet0/0/1
TunnelID: 0x0 Flags: D
13、通过路由表到PC3主机:
Ping的截图:
转载于:https://blog.51cto.com/baoer0717/2088887