网络协议分析(MPLS协议分析)

一、内容

 

1.配置拓扑中的网络设备,Internet区域配置公网地址,LAN1和LAN2 为两个同一公司的两个私网,LAN1中R4-R5的网段为10.1.1.0/24,LAN2中R6-R7的网段为192.168.1.0/24。拓扑中其余网段IP地址采用课堂上常用IP地址分配方式分配。采用MPLS/VPN连通两个分离的私网LAN1和LAN2,使其组成一个大私网。

2.说明MPLS/VPN的工作原理,抓包辅助说明。

3.在R5上ping通R7,结合MPLS/VPN工作原理说明数据包的传输过程,抓包说明。

二、实现方法

(1)  配置拓扑中的网络设备,Internet区域配置公网地址,LAN1和LAN2 为两个同一公司的两个私网,LAN1中R4-R5的网段为10.1.1.0/24,LAN2中R6-R7的网段为192.168.1.0/24。拓扑中其余网段IP地址采用课堂上常用IP地址分配方式分配。采用MPLS/VPN连通两个分离的私网LAN1和LAN2,使其组成一个大私网。

1)按照课堂常用地址分配规则,配置各路由器的接口ip地址,以及路由器的环回地址,其中R4-R5的网段为10.1.1.0/24,R6-R7的网段为192.168.1.0/24。

1、R1

R1#conf t

Enter configuration commands, one perline.  End with CNTL/Z.

R1(config)#int f0/0

R1(config-if)#ip add 12.12.12.1255.255.255.0

R1(config-if)#no shut

*Mar  1 00:03:52.551: %LINK-3-UPDOWN: InterfaceFastEthernet0/0, changed state to up

*Mar  1 00:03:53.551: %LINEPROTO-5-UPDOWN: Line protocolon Interface FastEthernet0/0, changed state to up

R1(config-if)#int f1/0

R1(config-if)#ip add 14.14.14.1255.255.255.0

R1(config-if)#no shut

*Mar  1 00:04:25.807: %LINK-3-UPDOWN: InterfaceFastEthernet1/0, changed state to up

*Mar  1 00:04:26.807: %LINEPROTO-5-UPDOWN: Lineprotocol on Interface FastEthernet1/0, changed state to up

R1(config-if)#int loopback 0

*Mar  1 00:04:49.151: %LINEPROTO-5-UPDOWN: Lineprotocol on Interface Loopback0, changed state to up

R1(config-if)#ip add 1.1.1.1 255.255.255.255

R1(config-if)#no shut

R1(config-if)#exit

 

2、R2

R2#conf t

Enter configuration commands, one perline.  End with CNTL/Z.

R2(config)#int f0/0

R2(config-if)#ip add 12.12.12.2255.255.255.0

R2(config-if)#no shut

*Mar  1 00:07:05.727: %LINK-3-UPDOWN: InterfaceFastEthernet0/0, changed state to up

*Mar  1 00:07:06.727: %LINEPROTO-5-UPDOWN: Lineprotocol on Interface FastEthernet0/0, changed state to up

R2(config-if)#int f1/0

R2(config-if)#ip add 23.23.23.2255.255.255.0

R2(config-if)#no shut

*Mar  1 00:07:33.419: %LINK-3-UPDOWN: InterfaceFastEthernet1/0, changed state to up

*Mar  1 00:07:34.419: %LINEPROTO-5-UPDOWN: Lineprotocol on Interface FastEthernet1/0, changed state to up

R2(config-if)#int loopback 0

*Mar  1 00:07:43.143: %LINEPROTO-5-UPDOWN: Lineprotocol on Interface Loopback0, changed state to up

R2(config-if)#ip add 2.2.2.2255.255.255.255

R2(config-if)#no shut

R2(config-if)#exit

 

3、R3

R3#conf t

Enter configuration commands, one perline.  End with CNTL/Z.

R3(config)#int f1/0

R3(config-if)#ip add 23.23.23.3255.255.255.0

R3(config-if)#no shut

*Mar  1 00:09:35.339: %LINK-3-UPDOWN: InterfaceFastEthernet1/0, changed state to up

*Mar  1 00:09:36.339: %LINEPROTO-5-UPDOWN: Lineprotocol on Interface FastEthernet1/0, changed state to up

R3(config-if)#int f0/0

R3(config-if)#ip add 36.36.36.3255.255.255.0

R3(config-if)#no shut

*Mar  1 00:10:39.443: %LINK-3-UPDOWN: InterfaceFastEthernet0/0, changed state to up

*Mar  1 00:10:40.443: %LINEPROTO-5-UPDOWN: Lineprotocol on Interface FastEthernet0/0, changed state to up

R3(config-if)#int loopback 0

*Mar  1 00:11:02.407: %LINEPROTO-5-UPDOWN: Lineprotocol on Interface Loopback0, changed state to up

R3(config-if)#ip add 3.3.3.3255.255.255.255

R3(config-if)#no shut

R3(config-if)#exit

 

4、R4

R4#conf t

Enter configuration commands, one perline.  End with CNTL/Z.

R4(config)#int f1/0

R4(config-if)#ip add 14.14.14.4255.255.255.0

R4(config-if)#no shut

*Mar  1 00:26:35.359: %LINK-3-UPDOWN: InterfaceFastEthernet1/0, changed state to up

*Mar  1 00:26:36.359: %LINEPROTO-5-UPDOWN: Lineprotocol on Interface FastEthernet1/0, changed state to up

R4(config-if)#int f0/0

R4(config-if)#ip add 10.1.1.4 255.255.255.0

R4(config-if)# no shut

*Mar  1 00:27:01.127: %LINK-3-UPDOWN: InterfaceFastEthernet0/0, changed state to up

*Mar  1 00:27:02.127: %LINEPROTO-5-UPDOWN: Lineprotocol on Interface FastEthernet0/0, changed state to up

R4(config-if)#int loopback 0

*Mar  1 00:27:11.419: %LINEPROTO-5-UPDOWN: Lineprotocol on Interface Loopback0, changed state to up

R4(config-if)#ip add 4.4.4.4255.255.255.255

R4(config-if)#no shut

R4(config-if)#exit

 

5、R5

R5#conf t

Enter configuration commands, one perline.  End with CNTL/Z.

R5(config)#int f0/0

R5(config-if)#ip add 10.1.1.5 255.255.255.0

R5(config-if)#no shut

*Mar  1 00:29:21.459: %LINK-3-UPDOWN: InterfaceFastEthernet0/0, changed state to up

*Mar  1 00:29:22.459: %LINEPROTO-5-UPDOWN: Lineprotocol on Interface FastEthernet0/0, changed state to up

R5(config-if)#int loopback 0

*Mar  1 00:28:50.803: %LINEPROTO-5-UPDOWN: Lineprotocol on Interface Loopback0, changed state to up

R5(config-if)#ip add 5.5.5.5255.255.255.255

R5(config-if)#no shut

R5(config-if)#exit

 

6、R6

R6#conf t

Enter configuration commands, one perline.  End with CNTL/Z.

R6(config)#int f0/0

R6(config-if)#ip add 36.36.36.6255.255.255.0

R6(config-if)#no shut

*Mar  1 00:31:02.671: %LINK-3-UPDOWN: InterfaceFastEthernet0/0, changed state to up

*Mar  1 00:31:03.671: %LINEPROTO-5-UPDOWN: Lineprotocol on Interface FastEthernet0/0, changed state to up

R6(config-if)#int f1/0

R6(config-if)#ip add 192.168.1.6255.255.255.0

R6(config-if)#no shut

*Mar  1 00:31:30.227: %LINK-3-UPDOWN: InterfaceFastEthernet1/0, changed state to up

*Mar  1 00:31:31.227: %LINEPROTO-5-UPDOWN: Lineprotocol on Interface FastEthernet1/0, changed state to up

R6(config-if)#int loopback 0

*Mar  1 00:31:44.831: %LINEPROTO-5-UPDOWN: Lineprotocol on Interface Loopback0, changed state to up

R6(config-if)#ip add 6.6.6.6255.255.255.255

R6(config-if)#no shut

R6(config-if)#exit

 

7、R7

R7#conf t

Enter configuration commands, one perline.  End with CNTL/Z.

R7(config)#int f0/0

R7(config-if)#ip add 192.168.1.7255.255.255.0

R7(config-if)#no shut

*Mar  1 00:33:36.443: %LINK-3-UPDOWN: InterfaceFastEthernet0/0, changed state to up

*Mar  1 00:33:37.443: %LINEPROTO-5-UPDOWN: Lineprotocol on Interface FastEthernet0/0, changed state to up

R7(config-if)#int loopback 0

*Mar  1 00:33:47.483: %LINEPROTO-5-UPDOWN: Lineprotocol on Interface Loopback0, changed state to up

R7(config-if)#ip add 7.7.7.7255.255.255.255

R7(config-if)#no shut

R7(config-if)#exit

 

2)配置公网各路由器的动态路由协议(ospf)。

1、R1

R1(config)#router os 1

R1(config-router)#net 12.12.12.0 0.0.0.255a 0

R1(config-router)#net 1.1.1.1 0.0.0.0 a 0

R1(config-router)#router-id 1.1.1.1

 

2、R2

R2(config)#router os 1

R2(config-router)#net 0.0.0.0 0.0.0.0 a 0

*Mar  1 00:41:52.199: %OSPF-5-ADJCHG: Process 1,Nbr 1.1.1.1 on FastEthernet0/0 from LOADING to FULL, Loading Done

R2(config-router)#router-id 2.2.2.2

 

3、R3

R3(config)#router os 1

R3(config-router)#net 23.23.23.0 0.0.0.255a 0

*Mar  1 00:43:29.099: %OSPF-5-ADJCHG: Process 1,Nbr 2.2.2.2 on FastEthernet1/0 from LOADING to FULL, Loading Done

R3(config-router)#net 3.3.3.3 0.0.0.0 a 0

R3(config-router)#router-id 3.3.3.3

 

3)配置公网中路由器的mpls协议,标签协议采用ldp协议。

1、R1

R1(config)#int f0/0

R1(config-if)#mpls label protocol ldp

R1(config-if)#mpls ip

R1(config-if)#exit

 

2、R2

R2(config)#mpls label protocol ldp

R2(config)#int f0/0

R2(config-if)#mpls ip

*Mar  1 01:22:24.155: %LDP-5-NBRCHG: LDP Neighbor1.1.1.1:0 (1) is UP

R2(config-if)#int f1/0

R2(config-if)#mpls ip

R2(config-if)#exit

 

3、R3

R3(config)#int f1/0

R3(config-if)#mpls label protocol ldp

R3(config-if)#mpls ip

R3(config-if)#exit

 

4)配置私网各路由器的动态路由协议(rip)。

1、R4

R4(config)#router rip

R4(config-router)#v 2

R4(config-router)#no au

R4(config-router)#net 10.1.1.0

R4(config-router)#net 4.4.4.4

R4(config-router)#exit

 

2、R5

R5(config)#router rip

R5(config-router)#v 2

R5(config-router)#no au

R5(config-router)#net 0.0.0.0

R5(config-router)#exit

 

3、R6

R6(config)#router rip

R6(config-router)#v 2

R6(config-router)#no au

R6(config-router)#net 0.0.0.0

R6(config-router)#exit

4、R7

R7(config)#router rip

R7(config-router)# v 2

R7(config-router)#no au

R7(config-router)#net 0.0.0.0

R7(config-router)#exit

 

5)创建VRF。

1、R1

R1(config)#ip vrf vpn1

R1(config-vrf)#rd 100:1

R1(config-vrf)#exit

R1(config)#int f1/0

R1(config-if)#ip vrf forwarding vpn1

% Interface FastEthernet1/0 IPaddress 14.14.14.1 removed due to enabling VRF vpn1

R1(config-if)#ip add 14.14.14.1255.255.255.0

R1(config-if)#no shut

R1(config-if)#exit

R1(config)#ip vrf vpn1

R1(config-vrf)#route-target both 100:1

R1(config-vrf)#exit

 

2、R3

R3(config)#ip vrf vpn1

R3(config-vrf)#rd 100:1

R3(config-vrf)#route-target both 100:1

R3(config-vrf)#exit

R3(config)#int f0/0

R3(config-if)#ip vrf forwarding vpn1

% Interface FastEthernet0/0 IPaddress 36.36.36.3 removed due to enabling VRF vpn1

R3(config-if)#ip add 36.36.36.3255.255.255.0

R3(config-if)#no shut

R3(config-if)#exit

 

6)PE和CE路由器之间配置动态路由协议(ospf、rip)。

1、R1

R1(config)#router os 2 vrf vpn1

R1(config-router)#net 14.14.14.0 0.0.0.255a 0

R1(config-router)#exit

 

2、R3

R3(config)#router rip

R3(config-router)#address-family ip vrfvpn1

R3(config-router-af)#version 2

R3(config-router-af)#no au

R3(config-router-af)#net 36.36.36.0

R3(config-router-af)#exit

 

7)配置BGP协议。

1、R1

R1(config)#router bgp 100

R1(config-router)#nei 3.3.3.3 remote-as 100

R1(config-router)#nei 3.3.3.3 update-sourceloopback 0

R1(config-router)#nei 3.3.3.3 next-hop-self

R1(config-router)#address-family vpnv4

R1(config-router-af)#nei 3.3.3.3 activate

R1(config-router-af)#nei 3.3.3.3send-community both

R1(config-router-af)#exit

 

2、R3

R3(config)#router bgp 100

R3(config-router)#nei 1.1.1.1 remote-as 100

R3(config-router)#nei 1.1.1.1 update-sourceloopback 0

*Mar 1 01:59:08.039: %BGP-5-ADJCHANGE: neighbor 1.1.1.1 Up

R3(config-router)#nei 1.1.1.1 next-hop-self

R3(config-router)#address-family vpnv4

R3(config-router-af)#nei 1.1.1.1 activate

*Mar  1 01:59:57.419: %BGP-5-ADJCHANGE: neighbor1.1.1.1 Down Address family activated

*Mar 1 01:59:59.583: %BGP-5-ADJCHANGE: neighbor 1.1.1.1 Up

R3(config-router-af)#nei 1.1.1.1send-community both

R3(config-router-af)#exit

 

8)私网路由条目重分布进公网。

1、R4

R4(config)#router os 2

R4(config-router)#net 14.14.14.0 0.0.0.255a 0

*Mar  1 02:29:31.707: %OSPF-5-ADJCHG: Process 2,Nbr 14.14.14.1 on FastEthernet1/0 from LOADING to FULL, Loading Done

R4(config-router)#redistribute rip

% Only classful networks will beredistributed

R4(config-router)#redistribute rip subnets

R4(config-router)#exit

 

2、R1

R1#conf t

Enter configuration commands, one perline.  End with CNTL/Z.

R1(config)#router bgp 100

R1(config-router)#address-family ipv4 vrfvpn1

R1(config-router-af)#redistributeospf 2 vrf vpn1 match internal external 1 external 2

R1(config-router-af)#exit

 

3、R3

R3#conf t

Enter configuration commands, one perline.  End with CNTL/Z.

R3(config)#router bgp 100

R3(config-router)#address-family ipv4 vrfvpn1

R3(config-router-af)#redistribute rip

R3(config-router-af)#exit

 

9)公网路由条目重分布进私网。

1、R1

R1(config)#router os 2

R1(config-router)#redistribute bgp 100subnets

R1(config-router)#exit

 

2、R3

R3#conf t

Enter configuration commands, one perline.  End with CNTL/Z.

R3(config)#router rip

R3(config-router)#address-family ipv4 vrfvpn1

R3(config-router-af)#redistribute bgp 100metric 10

R3(config-router-af)#exit

3、R4

R4#conf t

Enter configuration commands, one perline.  End with CNTL/Z.

R4(config)#router rip

R4(config-router)#redistribute ospf 2metric 10

R4(config-router)#exit

 

10)  查看路由表。

 

(2)  说明MPLS/VPN的工作原理,抓包辅助说明。

1)MPLS/VPN的工作原理。

MPLS/VPN是一种三层VPN,也是实施最为广泛的一种MPLS技术。MPLS/VPN是指采用MPLS(多协议标记转换)技术在骨干的宽带IP网络上构建企业IP专网,实现跨地域、安全、高速、可靠的数据、语音、图像多业务通信,并结合差别服务、流量工程等相关技术,将公众网可靠的性能、良好的扩展性、丰富的功能与专用网的安全 、灵活、高效结合在一起。

MPLS/VPN网络主要由CE、PE和P等3部分组成:

CE(Customer Edge Router)用户网络边缘路由器设备,直接与服务提供商网络相连,它“感知”不到VPN的存在;

PE(Provider Edge Router)服务提供商边缘路由器设备,与用户的CE直接相连,负责VPN业务接入,处理VPN-IPv4路由,是MPLS三层VPN的主要实现者;

P(Provider Router)服务提供商核心路由器设备,负责快速转发数据,不与CE直接相连。

在整个MPLS/VPN中,P、PE设备需要支持MPLS的基本功能,CE设备不必支持MPLS。

MPLS/VPN的网络采用标签交换,一个标签对应一个用户数据流,非常易于用户间数据的隔离,利用区分服务体系可以轻易地解决困扰传统IP网络的QoS/CoS问题,MPLS自身提供流量工程的能力,可以最大限度地优化配置网络资源,自动快速修复网络故障,提供高可用性和高可靠性。

1、虚拟路由转发VRF(virtual routing forwarding)

VRF是一种VPN路由和转发的实例。包括三部分:与私网(用户)相关的路由表、CE与PE相连的PE端口和CE与PE间的动态路由协议。每一个独立的VRF都有一张独立的路由表。因为在PE路由器上的路由需要被相互隔离,以确保对每一个用户VPN的私有性,这张私有路由表就被称为VRF路由表。在PE路由器上,存在有多个VRF表,这些VRF表是和PE路由器上的一个或多个子接口相对应的,用于存放这些子接口所属VPN的路由信息。通常情况下,VRF表中只包含一个VPN的路由信息,但是当子接口属于多个VPN时,其所对应的VRF表中就包含了子接口所属的所有VPN的路由信息。VRF路由表和ciscoIOS的全局路由表是没有什么区别的,只不过这个路由表仅仅是对某一个VRF有效,并且和其他的路由表之间是完全隔离开的。不同的VRF就像把路由器从逻辑上划分成了不同的子路由器一样的概念,一个实际的物理路由器成为了多个虚拟逻辑路由器。

对于每一个VRF,都具有路由区分符(Route Distinguisher:RD)和路由目标(Route Target:RT)两大属性。

2、路由区分符RD(route distinguish)

RD是VRF路由区分符,RD具有全局唯一性,解决地址冲突问题,VPNV4前缀=RD+IPv4前缀。RD是一个64比特的字段,用于在MP-BGP运载VRF前缀时,确保这些前缀的唯一性。VPN-IPv4地址对客户端设备来说是不可见的,它只用于骨干网络上路由信息的分发。RD并不会说明该前缀属于哪个VRF,RD的功能并不是VPN标示符,因为在一些更为复杂得环境中,可能一个VPN存在多个RD。在PE路由器上的每个VRF实例必须要分配一个RD,格式为:ASN:nn或者IP address:NN,nn代表数字。

理论上可以为每个VPN实例配置一个RD。通常建议为每个VPN都配置相同的RD,不同的VPN配置不同的RD。但是实际上只要保证存在相同地址的两个VPN实例的RD不同即可,不同的VPN可以配置相同的RD,相同的VPN也可以配置不同的RD。

如果两个VPN实例中存在相同的地址,则一定要配置不同的RD,而且两个VPN实例一定不能互访,间接互访也不成。

RD并不会影响不同VPN实例之间的路由选择以及VPN的形成,这些事情由RT搞定。

PE从CE接收的标准的路由是IPv4路由,如果需要发布给其他的PE路由器,此时需要为这条路由附加一个RD。

3、路由目标RT(Route target)

对于VRF的唯一标识符是用的RD,而核心网PE到PE的路由传输则用的是Route Target。一个RT是一个BGP扩展团体,说明了哪些路由需要从MP-BGP中注入到VRF,它决定VPN路由的收发和过滤,PE依靠RT属性区分不同VPN之间路由。RT分为Routetarget export和Route target import。Route target export表示输出的VPNv4路由收到了额外的BGP扩展团体,在一个VPN实例中,在发布路由时应给路由条目带上什么RD;Route target import从MP-BGP那里收到的Vpnv4路由核查可以匹配的扩展团体。如果最终找到了匹配的RT,这个前缀会以IPv4路由的身份被添加到VRF路由表中,否则该前缀会被拒绝。

4、MPLS-BGP

对于使用了扩展属性MP_REACH_NLRI和扩展团体属性RT的BGP,我们称之为MP-BGP协议。

BGP-4仅仅支持IPv4,MP-BGP是为了让BGP可以用于传输更多协议(IPv6,IPX,...)的路由信息而进行的扩展。

为了保持兼容性,MP-BGP仅仅添加了两个BGP属性:MP_REACH_NLRI( MP_UNREACH_NLRI )和扩展团体属性。

MP_REACH_NLRI(MP_UNREACH_NLRI )可以用在BGP Update消息中用于通告或废止网络可达性信息。

5、MPLS/VPN的工作原理

前提是PE路由器的各个VPN实例上都配置了RT规则,在发布路由时应给路由条目带上什么RD;带有什么RD的路由条目可以进到哪个VPN里。

a)     标签分配:

PE和P路由器通过骨干网具有到bgp下一跳的可达性;通过运行IGP和LDP,分配标签,建立LSP,获得到BGP下一跳的LSP通道。PE知道自己的直连网段,将此网段视为FEC,并为此FEC分配了本地标签,然后将本地标签与FEC关联起来,形成一个映射关系(本地标签:FEC),此映射关系用来指导自己对此网段为目的IP的数据包进行操作。PE将这个映射关系发送给自己的上游路由器。上游路由器收到消息后,将此网段视为FEC,并为此FEC分配了本地标签,然后将本地标签与FEC关联起来,形成一个映射关系(本地标签:FEC),此映射关系用来指导自己对此网段为目的IP的数据包进行操作——将我的本地标签交换为下游路由器标签。以此类推,建立LSP。

b)     传递路由条目:

PE和CE路由器交换路由信息,CE运行标准路由协议。PE维护独立的路由表:公网路由表和VPN实例的私网路由表。PE知道路由条目是从哪个端口进来的,因为这个端口对应某一个VPN,所以PE查询对应VPN实例的路由表,将路由条目学习进去。PE要将此路由条目通过MPLS/VPN骨干网发布本地的VPN路由信息发送给MP-BGP邻居,发送端 PE通过使用 MP-iBGP 将VPN实例路由利用export-target属性,让路由条目携带上RD和标签,从本地发布出去。接受PE 收到VPN-IPv4的MP-iBGPupdates 时,判断收到的export是否与本地的VPN实例的import相等(带有什么RD的路由条目可以进到哪个VPN里),相等就加入到相应的VPN实例路由表中,否则丢弃。VPN-v4 路由变为IPV4路由。私网标签保留,留做转发时使用。再由本VPN实例的路由协议引入并转发给相应的CE。

c)     发送数据包:

入口PE收到CE的普通IP报文后,PE根据入接口所属的VPN实例查看相应的VPN转发表,查找下一跳和标签。为报文打上外层标签(用来指示如何到达BGP下一跳)和内层标签(表示报文的出接口或者属于哪个VPN实例(属于哪个VPN)),形成标签栈。倒数第二跳路由器弹出外层标签,根据下一跳发送至出口PE,出口PE路由器根据内层标签判断报文是去向哪个CE,弹出内层标签,用普通IP报文向目的CE进行转发。

2)抓包辅助说明MPLS/VPN的工作原理。

1、RD和RT(截图以R1发给R3的BGP update报文为例,R3发给R1的BGP update报文同理)

BGP update报文的拓展属性中可看到RD=100:1。

 

BGP update报文的拓展属性中可看到RT为100:1。

 

2 、MPLS-BGP(以R5 ping R7环回为例)

R4将源IP为10.1.1.5,目标IP为7.7.7.7的ping(request)包转发给R1,IP层TTL减一,request数据包从R1出去后,被添加了两层标签,有两层MPLS层。顶层MPLS层标签号为17,是MPLS的标签;底层MPLS层标签号为20,是BGP的标签。(数据包过来后,R1查去LAN2中的7.7.7.7的标签,查到出标签是20,添加底层标签,又查vrf路由表,发现去往7.7.7.7的下一跳为3.3.3.3,查mpls转发表,查到mpls域中去往3.3.3.3的数据包应打上编号为17的标签,添加顶层标签。)两个MPLS层的TTL直接与IP层的TTL相等,均为253。

 

通过show ip bgp vpnv4 all labels命令,可以查看bgp标签表,当目标地址为7.7.7.7时,R1会给数据包打上编号为20的底层标签。

 

也可以通过R1在发ping(request)包前,R3发送给R1的BGP update数据包中得到去往7.7.7.7应该打上什么底层标签。

 

通过show ip route vrf vpn1命令,可以查看R1的vrf路由表,当目标地址为7.7.7.7时,可知下一跳为3.3.3.3。

 

也可以通过R1在发ping(request)包前,R3发送给R1的BGP update数据包中得到去往7.7.7.7的下一跳为3.3.3.3。

 

通过show mpls forwarding-table命令,可以查看R1的mpls转发表LFIB,当目标地址为3.3.3.3时,R1会给数据包打上编号为17的顶层标签。

 

(3)  在R5上ping通R7,结合MPLS/VPN工作原理说明数据包的传输过程,抓包说明。(R5 ping通R7环回)

 

1)R5给R4发送源IP为10.1.1.5,目标IP为7.7.7.7的ping(request)包,且IP层TTL为255。

 

2)R4将源IP为10.1.1.5,目标IP为7.7.7.7的ping(request)包转发给R1,在进入MPLS域之前,request数据包只有IP层,没有MPLS层,且IP层TTL为254。

 

3)R4将源IP为10.1.1.5,目标IP为7.7.7.7的ping(request)包转发给R1,IP层TTL减一,request数据包从R1出去后,被添加了两层标签,有两层MPLS层。顶层MPLS层标签号为17,是MPLS的标签;底层MPLS层标签号为20,是BGP的标签。(数据包过来后,R1查去LAN2中的7.7.7.7的标签,查到出标签是20,添加底层标签,又查vrf路由表,发现去往7.7.7.7的下一跳为3.3.3.3,查mpls转发表,查到mpls域中去往3.3.3.3的数据包应打上编号为17的标签,添加顶层标签。)两个MPLS层的TTL直接与IP层的TTL相等,均为253。

 

通过show ip bgp vpnv4 all labels命令,可以查看bgp标签表,当目标地址为7.7.7.7时,R1会给数据包打上编号为20的底层标签。

 

也可以通过R1在发ping(request)包前,R3发送给R1的BGP update数据包中得到去往7.7.7.7应该打上什么底层标签。

 

通过show ip route vrf vpn1命令,可以查看R1的vrf路由表,当目标地址为7.7.7.7时,可知下一跳为3.3.3.3。

 

也可以通过R1在发ping(request)包前,R3发送给R1的BGP update数据包中得到去往7.7.7.7的下一跳为3.3.3.3。

 

通过show mpls forwarding-table命令,可以查看R1的mpls转发表LFIB,当目标地址为3.3.3.3时,R1会给数据包打上编号为17的顶层标签。

 

4)R1将源IP为10.1.1.5,目标IP为7.7.7.7的ping(request)包转发给R2,request数据包进入R2后,两层MPLS层的TTL减一为252,IP层的TTL不变,为253。倒数第二跳弹出,去除标签(因为3.3.3.3是R3的环回,直连,R2为倒数第二跳,倒数第一跳是R3)。数据包从R2出去,有一层MPLS层(原底层MPLS层),也有IP层。现顶层MPLS层(原底层MPLS层)标签号为20,是BGP的标签,是为去LAN2中的7.7.7.7打的标签。

 

通过show mpls forwarding-table命令,可以查看R2的mpls转发表LFIB,当目标地址为3.3.3.3时,R2会倒数第二跳弹出,去除标签。

 

5)R2将源IP为10.1.1.5,目标IP为7.7.7.7的ping(request)包转发给R3, request数据包进入R3后,MPLS层的TTL减一为251,赋给IP层的TTL,去除标签号为20的标签。数据包从R3出去,没有MPLS层,只有IP层,IP层的TTL为251。

 

6)R6将源IP为10.1.1.5,目标IP为7.7.7.7的ping(request)包转发给R7,且IP层TTL为250。

 

7)R7将源IP为7.7.7.7,目标IP为10.1.1.5的ping(reply)包转发给R6,且IP层TTL为255。

 

8)R6将源IP为7.7.7.7,目标IP为10.1.1.5的ping(reply)包转发给R3,在进入MPLS域之前,reply数据包只有IP层,没有MPLS层,且IP层TTL为254。

 

9)R6将源IP为7.7.7.7,目标IP为10.1.1.5的ping(rely)包转发给R3,IP层TTL减一,reply数据包从R3出去后,被添加了两层标签,有两层MPLS层。顶层MPLS层标签号为16,是MPLS的标签;底层MPLS层标签号为21,是BGP的标签。(数据包过来后,R3查去LAN1中的10.1.1.5的标签,查到出标签是21,添加底层标签,又查vrf路由表,发现去往10.1.1.5的下一跳为1.1.1.1,查mpls转发表,查到mpls域中去往1.1.1.1的数据包应打上编号为16的标签,添加顶层标签。)两个MPLS层的TTL直接与IP层的TTL相等,均为253。

 

通过show ip bgp vpnv4 all labels命令,可以查看bgp标签表,当目标地址为10.1.1.5时,R3会给数据包打上编号为21的底层标签。

 

也可以通过R3在发ping(reply)包前,R1发送给R3的BGP update数据包中得到去往10.1.1.5应该打上什么底层标签。

 

通过show ip route vrf vpn1命令,可以查看R3的vrf路由表,当目标地址为10.1.1.5时,可知下一跳为1.1.1.1。

 

也可以通过R3在发ping(reply)包前,R1发送给R3的BGP update数据包中得到去往10.1.1.5的下一跳为1.1.1.1。

 

通过show mpls forwarding-table命令,可以查看R3的mpls转发表LFIB,当目标地址为1.1.1.1时,R3会给数据包打上编号为16的顶层标签。

 

10)  R3将源IP为7.7.7.7,目标IP为10.1.1.5的ping(reply)包转发给R2,reply数据包进入R2后,两层MPLS层的TTL减一为252,IP层的TTL不变,为253。倒数第二跳弹出,去除标签(因为1.1.1.1是R1的环回,直连,R2为倒数第二跳,倒数第一跳是R1)。数据包从R2出去,有一层MPLS层(原底层MPLS层),也有IP层。现顶层MPLS层(原底层MPLS层)标签号为21,是BGP的标签,是为去LAN1中的10.1.1.5打的标签。

 

通过show mpls forwarding-table命令,可以查看R2的mpls转发表LFIB,当目标地址为1.1.1.1时,R2会倒数第二跳弹出,去除标签。

 

11)  R2将源IP为7.7.7.7,目标IP为10.1.1.5的ping(reply)包转发给R1, reply数据包进入R1后,MPLS层的TTL减一为251,赋给IP层的TTL,去除标签号为21的标签。数据包从R1出去,没有MPLS层,只有IP层,IP层的TTL为251。

 

12)  R4将源IP为7.7.7.7,目标IP为10.1.1.5的ping(reply)包转发给R5,且IP层TTL为250。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章