一种混合处理上游标签和下游标签的方法及系统的制作方法

文档序号:9250949阅读:515来源:国知局
一种混合处理上游标签和下游标签的方法及系统的制作方法
【技术领域】
[0001]本发明涉及MPLS (Mult1-Protocol Label Switching,多协议标签交换)技术传输领域,具体涉及一种混合处理上游标签和下游标签的方法及系统。
【背景技术】
[0002]在传统的IP转发中,一个路由器在自己的路由表中为两个不同的报文进行路由查找时,若发现两个不同的报文具有相同的地址前缀X、且X是对每个报文的目的IP地址进行最长匹配的结果,则认为两个不同的报文属于相同的FEC(转发等价类)。当一个报文在网络中传送的过程中,每一跳都需要重新检查该报文的首部,并且将其分配的一个FEC中。在MPLS网络中,报文进入MPLS网络时才会分配至一个FEC,报文所属的FEC使用一个定长的值来编码,该值就是所谓的标签。当一个报文被转发给它的下一跳的时候,标签和报文一起发送,也就是说这个报文转发之前被打上了标签。
[0003]在MPLS体系架构最初设计时,只定义了下游标签分配,即绑定一个标签L到转发等价类F是由下游节点的LSR (Label Switching Router,标签交换路由器)决定,下游LSR通知上游LSR这个绑定,标签绑定的分发是沿着“从下游到上游”这个方向的。
[0004]随着MPLS技术的发展,MPLS体系架构从支持下游标签分配被扩展为支持上游标签分配,即绑定一个标签L到转发等价类F是由上游节点的LSR来决定的,上游LSR通知下游LSR这个绑定,标签绑定的分发是沿着“从上游到下游”的方向。
[0005]参见图1所示,现有对报文进行路由查找的方法一般包括以下步骤:
[0006]步骤一、对顶层标签进行查找;
[0007]步骤二、判断当前标签是否为非栈底标签、且处理行为为POP(出栈),若是,转到步骤三,否则转到步骤四;
[0008]步骤三、对下一层标签基于标签值进行查找,重新执行步骤二 ;
[0009]步骤四、按照标签表配置的行为处理当前标签。
[0010]但是,现有对报文进行路由查找的方法仅支持下游标签分配,无法支持MPLS体系架构扩展后的上游标签分配,难以满足MPLS体系架构的需求。

【发明内容】

[0011]针对现有技术中存在的缺陷,本发明的目的在于提供一种混合处理上游标签和下游标签的方法及系统,本发明能够混合处理上游分配标签或下游分配标签,进而支持上游标签分配,不仅能够满足MPLS体系架构的需求,而且能够用于所有支持MPLS的设备,适用范围比较广泛。
[0012]为达到以上目的,本发明提供的一种混合处理上游标签和下游标签的方法,包括以下步骤:
[0013]A、存储本站点的有效多协议标签交换MPLS标签的标签信息,形成MPLS标签表,转到步骤B ;
[0014]MPLS标签的类型包括上游分配标签和下游分配标签,所述上游分配标签的标签信息包括上游站点分配给本站点的MPLS标签值、以及与MPLS标签值对应的环境context参数;所述下游分配标签的标签信息包括本站点分配给上游站点的MPLS标签值;
[0015]B、存储MPLS标签表中每个MPLS标签相应的处理行为,形成MPLS行为表,转到步骤C.’
[0016]C、收到MPLS封装的数据帧时,判断当前数据帧是否被封装到隧道中:
[0017]若当前数据帧被封装到隧道中,判定封装当前数据帧的隧道在收到MPLS封装的数据帧的站点终结;判断是否能够通过隧道获取context参数,若是,则证明当前数据帧的当层MPLS标签为上游分配标签,转到步骤D,否则证明当前数据帧的当层MPLS标签为下游分配标签,转到步骤E ;
[0018]若当前数据帧未被封装到隧道中,证明当前数据帧的当层MPLS标签为下游分配标签,转到步骤E ;
[0019]D、根据当前数据帧的context参数和当层MPLS标签值进行哈希HASH运算,得到索引值,转到步骤F ;
[0020]E、根据当前数据帧的当层MPLS标签值进行HASH运算,得到索引值,转到步骤F ;
[0021]F、判定根据索引值在MPLS标签表查找到相应的标签信息,根据当前标签信息在MPLS行为表中查找对应的处理行为;根据当前标签信息和处理行为,判定当前标签为非栈底标签、且处理行为为出栈POP,转到步骤G ;
[0022]G、判断当前数据帧的所有MPLS标签是否处理完毕,若是,结束,否则进行下一层MPLS标签的处理。
[0023]在上述技术方案的基础上,步骤C中所述判定封装当前数据帧的隧道在收到MPLS封装的数据帧的站点终结时,还包括以下步骤:若封装当前数据帧的隧道未在收到MPLS封装的数据帧的站点终结,按照隧道的指示对数据帧进行处理,结束。
[0024]在上述技术方案的基础上,步骤F中所述判定根据索引值在MPLS标签表查找到相应的标签信息时,还包括以下步骤:若根据索引值在MPLS标签表查为找到相应的标签信息,则丢弃当前数据帧,结束。
[0025]在上述技术方案的基础上,步骤F中所述判定根据索引值在MPLS标签表查找到相应的标签信息时,若所述索引值根据context参数和MPLS标签值运算得出,则相应的标签信息为:与索引值对应的context值与MPLS标签值的组合;若所述索引值为根据context参数和MPLS标签值运算得出时,则相应的标签信息为:与索引值对应的MPLS标签值。
[0026]在上述技术方案的基础上,步骤F中所述判定当前标签为非栈底标签、且处理行为为出栈POP时,还包括以下步骤:若当前标签为栈底标签、或者当前标签为非栈底标签、且处理行为为非POP,则根据当前处理行对当前数据帧的当层MPLS标签进行处理,转到步骤G。
[0027]在上述技术方案的基础上,步骤G中所述进行下一层MPLS标签的处理,具体包括以下步骤:判断步骤F中对应的处理行为中是否配置context参数,若是,转到步骤D进行下一层MPLS标签的处理,将步骤G中的context参数作为步骤D中的context参数,将当前数据帧的下一层MPLS标签的值作为步骤D中的MPLS标签值;否则转到步骤E进行下一层MPLS标签的处理,将当前数据帧的下一层MPLS标签值作为步骤E中的MPLS标签值。
[0028]在上述技术方案的基础上,步骤A中所述context参数为空表示专用于下游分配标签,非空值表示专用于上游分配标签。
[0029]在上述技术方案的基础上,步骤B中所述MPLS行为表还包括生存时间TTL的处理行为和流量类型TC的处理行为,TTL的处理行为和TC的处理行为用于作为最终的数据帧处理行为进行输出。
[0030]本发明提供一种实现上述方法的混合处理上游标签和下游标签的系统,该系统包括MPLS标签表配置模块、MPLS行为表配置模块和MPLS处理组件,MPLS标签表配置模块、MPLS行为表配置模块均与MPLS处理组件信号连接;
[0031]所述MPLS标签表配置模块用于:存储本站点的有效多协议标签交换MPLS标签的标签信息,形成MPLS标签表,向MPLS行为表配置模块发送MPLS行为表配置信号;
[0032]所述MPLS行为表配置模块用于:收到MPLS行为表配置信号时,存储MPLS标签表中每个MPLS标签相应的处理行为,形成MPLS行为表;
[0033]所述MPLS处理组件包括参数获取判断模块、上游标签索引运算模块、下游标签索引运算模块、标签信息查找模块和标签处理进度控制模块;
[0034]所述参数获取判断模块用于:收到MPLS封装的数据帧时,判断当前数据帧是否被封装到隧道中:
[0035]若当前数据帧被封装到隧道中,判定封装当前数据帧的隧道在收到MPLS封装的数据帧的站点终结;判断是否能够通过隧道获取context参数,若是,则证明当前数据帧的当层MPLS标签为上游分配标签,向上游标签索引运算模块发送上游标签索引运算信号,否则证明当前数据帧的当层MPLS标签为下游分配标签,向下游标签索引运算模块发送下游标签索引运算信号;
[0036]若当前数据帧未被封装到隧道中,证明当前数据帧的当层MPLS标签为下游分配标签,向下游标签索引运算模块发送下游标签索引运算信号;
[0037]所述上游标签索引运算模块用于:收到上游标签索引运算信号后,根据当前数据帧的context参数和当层MPLS标签值进行哈希HASH运算,得到索引值,向标签信息查找模块发送标签信息查找信号;
[0038]所述下游标签索引运算模块用于:收到下游标签索引运算信号后,根据当前数据帧的
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1