您好!欢迎光临云杰通信官网,本公司专业提供跨境企业网络加速优化、企业MPLS-VPN、SD-WAN等跨境网络技术服务。
服务热线:13631779516

企业网络优化专家

国际网络互联综合解决方案

行业知识 NEWS

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

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

如何理解MPLS-VPN中的双层标签?

2019-11-20 11:07阅读:2158


两层MPLS标签技术的VPN功能更加光彩夺目,内层标签用于提供VPN服务,而外层标签则为骨干网上传输提供了便捷。

为什么这么说?

MPLS的起源

90年代中期,TCP/IP技术日益成熟,推动了互联网的飞速发展。在TCP/IP协议体系中,IP报文的转发主要依靠路由器查找路由表来实现。在大型网络中,路由器中的路由表都非常庞大,并且路由表的查找算法是最长匹配算法,所以在路由表中查找到精确路由的计算量非常大。而当时由于硬件技术的限制,路由器主要通过软件方式来查找路由表,效率很低,这就导致路由器的IP转发性能低下,这也成为了当时限制互联网发展的主要瓶颈。

为了适应网络的发展,ATM(Asynchronous Transfer Mode)技术应运而生。ATM采用定长标签,并且只需要维护比路由表规模小得多的标签表,能够提供比IP路由方式高得多的转发性能。然而,ATM协议相对复杂,且ATM网络部署成本高,这使得ATM技术很难普及。

ATM技术虽然没有成功,但其中的几点心法口诀却属创新:

  • 摒弃了繁琐的路由查找,改为简单快速的标签交换;

  • 将具有全局意义的路由表改为只有本地意义的标签表。

MPLS的创始人“label大师”充分吸取了ATM的精华,将自己定位在第2. 5层的位置。为了不得罪其他帮派,宣称本帮是“multiprotocol”,来者不拒,也可以承载其他帮派的报文。

在经过一年多的招兵买马、上下打点之后,于1997年的武林大会上正式宣布本帮成立,并命名为MPLS(Multiprotocol Label Switching)。

MPLS武功心法——基于标签转发

MPLS阵法图

如何理解MPLS-VPN中的双层标签?

MPLS帮的弟子一直修炼一套独有阵法,所有进入该阵的报文必须领得通关令牌(标签)。该阵法分为内外两层,外层由功力较低的入门弟子担当(LER),在IP报文冲阵时负责接收IP报文,查找标签转发表后给IP报文分配令牌(打标签,PUSH),在IP报文出阵时对报文进行令牌回收(弹出标签,POP),按IP路由进行转发。

内层由功力高强的弟子组成(LSR),负责对标签报文进行快速的令牌交换操作(标签交换,SWAP)。

该阵法所使用的令牌(标签Label)是一个只具有本地意义的标识符,通过绑定过程与FEC相映射。MPLS标签的长度为4个字节,封装在链路层和网络层之间,可以支持任意的链路层协议。这里提到的FEC是在转发过程中以相同方式处理的一组数据分组, MPLS创始人在秘笈中本来规定:可以通过地址、隧道、COS等来标识创建FEC,只可惜后辈弟子大多资质愚钝,不能理解其中的精妙之处,所以我们现在看到的MPLS中只是一条路由对应一个FEC。

通常在一台设备上,对一个FEC分配相同的标签。举个例子,匹配3.3.3.9/32路由的报文,MPLS会为其分配一个标签。所有使用该路由进行转发的报文,都将被封装同一个标签值,然后进入MPLS网络进行转发。

需要明确的是,在MPLS阵法中,数据流所走的路径就是标签交换通道LSP(Label Switched Path)。

报文结构

如何理解MPLS-VPN中的双层标签?

MPLS标签共有4个字段:

  • Label:20bit,标签值域。

  • Exp:3bit,用于扩展。现在通常用做CoS(Class of Service),当设备阻塞时,优先发送优先级高的报文。

  • S:1bit,栈底标识。MPLS支持多层标签,即标签嵌套。S值为1时表明为最底层标签。

  • TTL:8bit,和IP报文中的TTL意义相同。

标签栈(Label Stack)是指标签的排序集合。如下图所示,靠近二层首部的标签称为栈顶MPLS标签或外层MPLS标签(Outer MPLS label);靠近IP首部的标签称为栈底MPLS标签或内层MPLS标签(Inner MPLS label)。理论上,MPLS标签可以无限嵌套,从而提供无限的业务支持能力。这是MPLS技术最大的魅力所在。

如何理解MPLS-VPN中的双层标签?

标签产生

有了标签,转发是很简单的事,但是如何生成标签,却是MPLS中最难修练的部分。在MPLS中,有一个叫LDP(Label Distribution Protocol)的秘笈,是一个动态的生成标签的协议。下面我们来介绍一下LDP如何生成标签。

如何理解MPLS-VPN中的双层标签?

上图是比较常见的一种标签分配方式。标签由数据流经的LSP上的下游LSR分配,按从下游到上游的方向分发。如上图,Egress告诉Transit说:如果你要转发到3.3.3.9/32的数据给我,你就为报文加上标签X。接着Transit又向Ingress说:如果你要转发到3.3.3.9/32的数据给我,你就为报文加上标签Z。

LSR(Transit)设备上的标签转发信息:

如何理解MPLS-VPN中的双层标签?

这里的IN和OUT,是相对于标签转发设备而言,不是相对于标签分配设备,总结一个心法口诀就是:

入标签是我分给上游设备的,出标签是下游设备分给我的。

我分配的标签是给上游设备用的,由上游设备添加到报文中。

MPLS报文转发过程

如何理解MPLS-VPN中的双层标签?

在MPLS标签分配完毕之后,一条转发报文的LSP就建立完成了。LSP上的每个设备在收到报文之后根据标签进行转发。还是用上面这个例子,Ingress节点收到目的地址为3.3.3.9的IP报文,压入标签Z并转发。Transit节点收到带标签Z的报文,进行标签交换,替换为标签X并转发报文。Egress节点收到该报文后弹出标签,变为IP报文,而后将其转发给目的地3.3.3.9/32。

MPLS高阶心法——PHP倒数第二跳弹出

MPLS帮派中有个弟子PHP,他天资聪颖且富有创新精神,他经过对MPLS阵法的深入研究,发现本帮的这门绝学虽然暗合天数、精妙无比,但并非没有可改进之处。

在阵法的出口处,Egress LSR本应变MPLS转发为IP路由查找,但是他收到的仍旧是含有标签的MPLS报文,按照常规,这个报文应该送交MPLS模块处理,而此时MPLS模块不需要标签转发,能做的只是去掉标签,然后送交IP层。所以对于Egress LSR来说,处理MPLS报文是没有意义的,最好能够保证他直接收到的就是IP报文。这就需要在Egress LSR的上游(倒数第二跳)就把标签给弹出来。

但关键问题是:上游设备如何知道自己是倒数第二跳呢?其实很简单,在倒数第一跳为其分配标签时做一下特殊说明即可(分配一个特殊的标签值3)。

经过几次实战检验,效果很好,遂正式以自己的名字命名为:PHP(Penultimate Hop Popping),倒数第二跳弹出。

如何理解MPLS-VPN中的双层标签?

文章标题:《如何理解MPLS-VPN中的双层标签?》

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

主要业务
企业专线网络MPLS-VPNSD-WAN云专线
行业解决方案
跨境电商智能制造业互联网医疗国际教育
关于我们
公司简介服务支持商务合作联系我们
国际网络专题:广域网接口什么是广域网广域网优化广域网访问广域网加速广域网协议广域网端口无线广域网局域网广域网广域网虚拟网络上海iplc访问加速网络建设全球加速出口带宽远程组网网络加速香港网络香港专线视频会议ebayAliExpresAmazonInstagramTwitterFacebookgooglevklineSkypeWhatsAppzoom视频会议公司用vpnvpn方案公司vpn网络vpnvpn地址vpn直通香港vpn可靠vpnvpn中国vpn提供商外贸VPN企业用vpn企业vpn跨境电商vpnvpn专线ipsec vpnsdwan vpn国外网站加速vpn组网mpls iplc 价格mpls专线价格mplsvpn专线
Copyright @ 版权所有2012-2019 广东云杰通信有限公司 粤ICP备18062193号-2

在线咨询

在线咨询真诚为您提供专业解答服务

咨询热线

13631779516欢迎致电咨询

微信咨询

二维码微信扫一扫咨询
返回顶部