MPLS是多协议标签交换的简称,它用短而定长的标签来封装网络层分组。MPLS最初是为提高路由器的转发速度而提出一个协议。

GRE协议是对某些网络层协议的数据报进行封装,使这些被封装的数据报能够在另一个网络层协议中传输。GRE是×××的第三层隧道协议,在协议层之间采用了一种被称之为Tunnel的技术。

MPLS在×××中的应用,用MPLS为转发通道运行私网流量,使一个运营商的网络可以同时支撑多个不同客户的IP ×××,这样就要求运营商的网络全程支持MPLS转发。但是在实际运用中,有时由于网络规划的原因,运营商网络的中间设备并不支持MPLS功能,而基本的BGP/MPLS ×××是要求所用到的运营商设备全程支持MPLS功能才可以,这样采用基本的BGP/MPLS ×××方法就行不通了,此时GRE的应用很好的解决了这个问题,只需要运营商边缘设备支持MPLS转发就能实现功能。而且GRE只需要保证两端网络类型相同,中间可以穿越其他类型的网络,也降低了对运营商网络的要求。

下面通过实验来看MPLS ××× overGRE和普通的MPLS×××的区别

一、普通MPLS ×××

实验拓扑

运营商内运行ISIS,宣告环回口;两个PE分别和CE运行OSPF;两个PE之间建立MP-iBGP邻居;PE1、P、PE2之间建立LDP邻居。

MPLS *** over GRE_第1张图片




基本配置

CE1

interface FastEthernet0/0

 ip address 10.10.11.2255.255.255.252

 duplex auto

 speed auto

!

router ospf 100

 router-id4.4.4.4

 log-adjacency-changes

 network 10.10.11.20.0.0.0 area 0

CE2

interface Loopback100

 ip address10.10.10.100 255.255.255.255

 ip ospf 100 area0

!

interface FastEthernet3/0

 ip address 10.10.22.2255.255.255.252

 duplex auto

 speed auto

!

router ospf 100

 router-id5.5.5.5

 log-adjacency-changes

 network 10.10.22.20.0.0.0 area 0

PE1

ip cef

!

ip vrf ×××A

 rd 100:100

 route-target export100:100

 route-target import100:100

!

interface Loopback0

 ip address 10.10.0.1255.255.255.255

 ip router isis1

!

interface FastEthernet0/0

 ip vrf forwarding×××A

 ip address 10.10.11.1255.255.255.252

 duplex auto

 speed auto

!

interface FastEthernet1/0

 ip address 10.10.12.1255.255.255.252

 ip router isis1

 duplex auto

 speed auto

 mpls label protocolldp

 mpls ip

 isis circuit-typelevel-2-only

!

interface FastEthernet2/0

 no ipaddress

 shutdown

 duplex auto

 speed auto

!

router ospf 100 vrf ×××A

 router-id1.1.1.1

 log-adjacency-changes

 redistribute bgp 100subnets

 network 10.10.11.10.0.0.0 area 0

!

router isis 1

 net49.0001.1111.1111.00

 is-typelevel-2-only

!

router bgp 100

 bgp router-id1.1.1.1

 no bgp defaultipv4-unicast

 bgplog-neighbor-changes

 neighbor 10.10.0.3remote-as 100

 neighbor 10.10.0.3update-source Loopback0

 !

 address-family***v4

 neighbor 10.10.0.3activate

 neighbor 10.10.0.3send-community extended

 exit-address-family

 !

 address-family ipv4vrf ×××A

 redistribute ospf 100vrf ×××A match internal external 1 external 2

 nosynchronization

 exit-address-family

PE2

ip vrf ×××A

 rd 100:100

 route-target export100:100

 route-target import100:100

!

interface Loopback0

 ip address 10.10.0.3255.255.255.255

 ip router isis1

!

interface FastEthernet2/0

 ip address 10.10.23.1255.255.255.252

 ip router isis1

 duplex auto

 speed auto

 mpls label protocolldp

 mpls ip

!        

interface FastEthernet3/0

 ip vrf forwarding×××A

 ip address 10.10.22.1255.255.255.252

 duplex auto

 speed auto

!

router ospf 100 vrf ×××A

 router-id3.3.3.3

 log-adjacency-changes

 redistribute bgp 100subnets

 network 10.10.22.10.0.0.0 area 0

!

router isis 1

 net49.0003.3333.3333.00

 is-typelevel-2-only

!

router bgp 100

 bgp router-id3.3.3.3

 no bgp defaultipv4-unicast

 bgplog-neighbor-changes

 neighbor 10.10.0.1remote-as 100

 neighbor 10.10.0.1update-source Loopback0

 !       

 address-family***v4

 neighbor 10.10.0.1activate

 neighbor 10.10.0.1send-community extended

 exit-address-family

 !

 address-family ipv4vrf ×××A

 redistribute ospf 100vrf ×××A match internal external 1 external 2

 nosynchronization

 exit-address-family

P

interface Loopback0

 ip address 10.10.0.2255.255.255.255

 ip router isis1

!

interface FastEthernet1/0

 ip address 10.10.12.2255.255.255.252

 ip router isis1

 duplex auto

 speed auto

 mpls label protocolldp

 mpls ip

!

interface FastEthernet2/0

 ip address 10.10.23.2255.255.255.252

 ip router isis1

 duplex auto

 speed auto

 mpls label protocolldp

 mpls ip

!

router isis 1

 net49.0002.2222.2222.00

 is-typelevel-2-only

实验结果

1.控制平面

MPLS *** over GRE_第2张图片

PE1上的标签转发表

MPLS *** over GRE_第3张图片

 

 

2.转发平面

MPLS *** over GRE_第4张图片

抓包结果:

MPLS *** over GRE_第5张图片
二、MPLS ××× over GRE

实验拓扑

MPLS *** over GRE_第6张图片

运营商内运行ISIS,宣告环回口;两个PE分别和CE运行OSPF;两个PE之间建立MP-iBGP邻居;PE1、PE2之间建立GRE隧道,并在隧道口上建立LDP邻居。

 

基本配置

PE1:

interface Tunnel0

 ip address 10.10.13.1255.255.255.252

 mpls label protocolldp

 mpls ip

 tunnel source10.10.12.1

 tunnel destination10.10.23.1

 

ip route 10.10.0.3 255.255.255.25510.10.13.2

 

PE2:

interface Tunnel0

 ip address 10.10.13.2255.255.255.252

 mpls label protocolldp

 mpls ip

 tunnel source10.10.23.1

 tunnel destination10.10.12.1

 

ip route 10.10.0.1 255.255.255.25510.10.13.1

注:建立LDP邻居的transport ip的路由必须又隧道口学到!!!

 

实验结果

1.控制平面

MPLS *** over GRE_第7张图片

 

PE1的标签转发表

MPLS *** over GRE_第8张图片

 

P由器不支持MPLS,从PE1到PE2通过GRE隧道只有一跳,所以PE2分给PE1关于10.10.0.3这条路由的公网标签为3,即PE1倒数第二跳弹出。

2.转发平面

MPLS *** over GRE_第9张图片


MPLS *** over GRE_第10张图片

 

 

 

 

抓包结果

MPLS *** over GRE_第11张图片

 

数据包在转发时,MPLS数据包被封装在GRE头部里面,且由于通过隧道,数据包在转发过程中只有一层私标签。