实现负荷分担的方法及装置的制作方法

文档序号:7709916阅读:81来源:国知局

专利名称::实现负荷分担的方法及装置的制作方法
技术领域
:本发明涉及通信4支术领域,特别涉及一种实现负荷分担的方法及装置。
背景技术
:多协i义标记交换(MPLS,Multi-ProtocolLabelSwitching)是一种多层交换技术,它使用短而定长的标签将数据报文封装分组,在数据平面实现数据报文的快速传输,其中MPLS将具有相同传输处理方式的数据报文归为一类,称为转发等价类(FEC,ForwardingEquivalenceClass),标签用于唯一标识一个FEC,—个FEC可能会对应多个标签,但是一个标签只能标识一个FEC,可以按照数据^l艮文的源地址、目的地址、源端口、目的端口、协议类型等信息来划分FEC,例如目的地址相同的所有数据4艮文属于一个FEC,或者同一个协议类型的数据报文属于一个FEC。MPLS虚拟专用网(VPN,VirtualPrivateNetwork)是一种新型的VPN业务,国内城域核心网、企业网和国际城域网经常会组建MPLSVPN网络,MPLSVPN网络通过将MPLS标签封装在数据报文中来进行MPLS标签的传递,其中用于指导数据报文在MPLS域中传输的标签为公网标签,用于指导数据报文在VPN域中传输的标签为私网标签,当数据^艮文有两层标签时,公网标签通常封装在外层,私网标签通常封装在内层,MPLS标签的大小为32bit,其中包含20bit的标签值。现有技术中,一般采用物理链路聚合的方式来实现MPLSVPN网络的负荷分担,这就需要在多个物理端口中选择一个物理端口来传输数据报文,此时通常根据数据报文中携带的媒质接入层(MAC,MediumAccessControl)地址来选择物理端口,具体为根据MAC地址计算得到索引值,根据计算得到的索引值,在预设的索引表中查找对应的物理端口,基于查找到的物理端口传输数据报文,其中索引表包含索引值和物理端口名称的对应关系。数据报文中的源MAC地址为报文发送设备的MAC地址,目的MAC地址为报文接收设备的MAC地址,若发送设备A和接收设备B的MAC地址保持不变,则在进行负荷分担时,根据MAC地址计算得到的索引值也保持不变,因此选择出的物理端口也保持不变,即发送设备A和接收设备B之间的数据报文都会从同一个物理端口传输,从而导致该物理端口出现拥塞现象,因此才艮据MAC地址并不能有效地进行负荷分担。
发明内容本发明实施例提供一种实现负荷分担的方法及装置,用以解决MPLSVPN网络中,根据MAC地址不能有效地进行负荷分担的问题。本发明实施例技术方案如下一种实现负荷分担的方法,用于多协议标记交换虚拟专用网网络设备中,该方法包括步骤获得需要传输的数据报文中携带的多协议标记交换标签的标签值;根据获得的标签值,在所述网络设备所支持的物理端口中,确定传输所述数据报文的物理端口;基于确定出的物理端口,传输所述数据报文。一种实现负荷分担的装置,用于多协议标记交换虚拟专用网网络设备中,包括获得单元,用于获得需要传输的数据报文中携带的多协议标记交换标签的标签值;确定单元,用于根据获得单元获得的标签值,在所述网络设备所支持的物理端口中,确定传输所述数据报文的物理端口;报文传输单元,用于基于确定单元确定出的物理端口,传输所述数据净艮文。本发明实施例技术方案中,当两个MPLSVPN网络设备之间需要传输数据报文时,首先获得需要传输的数据报文中携带的MPLS标签的标签值,根据获得的标签值,在MPLSVPN网络设备所支持的物理端口中,确定传输该数据报文的物理端口,基于确定出的物理端口,传输该数据报文,由于两个MPLS6VPN网络设备之间传输的数据报文可能归属于多个FEC,而每个FEC对应的MPLS标签是不相同的,因此针对不同FEC中的翁:据才艮文,才艮据标签值确定出的物理端口也是不相同的,而且一个FEC可能会对应多个标签,因此针对一个FEC中的每个数据报文,根据标签值确定出的物理端口也可能是不相同的,这就使得MPLSVPN网络设备可以根据不同的标签值将需传输的数据报文分配给不同的物理端口进行传输,而不是只由一个物理端口传输,从而实现了MPLSVPN网络的负荷分担。图l为本发明实施例中,实现负荷分担的方法流程示意图2为本发明实施例中,实现负荷分担的具体实现方法流程示意图3为本发明实施例中,实现负荷分担的装置结构示意图。具体实施例方式下面结合各个附图对本发明实施例技术方案的主要实现原理、具体实施方式及其对应能够达到的有益效果进行详细的阐述。如图1所示,为本发明实施例中实现负荷分担的方法流程图,其具体处理过程如下步骤ll,获得需要传输的数据报文中携带的MPLS标签的标签值,MPLSVPN网络的数据报文中可能携带有公网标签或私网标签,也可能同时携带公网标签和私网标签,本发明实施例中根据MPLS标签进行负荷分担时,可以首先确定进行负荷分担时所采用的标签方式,然后根据确定出的标签方式,获得需要传输的数据报文中携带的多协议标记交换标签的标签值,其中标签方式包含7>网标签方式、私网标签方式和7>私网标签方式(即7>网+私网标签方式),若确定出采用公网标签方式,则获得的标签值应为公网标签的标签值,若确定出采用私网标签方式,则获得的标签值应为私网标签的标签值,若确定出采用/>私网标签方式,则获得的标签值应为网标签值和私网标签值的异或值。步骤12,根据步骤11获得的标签值,在MPLSVPN网络设备所支持的物理端口中,确定传输该数据报文的物理端口,其中该步骤的具体实现过程可以但不限于为下述首先将获得的标签值与预设的掩码(mask)值进行计算,得到索引值,根据计算得到的索引值,在索引值和物理端口名称的对应关系中,查找与计算得到的索引值对应的物理端口名称,将查找到的物理端口名称对应的物理端口,确定为传输该数据才艮文的物理端口,其中索引值和物理端口名称的对应关系可以但不限于如下表所示<table>tableseeoriginaldocumentpage8</column></row><table>其中上表中的索引值为十进制值,若MPLSVPN网络设备实际支持的物理端口数量的值小于网络设备所能够支持的物理端口数量的最大值时,可能存在多个索引值与一个物理端口名称对应的情况。本发明实施例中的mask值是预先设置的,设置规则可以但不限于为将mask值的最大值设为OxFFFFF,最小值设为0x00000,且mask值与MPLSVPN网络设备所能够支持的聚合端口数量的最大值相对应,例如定义mask值的十进制值为N,则MPLSVPN网络设备所能够支持的最大聚合端口数目的最大值为N+l,本发明实施例中的mask值可以根据实际的组网运用需要进行选取。获得的标签值与预设的mask值之间的运算可以但不限于为与运算。步骤13,基于确定出的物理端口,传输该数据4艮文。由上述处理过程可知,本发明实施例4支术方案中,当两个MPLSVPN网络设备之间需要传输数据报文时,首先获得需要传输的数据报文中携带的MPLS标签的标签值,根据获得的标签值,在MPLSVPN网络设备所支持的物理端口中,确定传输该数据报文的物理端口,基于确定出的物理端口,传输该数据报文,由于两个MPLSVPN网络设备之间传输的数据报文可能归属于多个FEC,而每个FEC对应的MPLS标签是不相同的,因此针对不同FEC中的数据报文,根据标签值确定出的物理端口也是不相同的,而且一个FEC可能会对应多个标签,因此针对一个FEC中的每个数据报文,根据标签值确定出的物理端口也可能是不相同的,这就使得MPLSVPN网络设备可以根据不同的标签值将需传输的数据报文分配给不同的物理端口进行传输,而不是只由一个物理端口传输,从而实现了MPLSVPN网络的负荷分担。下面给出更为具体的实施方式。如图2所示,为本发明实施例中实现负荷分担的具体实现方法流程图,其具体处理过程如下步骤21,当携带有MPLS标签的数据报文通过MPLSVPN网络设备时,判断传输数据报文的物理端口是否为链路聚合端口,若判断结果为是,则转至步骤22,若判断结果为否,则转至步骤212;步骤22,判断MPLSVPN网络设备在传输数据报文时是否根据标签进行负荷分担,若判断结果为是,则转至步骤23,若判断结果为否,则转至步骤211;步骤23,判断进行负荷分担时采用的标签方式是否为公网标签方式,若判断结果为是,则转至步骤27,若判断结果为否,则转至步骤24;步骤24,判断进行负荷分担时采用的标签方式是否为私网标签方式,若判断结果为是,则转至步骤25,若判断结果为否,则转至步骤26;步骤25,获取需传输的数据报文中携带的私网标签的标签值,然后转至步骤28;步骤26,获取需传输的数据报文中携带的公网标签的标签值和私网标签的标签值的异或值,然后转至步骤28;步骤27,获取需传输的数据报文中携带的公网标签的标签值,然后转至步骤28;步骤28,将获取的标签值和预设的mask值进行与运算,得到索引值,若mask值为0x00007,那么就将获得的标签值和0x00007进行与运算,相当于将获得的标签值的高17bit清零,取标签值的低3bit,由于mask值的十进制值为7,因此MPLSVPN网络设备所能够支持的物理端口的数量的最大值为8个;步骤29,根据步骤28计算得到的索引值,在索引值和物理端口名称的对应关系中,查找与索引值对应的物理端口名称;步骤210,将上述数据报文基于步骤29确定出的物理端口名称对应的物理端口进行传输;步骤211,根据数据报文中携带的MAC地址进行负荷分担;步骤212,按照普通端口传输数据报文的流程进行处理。本发明实施例中,若判断出根据标签进行负荷分担,但是需传输的数据报文中并没有MPLS标签,则此时可以转至步骤211,根据数据报文中携带的MAC地址进4亍负荷分才旦。相应的,本发明实施例还提供一种实现负荷分担的装置,用于MPLSVPN网络设备中,其结构如图3所示,包括获得单元31、确定单元32和报文传输单元33,其中获得单元31,用于获得需要传输的数据报文中携带的MPLS标签的标签值确定单元32,用于才艮据获得单元31获得的标签值,在上述网络设备所支持的物理端口中,确定传输该数据报文的物理端口;报文传输单元33,用于基于确定单元32确定出的物理端口,传输该数据报文。较佳地,确定单元32具体包括计算子单元、查找子单元和第一确定子单元,其中计算子单元,用于将获得单元31获得的标签值与预设的mask值进行计算,得到索引值;查找子单元,用于才艮据计算子单元计算得到的索引值,在索引值和物理端口名称的对应关系中,查找与上述索引值对应的物理端口名称;第一确定子单元,用于将查找子单元查找到的物理端口名称对应的物理端口,确定为传输该数据报文的物理端口。较佳地,获得单元31具体包括第二确定子单元和获得子单元,其中第二确定子单元,用于确定进行负荷分担时所采用的标签方式;获得子单元,用于根据第二确定子单元确定出的标签方式,获得需要传输的数据报文中携带的MPLS标签的标签值。更佳地,若第二确定子单元确定出的标签方式为^^网标签方式,则获得子单元获得需要传输的数据报文中携带的公网标签的标签值;若第二确定子单元确定出的标签方式为私网标签方式,则获得子单元获得需要传输的数据报文中携带的私网标签的标签值;若第二确定子单元确定出的标签方式为公私网标签方式,则获得子单元获得需要传输的数据报文中携带的7>网标签的标签值和私网标签的标签值的异或值。明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。权利要求1、一种实现负荷分担的方法,用于多协议标记交换虚拟专用网网络设备中,其特征在于,包括获得需要传输的数据报文中携带的多协议标记交换标签的标签值;根据获得的标签值,在所述网络设备所支持的物理端口中,确定传输所述数据报文的物理端口;基于确定出的物理端口,传输所述数据报文。2、如权利要求1所述的实现负荷分担的方法,其特征在于,根据获得的标签值,在所述网络设备所支持的物理端口中,确定传输所述数据报文的物理端口,具体包括将获得的标签值与预设的掩码值进行计算,得到索引值;根据计算得到的索引值,在索引值和物理端口名称的对应关系中,查找与所述索引值对应的物理端口名称;将查找到的物理端口名称对应的物理端口,确定为传输所述数据报文的物理端口。3、如权利要求2所述的实现负荷分担的方法,其特征在于,所述预设的掩码值与所述网络设备所能够支持的物理端口数量的最大值对应。4、如权利要求2所述的实现负荷分担的方法,其特征在于,将获得的标签值与预设的掩码值进行计算,具体为将获得的标签值与预设的掩码值进行与运算。5、如权利要求1所述的实现负荷分担的方法,其特征在于,获得需要传输的数据报文中携带的多协议标记交换标签的标签值,具体包括确定进行负荷分担时所采用的标签方式;根据确定出的标签方式,获得需要传输的数据报文中携带的多协议标记交换标签的标签值。6、如权利要求5所述的实现负荷分担的方法,其特征在于,根据确定出的标签方式,获得需要传输的数据报文中携带的多协议标记交换标签的标签值,具体包括若确定出的标签方式为公网标签方式,则获得需要传输的数据报文中携带的公网标签的标签值;若确定出的标签方式为私网标签方式,则获得需要传输的数据报文中携带的私网标签的标签值;若确定出的标签方式为公私网标签方式,则获得需要传输的数据报文中携带的公网标签的标签值和私网标签的标签值的异或值。7、一种实现负荷分担的装置,用于多协议标记交换虚拟专用网网络设备中,其特征在于,包括获得单元,用于获得需要传输的数据报文中携带的多协议标记交换标签的标签值;确定单元,用于根据获得单元获得的标签值,在所述网络设备所支持的物理端口中,确定传输所述数据报文的物理端口;报文传输单元,用于基于确定单元确定出的物理端口,传输所述数据报文。8、如权利要求7所述的实现负荷分担的装置,其特征在于,确定单元具体包括计算子单元,用于将获得单元获得的标签值与预设的掩码值进行计算,得到索引值;查找子单元,用于才艮据计算子单元计算得到的索引值,在索引值和物理端口名称的对应关系中,查找与所述索?I值对应的物理端口名称;第一确定子单元,用于将查找子单元查找到的物理端口名称对应的物理端口,确定为传输所述数据报文的物理端口。9、如权利要求7所述的实现负荷分担的装置,其特征在于,获得单元具体包括第二确定子单元,用于确定进行负荷分担时所采用的标签方式;获得子单元,用于根据第二确定子单元确定出的标签方式,获得需要传输的数据报文中携带的多协议标记交换标签的标签值。10、如权利要求9所述的实现负荷分担的装置,其特征在于,若第二确定子单元确定出的标签方式为公网标签方式,则获得子单元获得需要传输的数据报文中携带的公网标签的标签值;若第二确定子单元确定出的标签方式为私网标签方式,则获得子单元获得需要传输的数据报文中携带的私网标签的标签值;若笫二确定子单元确定出的标签方式为公私网标签方式,则获得子单元获得需要传输的数据报文中携带的公网标签的标签值和私网标签的标签值的异或值。全文摘要本发明公开了一种实现负荷分担的方法及装置,用于MPLSVPN网络设备中,该方法包括获得需要传输的数据报文中携带的MPLS标签的标签值,根据获得的标签值,在网络设备所支持的物理端口中,确定传输该数据报文的物理端口,并基于确定出的物理端口,传输该数据报文。采用本发明技术方案,能够解决现有技术中存在的MPLSVPN网络中,根据MAC地址不能有效地进行负荷分担的问题。文档编号H04L12/56GK101605101SQ20091015203公开日2009年12月16日申请日期2009年7月15日优先权日2009年7月15日发明者张舒兴,飞马申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1