CN111490941A - 一种多协议标签交换mpls标签处理方法和网络设备 - Google Patents
一种多协议标签交换mpls标签处理方法和网络设备 Download PDFInfo
- Publication number
- CN111490941A CN111490941A CN202010063496.2A CN202010063496A CN111490941A CN 111490941 A CN111490941 A CN 111490941A CN 202010063496 A CN202010063496 A CN 202010063496A CN 111490941 A CN111490941 A CN 111490941A
- Authority
- CN
- China
- Prior art keywords
- node
- public network
- message
- label
- penultimate
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/50—Routing or path finding of packets in data switching networks using label swapping, e.g. multi-protocol label switch [MPLS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/20—Hop count for routing purposes, e.g. TTL
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/50—Routing or path finding of packets in data switching networks using label swapping, e.g. multi-protocol label switch [MPLS]
- H04L45/507—Label distribution
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本公开提供一种多协议标签交换标签处理方法和网络设备,以降低倒数第二跳节点和出节点的设备的报文处理压力,同时可以避免出节点性能的浪费。本公开中,倒数第二跳节点获取与倒数第二跳节点承载能力有关的第一参数值;倒数第二跳节点根据所述第一参数值确定由出节点执行公网标签弹出的第一报文和由所述倒数第二跳节点执行公网标签弹出的第二报文;当所述倒数第二跳节点接收到携带公网标签的第一报文时,所述倒数第二跳节点将所述第一报文发送至出节点,以使所述出节点对所述第一报文执行公网标签弹出操作;当所述倒数第二跳节点接收到第二报文时,由所述倒数第二跳节点对所述第二报文执行公网标签弹出操作。
Description
技术领域
本公开涉及网络通信技术,特别涉及一种多协议标签交换MPLS标签处理方法和网络设备。
背景技术
在多协议标签交换MPLS(Multi-Protocol Label Switching,缩写为MPLS)网络中,网络设备根据短而定长的标签转发报文,省去了查找IP路由表的繁琐过程,为数据在骨干网络中的传送提供了一种高速高效的方式。
然而利用MPLS技术实施报文转发时,具有一定的风险。作为与IP网络相连的末端设备,即出节点egress需要查询报文的公网标签转发表,弹出公网标签后还需要查询IP转发表。两次查询操作对设备的性能有较强的要求,同时引发了设备高负荷运行的风险。
为了解决上述风险,普遍采用倒数第二跳弹出PHP(Penultimate Hop Popping,缩写为PHP)机制,然而采用倒数第二跳弹出的机制可能会造成egress性能的浪费。
发明内容
本公开提供了多协议标签交换MPLS标签处理方法和网络设备,以降低倒数第二跳节点和出节点的设备的报文处理压力,同时可以避免出节点性能的浪费。
本公开的第一方面提供了一种MPLS标签处理方法,该方法应用于MPLS网络,该MPLS网络中包括出节点Egress和倒数第二跳节点,所述方法包括:
倒数第二跳节点获取与倒数第二跳节点承载能力有关的第一参数值;
倒数第二跳节点根据所述第一参数值确定由出节点执行公网标签弹出的第一报文和由所述倒数第二跳节点执行公网标签弹出的第二报文;
当所述倒数第二跳节点接收到携带公网标签的第一报文时,所述倒数第二跳节点将所述第一报文发送至出节点,以使所述出节点对所述第一报文执行公网标签弹出操作;
当所述倒数第二跳节点接收到第二报文时,由所述倒数第二跳节点对所述第二报文执行公网标签弹出操作。
本公开的第二方面提供了一种网络设备,该网络设备为应用于MPLS网络的网络设备,所述网络设备包括:获取单元、确定单元、接收单元、发送单元、标签弹出单元;
所述获取单元,用于获取与倒数第二跳节点承载能力有关的第一参数值;
所述确定单元,用于根据所述第一参数值确定由出节点执行公网标签弹出的第一报文和由所述倒数第二跳节点执行公网标签弹出的第二报文;
所述发送单元,用于当所述接收单元接收到携带公网标签的第一报文时,将所述第一报文发送至出节点,以使所述出节点对所述第一报文执行公网标签弹出操作;
标签弹出单元,用于所述接收单元接收到第二报文时,对所述第二报文执行公网标签弹出操作。
本公开所提供的方法和网络设备,标签的弹出不再是单一的要么采用PHP机制或者要么采用出节点对公网标签进行弹出的机制,而是根据设备的承载能力将标签弹出的操作动态的分担至不同的设备上,从而可以降低倒数第二跳节点和出节点的设备的报文处理压力,同时可以避免出节点性能的浪费。
附图说明
图1为本公开实施例提供的应用组网图;
图2为本公开一实施例提供的方法流程图;
图3为本公开又一实施例提供的方法流程图;
图4为本公开再一实施例提供的方法流程图;
图5为本公开提供的网络设备的结构图。
具体实施方式
以下将参考附图详细说明本公开的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。
在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
另外,为了更好的说明本公开,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本公开同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本公开的主旨。
为了更好的理解本公开的技术方案,在这里先对本公开中涉及到的现有技术的基本概念加以介绍。
(1)标签交换路由器LSR(Label Switching Router,简称LSR)是具有标签分发能力和标签交换能力的设备,是MPLS网络中的基本元素。
(2)MPLS网络包括以下几个组成部分:
入节点Ingress:报文的入口LSR,负责为进入MPLS网络的报文添加标签;
中间节点Transit:MPLS网络内部的LSR,根据标签沿着一系列LSR构成的标签交换路径将报文传送给出口LSR;
出节点Egress:报文的出口LSR,负责剥离报文中的标签,并转发给目的网络。
(3)转发等价类FEC(Forwarding Equivalence Class,缩写为FEC):MPLS将具有相同特征的报文归为一类,称为FEC,属于相同FEC的报文在MPLS网络中将获得完全相同的处理。
(4)为解决MPLS网络中出节点egress设备的高负荷压力,现有技术中普遍采取倒数第二跳弹出PHP(Penultimate Hop Popping,缩写为PHP)机制。
PHP模式下有两种标签:
一是隐式空标签,取值为3。当一个LSR发现下游LSR通告的标签为隐式空标签时,它并不用这个值替代栈顶原来的标签,而是直接弹出标签,并将报文转发给下游LSR(即Egress),Egress接收到报文后,直接进行下一层的转发处理;
一种是显式空标签,取值为0。在某些情况下,Egress需要根据标签栈中的流量等级等信息决定服务质量QoS(Quality of Service,缩写为QoS)策略,此时利用显示空标签就可以在保留标签栈信息的同时,简化Egress节点的转发处理。Egress为FEC分配显式空标签并通告给上游LSR后,上游LSR用这个值替代栈顶原来的标签,并将报文转发给下游LSR(即Egress)。Egress收到标签值为0的报文时,不会查找标签转发表,从标签中获取流量等级等信息后,直接弹出标签栈,进行下一层的转发处理。
(5)私网标签,用来指示报文被送到哪个站点site,网络设备可以根据私网标签确定报文所属的虚拟专用网络VPN(Virtual Private Network,缩写为VPN)实例,通过查找该VPN实例的路由表,将报文正确的转发到相应的site。
本公开所涉及到的一些新的概念,会在下面的实施例中具体加以解释说明。
实施例一
在现有技术中,在考虑实际经济成本和组网性能的需求的前提下,一般来说,出节点的处理性能要明显高于中间节点。单纯的由中间节点进行MPLS标签弹出的操作,即采用倒数第二跳弹出的机制,在业务巨大的情况下,不仅可能会对网络安全造成影响,也会造成出节点处理性能的浪费。若只由出节点进行MPLS标签的弹出操作,也有可能引发设备高负荷运行的风险。本实施例所提供的方法中,公网标签的弹出可以根据倒数第二跳节点和出节点的承载能力由倒数第二跳节点和出节点进行标签弹出的分担,由此,可以避免出节点性能的浪费,也可以避免出节点高负荷运行的风险。
本公开所提供的方法可以应用于MPLS网络中,为了更好的理解本公开所提供的方法,本公开以图1的组网为例对该方法进行说明。但应当理解的时,图1仅仅是组网的简略示意图,实际的组网可以比图1的组网更加复杂,但并不影响本方法的实施。图1为本公开提供的一种MPLS网络的组网示意图,如图1所示,该MPLS网络中包括出节点Egress和中间节点,出节点的上一跳节点在本实施例中称为倒数第二跳节点。在图1中以出节点包括R1和R2,其中,R1与VPN实例1以及VPN实例2关联,其中VPN实例1与站点site1关联,VPN实例2与站点site2关联,VPN实例10与站点site10关联为例进行说明。
可以为倒数第二跳节点和出节点配置标签弹出的分担模式,在分担模式下,倒数第二跳节点和出节点可以相互配合,执行本实施例所提供的方法,在初始状态时,假定由倒数第二跳节点对公网标签进行弹出,如图2所示,该方法包括:步骤101-步骤104。
步骤101,倒数第二跳节点获取与倒数第二跳节点承载能力有关的第一参数值。
其中,与承载能力有关的参数可以为中央处理器CPU(central processing unit,缩写为CPU)空闲率、内存空闲率、CPU的温度中的任意一个。与承载能力有关的参数也可以广义的理解为影响设备稳定性的参数。
倒数第二跳节点可以周期性的获取与倒数第二跳节点的与承载能力有关的第一参数值。
在一种实施方式中,如图2所示,倒数第二跳节点周期性的获取第一参数值之后,可以执行步骤100,若第一参数值达到了预设的分担模式触发门限,则向出节点发送分担请求,以请求出节点分担公网标签的弹出操作。
出节点在接收到分担请求之后,可以根据自身的负载情况,确定自身是否可以承担公网标签的弹出,若可以承担,则向倒数第二跳节点发送分担请求响应。
其中,出节点可以在分担请求响应中携带出节点的标签信息,以使倒数第二跳节点将该出节点的标签信息作为下一跳为出节点的报文的出标签。例如,出节点在分担请求响应中携带的出节点的标签信息为50,则倒数第二跳节点确定出标签为50的标签,使得其对应的下一跳设备为出节点。
若出节点不能分担公网标签的弹出,则可以不做响应,或者,在分担请求响应中携带出节点的标签信息为空。相应的,倒数第二跳节点在预设时间未接收到出节点的分担请求响应,或者识别到分担请求响应中携带的出节点的标签信息为空,则倒数第二跳确定对应的出节点不能分担公网标签的弹出。
在一种可选的实施方式中,倒数第二跳节点可以将标签分发协议LDP(LabelDistribution Protocol,缩写为LDP)的hello报文的负载分担请求字段置为1,以触发出节点确定自身是否能够对公网标签的弹出操作进行分担。其中,负载分担请求字段可以利用hello报文中的自定义字段来实现。
为了更好的理解本公开所提出的方法,本实施例中以与承载能力有关的参数为CPU空闲率为例进行说明。
表1中包括的不同范围的参数值与公网标签弹出比例的对应关系中,以承载能力有关的参数值为CPU空闲率为例进行说明,表1可以在初始配置时在倒数第二跳节点上进行配置。
表1
步骤102,倒数第二跳节点根据第一参数值确定由出节点执行公网标签弹出的第一报文和由倒数第二跳节点执行公网标签弹出的第二报文。
在一种实施方式中,如图3所示,步骤102可以采用步骤1021-步骤1024的方法具体实施。
步骤1021,倒数第二跳节点确定分担公网标签弹出的出节点,并统计公网标签指向该出节点的报文的私网标签。
针对步骤1021,倒数第二跳节点可以采用步骤101中介绍的向出节点发送分担请求,并根据接收到的分担请求响应的方式确定分担公网标签弹出的出节点。在本步骤中不再详细赘述。当然,在另一种可选的实施方式中,倒数第二跳节点也可以采用预先配置的固定的出节点对公网标签的弹出进行分担。
在确定出分担公网标签弹出的出节点之后,倒数第二跳节点可以周期性的对接收到的报文的公网标签报文的公网标签和私网标签进行采样。由此倒数第二跳节点可以建立公网标签与私网标签的对应关系。倒数第二跳节点只针对公网标签指向确定出的可以对公网标签弹出进行分担的出节点的报文的私网标签进行采集。
举例来说,如图1所示,若倒数第二跳节点向出节点R1和R2发送分担请求,若出节点R1和R2均向倒数第二跳节点发送分担请求响应,R1在分担请求响应中携带了指向R1的公网标签A,R2在分担请求响应中携带了指向R2的公网标签B,由此,倒数第二跳节点可以确定分担公网标签弹出的出节点为R1和R2。
倒数第二跳节点在确定接收到的报文的公网标签为指向R1的公网标签时,则获取该报文携带的私网标签,进而建立公网标签与私网标签的对应关系表。倒数第二跳节点在确定接收到的报文的公网标签为指向R2的公网标签时,则获取该报文携带的私网标签,进而建立公网标签与私网标签的对应关系表。
例如,若指向R1的公网标签为A,根据私网标签0001确定报文所属的VPN实例为VPN实例1,私网标签0002确定报文所属的VPN实例为VPN实例2……私网标签0010确定报文所属的VPN实例为VPN实例10,指向R2的公网标签为B,R2与VPN实例11、VPN12关联(图1中未示出),VPN实例11与站点site11关联,VPN实例12与站点site12关联。则倒数第二跳节点可以建立如表2-1所示的公网标签与私网标签对应关系表。
公网标签 | 私网标签 |
A | 0001 |
A | 0002 |
A | …… |
A | 0010 |
B | 0011 |
B | 0012 |
表2-1
需要解释说明的是,本实施例中的指向R1的公网标签指的是,当倒数第二跳节点识别到报文的出标签为该标签时,则对应的下一跳为R1,即指向R1。
步骤1022,倒数第二跳节点根据所述第一参数值以及对应关系确定由倒数第二跳节点执行公网标签弹出的报文的比例,其中,所述对应关系包括不同范围的参数值与设备对报文执行公网标签弹出比例的对应关系。
步骤1023,按照所述报文的比例以及所述私网标签的种类数量确定出待由倒数第二跳节点承担公网标签弹出的报文的第一私网标签。
针对步骤1022和1023,以表1中的对应关系为例,倒数第二跳节点可以获取到的第一参数值和例如表1中的对应关系,确定R1进行公网标签弹出的报文的比例。
例如,若倒数第二跳节点的CPU空闲率为90%,则根据表1可以确定倒数第二跳节点承担公网标签弹出的比例维持在处理默认状态即可,在本公开所涉及到的实施例中,倒数第二跳节点初始默认承担100%的公网标签弹出。若倒数第二跳节点的CPU空闲率为50%,则根据表2-1可以确定出节点执行公网标签弹出的比例为50%,在步骤1021中的示例中,指向R1的公网标签A所对应的私网标签的种类为10种,则倒数第二跳节点可以承担5/10(即50%的)私网标签所对应的公网标签的弹出。指向R2公网标签B所对应的私网标签的种类为2种,则倒数第二跳节点可以承担1/2的私网标签所对应的公网标签的弹出。
具体的,倒数第二跳节点可以承担公网标签为A,私网标签为0001-0005、以及公网标签为B、私网标签为0011报文的公网标签的弹出,而剩余的报文(公网标签为A、私网标签为0006-0010,公网标签为B、私网标签为0012)的公网标签的弹出,则转发至对应的出节点进行公网标签的弹出。这里“对应”指的是,公网标签为A的报文的下一跳为R1,则报文对应转发至R1,公网标签为B的报文的下一跳为R2,则报文对应转发至R2。
此外,步骤1022可以在步骤1011的统计私网标签的步骤之后之前执行,也可以与统计私网标签的步骤同时或者之后执行。
步骤1024,当接收到的报文携带的公网标签为第一公网标签、私网标签为所述第一私网标签,则确定该报文为第二报文,其中所述第一公网标签为指向所述分担公网标签弹出的出节点的公网标签。
即公网标签为A,私网标签是0001-0005的报文,该报文为第二报文,第二报文即为待由倒数第二跳节点进行公网标签弹出的报文类型。
在一种可选的实施方式中,在确定出第二报文之后,在公网标签和私网标签的对应关系中,对确定出的第二报文添加报文标记。例如,如表2-2所示,报文标记置为1表征添加了报文标记,置为0则表征未添加报文标记。
表2-2
添加标记的目的一方面是使得倒数第二跳节点在识别到接收到的报文的公网标签及私网标签与对应关系中存在报文标记的报文不相同时(即确定接收到的报文为第一报文),将该报文发送至出节点,另一方面,当所述倒数第二跳节点识别到接收到的报文的公网标签及私网标签与对应关系中存在报文标记的报文相同时(即确定接收到的报文为第二报文)时,倒数第二跳节点将第二报文的公网标签修改为隐式空标签或者显示空标签,进而使得倒数第二跳节点对第二报文执行公网标签弹出操作。
步骤103,当所述倒数第二跳节点接收到携带公网标签的第一报文时,所述倒数第二跳节点将所述第一报文发送至出节点,由所述出节点对所述第一报文执行公网标签弹出操作。
步骤104,当所述倒数第二跳节点接收到第二报文时,由所述倒数第二跳对所述第二报文执行公网标签弹出操作。
针对步骤103和步骤104,在具体实施时,可以采用图4所示的如下方式实施:
步骤2030判断接收到的报文是否为第二报文,所述第二报文的公网标签为公网标签指向所述分担公网标签弹出的出节点的公网标签、私网标签为所述第一私网标签;若是第二报文,则执行步骤2032,若不是第二报文,则执行步骤2031
步骤2031,倒数第二跳节点将第一报文发送至出节点,由出节点对第一报文执行公网标签弹出操作,其中,第一报文为在负载分担之前,由倒数第二跳节点负责进行公网标签弹出操作的报文;
步骤2032,若接收到的报文为非第一报文的第二报文,则由所述倒数第二跳节点执行公网标签的弹出操作。
本实施例所提供的方法中,标签的弹出不再是单一的要么采用PHP机制或者要么采用出节点对公网标签进行弹出的机制,而是根据设备的承载能力将标签弹出的操作动态的分担至不同的设备上,从而可以降低倒数第二跳节点和出节点的设备的报文处理压力,同时可以避免出节点性能的浪费。
实施例二
在实施例一的基础上,如图4所示,本实施例所提供的MPLS标签处理方法还可以包括:步骤105和步骤106。
步骤105,倒数第二跳节点根据所述第一参数值和映射关系确定倒数第二跳节点的优先级,其中,所述映射关系包括不同范围的参数值与设备优先级的映射关系。
表3中包括不同范围的参数值与设备优先级的映射关系。
表3
其中,Normal表示初始配置的默认的优先级。Normal的优先级低于level1。本实施例中,level的数字越大,表明优先级越大。例:level4>level1。
步骤106,将所述倒数第二跳节点的优先级发送至所述出节点,以使所述出节点根据所述优先级信息确定是否向所述倒数第二跳节点发送分担请求响应。
具体的,若出节点确定出倒数第二跳节点的优先级大于出节点的优先级,说明倒数第二跳节点此时的CPU空闲率较低,即CPU利用率较高,为降低倒数第二跳节点的CPU利用率,则出节点可以向倒数第二跳节点发送分担请求响应。
若出节点确定倒数第二跳节点的优先级低于出节点的优先级,则出节点可以不向倒数第二跳节点发送分担请求响应,或者在分担请求响应中携带出节点的标签为空。
举例来说,若倒数第二跳节点确定的CPU空闲率为15%,此时根据映射关系确认出的设备优先级为level4,倒数第二跳设备可以将该优先级信息发送至出节点R1,即通过步骤1021确定出的可以对公网标签进行分担的出节点R1。
出节点R1可以获取与该出节点R1承载能力有关的第二参数值,出节点根据不同范围的参数值与设备优先级的映射关系,确定出出节点R1对应的设备优先级。
表4
若此时出节点R1的CPU空闲率为80%,出节点R1的优先级为leve1l,此时倒数第二跳节点的优先级为level4,高于出节点R1的优先级。此时出节点可以向所述倒数第二跳节点发送分担请求响应。
在进行公网标签弹出的负载分担过程由于各个设备的与承载能力有关的参数值是不断变化的,因此,也存在出节点的CPU利用率较高,需要将公网标签弹出的操作分担至倒数第二跳节点进行处理。
针对上述情形,一种可选的实施方式:
倒数第二跳节点可以接收出节点发送的出节点的优先级;
当出节点的优先级大于倒数第二跳节点的优先级时,触发倒数第二跳节点执行步骤102。
为了避免设备频繁的进行公网标签弹出的分担倒换,在另一种可选的实施方式,倒数第二跳节点可以接收出节点发送的出节点的优先级;当出节点的优先级大于倒数第二跳节点的优先级两级及其以上时,触发倒数第二跳节点执行步骤102。进一步的执行步骤102之后的步骤。
本实施例中,只有出节点和倒数第二跳节点的优先级的差值大于两级及其以上时,才触发重新执行步骤102,即重新触发负载分担的调整。
在一种可选的实施方式中,出节点与倒数第二跳节点之间可以通过标签分发协议LDP(Label Distribution Protocol,缩写为LDP)hello报文互相发送优先级信息。
在本实施例中,表4可以与表2-1存储在同一个表中,预先在倒数第二跳节点中进行配置。出节点也会配置如同表2-1和表4中的对应关系以及映射关系,原理类似,本实施例中不再赘述。
实施例三
为了更好的说明本公开的技术方案,本实施例以一具体的实施方式对上述方法进行说明。
(1)初始状态默认由倒数第二跳节点对公网标签进行标签弹出操作的情况:
如图1所示,出节点R1和R2收到倒数第二跳节点发送的LDP hello报文,该hello报文中携带的倒数第二跳设备的优先级等级。若出节点R2确定出倒数第二跳节点的优先级低于自身的优先级等级,则无需向倒数第二跳节点发送响应报文。
若出节点R1确定出倒数第二跳节点的优先级高于出节点自身的优先级等级时,说明倒数第二跳节点的CPU利用率与R1相比更高,为降低倒数第二跳节点的CPU利用率,出节点R1将在LDP hello报文的负载分担请求字段置为1。
当倒数第二跳节点接收到的hello字段中的负载分担请求字段置为1时,则倒数第二跳节点会开始搜集通往该出节点R1的报文的私网标签,进一步的根据表2-1所示对应关系,以及私网标签的种类数量确定待倒数第二跳节点进行公网标签弹出的第二报文,其余报文均保留原公网标签,发送至出节点进行公网标签解封。
当倒数第二跳节点收到出节点R1发送的LDP hello报文中的level等级高于自身2级及以上时,将再次触发负载分担调整,此时倒数第二跳节点将主动将hello报文中的负载分担请求字段置为1,出节点R1收到该hello报文后,查找自身存储映射关系,确定出节点R1的CPU利用率对应的优先级等级,根据自身存储的对应关系,判断可以承担的公网标签弹出比例。
出节点R1可以通过通过私有协议报文通告倒数第二跳节点,倒数第二跳节点可以搜集通往该出节点R1的报文的私网标签,然后按照上述弹出比例确定由倒数第二跳节点进行公网标签弹出的第二报文,将第二报文的公网标签更改为隐式空标签或者显示空标签,其余报文均保留原公网标签,发送至出节点进行公网标签解封。
(2)初始状态默认倒数第二跳节点不进行公网标签弹出操作,由出节点进行公网标签弹出操作的情况下:
倒数第二跳节点收到出节点设备R1和R2发送的hello报文,若接收到的R1发送的hello报文中携带的level等级高于倒数第二跳节点自身的优先级等级,此时表示出节点R1的CPU利用率较高,则倒数第二跳节点主动将hello报文中的负载分担请求字段置为1。
当出节点R1收到的hello报文中负载分担请求字段置为1时,则出节点R1查找自身存储的对应关系,确定当前出节点R1的CPU利用率对应的公网标签弹出比例。倒数第二跳节点搜集通往该出节点R1的私网标签,然后按照上述弹出比例确定由倒数第二跳节点进行公网标签弹出的第二报文,将第二报文的公网标签更改为隐式空标签或者显示空标签,其余报文均保留原公网标签,发送至出节点进行公网标签解封。
当出节点R1收到倒数第二跳节点发送的LDP hello报文中level等级高于自身2级及以上时,说明倒数第二跳节点的CPU利用率较高,为降低其CPU利用率,出节点R1将LDPhello报文的负载分担请求字段置为1,并发送至倒数第二跳节点,倒数第二跳节点接收到负载分担请求字段置为1的hello报文之后,可以开始搜集通往该出节点R1的私网标签,然后获取自身的CPU利用率,倒数第二跳节点根据自身存储的表2-1的对应关系以及表4的映射关系确定出由倒数第二跳设备进行公网标签弹出的第二报文,其余报文均保留原公网标签,发送至出节点进行公网标签解封。
实施例四
本实施例还提供一种网络设备,该网络设备可以用于执行上述实施一至三中所提供的方法中的任意一种。图5为本公开实施例提供的网络设备的结构示意图,该网络设备包括可以应用于MPLS网络,如图5所示,网络设备包括:获取单元501、确定单元502、接收单元503、发送单元504、标签弹出单元505;
所述获取单元501,用于获取与倒数第二跳节点承载能力有关的第一参数值;
所述确定单元502,用于根据所述第一参数值确定由出节点执行公网标签弹出的第一报文和由所述倒数第二跳节点执行公网标签弹出的第二报文;
所述发送单元504,用于当所述接收单元503接收到携带公网标签的第一报文时,将所述第一报文发送至出节点,以使所述出节点对所述第一报文执行公网标签弹出操作;
标签弹出单元505,用于所述接收单元接收到第二报文时,对所述第二报文执行公网标签弹出操作。
本实施例所提供的网络设备,标签的弹出不再是单一的要么采用PHP机制或者要么采用出节点对公网标签进行弹出的机制,而是根据设备的承载能力将标签弹出的操作动态的分担至不同的设备上,从而可以降低倒数第二跳节点和出节点的设备的报文处理压力,同时可以避免出节点性能的浪费。
所述获取单元501还用于根据所述第一参数值确定所述第一参数值是否达到预设的分担模式触发门限,在达到所述触发门限时,则向出发送单元504发送分担请求;所述发送单元504还用于向出节点发送分担请求,以请求出节点分担公网标签的弹出操作;
所述接收单元503在接收到出节点发送的分担请求响应后,触发所述确定单元执行根据所述第一参数值确定由出节点执行公网标签弹出的第一报文和由所述倒数第二跳节点执行公网标签弹出的第二报文。
所述确定单元502还用于确定分担公网标签弹出的出节点,并统计公网标签指向该出节点的报文的私网标签;所述确定单元502根据所述第一参数值以及对应关系确定由所述倒数第二跳节点执行公网标签弹出的报文的比例,其中,所述对应关系包括不同范围的参数值与设备对报文执行公网标签弹出比例的对应关系;按照所述报文的比例以及所述私网标签的种类数量确定出待由倒数第二跳节点承担公网标签弹出的报文的第一私网标签;
所述确定单元502还用于在所述接收单元接收到的报文携带的公网标签为第一公网标签、私网标签为所述第一私网标签时,则确定该报文为第二报文,其中所述第一公网标签为指向所述分担公网标签弹出的出节点的公网标签。
所述确定单元502还用于根据所述第一参数值和映射关系确定倒数第二跳节点的优先级,其中,所述映射关系包括不同范围的参数值与设备优先级的映射关系;
所述发送单元504还用于将所述倒数第二跳节点的优先级发送至所述出节点,以使所述出节点根据所述优先级信息确定是否向所述倒数第二跳节点发送分担请求响应。
所述接收单元503还用于接收所述出节点发送的出节点的优先级;所述确定单元502还用于当确定所述出节点的优先级大于所述倒数第二跳节点的优先级时,执行根据所述第一参数值确定由出节点执行公网标签弹出的第一报文和由所述倒数第二跳节点执行公网标签弹出的第二报文。
需要说明的是,本公开实施例所提供的网络设备,其基本原理及产生的技术效果与前述的实施例一至实施例三的方法相同,为简要描述,本实施例部分未提及之处,可参考上述的针对方法的描述内容。
在本公开所提供的实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本公开的实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本公开各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个可读存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个可读存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的可读存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本公开的较佳实施例而已,并不用以限制本公开,凡在本公开的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本公开保护的范围之内。
Claims (10)
1.一种多协议标签交换MPLS标签处理方法,所述方法应用于MPLS网络,其特征在于,所述MPLS网络中包括出节点Egress和倒数第二跳节点,所述方法包括:
倒数第二跳节点获取与倒数第二跳节点承载能力有关的第一参数值;
倒数第二跳节点根据所述第一参数值确定由出节点执行公网标签弹出的第一报文和由所述倒数第二跳节点执行公网标签弹出的第二报文;
当所述倒数第二跳节点接收到第二报文时,由所述倒数第二跳节点对所述第二报文执行公网标签弹出操作;
当所述倒数第二跳节点接收到携带公网标签的第一报文时,所述倒数第二跳节点将所述第一报文发送至对应的出节点,以使所述出节点对所述第一报文执行公网标签弹出操作。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
倒数第二跳节点根据所述第一参数值确定所述第一参数值达到预设的分担模式触发门限,则向出节点发送分担请求,以请求出节点分担公网标签的弹出操作;
倒数第二跳节点在接收到出节点发送的分担请求响应后,触发执行根据所述第一参数值确定由出节点执行公网标签弹出的第一报文和由所述倒数第二跳节点执行公网标签弹出的第二报文的步骤。
3.根据权利要求1或2所述的方法,其特征在于,倒数第二跳节点根据所述第一参数值确定由所述倒数第二跳节点执行公网标签弹出的第二报文,包括:
所述倒数第二跳节点确定分担公网标签弹出的出节点,并统计公网标签指向该出节点的报文的私网标签;
倒数第二跳节点根据所述第一参数值以及对应关系确定由所述倒数第二跳节点执行公网标签弹出的报文的比例,其中,所述对应关系包括不同范围的参数值与设备对报文执行公网标签弹出比例的对应关系;
按照所述报文的比例以及所述私网标签的种类数量确定出待由倒数第二跳节点承担公网标签弹出的报文的第一私网标签;
当接收到的报文携带的公网标签为第一公网标签、私网标签为所述第一私网标签,则确定该报文为第二报文,其中所述第一公网标签为指向所述分担公网标签弹出的出节点的公网标签。
4.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
倒数第二跳节点根据所述第一参数值和映射关系确定倒数第二跳节点的优先级,其中,所述映射关系包括不同范围的参数值与设备优先级的映射关系;
将所述倒数第二跳节点的优先级发送至所述出节点,以使所述出节点根据所述优先级信息确定是否向所述倒数第二跳节点发送分担请求响应。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
倒数第二跳节点接收所述出节点发送的出节点的优先级;
当所述出节点的优先级大于所述倒数第二跳节点的优先级时,触发所述倒数第二跳节点执行倒数第二跳节点根据所述第一参数值确定由出节点执行公网标签弹出的第一报文和由所述倒数第二跳节点执行公网标签弹出的第二报文的步骤。
6.一种网络设备,其特征在于,所述网络设备为应用于MPLS网络的网络设备,所述网络设备包括:获取单元、确定单元、接收单元、发送单元、标签弹出单元;
所述获取单元,用于获取与倒数第二跳节点承载能力有关的第一参数值;
所述确定单元,用于根据所述第一参数值确定由出节点执行公网标签弹出的第一报文和由所述倒数第二跳节点执行公网标签弹出的第二报文;
所述发送单元,用于当所述接收单元接收到携带公网标签的第一报文时,将所述第一报文发送至出节点,以使所述出节点对所述第一报文执行公网标签弹出操作;
标签弹出单元,用于所述接收单元接收到第二报文时,对所述第二报文执行公网标签弹出操作。
7.根据权利要求6所述的网络设备,其特征在于,
所述获取单元还用于根据所述第一参数值确定所述第一参数值是否达到预设的分担模式触发门限,在达到所述触发门限时,则向出发送单元发送分担请求;所述发送单元还用于向出节点发送分担请求,以请求出节点分担公网标签的弹出操作;
所述接收单元在接收到出节点发送的分担请求响应后,触发所述确定单元执行根据所述第一参数值确定由出节点执行公网标签弹出的第一报文和由所述倒数第二跳节点执行公网标签弹出的第二报文。
8.根据权利要求6或7所述的网络设备,其特征在于,
所述确定单元还用于确定分担公网标签弹出的出节点,并统计公网标签指向该出节点的报文的私网标签;所述确定单元根据所述第一参数值以及对应关系确定由所述倒数第二跳节点执行公网标签弹出的报文的比例,其中,所述对应关系包括不同范围的参数值与设备对报文执行公网标签弹出比例的对应关系;按照所述报文的比例以及所述私网标签的种类数量确定出待由倒数第二跳节点承担公网标签弹出的报文的第一私网标签;
所述确定单元还用于在所述接收单元接收到的报文携带的公网标签为第一公网标签、私网标签为所述第一私网标签时,则确定该报文为第二报文,其中所述第一公网标签为指向所述分担公网标签弹出的出节点的公网标签。
9.根据权利要求6或7所述的网络设备,其特征在于,
所述确定单元还用于根据所述第一参数值和映射关系确定倒数第二跳节点的优先级,其中,所述映射关系包括不同范围的参数值与设备优先级的映射关系;
所述发送单元还用于将所述倒数第二跳节点的优先级发送至所述出节点,以使所述出节点根据所述优先级信息确定是否向所述倒数第二跳节点发送分担请求响应。
10.根据权利要求9所述的网络设备,其特征在于,
所述接收单元还用于接收所述出节点发送的出节点的优先级;
所述确定单元还用于当确定所述出节点的优先级大于所述倒数第二跳节点的优先级时,执行根据所述第一参数值确定由出节点执行公网标签弹出的第一报文和由所述倒数第二跳节点执行公网标签弹出的第二报文。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010063496.2A CN111490941B (zh) | 2020-01-20 | 2020-01-20 | 一种多协议标签交换mpls标签处理方法和网络设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010063496.2A CN111490941B (zh) | 2020-01-20 | 2020-01-20 | 一种多协议标签交换mpls标签处理方法和网络设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111490941A true CN111490941A (zh) | 2020-08-04 |
CN111490941B CN111490941B (zh) | 2022-07-12 |
Family
ID=71798190
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010063496.2A Active CN111490941B (zh) | 2020-01-20 | 2020-01-20 | 一种多协议标签交换mpls标签处理方法和网络设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111490941B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113472658A (zh) * | 2021-06-29 | 2021-10-01 | 新华三信息安全技术有限公司 | 一种报文封装方法、报文转发方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101197759A (zh) * | 2006-12-04 | 2008-06-11 | 中兴通讯股份有限公司 | 用于在标签分发协议中通知上游分发标签的标签分发装置 |
CN102098222A (zh) * | 2011-02-09 | 2011-06-15 | 中兴通讯股份有限公司 | 利用mpls技术转发应用服务报文方法和转发节点 |
CN102111338A (zh) * | 2011-03-22 | 2011-06-29 | 北京星网锐捷网络技术有限公司 | 标签转发信息存储方法及装置、报文转发方法及装置 |
US20190394059A1 (en) * | 2018-06-20 | 2019-12-26 | Juniper Networks, Inc. | Bit index explicit replication (bier) penultimate hop popping |
-
2020
- 2020-01-20 CN CN202010063496.2A patent/CN111490941B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101197759A (zh) * | 2006-12-04 | 2008-06-11 | 中兴通讯股份有限公司 | 用于在标签分发协议中通知上游分发标签的标签分发装置 |
CN102098222A (zh) * | 2011-02-09 | 2011-06-15 | 中兴通讯股份有限公司 | 利用mpls技术转发应用服务报文方法和转发节点 |
CN102111338A (zh) * | 2011-03-22 | 2011-06-29 | 北京星网锐捷网络技术有限公司 | 标签转发信息存储方法及装置、报文转发方法及装置 |
US20190394059A1 (en) * | 2018-06-20 | 2019-12-26 | Juniper Networks, Inc. | Bit index explicit replication (bier) penultimate hop popping |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113472658A (zh) * | 2021-06-29 | 2021-10-01 | 新华三信息安全技术有限公司 | 一种报文封装方法、报文转发方法及装置 |
CN113472658B (zh) * | 2021-06-29 | 2022-11-18 | 新华三信息安全技术有限公司 | 一种报文封装方法、报文转发方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111490941B (zh) | 2022-07-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7539133B2 (en) | Method and apparatus for preventing congestion in load-balancing networks | |
CN102263697B (zh) | 一种聚合链路流量分担方法和装置 | |
US11689452B2 (en) | Method for forwarding service data, network device, and network system | |
US9559953B2 (en) | Path splitting with a connection-oriented network | |
WO2021000752A1 (zh) | 一种在数据中心网络中转发报文的方法及相关装置 | |
KR100927126B1 (ko) | 패킷 전송 속도를 개선한 mpls 네트워크의 입구 노드및 출구 노드와, mpls 네트워크 시스템의 패킷 전송속도 개선 방법 | |
EP3070879A1 (en) | Oam performance monitoring method and apparatus | |
WO2020156090A1 (zh) | 一种建立跨域转发路径的方法、装置及*** | |
US8787160B2 (en) | Method, apparatus, and system for judging path congestion | |
CN111614556A (zh) | 一种基于bier的双向转发检测会话创建方法及相关设备 | |
CN116192726A (zh) | 转发路径建立方法、装置以及计算机可读存储介质 | |
CN111490941B (zh) | 一种多协议标签交换mpls标签处理方法和网络设备 | |
CN113556784A (zh) | 网络切片实现方法、装置及电子设备 | |
CN116668374A (zh) | 通信方法及装置 | |
US20240048502A1 (en) | Packet forwarding method, electronic device, and storage medium | |
US11909546B2 (en) | Method and network node for sending and obtaining assert packet | |
CN117176546A (zh) | 故障处理方法、相关设备和*** | |
CN116319535A (zh) | 路径切换方法、装置、网络设备、以及网络*** | |
CN114422437A (zh) | 一种异构报文的转发方法及装置 | |
US20060002394A1 (en) | Route computing system | |
CN111600793A (zh) | 一种报文转发方法和装置 | |
JP3052924B2 (ja) | ショートカットルート確立システムおよびデータフロー検出装置 | |
US11876680B2 (en) | Method and apparatus for determining link for forwarding service flow | |
WO2023169543A1 (zh) | 信息处理方法、标签栈生成方法、网络侧节点、头节点、控制器、存储介质 | |
CN112311678B (zh) | 报文分发的实现方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |