【实验】域间MPLS L2VPN实验 —— Inter-AS option B/option 2(End to End)BGP路由重分布到IGP

实验环境:

操作系统:Windows 10(1607,14393.351,当时最新测试版),模拟器:GNS3 IOU for Windows 1.5.2(当时最新正式版)
注:当然,只要有思科模拟器都可以做这个实验

【实验】域间MPLS L2VPN实验 —— Inter-AS option B/option 2(End to End)BGP路由重分布到IGP
【实验】域间MPLS L2VPN实验 —— Inter-AS option B/option 2(End to End)BGP路由重分布到IGP

实验需求:

  • IOU1、IOU2和IOU3是一个互联网服务提供商(ISP),IOU4、IOU5和IOU6是另一个互联网服务提供商(ISP);
  • IOU7和IOU8分别通过802.1Q封装连接各自的互联网服务提供商(ISP),IOU7和IOU8之间要实现MPLS L2VPN通信;
  • IOU9通过PPP封装连接自己的互联网服务提供商(ISP),IOU10通过Ethernet封装连接自己的互联网服务提供商(ISP),IOU9和IOU10之间要实现MPLS L2VPN通信;
  • IOU3和IOU4之间(两个互联网服务提供商的边界)通过option B/option 2(End to End)的方式进行MPLS L2VPN的互连;
  • IOU1和IOU6上不允许运行BGP。

实验步骤:

1、先配置两个互联网服务提供商(ISP)上的IP地址、IGP(OSPF)和MPLS:

IOU1:

conf t
int l 0
ip add 1.1.1.1 255.255.255.255

int e 0/2
ip add 12.1.1.1 255.255.255.0
no sh

router ospf 123
router-id 1.1.1.1

int r e 0/2 , l 0
ip os 123 a 0

ip cef
mpls ip
mpls label pro ldp
mpls ldp ro l 0 fo
mpls label range 1000 1999

int e 0/2
mpls ip

IOU2:

conf t
int l 0
ip add 2.2.2.2 255.255.255.255

int e 0/2
ip add 12.1.1.2 255.255.255.0
no sh

int e 0/3
ip add 23.1.1.2 255.255.255.0
no sh

router ospf 123
router-id 2.2.2.2

int r e 0/2-3 , l 0
ip os 123 a 0

ip cef
mpls ip
mpls label pro ldp
mpls ldp ro l 0 fo
mpls label range 2000 2999

int r e 0/2-3
mpls ip

IOU3:

conf t
int l 0
ip add 3.3.3.3 255.255.255.255

int e 0/3
ip add 23.1.1.3 255.255.255.0
no sh

router ospf 123
router-id 3.3.3.3

int r e 0/3 , l 0
ip os 123 a 0

ip cef
mpls ip
mpls label pro ldp
mpls ldp ro l 0 fo
mpls label range 3000 3999

int e 0/3
mpls ip

IOU4:

conf t
int l 0
ip add 4.4.4.4 255.255.255.255

int e 0/2
ip add 45.1.1.4 255.255.255.0
no sh

router ospf 456
router-id 4.4.4.4

int r e 0/2 , l 0
ip os 456 a 0

ip cef
mpls ip
mpls label pro ldp
mpls ldp ro l 0 fo
mpls label range 4000 4999

int e 0/2
mpls ip

IOU5:

conf t
int l 0
ip add 5.5.5.5 255.255.255.255

int e 0/2
ip add 45.1.1.5 255.255.255.0
no sh

int e 0/3
ip add 56.1.1.5 255.255.255.0
no sh

router ospf 456
router-id 5.5.5.5

int r e 0/2-3 , l 0
ip os 456 a 0

ip cef
mpls ip
mpls label pro ldp
mpls ldp ro l 0 fo
mpls label range 5000 5999

int r e 0/2-3
mpls ip

IOU6:

conf t
int l 0
ip add 6.6.6.6 255.255.255.255

int e 0/3
ip add 56.1.1.6 255.255.255.0
no sh

router ospf 456
router-id 6.6.6.6

int r e 0/3 , l 0
ip os 456 a 0

ip cef
mpls ip
mpls label pro ldp
mpls ldp ro l 0 fo
mpls label range 6000 6999

int e 0/3
mpls ip

2、再配置IOU7、IOU8、IOU9和IOU10上的IP地址:

IOU7:

conf t
int e 0/0
no sh
int e 0/0.7
en do 7
ip add 78.1.1.7 255.255.255.0

IOU8:

conf t
int e 0/0
no sh
int e 0/0.8
en do 8
ip add 78.1.1.8 255.255.255.0

IOU9:

conf t
int s 2/0
en ppp
ip add 10.9.1.9 255.255.255.0
no sh

IOU10:

conf t
int e 0/1
ip add 10.9.1.10 255.255.255.0
no sh

3、配置IOU3和IOU4之间的EBGP,并将BGP路由重分布到IGP,让IOU1和IOU6之间实现通信:

IOU3:

int e 0/0
ip add 34.1.1.3 255.255.255.0
no sh

router bgp 123
bgp router-id 3.3.3.3
nei 34.1.1.4 remot 456
nei 34.1.1.4 send-label
net 1.1.1.1 mask 255.255.255.255

router ospf 123
red bgp 123 subnets

IOU4:

int e 0/0
ip add 34.1.1.4 255.255.255.0
no sh

router bgp 456
bgp router-id 4.4.4.4
nei 34.1.1.3 remot 123
nei 34.1.1.3 send-label
net 6.6.6.6 mask 255.255.255.255

router ospf 456
red bgp 456 subnets

IOU1#p 6.6.6.6 so l 0
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 6.6.6.6, timeout is 2 seconds:
Packet sent with a source address of 1.1.1.1 
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/2 ms

4、在IOU1上配置IOU7和IOU9的MPLS L2VPN连接:

IOU1:

int e 0/0
no sh
int e 0/0.7
en do 7
xconnect 6.6.6.6 78 en mpls

pseudowire-class T910
 encapsulation mpls
 interworking ip

int s 2/0
en ppp
xconnect 6.6.6.6 910 pw-class T910
no sh

5、在IOU6上配置IOU8和IOU10的MPLS L2VPN连接:

IOU6:

int e 0/0
no sh
int e 0/0.8
en do 8
xconnect 1.1.1.1 78 en mpls

pseudowire-class T910
 encapsulation mpls
 interworking ip

int e 0/1
no sh
xconnect 1.1.1.1 910 pw-class T910

测试:

【实验】域间MPLS L2VPN实验 —— Inter-AS option B/option 2(End to End)BGP路由重分布到IGP
【实验】域间MPLS L2VPN实验 —— Inter-AS option B/option 2(End to End)BGP路由重分布到IGP

在IOU1和IOU6上sh mpls forwarding-table可以看到,MPLS L2VPN的MPLS标签都已经分配好了:

IOU1#sh mpls forwarding-table 
Local      Outgoing   Prefix           Bytes Label   Outgoing   Next Hop    
Label      Label      or Tunnel Id     Switched      interface              
1000       Pop Label  2.2.2.2/32       0             Et0/2      12.1.1.2    
1001       Pop Label  23.1.1.0/24      0             Et0/2      12.1.1.2    
1002       2001       3.3.3.3/32       0             Et0/2      12.1.1.2    
1003       2002       6.6.6.6/32       0             Et0/2      12.1.1.2    
1004       No Label   l2ckt(78)        0             Et0/0.7    point2point 
1005       No Label   l2ckt(910)       0             Se2/0      point2point

IOU6#sh mpls forwarding-table 
Local      Outgoing   Prefix           Bytes Label   Outgoing   Next Hop    
Label      Label      or Tunnel Id     Switched      interface              
6000       Pop Label  5.5.5.5/32       0             Et0/3      56.1.1.5    
6001       5000       4.4.4.4/32       0             Et0/3      56.1.1.5    
6002       Pop Label  45.1.1.0/24      0             Et0/3      56.1.1.5    
6003       5002       1.1.1.1/32       0             Et0/3      56.1.1.5    
6004       No Label   l2ckt(78)        0             Et0/0.8    point2point 
6005       No Label   l2ckt(910)       0             Et0/1      point2point

现在我们用IOU7去ping IOU8,然后traceroute一下:

IOU7#p 78.1.1.8
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 78.1.1.8, timeout is 2 seconds:
.!!!!
Success rate is 80 percent (4/5), round-trip min/avg/max = 2/2/3 ms

IOU7#traceroute 78.1.1.8
Type escape sequence to abort.
Tracing the route to 78.1.1.8
VRF info: (vrf in name/id, vrf out name/id)
  1 78.1.1.8 3 msec 2 msec 2 msec

通了!通过traceroute可以看到IOU7显示它跟IOU8是直连的。

接着我们用IOU9去ping IOU10,然后traceroute一下:

IOU9#p 10.9.1.10
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.9.1.10, timeout is 2 seconds:
.....
Success rate is 0 percent (0/5)

不通……

但是没关系,我们去IOU10上ping IOU9,然后traceroute一下:

IOU10#p 10.9.1.9
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.9.1.9, timeout is 2 seconds:
.!!!!
Success rate is 80 percent (4/5), round-trip min/avg/max = 9/11/13 ms

IOU10#traceroute 10.9.1.9 
Type escape sequence to abort.
Tracing the route to 10.9.1.9
VRF info: (vrf in name/id, vrf out name/id)
  1 10.9.1.9 12 msec 12 msec 12 msec

通了!通过traceroute可以看到IOU10显示它跟IOU9是直连的。

再去IOU9上ping IOU10,然后traceroute一下:

IOU9#p 10.9.1.10
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.9.1.10, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 10/11/12 ms

IOU9#traceroute 10.9.1.10
Type escape sequence to abort.
Tracing the route to 10.9.1.10
VRF info: (vrf in name/id, vrf out name/id)
  1 10.9.1.10 11 msec 11 msec 11 msec

也通了!通过traceroute可以看到IOU9显示它跟IOU10也是直连的。

不知道为什么IOU9先ping IOU10是通不了的,不知道是不是IOU的bug,如果有知道的朋友可以在下方留言,大家互相交流一下。

数据包的报头结构追踪:

【实验】域间MPLS L2VPN实验 —— Inter-AS option B/option 2(End to End)BGP路由重分布到IGP
【实验】域间MPLS L2VPN实验 —— Inter-AS option B/option 2(End to End)BGP路由重分布到IGP

我们先追踪IOU7和IOU8之间的数据包,Ricky会在IOU1的e 0/0口IOU2的e 0/2口IOU4的e 0/0口IOU6的e 0/3口IOU6的e 0/0口用Wireshark抓取数据包,然后在IOU7上ping 78.1.1.8。

1、在IOU7上ping 78.1.1.8时,IOU1的e 0/0口上的抓包:

在IOU7上ping 78.1.1.8时,IOU1的e 0/0口上的抓包
在IOU7上ping 78.1.1.8时,IOU1的e 0/0口上的抓包

如上图所示,这是IOU7给IOU1发送的数据包的报头结构。如果要画个简图的话,是如下这个样子的:

| FCS | ICMP | IP | 802.1Q | Ethernet |

2、在IOU7上ping 78.1.1.8时,IOU2的e 0/2口上的抓包:

在IOU7上ping 78.1.1.8时,IOU2的e 0/2口上的抓包
在IOU7上ping 78.1.1.8时,IOU2的e 0/2口上的抓包

如上图所示,这是IOU1给IOU2发送的数据包的报头结构。IOU1会抹去802.1Q数据帧(VLAN ID = 7),同时打上两层MPLS标签和一个伪线控制字段,再打上最外层的Ethernet二层头部(因为IOU1/2/3/4/5/6之间的链路都是Ethernet,所以在这之间传递的数据包总会有一个最外层的Ethernet二层头部,关于最外层的这一层Ethernet二层头部下面不再赘述),然后将数据包发送给IOU2。如果要画个简图的话,是如下这个样子的:

| FCS | ICMP | IP | Ethernet | 伪线控制字段 | 内层MPLS标签 | 外层MPLS标签 | Eth |

IOU2收到这个数据包后,会查LFIB,然后根据LFIB的指示将数据包转发给IOU3,不会像Back to Back那样Pop Label。如果在IOU2和IOU3之间的链路上抓取数据包,数据包的报头结构应该是这样的:

| FCS | ICMP | IP | Ethernet | 伪线控制字段 | 内层MPLS标签 | 外层MPLS标签 | Eth |

在IOU2上sh mpls forwarding-table,会发现IOU2将会为这个ping包打上编号为3004的MPLS标签:

IOU2#sh mpls forwarding-table
Local      Outgoing   Prefix           Bytes Label   Outgoing   Next Hop    
Label      Label      or Tunnel Id     Switched      interface              
2000       Pop Label  1.1.1.1/32       47046         Et0/2      12.1.1.1    
2001       Pop Label  3.3.3.3/32       0             Et0/3      23.1.1.3    
2002       3004       6.6.6.6/32       50522         Et0/3      23.1.1.3 

3、在IOU7上ping 78.1.1.8时,IOU4的e 0/0口上的抓包:

在IOU7上ping 78.1.1.8时,IOU4的e 0/0口上的抓包
在IOU7上ping 78.1.1.8时,IOU4的e 0/0口上的抓包

如上图所示,这是IOU3给IOU4发送的数据包的报头结构。因为在IOU3上敲了一句命令:nei 34.1.1.4 send-label,所以IOU3会为BGP路由(包括6.6.6.6/32)分配MPLS标签。显然,这个ping包就是要通过MPLS标签穿越到IOU6(即6.6.6.6)上的,所以数据包到了IOU3上的时候IOU3还有MPLS标签,不会像Back to Back那样No Label。如果要画个简图的话,是如下这个样子的:

| FCS | ICMP | IP | Ethernet | 伪线控制字段 | 内层MPLS标签 | 外层MPLS标签 | Eth |

在IOU3上sh mpls forwarding-table,会发现IOU3将会为这个ping包打上编号为4003的MPLS标签:

IOU3#sh mpls forwarding-table
Local      Outgoing   Prefix           Bytes Label   Outgoing   Next Hop    
Label      Label      or Tunnel Id     Switched      interface              
3000       Pop Label  2.2.2.2/32       0             Et0/3      23.1.1.2    
3001       2000       1.1.1.1/32       60096         Et0/3      23.1.1.2    
3002       Pop Label  12.1.1.0/24      0             Et0/3      23.1.1.2    
3003       Pop Label  34.1.1.4/32      0             Et0/0      34.1.1.4    
3004       4003       6.6.6.6/32       60914         Et0/0      34.1.1.4

IOU4收到这个数据包后,会查LFIB,然后根据LFIB的指示将数据包转发给IOU5。如果在IOU4和IOU5之间的链路上抓取数据包,数据包的报头结构应该是这样的:

| FCS | ICMP | IP | Ethernet | 伪线控制字段 | 内层MPLS标签 | 外层MPLS标签 | Eth |

在IOU4上sh mpls forwarding-table,会发现IOU4将会为这个ping包打上编号为5001的MPLS标签:

IOU4#sh mpls forwarding-table 
Local      Outgoing   Prefix           Bytes Label   Outgoing   Next Hop    
Label      Label      or Tunnel Id     Switched      interface              
4000       Pop Label  5.5.5.5/32       0             Et0/2      45.1.1.5    
4001       Pop Label  56.1.1.0/24      0             Et0/2      45.1.1.5    
4002       Pop Label  34.1.1.3/32      0             Et0/0      34.1.1.3    
4003       5001       6.6.6.6/32       77094         Et0/2      45.1.1.5    
4004       3001       1.1.1.1/32       76356         Et0/0      34.1.1.3

4、在IOU7上ping 78.1.1.8时,IOU6的e 0/3口上的抓包:

在IOU7上ping 78.1.1.8时,IOU6的e 0/3口上的抓包
在IOU7上ping 78.1.1.8时,IOU6的e 0/3口上的抓包

如上图所示,IOU5收到这个数据包后,会Pop Label(弹出一层MPLS标签),然后将数据包转发给IOU6。如果要画个简图的话,是如下这个样子的:

| FCS | ICMP | IP | Ethernet | 伪线控制字段 | 内层MPLS标签 | Ethernet |

在IOU5上sh mpls forwarding-table,会发现IOU5将会为这个ping包执行Pop Label(弹出一层MPLS标签):

IOU5#sh mpls forwarding-table
Local      Outgoing   Prefix           Bytes Label   Outgoing   Next Hop    
Label      Label      or Tunnel Id     Switched      interface              
5000       Pop Label  4.4.4.4/32       0             Et0/2      45.1.1.4    
5001       Pop Label  6.6.6.6/32       84222         Et0/3      56.1.1.6    
5002       4004       1.1.1.1/32       88376         Et0/2      45.1.1.4

5、在IOU7上ping 78.1.1.8时,IOU6的e 0/0口上的抓包:

在IOU7上ping 78.1.1.8时,IOU6的e 0/0口上的抓包
在IOU7上ping 78.1.1.8时,IOU6的e 0/0口上的抓包

如上图所示,这是IOU6给IOU8发送的数据包的报头结构。因为IOU8是IOU6的客户路由器,所以IOU6收到这个数据包后,会剥离最外层的Ethernet二层头部,No Label(弹出所有MPLS标签),删除伪线控制字段,然后重新打上802.1Q数据帧(VLAN ID = 8),再转发给IOU8。如果要画个简图的话,是如下这个样子的:

| FCS | ICMP | IP | 802.1Q | Ethernet |

这样,数据包就转发到目的地了。

【实验】域间MPLS L2VPN实验 —— Inter-AS option B/option 2(End to End)BGP路由重分布到IGP
【实验】域间MPLS L2VPN实验 —— Inter-AS option B/option 2(End to End)BGP路由重分布到IGP

接下来,我们追踪IOU9和IOU10之间的数据包,Ricky会在IOU1的s 2/0口IOU1的e 0/2口IOU4的e 0/0口IOU6的e 0/3口IOU6的e 0/1口用Wireshark抓取数据包,然后在IOU9上ping 10.9.1.10。

1、在IOU9上ping 10.9.1.10时,IOU1的s 2/0口上的抓包:

在IOU9上ping 10.9.1.10时,IOU1的s 2/0口上的抓包
在IOU9上ping 10.9.1.10时,IOU1的s 2/0口上的抓包

如上图所示,这是IOU9给IOU1发送的数据包的报头结构。如果要画个简图的话,是如下这个样子的:

| FCS | ICMP | IP | PPP |

2、在IOU9上ping 10.9.1.10时,IOU1的e 0/2口上的抓包:

在IOU9上ping 10.9.1.10时,IOU1的e 0/2口上的抓包
在IOU9上ping 10.9.1.10时,IOU1的e 0/2口上的抓包

如上图所示,这是IOU1给IOU2发送的数据包的报头结构。IOU1会抹去PPP二层头部(因为在IOU1上,910这条伪线配置了参数:interworking ip,interworking ip的意思是除了IP三层头部以外,其他二层头部都要被抹去),同时打上两层MPLS标签和一个伪线控制字段,再打上最外层的Ethernet二层头部,然后将数据包发送给IOU2。如果要画个简图的话,是如下这个样子的:

| FCS | ICMP | IP | 伪线控制字段 | 内层MPLS标签 | 外层MPLS标签 | Ethernet |

这里需要注意的是,Wireshark把这个数据包识别错了,最内层不是Ethernet和Data,而是IP和ICMP。至于怎么判断Wireshark的识别是否出错,请看:《【实验】域间MPLS L2VPN实验 —— Inter-AS option A/option 1(Back to Back)》,该篇文章会有详细的解答,这里不再赘述。

IOU2收到这个数据包后,会查LFIB,然后根据LFIB的指示将数据包转发给IOU3,不会像Back to Back那样Pop Label。如果在IOU2和IOU3之间的链路上抓取数据包,数据包的报头结构应该是这样的:

| FCS | ICMP | IP | 伪线控制字段 | 内层MPLS标签 | 外层MPLS标签 | Ethernet |

在IOU2上sh mpls forwarding-table,会发现IOU2将会为这个ping包打上编号为3004的MPLS标签:

IOU2#sh mpls forwarding-table
Local      Outgoing   Prefix           Bytes Label   Outgoing   Next Hop    
Label      Label      or Tunnel Id     Switched      interface              
2000       Pop Label  1.1.1.1/32       47046         Et0/2      12.1.1.1    
2001       Pop Label  3.3.3.3/32       0             Et0/3      23.1.1.3    
2002       3004       6.6.6.6/32       50522         Et0/3      23.1.1.3

3、在IOU9上ping 10.9.1.10时,IOU4的e 0/0口上的抓包:

在IOU9上ping 10.9.1.10时,IOU4的e 0/0口上的抓包
在IOU9上ping 10.9.1.10时,IOU4的e 0/0口上的抓包

如上图所示,这是IOU3给IOU4发送的数据包的报头结构。因为在IOU3上敲了一句命令:nei 34.1.1.4 send-label,所以IOU3会为BGP路由(包括6.6.6.6/32)分配MPLS标签。显然,这个ping包就是要通过MPLS标签穿越到IOU6(即6.6.6.6)上的,所以数据包到了IOU3上的时候IOU3还有MPLS标签,不会像Back to Back那样No Label。如果要画个简图的话,是如下这个样子的:

| FCS | ICMP | IP | 伪线控制字段 | 内层MPLS标签 | 外层MPLS标签 | Ethernet |

在IOU3上sh mpls forwarding-table,会发现IOU3将会为这个ping包打上编号为4003的MPLS标签:

IOU3#sh mpls forwarding-table
Local      Outgoing   Prefix           Bytes Label   Outgoing   Next Hop    
Label      Label      or Tunnel Id     Switched      interface              
3000       Pop Label  2.2.2.2/32       0             Et0/3      23.1.1.2    
3001       2000       1.1.1.1/32       60096         Et0/3      23.1.1.2    
3002       Pop Label  12.1.1.0/24      0             Et0/3      23.1.1.2    
3003       Pop Label  34.1.1.4/32      0             Et0/0      34.1.1.4    
3004       4003       6.6.6.6/32       60914         Et0/0      34.1.1.4

IOU4收到这个数据包后,会查LFIB,然后根据LFIB的指示将数据包转发给IOU5。如果在IOU4和IOU5之间的链路上抓取数据包,数据包的报头结构应该是这样的:

| FCS | ICMP | IP | 伪线控制字段 | 内层MPLS标签 | 外层MPLS标签 | Ethernet |

在IOU4上sh mpls forwarding-table,会发现IOU4将会为这个ping包打上编号为5001的MPLS标签:

IOU4#sh mpls forwarding-table 
Local      Outgoing   Prefix           Bytes Label   Outgoing   Next Hop    
Label      Label      or Tunnel Id     Switched      interface              
4000       Pop Label  5.5.5.5/32       0             Et0/2      45.1.1.5    
4001       Pop Label  56.1.1.0/24      0             Et0/2      45.1.1.5    
4002       Pop Label  34.1.1.3/32      0             Et0/0      34.1.1.3    
4003       5001       6.6.6.6/32       77094         Et0/2      45.1.1.5    
4004       3001       1.1.1.1/32       76356         Et0/0      34.1.1.3

4、在IOU9上ping 10.9.1.10时,IOU6的e 0/3口上的抓包:

在IOU9上ping 10.9.1.10时,IOU6的e 0/3口上的抓包
在IOU9上ping 10.9.1.10时,IOU6的e 0/3口上的抓包

如上图所示,IOU5收到这个数据包后,会Pop Label(弹出一层MPLS标签),然后将数据包转发给IOU6。如果要画个简图的话,是如下这个样子的:

| FCS | ICMP | IP | 伪线控制字段 | 内层MPLS标签 | Ethernet |

在IOU5上sh mpls forwarding-table,会发现IOU5将会为这个ping包执行Pop Label(弹出一层MPLS标签):

IOU5#sh mpls forwarding-table
Local      Outgoing   Prefix           Bytes Label   Outgoing   Next Hop    
Label      Label      or Tunnel Id     Switched      interface              
5000       Pop Label  4.4.4.4/32       0             Et0/2      45.1.1.4    
5001       Pop Label  6.6.6.6/32       84222         Et0/3      56.1.1.6    
5002       4004       1.1.1.1/32       88376         Et0/2      45.1.1.4

5、在IOU9上ping 10.9.1.10时,IOU6的e 0/1口上的抓包:

在IOU9上ping 10.9.1.10时,IOU6的e 0/1口上的抓包
在IOU9上ping 10.9.1.10时,IOU6的e 0/1口上的抓包

如上图所示,这是IOU6给IOU10发送的数据包的报头结构。因为IOU10是IOU6的客户路由器,所以IOU6收到这个数据包后,会剥离最外层的Ethernet二层头部,No Label(弹出所有MPLS标签),删除伪线控制字段,然后重新打上Ethernet二层头部(这里之所以打上了Ethernet二层头部,是因为在IOU6和IOU10之间的网络类型就是Ethernet),再转发给IOU10。如果要画个简图的话,是如下这个样子的:

| FCS | ICMP | IP | Ethernet |

这样,数据包就转发到目的地了。

 

本文完。如有疑问,欢迎在下方留言;如本文有什么错误,欢迎在下方留言指正,谢谢。

 

其他相关文章:

这篇文章对你有帮助吗?

相关文章

发表评论?

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据