您好!欢迎光临云杰通信官网,我司专业提供企业SD-WAN、MPLS组网、国际网络专线、云专线接入服务。
服务热线:13631779516

企业网络优化专家

网络加速综合解决方案服务商

行业知识 NEWS

云杰通信助您了解行业,全方位掌握国际互联网最新资讯

您当前的位置:首页 > 资讯中心 > 行业知识

MPLS技术实现原理

2021-04-22 19:20云杰小编阅读:144

传统的IP数据转发是基于逐跳式的,每个转发数据的路由器都要根据IP包头的目的地址查找路由表来获得下一跳的出口,这是个繁琐又效率低下的工作,主要的原因是两个:  1、有些路由的查询必须对路由表进行多次查找,这就是所谓的递归搜索;  2、由于路由匹配遵循最长匹配原则,所以迫使几乎所有的路由器的交换引擎必须用软件来实现,用软件实现的交换引擎和ATM交换机上用硬件来实现的交换引擎在效率上无法相抗衡。  当今的互联网应用需求日益增多,对带宽、对时延的要求也越来越高。如何提高转发效率,各个路由器生产厂家做了大量的改进工作,如Cisco在路由器上提供CEF(Cisco Express Forwarding)功能、修改路由表搜索算法等等。但这些修补并不能完全解决目前互联网所面临的问题。IP和ATM曾经是两个互相对立的技术,各个IP设备制造商和ATM设备制造商都曾努力想吃掉对方,想IP一统天下,或者ATM一家独秀!但是最终是这两种技术的融合,那就是MPLS(Multi-Protocol Label Switching)技术的诞生!MPLS技术结合和IP技术信令简单和ATM交换引擎高效的优点!  一、MPLS技术的实现细节  1.标签结构  IP设备和ATM设备厂商实现MPLS技术是在各自原来的基础上做的,对于IP设备商,它修改了原来IP包直接封装在二层链路帧中的规范,而是在二层和三层包头之间插了一个标签(Label),而ATM设备制造商利用了原来ATM交换机上的VPI/VCI的概念,在使用Label来代替了VPI/CVI,当然ATM交换机上还必修改信令控制部分,引入了路由协议,ATM交换使用了路由协议来和其他设备交换三层的路由信息。 标签的结构如下:  20比特的LABEL字段用来表示标签值,由于标签是定长的,所以对于路由器来说,可以分析定长的标签来做数据包的转发,这是标签交换的最大优点,定长的标签就意味这可以用硬件来实现数据转发,这种硬件转发方式要比必须用软件实现的路由最长匹配转发方式效率要高得多。3比特的EXP用来实现QOS;1比特S值用来表示标签栈是否到底了,对于VPN,TE等应用将在二层和三层头之间插入两个以上的标签,形成标签栈;8比特TTL值用来防止数据在网上形成环路。这样完整的带有标签的二层帧就成了如下形式:  在ATM信元模式下,信元的结构如下形式:  2.LSR设备的体系结构  通过修改,能支持标签交换的路由器为LSR(Label Switch Router),而支持MPLS功能的ATM交换机我们一般称之为ATM-LSR。 LSR设备的体系结构如下:  LSR的体系结构分为两块:  1.控制平面(Control Plane)  该模块的功能是用来和其他LSR交换三层路由信息,以此建立路由表;和交换标签对路由的绑定信息,以此建Label Information Table(LIB)标签信息表。同时再根据路由表和LIB生成Forwarding Information Table(FIB)表和Label Forwarding Information Table(LFIB)表。控制平面也就是我们一般所说的路由引擎模块。  2.数据平面(Data Plane)  数据平面的功能主要是根据控制平面生成的FIB表和LFIB表转发IP包和标签包。对于控制平面中所使用的路由协议,可以使用以前的任何一种,如OSPF、RIP、BGP等等,这些协议的主要功能是和其他设备交换路由信息,生成路由表。这是实现标签交换的基础。在控制平面中导入了一种新的协议―LDP,该协议的功能是用来针对本地路由表中的每个路由条目生成一个本地的标签,由此生成LIB表,再把路由条目和本地标签的绑定通告给邻居LSR,同时把邻居LSR告知的路由条目和标签帮定接收下来放到LIB表里,最后在网络路由收敛的情况下,参照路由表和LIB表的信息生成FIB表和LFIB表。  二、标签的分配和分发  上面叙述说,MPLS技术是IP技术和ATM技术的融合。LSR和ATM-LSR上实现标签的生成和分发是有点不同的。  1.包模式(Packet Mode)下标签的分配和分发  对于实现包模式MPLS网络中,是下游LSR独立生成路由条目和标签的绑定,并且是主动分发出去的。如下图,所有LSR上启动了LDP协议。以LSR-B为例,它已经通过路由协议获得网络X的路由了,一旦启动LDP协议,LSR-B立即查找路由表,如果X网络的路由是由IGP路由协议学到的,则在LIB表中为通向X网络的路由生成一个本地标签25,由于LSR-B和LSR-A、LSR-C、LSR-E形成了LDP邻居关系,所以下游LSR-B会主动给所有的邻居发送这个X=25的路由条目和标签的绑定。LSR-A、LSR-E、LSR-C会把该路由条目和标签的绑定放置到本地的LIB表中,再结合本地的路由表,在FIB表中生成有关X网络的“网络地址->出标签”条目,在LFIB中生成有关X网络的“进标签->出标签”条目。所有的LSR上都如此操作。最终的结果使整个MPLS网络内部所有LSR上达到路由表、LIB表、FIB表、LFIB表的动态平衡。  如果LSR-A接收到要去X网段的数据,由于LSR-A处在MPLS网络的边缘,必须查找FIB表,对接收到的IP包,做标签插入操作。对于LSR-B,LSR-C则纯粹是分析标签包,对包头的标签做转换,在转发标签包而已。数据到了LSR-D,该边缘LSR会去掉标签包中的标签,再对恢复的IP包做转发。如下图:  2.信元模式(Cell Mode)下的标签分配和分发  在信元模式下,下游ATM-LSR接收到了上游ATM-LSR标签绑定请求后,下游受控分配标签,被动向上游分发标签。最上游的LSR-A向ATM-LSR-B发起对网络X的标签求情,ATM-LSR-B再向ATM-LSR-C发请求,最后请求到达LSR-D,LSR-D生成本地对X网络的标签1/37,把该标签告诉ATM-LSR-C,C做同样操作,这样一步一步到达LSR-A。最终生成一条从A->B->C->D的LSP(Label Switch Path)。这样如果A收到要到X网络的数据,A就把IP数据包分割成带有标签的信元,通过ATM接口发送到B,接下来B和C就纯粹做ATM信元的转发,到了D后再把信元组合成IP数据包,发向网络X。  在此要强调的如果要组建以ATM交换机为核心的MPLS网络,那么在ATM网络的边缘必须设置路由器,原因在于ATM交换机只转发信元,无法处理用户数据IP包。当然上面也提到要在ATM交换机上实现MPLS功能,必须在ATM交换机的信令控制部分加入路由协议,而路由信息包往往是打在IP包中的,如RIP,OSPF,BGP等路由协议。ATM交换机为了确保这些以IP包形式传递的路由信息能够在ATM交换机间传递,使用了专门的带外连接通道或者带内的管理VC。  三、BGP协议在MPLS网络中的特殊应用  上面提到LSR根据路由表分配标签时,只对从IGP协议获得的路由条目分配标签。原因何在?这是有特殊意义的,如下图,  整个Transit AS中启动MPLS交换。保证ISP2和LSR-Border2之间的网段发布到Transit AS内部的IGP路由协议中,对ISP1和LSR-Border2之间的网段也做同样的要求。前面提到过LSR为路由条目分配标签时,只对从IGP学来的路由分配标签,而网络1.2.3.4是被发布到Transit AS内部的IGP路由协议中了,可以肯定在Border1处是可以获得Core1告诉它有关1.2.3.4网络的标签23。LSR-Border1,LSR-Border2之间形成IBGP邻居关系,通过BGP协议,LSR-Border2把从ISP2处学来的10.0.0.0/8这条路由告诉给LSR-Border1,这条路由的下一跳地址是1.2.3.4,这样一来让LSR-Border1得知要给网络10.0.0.0/8发送数据,先把数据发送到1.2.3.4这个网络来。1.2.3.4被绑定了标签23,所以在生成FIB表时,也给10.0.0.0/8这个网段绑定一个标签23。这样,如果有数据从ISP1穿越Transit AS到达ISP2,在Border1处就会给IP包插上23这个标签,把生成的标签包转发到Core1,Core1就只要分析标签头做标签包的转发就可以了!由于Transit AS内部核心路由器不必要运行BGP协议,这样一来,MPLS网络的核心路由器就不会知道外部用户的路由,缩小了核心路由器的路由表,提高了搜索效率。大家也看到,由于打上了标签,IP包头是不会在核心路由器被分析的,即使IP包头含有10.0.0.1这样的私有IP地址,也会因为只分析标签的原因被正常转发,这就是服务提供商提供VPN服务所追求的。当然在此必须重声,LSP在整个Transit AS不能被断开,如果断开,标签包就恢复成IP包,而核心路由器是不含用户路由的,最终导致数据包的丢失。  BGP在MPLS网络中的作用为我们提供了VPN服务打开了方便之门,但也应该意识到VPN服务两个最基本的要求是  1.用户可以独立规划IP地址  2.安全性非常重要。  如下图是两个VPN实例,PE1(PE=Provider Edge device)上分别接了CE1 (CE=Customer Edge device)和CE3,但是CE1和CE3上带到IP地址相同的网段10.1.2.0/8,很明显如果不对PE1路由器做修改,PE1只能认为往10.1.2.0/8的数据要么从S0出,要么从S1出,这样的话,不是CE1就是CE3就更本收不到从PE1发来的前往10.1.2.0/8网段的数据。  如果不对BGP4协议做修改,那么PE2和PE3发送给的PE1的有关10.1.1.0/8网络的路由更新就有可比性,PE1最终会选择一条路由,认为或是PE2或者PE3是发送数据到10.1.1.0/8的必经路由器。这样如果CE1带的10.1.2.0/8网段上的主机给10.1.1.0/8网段上的主机发送数据时,可能会发到CE4所带的10.1.1.0/8的网段上,这样造成了数据泄露。所以,为了使LSR能提供基于MPLS的VPN服务,还必须对此类设备做修改。  四、基于MPLS的VPN实现  VPN服务是很早就提出的概念,不过以前电信提供商提供VPN是在传输网上提供的覆盖型的VPN服务。电信运营商给用户出租线路,用户上层使用何种的路由协议、路由怎么走等等,这些电信运营商不管。这种租用线路来搭建VPN的好处是安全,但是价格昂贵,线路资源浪费严重。后来随着IP网络的全面铺开,电信服务提供商在竞争的压力下,不得不提供更加廉价的VPN服务,也就是三层VPN服务。通过提供给用户一个IP平台,用户通过IP Over IP的封装格式在公网上打隧道,同时也提供了加密等等的手段提供安全保障。这类VPN用户在目前的网络上数量还是相当巨大的!但是这类VPN服务因大量的加密工作、传统路由器根据IP包头的目的地址转发效率不高等等的原因不是非常令人满意。MPLS技术的出现和BGP协议的改进,让大家看到了另一种实现VPN的曙光。  1.MPLS/VPN体系结构  (1) PE路由器的改造和VRF的导入  为了让PE路由器上能区分是哪个本地接口上送来的VPN用户路由,在PE路由器上创建了大量的虚拟路由器,每个虚拟路由器都有各自的路由表和转发表,这些路由表和转发表统称为VRF(VPN Routing and Forwarding instances)。一个VRF定义了连到PE路由器上的VPN成员。VRF中包含了IP路由表,IP转发表(也成为CEF表),使用该CEF表的接口集和路由协议参数和路由导入导出规则等。 在VRF中定义的和VPN业务有关的两个重要参数是RD(Route Distinguisher)和RT(Route Target)。RD和RT长度都是64比特。  有了虚拟路由器就能隔离不同VPN用户之间的路由,也能解决不同VPN之间IP地址空间重叠的问题。  (2) MP-BGP协议对VPN用户路由的发布  正常的BGP4协议能只传递IPv4的路由,由于不同VPN用户具有地址空间重叠的问题,必须修改BGP协议。BGP最大的优点是扩展性好,可以在原来的基础上再定义新的属性,通过对BGP修改,把BGP4扩展成MP-BGP。在MP-IBGP邻居间传递VPN用户路由时打上RD标记,这样VPN用户传来的IPv4路由转变为VPNv4路由,这样保证VPN用户的路由到了对端的PE上,能够使对端PE区分开地址空间重叠但不同的VPN用户路由。例子如下:在PE1、PE2、PE3上分别配置VRF参数,其中VPN1用户的RD=6500:1,RT=100:1,VPN2用户的RD=6500:2、RT=100:2。所有VRF可以同时 导入和导出所定义的RT。  以PE2为例,PE2从接口S0上获得由CE4传来的有关10.1.1.0/8的路由,PE2把该路由放置到和S0有关的VRF所管辖的IP路由表中,并且分配该路由的本地标签,注意该标签是本地唯一的。通过路由重新发布把VRF所管辖的IP路由表中的路由重新发布到BGP表中,此时通过参考VRF表的RD、RT参数,把正常的IPv4路由变成VPNv4路由,如10.1.1.0/8变成6500:1:10.1.1.0/8,同时把导出(Export)RT值和该路由的本地标签值等等的属性全部加到该路由条目中去。通过MP-IBGP会话,PE2把这条VPNv4路由发送的PE1处,PE1收到了两条有关10.1.1.0/8的路由,其中一条是由PE3发来的,由于RD的不同,导致该两条路由没有可比性。MP-BGP接受到该两条路由后的后继工作是:去掉VPN4路由所带的RD值,使之恢复IPv4路由原貌,并且根据各VRF配置的允许导入(Import)的RT值,把IPv4倒到各个VRF管辖的路由表和CEF表中,也就是说带有RT=100:1的10.1.1.0/8的路由倒到VRF1所管的路由表和CEF表中,带有RT=100:2的10.1.1.0/8的路由倒到VRF2所管辖的路由表和CEF表中。再通过CE和PE之间的路由协议,PE把不同的VRF管辖的路由表内容通告的各自的相联的CE中去。目前PE和CE之间可支持的路由协议只有四种BGP、OSPF、RIP2或者静态路由。  上面的配置展现了在单个AS内部实现VPN的配置,当然VPN用户的各个接入点往往是地域跨度很大的,所以经常要涉及到跨AS提供VPN业务的需求。这样的配置会更加复杂,而且需要各个电信运营商配合行动才行。MPLS是一种结合了链路层和IP层优势的新技术。在MPLS网络上不仅仅能提供VPN业务,也能够开展QOS、TE、组播等等的业务。

传统的IP数据转发是基于逐跳式的,每个转发数据的路由器都要根据IP包头的目的地址查找路由表来获得下一跳的出口,这是个繁琐又效率低下的工作,主要的原因是两个:

1、有些路由的查询必须对路由表进行多次查找,这就是所谓的递归搜索;

2、由于路由匹配遵循最长匹配原则,所以迫使几乎所有的路由器的交换引擎必须用软件来实现,用软件实现的交换引擎和ATM交换机上用硬件来实现的交换引擎在效率上无法相抗衡。

当今的互联网应用需求日益增多,对带宽、对时延的要求也越来越高。如何提高转发效率,各个路由器生产厂家做了大量的改进工作,如Cisco在路由器上提供CEF(Cisco Express Forwarding)功能、修改路由表搜索算法等等。但这些修补并不能完全解决目前互联网所面临的问题。IP和ATM曾经是两个互相对立的技术,各个IP设备制造商和ATM设备制造商都曾努力想吃掉对方,想IP一统天下,或者ATM一家独秀!但是最终是这两种技术的融合,那就是MPLS(Multi-Protocol Label Switching)技术的诞生!MPLS技术结合和IP技术信令简单和ATM交换引擎高效的优点!

一、MPLS技术的实现细节

1.标签结构

IP设备和ATM设备厂商实现MPLS技术是在各自原来的基础上做的,对于IP设备商,它修改了原来IP包直接封装在二层链路帧中的规范,而是在二层和三层包头之间插了一个标签(Label),而ATM设备制造商利用了原来ATM交换机上的VPI/VCI的概念,在使用Label来代替了VPI/CVI,当然ATM交换机上还必修改信令控制部分,引入了路由协议,ATM交换使用了路由协议来和其他设备交换三层的路由信息。 标签的结构如下:

20比特的LABEL字段用来表示标签值,由于标签是定长的,所以对于路由器来说,可以分析定长的标签来做数据包的转发,这是标签交换的最大优点,定长的标签就意味这可以用硬件来实现数据转发,这种硬件转发方式要比必须用软件实现的路由最长匹配转发方式效率要高得多。3比特的EXP用来实现QOS;1比特S值用来表示标签栈是否到底了,对于VPN,TE等应用将在二层和三层头之间插入两个以上的标签,形成标签栈;8比特TTL值用来防止数据在网上形成环路。这样完整的带有标签的二层帧就成了如下形式:

在ATM信元模式下,信元的结构如下形式:

2.LSR设备的体系结构

通过修改,能支持标签交换的路由器为LSR(Label Switch Router),而支持MPLS功能的ATM交换机我们一般称之为ATM-LSR。 LSR设备的体系结构如下:

LSR的体系结构分为两块:

1.控制平面(Control Plane)

该模块的功能是用来和其他LSR交换三层路由信息,以此建立路由表;和交换标签对路由的绑定信息,以此建Label Information Table(LIB)标签信息表。同时再根据路由表和LIB生成Forwarding Information Table(FIB)表和Label Forwarding Information Table(LFIB)表。控制平面也就是我们一般所说的路由引擎模块。

2.数据平面(Data Plane)

数据平面的功能主要是根据控制平面生成的FIB表和LFIB表转发IP包和标签包。对于控制平面中所使用的路由协议,可以使用以前的任何一种,如OSPF、RIP、BGP等等,这些协议的主要功能是和其他设备交换路由信息,生成路由表。这是实现标签交换的基础。在控制平面中导入了一种新的协议―LDP,该协议的功能是用来针对本地路由表中的每个路由条目生成一个本地的标签,由此生成LIB表,再把路由条目和本地标签的绑定通告给邻居LSR,同时把邻居LSR告知的路由条目和标签帮定接收下来放到LIB表里,最后在网络路由收敛的情况下,参照路由表和LIB表的信息生成FIB表和LFIB表。

二、标签的分配和分发

上面叙述说,MPLS技术是IP技术和ATM技术的融合。LSR和ATM-LSR上实现标签的生成和分发是有点不同的。

1.包模式(Packet Mode)下标签的分配和分发

对于实现包模式MPLS网络中,是下游LSR独立生成路由条目和标签的绑定,并且是主动分发出去的。如下图,所有LSR上启动了LDP协议。以LSR-B为例,它已经通过路由协议获得网络X的路由了,一旦启动LDP协议,LSR-B立即查找路由表,如果X网络的路由是由IGP路由协议学到的,则在LIB表中为通向X网络的路由生成一个本地标签25,由于LSR-B和LSR-A、LSR-C、LSR-E形成了LDP邻居关系,所以下游LSR-B会主动给所有的邻居发送这个X=25的路由条目和标签的绑定。LSR-A、LSR-E、LSR-C会把该路由条目和标签的绑定放置到本地的LIB表中,再结合本地的路由表,在FIB表中生成有关X网络的“网络地址->出标签”条目,在LFIB中生成有关X网络的“进标签->出标签”条目。所有的LSR上都如此操作。最终的结果使整个MPLS网络内部所有LSR上达到路由表、LIB表、FIB表、LFIB表的动态平衡。

如果LSR-A接收到要去X网段的数据,由于LSR-A处在MPLS网络的边缘,必须查找FIB表,对接收到的IP包,做标签插入操作。对于LSR-B,LSR-C则纯粹是分析标签包,对包头的标签做转换,在转发标签包而已。数据到了LSR-D,该边缘LSR会去掉标签包中的标签,再对恢复的IP包做转发。

2.信元模式(Cell Mode)下的标签分配和分发

在信元模式下,下游ATM-LSR接收到了上游ATM-LSR标签绑定请求后,下游受控分配标签,被动向上游分发标签。最上游的LSR-A向ATM-LSR-B发起对网络X的标签求情,ATM-LSR-B再向ATM-LSR-C发请求,最后请求到达LSR-D,LSR-D生成本地对X网络的标签1/37,把该标签告诉ATM-LSR-C,C做同样操作,这样一步一步到达LSR-A。最终生成一条从A->B->C->D的LSP(Label Switch Path)。这样如果A收到要到X网络的数据,A就把IP数据包分割成带有标签的信元,通过ATM接口发送到B,接下来B和C就纯粹做ATM信元的转发,到了D后再把信元组合成IP数据包,发向网络X。

在此要强调的如果要组建以ATM交换机为核心的MPLS网络,那么在ATM网络的边缘必须设置路由器,原因在于ATM交换机只转发信元,无法处理用户数据IP包。当然上面也提到要在ATM交换机上实现MPLS功能,必须在ATM交换机的信令控制部分加入路由协议,而路由信息包往往是打在IP包中的,如RIP,OSPF,BGP等路由协议。ATM交换机为了确保这些以IP包形式传递的路由信息能够在ATM交换机间传递,使用了专门的带外连接通道或者带内的管理VC。

三、BGP协议在MPLS网络中的特殊应用

上面提到LSR根据路由表分配标签时,只对从IGP协议获得的路由条目分配标签。原因何在?这是有特殊意义的。

整个Transit AS中启动MPLS交换。保证ISP2和LSR-Border2之间的网段发布到Transit AS内部的IGP路由协议中,对ISP1和LSR-Border2之间的网段也做同样的要求。前面提到过LSR为路由条目分配标签时,只对从IGP学来的路由分配标签,而网络1.2.3.4是被发布到Transit AS内部的IGP路由协议中了,可以肯定在Border1处是可以获得Core1告诉它有关1.2.3.4网络的标签23。LSR-Border1,LSR-Border2之间形成IBGP邻居关系,通过BGP协议,LSR-Border2把从ISP2处学来的10.0.0.0/8这条路由告诉给LSR-Border1,这条路由的下一跳地址是1.2.3.4,这样一来让LSR-Border1得知要给网络10.0.0.0/8发送数据,先把数据发送到1.2.3.4这个网络来。1.2.3.4被绑定了标签23,所以在生成FIB表时,也给10.0.0.0/8这个网段绑定一个标签23。这样,如果有数据从ISP1穿越Transit AS到达ISP2,在Border1处就会给IP包插上23这个标签,把生成的标签包转发到Core1,Core1就只要分析标签头做标签包的转发就可以了!由于Transit AS内部核心路由器不必要运行BGP协议,这样一来,MPLS网络的核心路由器就不会知道外部用户的路由,缩小了核心路由器的路由表,提高了搜索效率。大家也看到,由于打上了标签,IP包头是不会在核心路由器被分析的,即使IP包头含有10.0.0.1这样的私有IP地址,也会因为只分析标签的原因被正常转发,这就是服务提供商提供VPN服务所追求的。当然在此必须重声,LSP在整个Transit AS不能被断开,如果断开,标签包就恢复成IP包,而核心路由器是不含用户路由的,最终导致数据包的丢失。

BGP在MPLS网络中的作用为我们提供了VPN服务打开了方便之门,但也应该意识到VPN服务两个最基本的要求是:

1.用户可以独立规划IP地址

2.安全性非常重要。

如下图是两个VPN实例,PE1(PE=Provider Edge device)上分别接了CE1 (CE=Customer Edge device)和CE3,但是CE1和CE3上带到IP地址相同的网段10.1.2.0/8,很明显如果不对PE1路由器做修改,PE1只能认为往10.1.2.0/8的数据要么从S0出,要么从S1出,这样的话,不是CE1就是CE3就更本收不到从PE1发来的前往10.1.2.0/8网段的数据。

如果不对BGP4协议做修改,那么PE2和PE3发送给的PE1的有关10.1.1.0/8网络的路由更新就有可比性,PE1最终会选择一条路由,认为或是PE2或者PE3是发送数据到10.1.1.0/8的必经路由器。这样如果CE1带的10.1.2.0/8网段上的主机给10.1.1.0/8网段上的主机发送数据时,可能会发到CE4所带的10.1.1.0/8的网段上,这样造成了数据泄露。所以,为了使LSR能提供基于MPLS的VPN服务,还必须对此类设备做修改。

四、基于MPLS的VPN实现

VPN服务是很早就提出的概念,不过以前电信提供商提供VPN是在传输网上提供的覆盖型的VPN服务。电信运营商给用户出租线路,用户上层使用何种的路由协议、路由怎么走等等,这些电信运营商不管。这种租用线路来搭建VPN的好处是安全,但是价格昂贵,线路资源浪费严重。后来随着IP网络的全面铺开,电信服务提供商在竞争的压力下,不得不提供更加廉价的VPN服务,也就是三层VPN服务。通过提供给用户一个IP平台,用户通过IP Over IP的封装格式在公网上打隧道,同时也提供了加密等等的手段提供安全保障。这类VPN用户在目前的网络上数量还是相当巨大的!但是这类VPN服务因大量的加密工作、传统路由器根据IP包头的目的地址转发效率不高等等的原因不是非常令人满意。MPLS技术的出现和BGP协议的改进,让大家看到了另一种实现VPN的曙光。

1.MPLS/VPN体系结构

(1) PE路由器的改造和VRF的导入

为了让PE路由器上能区分是哪个本地接口上送来的VPN用户路由,在PE路由器上创建了大量的虚拟路由器,每个虚拟路由器都有各自的路由表和转发表,这些路由表和转发表统称为VRF(VPN Routing and Forwarding instances)。一个VRF定义了连到PE路由器上的VPN成员。VRF中包含了IP路由表,IP转发表(也成为CEF表),使用该CEF表的接口集和路由协议参数和路由导入导出规则等。 在VRF中定义的和VPN业务有关的两个重要参数是RD(Route Distinguisher)和RT(Route Target)。RD和RT长度都是64比特。

有了虚拟路由器就能隔离不同VPN用户之间的路由,也能解决不同VPN之间IP地址空间重叠的问题。

(2) MP-BGP协议对VPN用户路由的发布

正常的BGP4协议能只传递IPv4的路由,由于不同VPN用户具有地址空间重叠的问题,必须修改BGP协议。BGP最大的优点是扩展性好,可以在原来的基础上再定义新的属性,通过对BGP修改,把BGP4扩展成MP-BGP。在MP-IBGP邻居间传递VPN用户路由时打上RD标记,这样VPN用户传来的IPv4路由转变为VPNv4路由,这样保证VPN用户的路由到了对端的PE上,能够使对端PE区分开地址空间重叠但不同的VPN用户路由。例子如下:在PE1、PE2、PE3上分别配置VRF参数,其中VPN1用户的RD=6500:1,RT=100:1,VPN2用户的RD=6500:2、RT=100:2。所有VRF可以同时 导入和导出所定义的RT。

以PE2为例,PE2从接口S0上获得由CE4传来的有关10.1.1.0/8的路由,PE2把该路由放置到和S0有关的VRF所管辖的IP路由表中,并且分配该路由的本地标签,注意该标签是本地唯一的。通过路由重新发布把VRF所管辖的IP路由表中的路由重新发布到BGP表中,此时通过参考VRF表的RD、RT参数,把正常的IPv4路由变成VPNv4路由,如10.1.1.0/8变成6500:1:10.1.1.0/8,同时把导出(Export)RT值和该路由的本地标签值等等的属性全部加到该路由条目中去。通过MP-IBGP会话,PE2把这条VPNv4路由发送的PE1处,PE1收到了两条有关10.1.1.0/8的路由,其中一条是由PE3发来的,由于RD的不同,导致该两条路由没有可比性。MP-BGP接受到该两条路由后的后继工作是:去掉VPN4路由所带的RD值,使之恢复IPv4路由原貌,并且根据各VRF配置的允许导入(Import)的RT值,把IPv4倒到各个VRF管辖的路由表和CEF表中,也就是说带有RT=100:1的10.1.1.0/8的路由倒到VRF1所管的路由表和CEF表中,带有RT=100:2的10.1.1.0/8的路由倒到VRF2所管辖的路由表和CEF表中。再通过CE和PE之间的路由协议,PE把不同的VRF管辖的路由表内容通告的各自的相联的CE中去。目前PE和CE之间可支持的路由协议只有四种BGP、OSPF、RIP2或者静态路由。

上面的配置展现了在单个AS内部实现VPN的配置,当然VPN用户的各个接入点往往是地域跨度很大的,所以经常要涉及到跨AS提供VPN业务的需求。这样的配置会更加复杂,而且需要各个电信运营商配合行动才行。MPLS是一种结合了链路层和IP层优势的新技术。在MPLS网络上不仅仅能提供VPN业务,也能够开展QOS、TE、组播等等的业务。

云杰通信&网络综合解决方案提供商,助力企业信息化建设、数字化转型、以及全球化互联。SD-WAN方案可实现全球访问加速、SaaS访问加速、海外视频加速、海外分支组网,有效提升国际间沟通效率,助力中国企业开拓国际市场。服务热线:13631779516,欢迎来电咨询。

文章标题:《MPLS技术实现原理》

作  者:云杰小编。本文部分资料来源于网络,转载目的在于传递更多信息及学习参考:https://www.gdyunjie.cn/showinfo-114-4343-0.html

主要业务
企业专线网络MPLS组网SD-WAN云专线
行业解决方案
跨境电商智能制造业互联网医疗国际教育
关于我们
公司简介服务支持商务合作联系我们
热门专题:虚拟专网虚拟专网服务虚拟专网业务虚拟网服务器虚拟网上国外网上外网外网打开访问国外网国外网站访问快速访问外网国外网站慢访问国外网站访问外网mstp、mpls企业mpls国内mplsmpls企业专线广东mplsmstp/mplsmpls计费mpls费用mstp mpls欧洲mplssdwan上网企业组网外网跨国sdwan国际专用网企业国际网专线网络国际专线网络电信国际专线国际专线价格网络国际专线国际专线跨境网络专线国际数据专线访问国际网络国际网络专线国际互联网专线深港网络专线深港专线价格东莞国际上网微软云专线专线上云云专线端到端pon云专线混合云专线接入腾讯云专线云专线定义混合云专线电信云专线跨云专线混合云专线方案
Copyright @ 版权所有2012-2019 广东云杰通信有限公司 粤ICP备18062193号