CN103067278B - 一种数据帧的传输处理方法、设备及系统 - Google Patents

一种数据帧的传输处理方法、设备及系统 Download PDF

Info

Publication number
CN103067278B
CN103067278B CN201310040482.9A CN201310040482A CN103067278B CN 103067278 B CN103067278 B CN 103067278B CN 201310040482 A CN201310040482 A CN 201310040482A CN 103067278 B CN103067278 B CN 103067278B
Authority
CN
China
Prior art keywords
mtu value
equipment
recipient
virtual link
value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201310040482.9A
Other languages
English (en)
Other versions
CN103067278A (zh
Inventor
王建平
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
New H3C Information Technologies Co Ltd
Original Assignee
Hangzhou H3C Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hangzhou H3C Technologies Co Ltd filed Critical Hangzhou H3C Technologies Co Ltd
Priority to CN201310040482.9A priority Critical patent/CN103067278B/zh
Publication of CN103067278A publication Critical patent/CN103067278A/zh
Application granted granted Critical
Publication of CN103067278B publication Critical patent/CN103067278B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明提供了一种数据帧的传输处理方法,应用于MPLS?L2VPN网络中,该方法包括:发送方运营商边缘设备PE与接收方运营商边缘设备PE之间建立PW;发送方PE向接收方PE发送虚链路MTU值探测报文,将虚链路上最小的MTU值作为虚链路MTU值;所述虚链路包括从发送方PE与用户边缘设备连接的接口至接收方PE与用户边缘设备连接的接口之间的链路,其中包括发送方PE和接收方PE之间的链路;发送方PE根据所述虚链路MTU值对数据帧进行分片封装转发。本发明还公开了一种运营商边缘设备和系统。采用本发明能够有效防止MPLS报文过大而被丢弃。

Description

一种数据帧的传输处理方法、设备及系统
技术领域
本发明涉及通信技术领域,特别涉及一种数据帧的传输处理方法、设备及系统。
背景技术
多协议标签交换的二层虚拟私有网(MPLSL2VPN),是在MPLS核心网上,通过MPLS标签封装用户报文以实现L2VPN的一种应用。MPLSL2VPN使运营商可以在统一的MPLS网络上提供基于不同数据链路层的二层VPN,可应用于包括ATM、FR、虚拟局域网(VLAN)、以太网(Ethemet)、点对点协议(PPP,PointtoPointProtocol)等组网结构。MPLSL2VPN又分为两种,虚拟私有局域网服务(VPLS)和虚拟私有专线服务(VPWS)。
VPLS和VPWS都属于虚线路仿真端到端(PWE3)体系构架。在该体系中,PW就是通过封装技术实现的一个虚拟的运营商边缘设备(PE,ProviderEdge)到PE的独占连接,报文通过PW能够在PE设备间传输。其中,VPLS/VPWS中的PE用于提供相应的VPLS和VPWS接入服务。
MPLSVPN组网构架中包括用户边缘设备(CE,CustomEdge)和运营商边缘设备(PE,ProviderEdge),CE和PE之间的链路为接入链路(AC,AttachedCircuit),PE之间的链路称为虚链路(PW,PseudoWire),在PE之间的链路上通常还连接有一个或者多个中间运营商设备P。如图1所示,CE可以是网络设备(如路由器、交换机),也可以是一台主机,CE“感知”不到VPN的存在,不需要支持MPLS。PE是与CE相连的运营商网络侧设备,PE主要负责VPN业务的接入。它完成报文从用户网络到公网隧道、从公网隧道到用户网络的映射与转发。中间P设备不与CE直接相连,中间P设备只需沿着隧道将用户报文从一端PE转发到另一端PE。
现有技术中,数据帧在MPLSL2VPN网络中的传输处理方法,包括以下步骤:
步骤11、PE1与PE2之间建立PW,即发送方PE与接收方PE之间进行PW协商;
具体地,发送方PE向接收方PE发送标签映射消息,该消息中包含虚链路标识(PWID)、虚链路类型(PWType)、控制字和分片能力等参数,以及最大传输单元(MTU,MaximumTransmissionUnit)等接口参数;接收方PE确认上述标签映射消息与自身参数相匹配,则回应自身的标签映射消息,从而完成PW的协商,在PE1与PE2之间建立PW。
其中,PWID为PW在两个PE之间的唯一标识,用来区分其他PW。
PWtype表明该PW上传送数据的封装类型,如ATM、帧中继、Ethernet、VLAN等,要求两个PE上面该PW对应的PWtype必须一致。
PW协商中的MTU接口参数一般为在L2VPN命令中用户手工配置的MTU值。MTU一般配置在接口,用于标识通过设备接口的最大报文长度。
本步骤中如果PW协商成功,则该PW使能控制字和分片能力,也就是说,PE1可以对CE1转发的二层数据帧进行分片,PE2可以正确地重组所接收到的分片。
步骤12、PE1将CE1转发的二层数据帧进行封装,形成MPLS报文,并转发给P设备;
具体地,PE1根据PW协商中的MTU值,对数据帧进行分片并封装控制字;根据PE1与CE1之间的AC所绑定的虚链路(VirtualCircuit,VC)为数据帧封装私网VC标签,并查找对应的公网隧道,为数据帧封装公网MPLS隧道标签。也就是说,数据帧的每一个分片都封装有公网MPLS隧道标签、私网VC标签和控制字。
图2为数据帧经过封装后的示意图。私网VC标签和公网MPLS隧道标签统称为MPLS标签栈,控制字在L2VPN的环境中位于MPLS标签栈中的私网VC标签和被传输的二层数据帧之间。图3为控制字的通用格式示意图。控制字是一个32比特的字段,它主要是为一些第二层协议工作的,当然还可以为其他一些协议工作,不过是可选的,而不是必需的。控制字以压缩的方式携带额外的信息,比如说协议控制信息和序列号(SequenceNumber)。这些信息可以正确有效地在MPLS网络中承载第二层协议。PE1添加控制字,PE2在对它进行处理之后移除该字段。是否使用控制字可以通过PE路由器之间的信令通告,PE2能了解到在MPLS标签栈的后面将会存在控制字。关于控制字的作用,目前控制字拥有5大功能,其中有一个作用是帮助进行分段与重组:控制字可以帮助正确执行数据帧分段和重组工作。PE之间在建立PW的时候可以说明他们是否支持分片,或者你可以通过配置来启用分片和重组。在控制字中,分片是通过使用开始(B)和结束(E)比特来实施的。分片和重组使用控制字中的序列号来表明一组分片。可以在图3中看到B与E比特的位置,以及被输入到控制字中的序列号。
步骤13、中间P设备根据公网MPLS隧道标签,进行公网MPLS隧道标签交换,将MPLS报文转发给PE2;
步骤14、PE2根据私网VC标签判断MPLS报文所属的VC,删除公网MPLS隧道标签、私网VC标签,以及控制字,还原二层数据帧后将其转发给该VC绑定的AC,即CE2。
在上述过程中,如果整合了MPLS标签栈、控制字和二层数据帧的MPLS报文大于MPLS网络中的MTU的话,那么MPLS报文在PE1上就会分片,并且将分片信息携带在控制字中,MPLS报文到达PE2后,解析控制字中的分片信息重组二层数据帧,最后发送给CE2。需要注意的是,在PE1上分片的大小是根据PW协商过程中确定的MTU值,该MTU值是通过在PE节点上手工配置获得的,没有考虑MPLS网络中P节点出接口配置的MTU值,也没有考虑AC侧链路的MTU值,如果在中间P节点出接口配置的MTU值较小,或者PE2出接口,即PE2与CE2连接的接口配置的MTU值较小,那么都有可能出现MPLS报文过大而被丢弃。
发明内容
本发明实施例提供了一种数据帧的传输处理方法,能够有效防止MPLS报文过大而被丢弃。
一种数据帧的传输处理方法,应用于多协议标签交换的二层虚拟私有网络MPLSL2VPN中,该方法包括:
发送方运营商边缘设备PE与接收方运营商边缘设备PE之间建立虚链路PW;
发送方PE向接收方PE发送虚链路最大传输单元MTU值探测报文,将虚链路上最小的MTU值作为虚链路MTU值;所述虚链路包括从发送方PE与用户边缘设备连接的接口至接收方PE与用户边缘设备连接的接口之间的链路,其中包括发送方PE和接收方PE之间的链路;
发送方PE根据所述虚链路MTU值对数据帧进行分片封装转发;
其中,发送方PE向接收方PE发送虚链路MTU值探测报文,将虚链路上最小的MTU值作为虚链路MTU值的方法为:
发送方PE将本设备出接口的MPLSMTU值减去数据帧在本设备出接口标签栈大小和控制字的大小,获得新的MTU值,将本设备与用户边缘设备连接的接口的MTU值与该新的MTU值进行比较,将其中较小的MTU值携带在探测报文中发送给接收方PE;
发送方PE接收到由接收方PE响应的虚链路上的最小MTU值后,将该值作为虚链路MTU值,该最小MTU值为接收方PE与用户边缘设备连接的接口的MTU值和所述探测报文中携带的MTU值中的较小值。
本发明实施例还提供了一种运营商边缘设备PE,能够有效防止MPLS报文过大而被丢弃。
一种运营商边缘设备PE,应用于多协议标签交换的二层虚拟私有网络MPLSL2VPN中,
当所述PE作为发送方PE时,该PE包括:
第一PW建立单元,用于与接收方PE之间建立虚链路PW;
第一探测单元,用于在PW建立之后,探测从发送方PE与用户边缘设备连接的接口,至发送方PE和接收方PE之间的链路上的较小最大传输单元MTU值,向接收方PE发送携带该较小MTU值的探测报文;
分片封装转发单元,用于在接收方PE确定虚链路MTU值后,根据所述虚链路MTU值对数据帧进行分片封装转发;
所述第一探测单元进一步包括:
第一获取单元,用于获取发送方PE出接口的MPLSMTU值;还用于获取发送方PE与用户边缘设备连接的接口的MTU值;
第一计算单元,用于将发送方PE出接口的MPLSMTU值减去数据帧在本设备出接口标签栈大小和控制字的大小,获得新的MTU值;
第一处理单元,用于将发送方PE与用户边缘设备连接的接口的MTU值与该新的MTU值进行比较,将其中较小的MTU值携带在探测报文中发送给接收方PE;
当所述PE作为接收方PE时,该PE包括:
第二PW建立单元,用于与发送方PE之间建立PW;
第二探测单元,用于接收到探测报文后,探测接收方PE与用户边缘设备连接的接口上的MTU值,根据探测报文中携带的MTU值以及接收方PE与用户边缘设备连接的接口上的MTU值,将虚链路上的最小MTU值确定为虚链路MTU值;所述虚链路包括从发送方PE与用户边缘设备连接的接口至接收方PE与用户边缘设备连接的接口之间的链路,其中包括发送方PE和接收方PE之间的链路;
所述第二探测单元进一步包括:
第二获取单元,用于获取接收方PE与用户边缘设备连接的接口的MTU值;
第二处理单元,用于将接收方PE与用户边缘设备连接的接口的MTU值与探测报文中携带的MTU值进行比较,将其中较小的MTU值作为虚链路MTU值响应给发送方PE。
本发明实施例还提供了一种系统,能够有效防止MPLS报文过大而被丢弃。
一种MPLSL2VPN系统,包括上述发送方PE和接收方PE,发送方PE和接收方PE之间还连接有一个或者多个中间P设备;
所述中间P设备包括:
第三探测单元,用于接收到探测报文后,探测从该中间P设备到下一设备的链路上的最大传输单元MTU值,根据探测报文中携带的MTU值以及从该中间P设备到下一设备的链路上的MTU值,向下一设备发送携带较小MTU值的探测报文;
所述第三探测单元包括:
第三获取单元,用于获取所述中间P设备出接口的MPLSMTU值;
第三计算单元,用于将所述中间P设备出接口的MPLSMTU值减去数据帧在本设备出接口标签栈大小和控制字的大小,获得新的MTU值;
第三处理单元,用于将探测报文中携带的MTU值与该新的MTU值进行比较,将其中较小的MTU值携带在探测报文中发送出去。
本发明实施例发送方PE与接收方PE之间建立PW时,并不像现有技术那样进行MTU接口参数协商,而是在PW建立之后,发送方PE向接收方PE发送虚链路MTU值探测报文,将虚链路上最小的MTU值作为虚链路MTU值;所述虚链路包括从发送方PE与用户边缘设备连接的接口,至发送方PE和接收方PE之间的链路,至接收方PE与用户边缘设备连接的接口。这样,虚链路MTU值小于整个虚链路上任意接口所配置的MTU值,因此可以有效防止MPLS报文过大而被丢弃。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为MPLSVPN组网构架示意图。
图2为数据帧经过封装后的示意图。
图3为控制字的通用格式示意图。
图4为本发明数据帧的传输处理方法流程示意图。
图5为本发明实施例VCCVPINGRequest报文格式示意图。
图6为中间P设备存在负载分担路径的组网示意图。
图7为发送方PE设备的结构示意图。
图8为接收方PE设备的结构示意图。
图9为中间P设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案、及优点更加清楚明白,以下参照附图并举实施例,对本发明进一步详细说明。
在MPLSL2VPN网络中,经CE1转发的二层数据帧如果需要分片,则PE1将二层数据帧的每一个分片都封装有控制字、私网VC标签和公网MPLS隧道标签,进入公网隧道。公网隧道中可能存在一个或者多个中间P设备,或者不存在中间P设备,为清楚说明本发明,本发明从组网中不存在中间P设备和存在中间P设备两种情况进行阐述。
实施例一
该实施例中的组网中不存在中间P设备,具体组网仍然参照图1。
图4为本发明数据帧的传输处理方法流程示意图,该方法包括:
步骤21、发送方PE与接收方PE之间建立PW;即发送方PE与接收方PE之间进行PW协商;
具体地,发送方PE向接收方PE发送标签映射消息,该消息中包含PWID、PWType、控制字和分片能力等参数;接收方PE确认上述标签映射消息与自身参数相匹配,则回应自身的标签映射消息,从而完成PW的协商,在发送方PE与接收方PE之间建立PW。
本步骤中如果PW协商成功,则该PW使能控制字和分片能力,也就是说,发送方PE可以对数据帧进行分片,接收方PE可以正确地重组所接收到的分片。
从上述描述可以看出,与现有技术不同的是,本步骤并不进行MTU参数协商,只要两端的PWID、PWType、控制字和分片能力等参数匹配即可建立PW。
步骤22、发送方PE向接收方PE发送虚链路MTU值探测报文,将虚链路上最小的MTU值作为虚链路MTU值;所述虚链路包括从发送方PE与用户边缘设备连接的接口至接收方PE与用户边缘设备连接的接口之间的链路,其中包括发送方PE和接收方PE之间的链路;
该实施例中,虚链路MTU值探测报文为VCCVPINGRequest报文,并对现有的VCCVPINGRequest报文进行了扩展,使该报文增加了一个类型长度值(TLV,TypeLengthValue)结构,用于承载数据帧所经过链路允许通过的MTU值,即探测报文中的MTUTLV。该TLV结构的类型(Type)值为11,Value字段为MTU值的大小,考虑到现在设备上面最大MPLSMTU的值为65535,所以该字段的长度(Length)就定义为2个字节。图5为本发明实施例VCCVPINGRequest报文格式示意图,为了避免探测报文在中间P设备分片,本发明实施例的探测报文尽可能的小,将现有的VCCVPINGRequest报文中检测时延的时间戳等字段进行了裁剪。
该步骤的具体方法包括:
步骤221、发送方PE将本设备出接口的MPLSMTU值减去数据帧在本设备出接口标签栈大小和控制字的大小,获得新的MTU值,将本设备与用户边缘设备连接的接口的MTU值与该新的MTU值进行比较,将其中较小的MTU值携带在探测报文中发送给接收方PE;
发送方PE出接口的MPLSMTU值,为MPLS网络中的MTU,为封装了标签栈和控制字的数据帧的长度,而发送方PE与用户边缘设备连接的接口的MTU值为封装之前数据帧的长度。
步骤222、发送方PE接收到由接收方PE响应的虚链路上的最小MTU值后,将该值作为虚链路MTU值,该最小MTU值为接收方PE与用户边缘设备连接的接口的MTU值和所述探测报文中携带的MTU值中的较小值。
具体为:接收方PE将本设备与用户边缘设备连接的接口的MTU值与探测报文中携带的MTU值进行比较,将其中较小的MTU值作为虚链路MTU值响应给发送方PE。其中,接收方PE响应给发送方PE的报文为VCCVPINGReply报文,该报文中携带最终确定的虚链路MTU值。
接收方PE与用户边缘设备连接的接口的MTU值为解封装还原之后数据帧的长度,将探测报文中携带的MTU值与之进行比较,就可以得到整个虚链路上的最小MTU值。
步骤23、发送方PE根据所述虚链路MTU值对数据帧进行分片封装转发。
发送方PE根据所述虚链路MTU值对数据帧进行分片,并将分片信息携带在控制字中,将数据帧封装为包括控制字、私网VC标签和公网MPLS隧道标签的MPLS报文发送出去。其中,控制字中的分片信息可以为分片的先后顺序等信息。
这样,通过探测报文探测到的虚链路MTU值,为整个虚链路上的最小MTU值,所以数据帧即使到了接收方PE的AC侧,也不会被丢弃。
实施例二
该实施例中的组网中存在一个中间P设备,具体组网仍然参照图1。需要注意的是,该实施例的组网中PE之间具有中间P设备,本发明实施例以PE之间连接有一个中间P设备进行说明,实际上,还可以连接有多个中间P设备。
步骤31、发送方PE与接收方PE之间建立PW;即发送方PE与接收方PE之间进行PW协商;该步骤与实施例一相同。
步骤32、发送方PE向接收方PE发送虚链路MTU值探测报文,将虚链路上最小的MTU值作为虚链路MTU值;所述虚链路包括从发送方PE与用户边缘设备连接的接口至接收方PE与用户边缘设备连接的接口之间的链路,其中包括发送方PE和接收方PE之间的链路;
该步骤的具体方法包括:
步骤321、发送方PE将本设备出接口的MPLSMTU值减去数据帧在本设备出接口标签栈大小和控制字的大小,获得新的MTU值,将本设备与用户边缘设备连接的接口的MTU值与该新的MTU值进行比较,将其中较小的MTU值携带在探测报文中发送给中间P设备;
步骤322、中间P设备接收到探测报文时,将本设备出接口的MPLSMTU值减去数据帧在本设备出接口标签栈大小和控制字的大小,获得新的MTU值,将探测报文中携带的MTU值与该新的MTU值进行比较,将其中较小的MTU值携带在探测报文中发送出去。
其中,中间P设备出接口的MPLSMTU值为MPLS网络中的MTU,为封装了标签栈和控制字的数据帧的长度。
步骤323、接收方PE将本设备与用户边缘设备连接的接口的MTU值与探测报文中携带的MTU值进行比较,将其中较小的MTU值作为虚链路MTU值响应给发送方PE。
需要注意的是,数据帧进入公网隧道就被封装了标签栈和控制字。探测报文进入公网隧道就被封装了标签栈和关联信道头。因为在发送方PE上封装了标签栈之后,到了中间P设备需要进行公网标签交换,可能增加标签或者减少标签,所以标签栈的大小在发送方PE和中间P设备上是有所不同的。但是,对于探测报文和数据报文来说,两者在发送方PE上封装的标签栈是相同的;同理,对于探测报文和数据报文来说,两者在中间P设备上封装的标签栈是相同的。封装在探测报文中的关联信道头和封装在数据报文中的控制字,长度相同,只是标识位不同,且无论控制字还是关联信道头到了发送方PE和中间P设备上长度大小都不变。这样,就可以通过探测报文对虚链路MTU值的探测,确定数据帧如何根据虚链路MTU值进行分片封装转发。
步骤33、发送方PE根据所述虚链路MTU值对数据帧进行分片封装转发。
该步骤中发送方PE根据所述虚链路MTU值对数据帧进行分片,并将分片信息携带在控制字中,数据帧的每一个分片都封装有控制字、私网VC标签和公网MPLS隧道标签。
这样,通过探测报文探测到的虚链路MTU值,为整个虚链路上的最小MTU值,所以数据帧无论到了中间P设备,还是接收方PE的AC侧,都不会被丢弃。
需要说明的是,在本领域中,发送方PE和接收方PE是基于流量的走向定义的,通常发送方PE设备接收来自用户侧的流量并将流量发往网络侧,也称为入PE;而接收方PE设备接收来自网络的流量,并将流量发往用户侧,也称为出PE。
在实施例二中,中间P设备不存在负载分担路径,如果MPLSL2VPN组网如图6所示,P1节点存在两个下一跳P2和P3,而携带控制字的MPLS报文禁止在中间P设备负载分担,此时可能存在的问题是探测报文走的路径是P1-P2-P4,而最后MPLS报文却走的是P1-P3-P4,那么可能会因P1-P3-P4路径MTU值过小导致MPLS报文丢弃。
因此,进一步地,本发明为了确保探测报文和MPLS报文具有相同的转发路径,中间P1设备在接收到探测报文和MPLS报文时,都先对报文进行解析,然后确定转发路径:具体方法包括:
(1)负载分担路径中的第一中间P设备,即P1设备确定探测报文中携带关联信道头后,根据私网VC标签进行哈希计算,得到一条转发路径,将探测报文按照所述转发路径转发出去;
(2)负载分担路径中的第一中间P设备,即P1设备确定MPLS报文中携带控制字后,根据私网VC标签进行哈希计算,得到与探测报文相同的转发路径,将MPLS报文按照所述转发路径转发出去。
在具体实施例中,仍然以图6为例,P1设备保存有入标签映射(ILM)表,该表包括公网入标签值、公网出标签值、下一跳以及负载分担的路径数,如表1所示:
入标签 出标签 下一跳 下游负载分担的路径数
1024 1025 P2 2
1024 1026 P3 2
表1
当探测报文到达P1设备时,查询入标签映射(ILM)表,得到负载分担的路径数,由于P1节点存在两个下一跳P2和P3,所以负载分担的路径数为2个;
然后,进行哈希计算,将探测报文中携带的私网VC标签值模于负载分担的路径数,获得的数值对应到入标签映射表中的一条转发路径,假设对应下一跳为P2的转发路径;其中,私网VC标签值模于负载分担的路径数,模于含义为私网VC标签值除以负载分担的路径数,然后取余值。
当MPLS报文到达P1设备时,查询ILM表,得到负载分担的路径数,由于P1节点存在两个下一跳P2和P3,所以负载分担的路径数为2个;
然后,进行哈希计算,将MPLS报文中携带的私网VC标签值模于负载分担的路径数,获得的数值对应到入标签映射表中的一条转发路径,由于探测报文和MPLS报文中的私网VC标签值相同,所以两次进行哈希计算的结果相同,因此对应的转发路径也相同,也对应下一跳为P2的转发路径。
本发明的方法将私网VC标签作为哈希计算的一个元素,因为当私网标签相同时,该类型报文选择的路径唯一,从而保证了探测报文和MPLS数据报文在负载分担节点选择的下一跳是一致的。
对应上述实施例,本发明实施例还提供了一种PE设备、中间P设备,以及包括上述PE设备和P设备的系统。
其中,PE设备的结构示意图如图7所示,该PE设备执行发送方PE的功能,其包括:
第一PW建立单元701,用于与接收方PE之间建立PW;
第一探测单元702,用于在PW建立之后,探测从发送方PE与用户边缘设备连接的接口,至发送方PE和接收方PE之间的链路上的较小MTU值,向接收方PE发送携带该较小MTU值的探测报文;
分片封装转发单元703,用于在接收方PE确定虚链路MTU值后,根据所述虚链路MTU值对数据帧进行封装转发。
其中,第一探测单元702进一步包括:
第一获取单元1,用于获取发送方PE出接口的MPLSMTU值;还用于获取发送方PE与用户边缘设备连接的接口的MTU值;
第一计算单元2,用于将发送方PE出接口的MPLSMTU值减去数据帧在本设备出接口标签栈大小和控制字的大小,获得新的MTU值;
第一处理单元3,用于将发送方PE与用户边缘设备连接的接口的MTU值与该新的MTU值进行比较,将其中较小的MTU值携带在探测报文中发送给接收方PE。
另外,PE设备还可以执行接收方PE的功能,如图8所示,其包括:
第二PW建立单元801,用于与发送方PE之间建立PW;
第二探测单元802,用于接收到探测报文后,探测接收方PE与用户边缘设备连接的接口上的MTU值,根据探测报文中携带的MTU值以及接收方PE与用户边缘设备连接的接口上的MTU值,将虚链路上的最小MTU值确定为虚链路MTU值;所述虚链路包括从发送方PE与用户边缘设备连接的接口至接收方PE与用户边缘设备连接的接口之间的链路,其中包括发送方PE和接收方PE之间的链路。
其中,所述第二探测单元802进一步包括:
第二获取单元4,用于获取接收方PE与用户边缘设备连接的接口的MTU值;
第二处理单元5,用于将接收方PE与用户边缘设备连接的接口的MTU值与探测报文中携带的MTU值进行比较,将其中较小的MTU值作为虚链路MTU值响应给发送方PE。
中间P设备的结构示意图如图9所示,其包括:
第三探测单元901,用于接收到探测报文后,探测从该中间P设备到下一设备的链路上的MTU值,根据探测报文中携带的MTU值以及从该中间P设备到下一设备的链路上的MTU值,向下一设备发送携带较小MTU值的探测报文。
其中,所述第三探测单元901进一步包括:
第三获取单元6,用于获取所述中间P设备出接口的MPLSMTU值;
第三计算单元7,用于将所述中间P设备出接口的MPLSMTU值减去数据帧在本设备出接口标签栈大小和控制字的大小,获得新的MTU值;
第三处理单元8,用于将探测报文中携带的MTU值与该新的MTU值进行比较,将其中较小的MTU值携带在探测报文中发送出去。
当中间P设备存在负载分担路径时,负载分担路径中的第一中间P设备的第三获取单元6,还用于获取探测报文中携带的关联信道头;第三计算单元7,还用于在第三获取单元获取探测报文中携带的关联信道头后,根据私网VC标签进行哈希计算,得到一条转发路径;第三处理单元8,还用于将探测报文按照所述转发路径转发出去。
第三获取单元6,还用于获取MPLS报文中携带的控制字;第三计算单元7,还用于在第三获取单元获取MPLS报文中携带的控制字后,根据私网VC标签进行哈希计算,得到与探测报文相同的转发路径;第三处理单元8,还用于将MPLS报文按照所述转发路径转发出去。
综上所述,本发明实施例在PW建立之后,发送方PE向接收方PE发送虚链路MTU值探测报文,将虚链路上最小的MTU值作为虚链路MTU值;所述虚链路包括从发送方PE与用户边缘设备连接的接口,至发送方PE和接收方PE之间的链路,至接收方PE与用户边缘设备连接的接口。这样,虚链路MTU值小于整个虚链路上任意接口所配置的MTU值,因此可以有效防止MPLS报文过大而被丢弃。进一步地,当中间P设备存在负载分担路径时,负载分担路径中的第一中间P设备,确定探测报文中携带关联信道头后,根据私网VC标签进行哈希计算,得到一条转发路径;确定MPLS报文中携带控制字后,根据私网VC标签进行哈希计算,得到与探测报文相同的转发路径。这样就不会因为探测报文和MPLS报文走不同的路径,导致MPLS报文所走路径上的MTU值过小而将MPLS报文丢失。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

Claims (10)

1.一种数据帧的传输处理方法,应用于多协议标签交换的二层虚拟私有网络MPLSL2VPN中,该方法包括:
发送方运营商边缘设备PE与接收方运营商边缘设备PE之间建立虚链路PW;
发送方PE向接收方PE发送虚链路最大传输单元MTU值探测报文,将虚链路上最小的MTU值作为虚链路MTU值;所述虚链路包括从发送方PE与用户边缘设备连接的接口至接收方PE与用户边缘设备连接的接口之间的链路,其中包括发送方PE和接收方PE之间的链路;
发送方PE根据所述虚链路MTU值对数据帧进行分片封装转发;
其中,发送方PE向接收方PE发送虚链路MTU值探测报文,将虚链路上最小的MTU值作为虚链路MTU值的方法为:
发送方PE将本设备出接口的MPLSMTU值减去数据帧在本设备出接口标签栈大小和控制字的大小,获得新的MTU值,将本设备与用户边缘设备连接的接口的MTU值与该新的MTU值进行比较,将其中较小的MTU值携带在探测报文中发送给接收方PE;
发送方PE接收到由接收方PE响应的虚链路上的最小MTU值后,将该值作为虚链路MTU值,该最小MTU值为接收方PE与用户边缘设备连接的接口的MTU值和所述探测报文中携带的MTU值中的较小值。
2.如权利要求1所述的方法,其特征在于,发送方PE与接收方PE之间建立PW的方法包括:
发送方PE与接收方PE协商虚链路标识PWID、虚链路类型PWType、控制字和分片能力参数是否匹配,如果匹配则PW协商完成,建立PW。
3.如权利要求2所述的方法,其特征在于,所述虚链路MTU值探测报文为VCCVPINGRequest报文,所述VCCVPINGRequest报文中包括类型长度值TLV结构,该TLV结构承载数据帧所经过链路允许通过的MTU值。
4.如权利要求3所述的方法,其特征在于,
所述探测报文经由中间P设备发送给所述接收方PE,所述由接收方PE响应的虚链路上的最小MTU值为:发送方PE与用户边缘设备连接的接口的MTU值,各中间P设备确定的MTU值,以及接收方PE与用户边缘设备连接的接口的MTU值中的最小的MTU值;
其中,中间P设备确定MTU值的方法为:中间P设备接收到探测报文时,将本设备出接口的MPLSMTU值减去数据帧在本设备出接口标签栈大小和控制字的大小,获得新的MTU值,将探测报文中携带的MTU值与该新的MTU值进行比较,将其中较小的MTU值作为确定的MTU值并携带在探测报文中发送出去。
5.如权利要求1所述的方法,其特征在于,发送方PE根据所述虚链路MTU值对数据帧进行封装转发的方法包括:
发送方PE根据所述虚链路MTU值对数据帧进行分片,并将分片信息携带在控制字中,将数据帧封装为包括控制字、私网虚链路VC标签和公网MPLS隧道标签的MPLS报文发送出去。
6.如权利要求4所述的方法,其特征在于,当中间P设备存在负载分担路径时,
负载分担路径中的第一中间P设备确定探测报文中携带关联信道头后,根据私网虚链路VC标签进行哈希计算,得到一条转发路径,将探测报文按照所述转发路径转发出去;
负载分担路径中的第一中间P设备确定MPLS报文中携带控制字后,根据私网虚链路VC标签进行哈希计算,得到与探测报文相同的转发路径,将MPLS报文按照所述转发路径转发出去。
7.如权利要求6所述的方法,其特征在于,第一中间P设备根据私网虚链路VC标签进行哈希计算,得到转发路径的方法包括:
将探测报文中携带的私网虚链路VC标签值模于负载分担的路径数,获得的数值对应到入标签映射表中的一条转发路径;
将MPLS报文携带的私网虚链路VC标签值模于负载分担的路径数,获得的数值对应到入标签映射表中的与探测报文相同的转发路径;所述探测报文和MPLS报文中的私网虚链路VC标签值相同。
8.一种运营商边缘设备PE,应用于多协议标签交换的二层虚拟私有网络MPLSL2VPN中,
当所述PE作为发送方PE时,该PE包括:
第一PW建立单元,用于与接收方PE之间建立虚链路PW;
第一探测单元,用于在PW建立之后,探测发送方PE与用户边缘设备连接的接口的最大传输单元MTU值和发送方PE出接口的MTU值,确定出一个MTU值携带在探测报文向接收方PE发送;
分片封装转发单元,用于在接收到接收方PE响应的虚链路MTU值后,根据所述虚链路MTU值对数据帧进行分片封装转发;
所述第一探测单元进一步包括:
第一获取单元,用于获取发送方PE出接口的MPLSMTU值;还用于获取发送方PE与用户边缘设备连接的接口的MTU值;
第一计算单元,用于将发送方PE出接口的MPLSMTU值减去数据帧在本设备出接口标签栈大小和控制字的大小,获得新的MTU值;
第一处理单元,用于将发送方PE与用户边缘设备连接的接口的MTU值与该新的MTU值进行比较,将其中较小的MTU值携带在探测报文中发送给接收方PE;
当所述PE作为接收方PE时,该PE包括:
第二PW建立单元,用于与发送方PE之间建立PW;
第二探测单元,用于接收到探测报文后,探测接收方PE与用户边缘设备连接的接口上的MTU值,根据探测报文中携带的MTU值以及接收方PE与用户边缘设备连接的接口上的MTU值,将虚链路上的最小MTU值确定为虚链路MTU值;
所述第二探测单元进一步包括:
第二获取单元,用于获取接收方PE与用户边缘设备连接的接口的MTU值;
第二处理单元,用于将接收方PE与用户边缘设备连接的接口的MTU值与探测报文中携带的MTU值进行比较,将其中较小的MTU值作为虚链路MTU值响应给发送方PE;
所述虚链路包括从发送方PE与用户边缘设备连接的接口至接收方PE与用户边缘设备连接的接口之间的链路,其中包括发送方PE和接收方PE之间的链路。
9.一种MPLSL2VPN系统,包括如权利要求8所述的发送方PE和接收方PE,发送方PE和接收方PE之间还连接有一个或者多个中间P设备;
所述中间P设备包括:
第三探测单元,用于接收到探测报文后,探测从该中间P设备到下一设备的链路上的最大传输单元MTU值,根据探测报文中携带的MTU值以及从该中间P设备到下一设备的链路上的MTU值,向下一设备发送携带较小MTU值的探测报文;
所述第三探测单元包括:
第三获取单元,用于获取所述中间P设备出接口的MPLSMTU值;
第三计算单元,用于将所述中间P设备出接口的MPLSMTU值减去数据帧在本设备出接口标签栈大小和控制字的大小,获得新的MTU值;
第三处理单元,用于将探测报文中携带的MTU值与该新的MTU值进行比较,将其中较小的MTU值携带在探测报文中发送出去。
10.如权利要求9所述的系统,其特征在于,当中间P设备存在负载分担路径时,负载分担路径中的第一中间P设备的第三获取单元,还用于获取探测报文中携带的关联信道头;第三计算单元,还用于在第三获取单元获取探测报文中携带的关联信道头后,根据私网虚链路VC标签进行哈希计算,得到一条转发路径;第三处理单元,还用于将探测报文按照所述转发路径转发出去;
负载分担路径中的第一中间P设备的第三获取单元,还用于获取MPLS报文中携带的控制字;第三计算单元,还用于在第三获取单元获取MPLS报文中携带的控制字后,根据私网虚链路VC标签进行哈希计算,得到与探测报文相同的转发路径;第三处理单元,还用于将MPLS报文按照所述转发路径转发出去。
CN201310040482.9A 2013-01-30 2013-01-30 一种数据帧的传输处理方法、设备及系统 Active CN103067278B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310040482.9A CN103067278B (zh) 2013-01-30 2013-01-30 一种数据帧的传输处理方法、设备及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310040482.9A CN103067278B (zh) 2013-01-30 2013-01-30 一种数据帧的传输处理方法、设备及系统

Publications (2)

Publication Number Publication Date
CN103067278A CN103067278A (zh) 2013-04-24
CN103067278B true CN103067278B (zh) 2016-03-16

Family

ID=48109746

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310040482.9A Active CN103067278B (zh) 2013-01-30 2013-01-30 一种数据帧的传输处理方法、设备及系统

Country Status (1)

Country Link
CN (1) CN103067278B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105991329B (zh) * 2015-02-13 2019-09-03 上海诺基亚贝尔股份有限公司 用于l2vpn业务诊断的方法
CN108243106B (zh) 2016-12-23 2020-09-04 华为技术有限公司 控制网络切片的方法、转发设备、控制设备和通信系统
CN108881054A (zh) * 2018-09-13 2018-11-23 新华三技术有限公司 报文转发方法和装置
CN109617805B (zh) * 2018-12-17 2022-04-08 新华三技术有限公司合肥分公司 链路动态属性的获取方法、装置及路径选择方法、装置
CN112398730A (zh) * 2020-10-28 2021-02-23 上海欣诺通信技术股份有限公司 数据中心网络中的报文转发方法、装置、设备及存储介质
CN112333094B (zh) * 2020-11-27 2022-10-18 迈普通信技术股份有限公司 数据传输处理方法、装置、网络设备及可读存储介质
CN114697269A (zh) * 2022-03-15 2022-07-01 深圳市广和通无线股份有限公司 数据通信方法、装置、设备和介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1909503A (zh) * 2005-08-05 2007-02-07 华为技术有限公司 一种探测路径最大传输单元的方法
CN101640645A (zh) * 2009-09-09 2010-02-03 中兴通讯股份有限公司 报文传输方法和系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7697524B2 (en) * 2005-04-05 2010-04-13 Cisco Technology, Inc. Method and system for determining path maximum transfer unit for IP multicast

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1909503A (zh) * 2005-08-05 2007-02-07 华为技术有限公司 一种探测路径最大传输单元的方法
CN101640645A (zh) * 2009-09-09 2010-02-03 中兴通讯股份有限公司 报文传输方法和系统

Also Published As

Publication number Publication date
CN103067278A (zh) 2013-04-24

Similar Documents

Publication Publication Date Title
CN103067278B (zh) 一种数据帧的传输处理方法、设备及系统
CN101160850B (zh) 一种转发报文的方法及装置
CN105379197B (zh) 建立隧道的方法、分配标签的方法、设备及网络系统
JP5345942B2 (ja) Pbtネットワークの中間ノードにおけるイーサネットoam
CN101617305B (zh) 使用基于以太网的隧道的、用于mpls和第2层vpn的边界网关协议过程
US9065766B2 (en) Medium for storing packet conversion program, packet conversion apparatus and packet conversion method
US8634297B2 (en) Probing specific customer flow in layer-2 multipath networks
CN103269299B (zh) Spbm网络中的报文转发方法及装置
CN109873760A (zh) 处理路由的方法和装置、以及数据传输的方法和装置
CN101442467B (zh) 在基于运营商骨干网传送的网络中提供多点到多点连接的方法
CN108574616A (zh) 一种处理路由的方法、设备及系统
US20070165603A1 (en) Access network system, subscriber station device, and network terminal device
CN103227745B (zh) 最短路径桥网和三层虚拟专网互通方法及公共边缘设备
CN103259721B (zh) Spbm网络中的报文转发方法及装置
CN102882784A (zh) Spbm中的lsp信息泛洪方法及设备
CN104079466B (zh) 一种报文处理方法和设备
CN103973825A (zh) 叠加网络中通告mac地址可达性的方法、节点设备及发送方法
JP4890239B2 (ja) Rprの送信経路指定方法及び装置
EP1944918B1 (en) A method and system for realizing the consistency of the virtual circuit status
EP2897328B1 (en) Method, system and apparatus for establishing communication link
US9860160B2 (en) Multipath switching using per-hop virtual local area network classification
CN103200107B (zh) 一种报文的传输方法和设备
WO2015096512A1 (zh) 一种基于trill网络的报文传输方法及设备
CN104219073B (zh) Spbm网络中的报文转发方法及装置
CN114520762B (zh) BIERv6报文的发送方法以及第一网络设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CP03 Change of name, title or address

Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No.

Patentee after: NEW H3C TECHNOLOGIES Co.,Ltd.

Address before: 310053 Hangzhou hi tech Industrial Development Zone, Zhejiang province science and Technology Industrial Park, No. 310 and No. six road, HUAWEI, Hangzhou production base

Patentee before: HANGZHOU H3C TECHNOLOGIES Co.,Ltd.

CP03 Change of name, title or address
TR01 Transfer of patent right

Effective date of registration: 20230620

Address after: 310052 11th Floor, 466 Changhe Road, Binjiang District, Hangzhou City, Zhejiang Province

Patentee after: H3C INFORMATION TECHNOLOGY Co.,Ltd.

Address before: 310052 Changhe Road, Binjiang District, Hangzhou, Zhejiang Province, No. 466

Patentee before: NEW H3C TECHNOLOGIES Co.,Ltd.

TR01 Transfer of patent right