报文封装方法和检测转发环路的方法、装置及网络设备的制作方法

文档序号:7722488阅读:198来源:国知局
专利名称:报文封装方法和检测转发环路的方法、装置及网络设备的制作方法
技术领域
本发明涉及网络通信技术领域,具体涉及一种基于ATM的MPLS网络中报文封装方法和检测转发环路的方法、装置及网络设备。

背景技术
多协议标签交换(Multiprotocol Label Switching,MPLS)是一种在开放的通信网上利用标签Label引导数据高速、高效传输的新技术。MPLS作为一种分类转发技术,将具有相同转发处理方式的分组归为一类,称为转发等价类(Forwarding Equivalence Class,FEC)。相同转发等价类的分组在MPLS网络中将获得完全相同的处理。标签是一个长度固定且只具有本地意义的标志,用于唯一地表示一个分组所属的转发等价类,决定其标记的分组的转发方式。标签交换路由器(Label Switching Router,LSR)是MPLS的网络的核心交换机,它提供标签交换和标签分发功能。标签交换路径(Label Switched Path,LSP)为使用MPLS协议建立起来的分组转发路径,由标签分组源LSR与目的LSR之间的一系列LSR以及它们之间的链路构成,类似于ATM中的虚电路。在MPLS网络中,数据传输发生在标签交换路径上。LSP是每一个沿着从源端到终端的路径上的节点的标签序列。标签分配协议(Label Distribute Protocol,LDP)是MPLS的控制协议,相当于传统网络的信令协议,负责FEC的分类,标签的分配,以及分配结果的传输及LSP的建立和维护等。
异步传输模式(Asynchronous Transfer Mode,ATM)的特征是信息的传输、复用和交换都以信元为基本单位。异步是指属于同一用户的信元并不一定按固定的时间间隔周期性地出现。信元是固定长度的分组,共有53个字节,分为2个部分。前面5个字节为信元头,信元头包含各种控制信息,主要完成寻址的功能;后面的48个字节为信息段,用来装载来自不同用户各类业务的用户数据。ATM把一条物理电路划分为几个虚拟的逻辑通路,用虚路径标识符(VirtualPath Identifier,VPI)(占12bit)标识;ATM把一条虚拟的逻辑通路还可以划分成多个虚拟信道(Channel),用虚通道标识符(Virtual Channel Identifier,VCI)标识(占16bit)。信元头中的VPI/VCI域一起标识一个源点到目的节点之间的虚连接。ATM交换是指把入线上的信元,根据其信元头上的VPI/VCI将该信元转送到相应的出线上去,从而完成交换传送的目的。
MPLS的主要思想是在一些基于报文交换传输类型的报文前面添加一个类似于ATM报文头中VPI/VCI的字段(即标签)。传输中只需解析标签就可以确定报文的转发路径,而不需要将报文交给IP层去根据IP地址进行转发。标签交换类似于ATM的虚拟电路交换,ATM路由节点按照VPI/VCI的值来转发报文,而MPLS路由节点根据标签来进行转发,转发的路径即标签交换路径,是由LDP(Label Distribute Protocol标签分配协议)协议建立的。
在MPLS网络中,由于采用的第三层分布式路由算法目前没有可靠的机制避免环路,因此可能会在网络中形成转发环路。另外,路由节点中的路由表也可能因某种原因出错,导致标签交换路径的自环形成转发环路。转发环路的存在将引起标签数据分组的循环转发,在网络中不断积累,使网络拥塞程度不断加剧,它不仅使报文无法到达正确的信宿,甚至有可能导致网络被迫丢弃用于更新路由信息的报文,致使路由寻径变得更加不稳定,延长了环路分组在网络中的驻留时间。
目前解决环路问题的主要方法是互联网工程任务组IETF(The InternetEngineering Task Force)提出的基于线程(Thread)的环路检测机制(RFC3063,MPLS环路预防机制),由于其算法实现复杂且不完善,因而仍然需要开发更好的环路检测算法以消除环路问题。
MPLS网络中由报文的头部携带标签单元,不包含拓扑信息,只具有局部意义,标签的长度为4个字节,标签单元的封装结构如图1所示,图中Label为标签,长度为20比特,用于标记分组的转发方式;Exp保留用于试验,长度为3比特;S为栈底标识,长度为1比特;TTL代表生存时间(Time to Live),用来对生存期值进行编码,长度为8比特。
在基于IP网的MPLS网络中,如图2所示,报文的头部携带图1所示格式的标签单元,标签单元被封装在数据链路层和IP层之间的一个垫层中。而上述格式的标签单元本身就有一个生存时间TTL域。为了处理转发环路,可以采用TTL机制,即使用分组报文中标签中的TTL域,用来指示该分组报文在网络中的最大生存时间,也就是分组报文可以经过的最大路由跳数。路由器在处理到达的分组报文时将TTL减一,若此时值为零,则该分组报文为超时分组报文而被丢弃。当网络中存在环路时,分组报文在环路上转发将会超时,因此利用TTL机制可以检测网络中的转发环路并消除无效分组。
基于ATM的MPLS网络中,报文以信元格式进行发送,标签封装在信元头的VPI/VCI域内,传输中路由节点通过解析标签就确定报文的转发路径。如图3所示,利用ATM传输中信元头的VPI域12bit和VCI的前8bit构成20bit的标签,原VCI的低8bit用于支持区分服务时区分服务类别。MPLS标签的长度为4个字节即32bit,其中最后8个bit就是TTL。但是由于ATM信元头部的净荷类型PTI、信元丢失优先级CLP、信头误码控制HEC字段是ATM传输所必须的,所以ATM信元头没有多余比特存放标签的生存时间TTL,因此基于ATM的MPLS网络不能直接利用TTL机制实现有效的环路检测和消除。由于基于ATM的MPLS网络上标签不支持TTL功能,导致基于ATM的MPLS网络不能像基于IP的MPLS网络一样根据TTL值来判定是否环路,因此无法直接丢弃产生环路的报文。


发明内容
本发明提供一种报文封装方法和检测转发环路的方法、装置及网络设备,用以解决基于ATM的MPLS网络中由于信元头中没有地方存放TTL,难以检查出转发环路的问题。
本发明提供了一种报文封装方法,该方法包括步骤 将MPLS网络入口路由节点接收的数据封装为具有固定格式的报文,同时为所述报文分配标记其转发方式的标签,建立所述报文的标签交换路径;将所述报文按固定长度拆分为多个信息段;将所分配的标签封装到信元头中,在每个信息段前加载信元头得到信元, 在将数据封装为具有固定格式的报文过程中或在报文的拆分过程中,确定所述固定格式的报文中的空闲字段,并在所述空闲字段内设置报文的生存时间值; 在所述信元头中设置用于标识该信元头所在信元是否具有空闲字段的生存标识。
本发明还提供了一种基于上述报文封装方法的检测转发环路的方法,包括步骤 在MPLS网络中的路由节点接收到信元时,利用信元的信元头中的生存标识检测所接收的信元是否具有空闲字段; 在所接收的信元中具有空闲字段时,利用所述空闲字段内的生存时间值来进行转发环路检测。
本发明还提供了一种报文封装装置,包括 第一封装单元,用于将MPLS网络入口路由节点接收的数据封装为具有固定格式的报文; 标签分配单元,用于为所述报文分配标记其转发方式的标签,建立所述报文的标签交换路径; 报文拆分单元,用于将所述报文按固定长度拆分为多个信息段; 第二封装单元,用于将所分配的标签封装到信元头中,在每个信息段前加载信元头得到信元; 其中所述第一封装单元在将数据封装为具有固定格式的报文过程中或所述报文拆分单元在报文的拆分过程中,还用于确定所述固定格式的报文中的空闲字段,并在所述空闲字段内设置报文的生存时间值; 生存标识设置单元,用于在所述信元头中设置用于标识该信元头所在信元是否具有空闲字段的生存标识。
本发明还提供了一种基于上述报文封装装置的检测转发环路装置,该检测转发环路装置包括 空闲字段检测单元,用于在MPLS网络中的路由节点接收到信元时,利用信元的信元头中的生存标识检测所接收的信元是否具有空闲字段; 环路检测单元,用于在所接收的信元中具有空闲字段时,利用所述空闲字段内的生存时间值来进行转发环路检测。
本发明还提供一种网络设备,该网络设备包括 上述报文封装装置,和/或上述的检测转发环路装置。
利用本发明提供的报文封装方法及检测转发环路的方法、装置及网络设备具有以下有益效果 1)通过将报文TTL值封装在具有固定格式的报文的空闲字段,使得在不占用信元头的有效信息位的情况下,报文携带了代表其生存时间的字段; 2)由于报文拆后得到的信元中有信元携带TTL值,因此可以利用携带TTL值的信元采用TTL机制实现具有相同标签值信元的转发环路检测。



图1为现有技术中MPLS网络中报文头部携带的标签单元格式示意图; 图2为现有技术中基于IP网的MPLS网络中及基于ATM的MPLS网络中标签的封装示意图; 图3为现有技术中基于ATM的MPLS网络中标签的封装结构图; 图4为本发明实施例中报文封装方法流程图; 图5为本发明实施例中检测转发环路的方法流程图; 图6为AAL5层协议定义的协议数据单元格式示意图; 图7为利用AAL5层封装技术的报文封装过程示意图; 图8为本发明实施例中所示例的利用LDP协议建立的LSP示意图; 图9为本发明提出的报文封装装置结构图; 图10为本发明提出的检测转发环路装置结构图。

具体实施例方式 本文提出一种基于ATM的MPLS网络中报文封装方法和检测转发环路的方法、装置及网络设备,其中采用了TTL机制,能够有效地检测数据分组转发时的路由环路,下面给出本发明较佳的实施方式。
如图4所示,本发明提出的报文封装方法,包括步骤 S401,将MPLS网络入口路由节点接收的数据封装为具有固定格式的报文,同时为所述报文分配标记其转发方式的标签,建立所述报文的标签交换路径;S402,将所述报文按固定长度拆分为多个信息段;S403,在报文的拆分过程中,确定所述固定格式的报文中的空闲字段,并在所述空闲字段内设置报文的生存时间TTL值;S404,将所分配的标签封装到信元头中,在每个信息段前加载信元头得到信元。当然,也可以在步骤S401将数据封装为具有固定格式的报文,确定所述固定格式的报文中的空闲字段,并在所述空闲字段内设置报文的生存时间TTL值;本发明所提供的方法在加载信元头到信息段之前还包括步骤S404’,在信元头中设置用于标识该信元头所在信元是否具有空闲字段的生存标识。本发明通过将报文TTL值封装在具有固定格式的报文的空闲字段,而不是封装在信元头中,使得在不占用信元头的有效信息位的情况下,报文携带了代表其生存时间的字段。
如图5所示,本发明提出的检测转发环路方法,包括步骤 S501,在MPLS网络中的路由节点接收到信元时,利用信元的信元头中的生存标识检测所接收的信元是否具有空闲字段;若不具有,执行步骤S502,否则执行步骤S503; S502,解析所述信元的信元头中的标签获得标签交换路径,按该标签交换路径将其转发; S503,利用所述空闲字段内的TTL值来进行转发环路检测。优选地,步骤S503具体包括S5031,将所接收信元的空闲字段内TTL值递减一次;S5032,判断递减后TTL值是否达到设定值,若未达到执行步骤S5033,若达到执行步骤S5034;S5033,解析信元的信元头中的标签获得标签交换路径,按该标签交换路径将其转发;S5034,确定所接收信元的标签交换路径为转发环路。在检测出所接收信元的标签交换路径为转发环路,优选包括以下步骤 S504,将检测出的标签交换路径为转发环路的信元直接丢弃,并确定该信元的信元头中的标签为环路标记标签; S505,在后续接收到的信元头中的标签与所述环路标记标签相同的信元直接丢弃; S506,在出现相同环路标记标签的一类丢弃信元的MPLS网络入口路由节点,利用标签分配协议LDP重新为其对应的报文分配标签,建立新的标签交换路径。
在基于ATM的MPLS网络中,在传输信元格式的报文前,都要先将从外界网络进入MPLS网络入口路由节点的数据先在ATM适配层(ATM AdaptationLayer,AAL)封装为固定格式的报文,然后在分割与重组SAR(SegmentationAnd Reassembly)子层将报文拆分成固定长度的信息段,在ATM层进行信元封装,之后信元格式的报文在MPLS网络中基于标签交换路径进行传输。在ATM层进行信元封装时,利用现有方式将标签封装在ATM传输中信元的VPI/VCI域,即封装为图3所示的结构。ATM适配层所封装的报文为了满足固定格式的要求,一般都存在空闲字段。本发明正是在基于ATM的MPLS网络的上述报文发送过程的基础上,利用ATM适配层所封装的报文具有空闲字段的特点,在报文封装过程中或报文的拆分过程中,确定固定格式的报文中的空闲字段,并在空闲字段内设置报文的TTL值,因此,经过报文拆分及信元封装,使得由报文拆分得到的信元中有信元携带TTL值,这样,在信元传输过程中就可以利用TTL机制来进行转发环路检测。由于报文拆分得到的多个信元中有信元携带TTL值,由于空闲字段确定位置不同,被拆分后TTL值可能只在一个信元内,也可能在多个信元内,所以本发明中信元头还包括用于标识该信元头所在信元是否具有空闲字段的生存标识。这样,在信元传输过程中可以利用生存标识来定位到空闲字段从而获取TTL值。进入MPLS网络入口路由节点接收的数据属于同一应用,其目的地址相同,因此所分配的标签相同(标签交换路径相同),在检测到一个具有TTL值的信元的标签转发路径为转发环路时,可以得到后续收到的具有相同标签的信元的标签转发路径为转发环路,从而实现整个报文对应的信元的转发环路检测。
依照本发明的实施例一中,对数据的封装采用AAL5层协议所定义的方式,为了更好地理解本发明,先简单介绍一下AAL5层协议所定义的封装技术。
ATM适配层(ATM Adaptation Layer,AAL)为标准协议的一个集合,用于适配用户业务,主要负责ATM层与高层之间的信元转发过程,允许各种网络层协议都可以使用ATM层的服务。ATM适配层具有多种协议类型AAL1到AAL5。ATM适配层主要将用户数据封装成固定格式的报文,不同的协议类型所定义的固定格式不同,因此封装的报文的形式也不同。其中AAL5层(ATMAdaptation Layer Type 5,ATM适配层5)使用的最多也最广。AAL5层定义了报文的封装方式,该固定格式为AAL5层协议定义的协议数据单元,AAL5层协议定义的协议数据单元格式如图6所示,该协议数据单元的格式为依次包括净荷字段,具体为1~65535字节范围内的用户数据,也称为可变长用户信息字段;填充字段PAD(Padding),具体为根据用户数据的长度确定的长度在0~47字节范围内的填充数据,填充数据的长度使数据协议数据单元的长度为48字节的整数倍;尾部,共占用8个字节,该尾部包括用户到用户UU(User to User)字段、通用部分指示CPI字段、长度指示字段、循环冗余码校验(CyclicalRedundancy Check)字段。其中UU(User to User)字段占用一个字节,不用于AAL5层本身,而是为了自己的目的供更高一层使用,例如,排序或者多路复用;CPI字段占用一个字节,是尾部公共部分标志,基本用途是填充尾部,总是被填充为0x00;长度(Length)指示字段占用2个字节,指出真正的有效载荷(即用户数据)是多少,以字节为单位,不包括填充的字节数。CRC字段占用4个字节,具体为循环冗余码校验信息。
如图7所示,ATM传输中利用AAL5层封装技术的报文封装过程为 应用程序将长度从1~65535字节的用户数据送到AAL5层。当到达AAL5层时,AAL5层按其所定义的协议数据单元格式将其封装为报文,AAL5层协议所定义的封装方式为将用户数据作为净荷字段,并加相应的尾部信息作为尾部,在净荷字段和尾部之间填充一定长度(0字节~47字节)的填充数据作为填充字段,得到封装后的报文。所填充的填充数据的长度使整个报文(包括用户报数据、填充数据和尾部信息)为48字节的整数倍。AAL5层将添加了填充字段和尾部信息得到的报文交给分割与重组SAR(Segmentation AndReassembly)子层,SAR子层对报文不增加任何信息,而是将报文依次分成长度为48字节的信息段,并将每个信息段送到ATM层。ATM层负责为这些长度为48字节的信息段在头部添加长度为5字节的信元头,得到ATM信元。封装后的ATM信元中,信元头中PTI(净荷类型)域的最后一个比特用来表明该ATM信元是否为AAL5层封装后报文得到的最后一个信元,如果为1的话就说明该ATM信元是报文得到的最后一个信元。因此,通过检测ATM信元的PTI值的最后一个比特,可以定位含有报文中尾部信息的ATM信元。
了解了ATM传输中利用AAL5层封装技术的报文封装过程后,接下来介绍本实施例中基于ATM的MPLS网络中的报文封装过程,基于ATM的MPLS网络中也可以采用上述AAL5层封装技术。具体包括以下过程 在MPLS网络入口路由节点中,采用AAL5层协议所定义的方式,将在从外界网络传输过来进入MPLS网络的数据封装为协议数据单元格式的报文,封装后的报文包括净荷字段、填充字段和尾部,尾部包括UU字段、CPI字段、长度指示字段、CRC字段。报文的长度为48字节的整数倍。封装为协议数据单元格式的报文过程同上面所叙述的方式。基于以上分析发现,在AAL5层封装技术中,协议数据单元中尾部的CPI字段为尾部公共部分标志,没有规定其特定用途,被全部置0,因此本实施例中确定的空闲字段为报文中的CPI字段,利用报文中的CPI字段设置TTL值。由于CPI字段在报文拆分得到的最后一个信元中,所以本实施例中在信元头所设置的生存标识为标识该信元头所在信元是否为拆分得到的最后一个信元的尾标标识。信元头中PTI(净荷类型)域的最后一个比特作为尾部标识用来表明该ATM信元是否为AAL5层封装后报文得到的最后一个信元,如果为1的话就说明该ATM信元是报文得到的最后一个信元。
在从外界网络传输过来的数据进入上述MPLS网络入口路由节点的同时,该入口路由节点利用LDP为数据分配标签,建立该数据封装后报文的标签交换路径。该过程为现有过程,这里不再详述。
AAL5层将封装后的报文发送到SAR子层,SAR子层将报文拆分成长度为48字节的信息段,并将拆分后得到的信息段送到ATM层。
ATM层将分配到的标签封装到5字节的信元头的VPI/VCI域,标签占用20比特,如图3所示,信元头中还包括PTI、CLP和HEC信息。信元头中的净荷类型的最后一个比特作为生存标识。ATM层负责为这些长度为48字节的信息段在头部添加长度为5字节的信元头得到信元。然后信元在ATM的MPLS域内利用标签在标签交换路径上传输。
上述在确定报文中的CPI字段为空闲字段的情况下,即可以在AAL5层的报文封装过程中在CPI字段添加报文的TTL值,也可以在SAR子层在报文的拆分过程中对尾部所在的信元(称为尾标信元)进行单独处理,在尾标信元的CPI字段添加报文的TTL值。本实施例中在CPI字段内设置的TTL值优选为报文在MPLS网络中传输所能够经历的最大路由跳数。由于该MPLS网络中的最大路由跳数不超过网络中的总节点数,因此也可以设置TTL值为该MPLS网络中的路由节点总数。
基于上述报文封装方法,封装后具有信元格式的报文在基于ATM的网络中传输,利用标签在标签交换路径上传输。本实施例中检测转发环路的方法具体过程如下。
信元在MPLS网络中传输,MPLS网络中的路由节点接收到信元时,利用信元的信元头中的净荷类型的最后一个比特检测所接收的信元是否为携带CPI的尾部信元,若不是尾标信元,说明该信元未携带CPI,解析信元头中的标签获得标签交换路径,按该转发路径将其转发;若检测到该信元是携带CPI的尾部信元,则将尾标信元中CPI内的TTL值减1,判断递减后TTL值是否为零,若不是零,则解析信元的信元头中的标签获得标签交换路径,按该标签交换路径将其转发;若减1后TTL值为零,则确定所接收信元的标签对应的标签交换路径必定为转发环路。路由节点丢弃该信元,确定该信元的信元头中的标签为环路标记标签;将后续接收到的信元头中的标签与环路标记标签相同的信元直接丢弃;在丢弃信元头中的标签为环路标记标签的一类信元后,在此类信元的MPLS网络入口路由节点利用标签分配协议LDP重新为其对应的报文分配标签,建立新的标签交换路径。
若所接收的信元的标签交换路径不是环路时,信元经标签交换交换路径会最终会到达MPLS网络的出口路由节点,该出口路由节点SAR子层将尾标信元中的TTL值清除,然后按照AAL5封装的反方向过程将信元恢复成报文,得到应用数据然后送出去。具体过程这里不再详述。
由于进入基于ATM的MPLS网络的数据最终被拆装成若干个信元,而只有尾标信元含有TTL值。因此,环路检测是基于TTL机制的部分检测,即只检查尾标信元来判断整个转发路径是否存在环路。可以证明这样的检测是有效的,因为同一个应用的进网数据被分配的标签交换路径是相同的,因此同一应用的信元将在相同的标签交换路径上传输。这样,只要检测其中一个信元是否是环路信元就可以判断其他信元是否是环路信元了。若根据TTL机制检测到同一个流或属于同一个标签交换路径的信元是环路信元,则其后续的同类标签信元也是环路信元,且该标签信元所属的标签路径中存在转发环路。检测到这个环路的路由节点为标签交换路由器,它可以利用LDP协议重新建立新标签交换路径以消除环路。
可见,在基于ATM的MPLS网络中,本发明未改变数据的原有封装过程,区别在于在AAL层报文中加入TTL,在数据传输过程利用TTL检测机制来进行转发环路检测。
本发明所提出的上述检测转发环路的方法,在确定所接收的携带TTL的信元的标签交换路径为转发环路并丢弃该信元后,确定该信元的信元头中的标签为环路标记标签,之后丢弃后续接收到的信元头中标签与环路标记标签相同的信元的方式,可以利用现有的标签转发表LFIB(Label Forwarding InformationTable)采用如下方式 将标签转发表LFIB中,与所述环路标记标签相同的入标签对应的表项删除,这样,在后续信元头中标签与环路标记标签相同的信元到达时,利用现有的查表机制未查找匹配表项,则将该信元丢弃。
如图8所示,从标签边缘路由器A进入到目的地址为X.X.X.X的报文利用LDP协议建立了一条LSP,路线为ABCEF。LSR能够实现标签交换,需要由LDP协议生成LFIB表。LFIB表的每个表项结构如表1所示 表1标签转发表LFIB LSR收到一个信元后,将信元中的标签作为入标签查找到所匹配的表项,将入标签更换为出标签的值,然后将信元从该表项中的接口字段制定的接口发送出去。如果找不到所匹配的表项,则将信元丢弃。
在标签边缘路由器LER(Label Edge Router)上面,维护的是由LDP协议生成的转发表FIB(Forwarding Information Table)。FIB表的每个表项的结构如表2所示 表2转发表FIB LER根据进入MPLS网络的报文的目的网络地址查找FIB表,找到对应表项,添加标签号后从指定的接口将报文送出。如果找不到对应的表项,报文将被丢弃或转到一个缺省的端口。同时LER会启动LDP协议,试图重新建立一条到该目的网络的LSP。
上述LFIB和FIB中,不同的标签交换路径对应不同的表项,表项中的标签值也各不相同,不会出现不同的标签交换路径共用一个表项的情况及一个标签值同时在多个表项出现的情况。因此,采用本发明提出的转发环路检测机制后,检测到携带CPI的信元中的标签TTL值为零时,LSR将信元中的标签(入口标签号)对应的表项从LFIB表中删除,这样后续该LSP的信元将会被丢弃,避免环路报文加剧网络拥塞。由于一个标签值不会在其它表项出现,所以不会影响到其他的标签交换路径。然后LSR启动LDP协议,请求拆除检测到环路的LSP,该拆除命令会通过本机的所有接口发送给与本机相连的设备。LSR逐级传递拆除命令,最后在整个MPLS域中所有的LSR都会删除该LSP在本机LFIB表中的表项,达到拆除掉该LSP的目的。入口LER收到该LSP拆除命令后会删除本机FIB表中的该LSP的表项。由于入口LER还会继续收到该目的网络的报文,所以入口LER还会启动LDP协议,在整个MPLS网络中重新建立一条LSP。由于LDP协议的种类较多,实现方式也各不相同,故本文不进行详述。
依照本发明的实施例二中,提供一种报文封装装置,如图9所示,该报文封装装置包括第一封装单元,用于将MPLS网络入口路由节点接收的数据封装为具有固定格式的报文;标签分配单元,用于为所述报文分配标记其转发方式的标签,建立所述报文的标签交换路径;报文拆分单元,用于将所述报文按固定长度拆分为多个信息段;第二封装单元,用于将所分配的标签封装到信元头中,在每个信息段前加载信元头得到信元;其中所述第一封装单元在将数据封装为具有固定格式的报文过程中或所述报文拆分单元在报文的拆分过程中,还用于确定所述固定格式的报文中的空闲字段,并在所述空闲字段内设置报文的生存时间值;生存标识设置单元,用于在所述信元头中设置用于标识该信元头所在信元是否具有空闲字段的生存标识。
本实施例中还提供一种基于上述报文封装装置的检测转发环路装置,如图10所示,该检测转发环路的装置包括空闲字段检测单元,用于在MPLS网络中的路由节点接收到信元时,利用信元的信元头中的生存标识检测所接收的信元是否具有空闲字段;第一转发单元,用于在所接收的信元中不具有空闲字段时,解析所述信元的信元头中的标签获得标签交换路径,按该转发路径将其转发;环路检测单元,用于在所接收的信元中具有空闲字段时,利用所述空闲字段内的生存时间值来进行转发环路检测。所述环路检测单元利用所述空闲字段内的生存时间值采用如下方式进行转发环路检测将所接收信元的空闲字段内所述生存时间值递减一次,递减后所述生存时间值达到设定值时,确定所接收信元的标签交换路径为转发环路。
该检测转发环路装置还包括第二转发单元,用于递减后所述生存时间值未达到设定值时,解析所述信元的信元头中的标签获得标签交换路径,按该标签交换路径将其转发;第一丢弃单元,用于在确定所接收的信元的标签交换路径为转发环路时,直接将该信元丢弃,并将该信元的信元头中的标签记录为环路标记标签;第二丢弃单元,用于在后续接收到的信元头中的标签与所记录的环路标记标签相同时,将该信元头所在的信元直接丢弃。
本实施例中还提供一种网络设备,该网络设备包括上述报文封装装置和/或上述检测转发环路装置。可以根据具体的应用,如该网络设备作为入口路由设备时包括报文封装装置,还可以包括实现报文入网处理的其它功能装置。在该网络设备作为中间路由设备时包括检测转发环路装置,还可以包括实现报文转发处理的其它功能装置。在该网络设备作为具有入口路由设备和中间路由双重身份的设备时,包括报文封装装置和检测转发环路装置等。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
权利要求
1.一种报文封装方法,该方法包括步骤
将MPLS网络入口路由节点接收的数据封装为具有固定格式的报文,同时为所述报文分配标记其转发方式的标签,建立所述报文的标签交换路径;将所述报文按固定长度拆分为多个信息段;将所分配的标签封装到信元头中,在每个信息段前加载信元头得到信元,其特征在于,
在将数据封装为具有固定格式的报文过程中或在报文的拆分过程中,确定所述固定格式的报文中的空闲字段,并在所述空闲字段内设置报文的生存时间值;
在所述信元头中设置用于标识该信元头所在信元是否具有空闲字段的生存标识。
2.如权利要求1所述的方法,其特征在于,
对所述数据的封装采用AAL5层协议所定义的方式,所述固定格式为AAL5层协议定义的协议数据单元格式,所述报文包括协议数据单元格式中的通用部分指示字段;
在报文的封装过程中或在报文的拆分过程中,确定的空闲字段为所述报文中的通用部分指示字段;
在信元头所设置的生存标识为标识该信元头所在信元是否为拆分得到的最后一个信元的尾标标识。
3.如权利要求1或2所述的方法,其特征在于,
在所述空闲字段内设置的报文的生存时间值为所述报文在MPLS网络中传输所能够经历的最大路由跳数,或为MPLS网络中的路由节点总数。
4.一种基于权利要求1所述报文封装方法的检测转发环路的方法,其特征在于,包括步骤
在MPLS网络中的路由节点接收到信元时,利用信元的信元头中的生存标识检测所接收的信元是否具有空闲字段;
在所接收的信元中具有空闲字段时,利用所述空闲字段内的生存时间值来进行转发环路检测。
5.如权利要求4所述的方法,其特征在于,
在所接收的信元中不具有空闲字段时,解析所述信元的信元头中的标签获得标签交换路径,按该标签交换路径将其转发。
6.如权利要求4或5所述的方法,其特征在于,利用所述空闲字段内的生存时间值来进行转发环路检测具体包括
将所接收信元的空闲字段内所述生存时间值递减一次,递减后所述生存时间值达到设定值时,确定所接收信元的标签交换路径为转发环路;
递减后所述生存时间值未达到设定值时,解析所述信元的信元头中的标签获得标签交换路径,按该标签交换路径将其转发。
7.如权利要求6所述的方法,其特征在于,
在确定所接收的信元的标签交换路径为转发环路时,直接将该信元丢弃,并确定该信元的信元头中的标签为环路标记标签;
在后续接收到的信元头中标签与所述环路标记标签相同的信元直接丢弃。
8.如权利要求7所述的方法,其特征在于,
在确定丢弃信元的信元头中的标签为环路标记标签后,在出现相同环路标记标签的一类丢弃信元的MPLS网络入口路由节点,利用标签分配协议重新为其对应的报文分配标签,建立新的标签交换路径。
9.一种报文封装装置,其特征在于,包括
第一封装单元,用于将MPLS网络入口路由节点接收的数据封装为具有固定格式的报文;
标签分配单元,用于为所述报文分配标记其转发方式的标签,建立所述报文的标签交换路径;
报文拆分单元,用于将所述报文按固定长度拆分为多个信息段;
第二封装单元,用于将所分配的标签封装到信元头中,在每个信息段前加载信元头得到信元;
其中所述第一封装单元在将数据封装为具有固定格式的报文过程中或所述报文拆分单元在报文的拆分过程中,还用于确定所述固定格式的报文中的空闲字段,并在所述空闲字段内设置报文的生存时间值;
生存标识设置单元,用于在所述信元头中设置用于标识该信元头所在信元是否具有空闲字段的生存标识。
10.一种基于权利要求9所述报文封装装置的检测转发环路装置,其特征在于,该检测转发环路装置包括
空闲字段检测单元,用于在MPLS网络中的路由节点接收到信元时,利用信元的信元头中的生存标识检测所接收的信元是否具有空闲字段;
环路检测单元,用于在所接收的信元中具有空闲字段时,利用所述空闲字段内的生存时间值来进行转发环路检测。
11.如权利要求10所述的检测转发环路装置,其特征在于,该装置还包括第一转发单元,用于在所接收的信元中不具有空闲字段时,解析所述信元的信元头中的标签获得标签交换路径,按该转发路径将其转发。
12.如权利要求10或11所述的检测转发环路装置,其特征在于,
所述环路检测单元采用如下方式进行转发环路检测将所接收信元的空闲字段内所述生存时间值递减一次,递减后所述生存时间值达到设定值时,确定所接收信元的标签交换路径为转发环路;
该检测转发环路装置还包括
第二转发单元,用于递减后所述生存时间值未达到设定值时,解析所述信元的信元头中的标签获得标签交换路径,按该标签交换路径将其转发;
第一丢弃单元,用于在确定所接收的信元的标签交换路径为转发环路时,直接将该信元丢弃,并确定该信元的信元头中的标签为环路标记标签;
第二丢弃单元,用于在后续接收到的信元头中的标签与所述环路标记标签相同信元直接丢弃。
13.一种网络设备,其特征在于,该网络设备包括
权利要求9所述的报文封装装置,和/或,
权利要求10~12任一所述的检测转发环路装置。
全文摘要
本发明公开了一种报文封装方法及检测转发环路的方法,包括将MPLS网络入口路由节点接收的数据封装为具有固定格式的报文,同时为报文分配标记其转发方式的标签;将报文按固定长度拆分为多个信息段;将所分配的标签封装到信元头中,在每个信息段前加载信元头得到信元,其中还包括确定固定格式的报文中的空闲字段,并在空闲字段内设置报文的TTL值;在信元头中设置用于标识该信元头所在信元是否具有空闲字段的生存标识。检测转发环路的方法中,利用信元头中的生存标识检测接收信元是否携带TTL值,实现利用TTL机制检测转发环路,在不占用信元头有效信息位的情况下有效检测转发环路。
文档编号H04L12/26GK101764750SQ20091025430
公开日2010年6月30日 申请日期2009年12月7日 优先权日2009年12月7日
发明者彭凯 申请人:福建星网锐捷网络有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1