CN108574632B - 一种报文处理方法、装置及系统 - Google Patents
一种报文处理方法、装置及系统 Download PDFInfo
- Publication number
- CN108574632B CN108574632B CN201710141931.7A CN201710141931A CN108574632B CN 108574632 B CN108574632 B CN 108574632B CN 201710141931 A CN201710141931 A CN 201710141931A CN 108574632 B CN108574632 B CN 108574632B
- Authority
- CN
- China
- Prior art keywords
- mpls
- message
- packet
- label
- lsr
- 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
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/12—Shortest path evaluation
- H04L45/121—Shortest path evaluation by minimising delays
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/60—Queue scheduling implementing hierarchical scheduling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/62—Queue scheduling characterised by scheduling criteria
- H04L47/622—Queue service order
- H04L47/6225—Fixed service order, e.g. Round Robin
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
一种报文处理方法、装置及系统,实现减少标签交换路径上每一跳物理设备的传输时延,以降低报文传输时延。在报文处理方法中,第一标签交换路由器LSR接收第一多协议标签交换MPLS报文;第一LSR对第一MPLS报文进行分片处理,得到第一MPLS分片报文;第一LSR向第二LSR发送第一MPLS分片报文。其中,第一MPLS分片报文包括MPLS标签栈和第一MPLS分片报文头,其中,MPLS标签栈包括第一标签集合和第二标签集合,第一MPLS分片报文头封装在所述第一标签集合和所述第二标签集合之间;栈顶标签为同义标签,同义标签中表征栈底标识的比特位被置位为1;第一MPLS分片报文头中包括分片报文序列标识。
Description
技术领域
本申请涉及通信技术领域,尤其涉及一种报文处理方法、装置及系统。
背景技术
如何降低报文的传输时延,是业界一直研究的课题。
目前,多协议标签交换(Multi-Protocol Label Switching,MPLS)网络是一种用于快速进行数据包交换和路由的体系。对于通过MPLS网络传输的报文,标签交换路由器(label switching router,LSR)会按照报文的转发处理方式为报文封装MPLS标签,然后在MPLS网络中进行报文转发。在MPLS网络中进行报文转发,将具有相同转发处理方式的分组归为一类,称为转发等价类(Forwarding Equivalence Class,FEC)。相同FEC的分组在MPLS网络中将获得完全相同的处理。
然而,在MPLS网络中基于FEC分组进行报文转发时,报文的传输时延主要包括标签交换路径上的物理设备时延和物理链路时延。其中,物理链路时延是基于报文发送设备与报文接收设备之间的传输距离确定的,报文发送设备与报文接收设备之间的传输距离是无法改变的,故很难通过减小物理链路时延来降低报文的传输时延。故如何通过减小标签交换路径上每一跳物理设备引起的传输时延,以降低报文的传输时延是业界研究与发展的方向。
发明内容
本申请实施例提供一种报文处理方法、装置及系统,以减少标签交换路径上每一跳物理设备的传输时延,以降低报文传输时延。
第一方面,提供一种报文处理方法,在该方法中,第一LSR在接收到MPLS报文之后,可对MPLS报文进行分片处理得到MPLS分片报文,然后向第二LSR发送MPLS分片报文。由于分片报文的报文长度小于分片处理前的原始MPLS报文的报文长度,进而第一LSR以MPLS分片报文为粒度向第二LSR发送,可避免由于发送分片处理前的原始MPLS报文,造成其它MPLS报文的等待时延过大的问题,优化了第一LSR向第二LSR发送MPLS报文的平均传输时延。
一种可能的设计中,第一LSR接收第一MPLS报文,并对第一MPLS报文进行分片处理得到第一MPLS分片报文,并向第二LSR发送第一MPLS分片报文,第二LSR接收第一LSR发送的第一MPLS分片报文,并依据所述第一MPLS分片报文的同义标签,对所述第一MPLS分片报文进行处理。
其中,第一MPLS分片报文为第一LSR对第一MPLS报文进行分片处理得到的多个MPLS分片报文中的一个分片报文。第一MPLS分片报文包括MPLS标签栈和第一MPLS分片报文头。所述MPLS标签栈包括第一标签集合和第二标签集合,所述第一标签集合用于携带栈顶标签,所述第二标签集合用于携带所述MPLS标签栈中除所述栈顶标签之外的其它标签,所述第一MPLS分片报文头封装在所述第一标签集合和所述第二标签集合之间。所述栈顶标签为同义标签,所述同义标中表征栈底标识的比特位被置位为1,用于指示所述第二LSR对所述第一MPLS分片报文进行处理。所述第一MPLS分片报文头中包括分片报文序列标识,所述分片报文序列标识用于标识所述第一MPLS分片为首分片报文、中间分片报文或尾分片报文。
第一LSR通过在第一MPLS分片报文的MPLS标签栈包括的第一标签集合和第二标签集合之间封装第一MPLS分片报文头,并将栈底标识比特位被置位为1的同义标签作为栈顶标签,可实现向第二LSR指示第一MPLS分片报文为对MPLS报文进行分片处理后的MPLS分片报文,并实现指示第二LSR对第一MPLS分片报文进行处理,进而实现了MPLS报文的分片处理,优化了MPLS报文的传输时延,进而降低MPLS报文的传输时延。
其中,第一LSR对第一MPLS报文进行分片处理的过程可包括:第一LSR确定第一MPLS报文的长度,并判断第一MPLS报文长度是否大于或者等于第一长度阈值。如果第一MPLS报文长度小于第一MPLS分片报文最大长度,那么其可以正常发送而无需分片。或者,也可以将其作为一个第一MPLS分片报文发送。如果第一MPLS报文长度大于第一MPLS分片报文最大长度,则第一LSR对第一MPLS报文进行分片处理,并得到首分片报文。第一LSR对第一MPLS报文分片处理并得到首分片报文后,可判断剩余报文的长度是否大于第一MPLS分片报文最大长度,如果剩余报文的长度小于第一MPLS分片报文最大长度,则可构建中间分片报文。构建完一个中间分片报文后,可继续判断剩余报文的长度与第一MPLS分片报文最大长度之间的大小,直至剩余报文的长度小于或等于第一MPLS分片报文最大长度,构建尾分片报文。
其中,同义标签指示的第二LSR对所述第一MPLS分片报文进行的处理可以是透传,也可以是重组。
一种可能的设计中,第二LSR接收到第一LSR发送的第一MPLS分片报文后,依据所述第一MPLS分片报文的同义标签,对所述第一MPLS分片报文进行处理可以包括:根据所述同义标签的指示,向第三LSR透传所述第一MPLS分片报文或根据所述同义标签的指示,根据所述第一MPLS分片报文头中携带的信息重组所述第一MPLS分片报文。
其中,第二LSR根据所述第一MPLS分片报文头中携带的信息重组所述第一MPLS分片报文的过程包括:第二LSR接收到报文后,解析报文的同义标签,并解析同义标签后的第一个半字节(半字节也可称之为4个比特),即所述第一MPLS分片报文头的前半个字节(前4个bit)判断同义标签的第一个半字节是否为0。如果同义标签的第一个半字节不是0或1,则将接收到的第一MPLS分片报文丢弃。如果同义标签的第一个半字节是0且根据分片报文序列标识确定接收到的报文为首分片报文,取出并保留标签栈的同义标签确定MPLS分片报文头后面的分片报文的长度,并从报文末尾移除所有填充将报文体缓存在取出的同义标签对应的重组缓冲区的开始位置处,丢弃MPLS分片报文头,将重组状态设置为等待中间分片报文状态。如果同义标签的第一个半字节是0且根据分片报文序列标识确定接收到的报文为中间分片报文,确定MPLS分片报文头中包括的序列号与取出的同义标签对应的重组缓冲区记录MPLS分片报文头的序列号相同,确定MPLS分片报文头后面的分片报文的长度并从报文末尾移除所有填充,将报文体与重组缓冲区中已缓存的分片报文相连接。如果同义标签的第一个半字节是0且根据分片报文序列标识确定接收到的报文为尾分片报文,确定MPLS分片报文头中包括的序列号与取出的同义标签对应的重组缓冲区记录MPLS分片报文头中的序列号相同,确定MPLS分片报文头后面的分片报文的长度,并从报文末尾移除所有填充,将报文体与重组缓冲区中已缓存的分片报文相连接。
另一种可能的设计中,第一MPLS分片报文头中还可包括分片报文归属标识,所述分片报文归属标识用于标识所述第一MPLS分片报文是对所述第一MPLS报文进行分片处理后得到的报文,其中,对所述第一MPLS报文进行分片处理后得到的各第一MPLS分片报文携带相同的分片报文归属标识,进而使第二LSR接收到第一MPLS分片报文后对第一MPLS分片报文以及携带有相同的分片报文归属标识的其它MPLS分片报文进行正确重组得到第一MPLS报文。
其中,分片报文归属标识可以是第一LSR发送第一MPLS报文的序列号,也可以是生成所述分片报文的设备标识、接收所述分片报文的端口标识或全局归属报文标识,本申请对此不作具体限定。
又一种可能的设计中,第一MPLS分片报文头中除包括上述信息之外,还可包括用于控制等价多路径的路径选择的熵信息,以使第二LSR依据该熵信息进行哈希运算,使得第一MPLS报文分片处理后得到的所有MPLS分片报文在多条等价路径中能够选择同一条路径,以保证重组第一MPLS分片报文过程中第一MPLS分片报文的不乱序。
又一种可能的设计中,第一LSR在接收到第一MPLS报文之后,对第一MPLS报文进行分片处理之前,可确定是否需要对第一MPLS报文进行分片处理,在确定需要对MPLS报文进行分片处理的情况下再执行分片处理的过程。其中,需要对MPLS报文进行分片处理的情况可包括但不限于如下场景中的至少一种:第一LSR接收到第二MPLS报文,所述第二MPLS报文的优先级高于所述第一MPLS报文的优先级。所述第一MPLS报文的优先级的值小于或等于第一阈值。转发所述第一MPLS报文的出接口的传输速率小于或等于第二阈值。所述第一MPLS报文的报文长度大于或等于第三阈值。
又一种可能的设计中,在所述第一LSR向所述第二LSR发送所述第一MPLS分片报文之前,第一LSR接收到第二MPLS报文,并且第二MPLS报文的优先级高于所述第一MPLS报文的优先级,则所述第一LSR向所述第二LSR发送所述第二MPLS报文,可降低发送第二MPLS报文的传输时延。
又一种可能的设计中,第一LSR对具有较高优先级的第二MPLS报文进行分片处理,并向第二LSR发送对第二MPLS报文进行分片处理后得到的第二MPLS分片报文,实现相同或者相近优先级的MPLS分片报文能够得到相对公平的轮询调度,降低相同或者相近优先级报文的等待时延。
第二方面,提供一种报文处理装置,该报文处理装置具有实现上述方法设计中第一LSR的功能,所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。所述模块可以是软件和/或硬件。
一种可能的设计中,报文处理装置包括接收单元、处理单元和发送单元,接收单元、处理单元和发送单元的功能可以和各方法步骤相对应,在此不予赘述。
第三方面,提供一种报文处理装置,该报文处理装置具有实现上述方法设计中第二LSR的功能,所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。所述模块可以是软件和/或硬件。
一种可能的设计中,报文处理装置包括接收单元和处理单元和发送单元,接收单元和处理单元的功能可以和各方法步骤相对应,在此不予赘述。
第四方面,提供一种第一LSR,所述第一LSR包括:输入接口、输出接口、处理器和存储器。其中,输入接口、输出接口、处理器以及所述存储器之间可以通过总线系统相连。该存储器用于存储程序,所述处理器用于执行所述存储器中的程序,从而执行第一方面或第一方面的任意可能的设计中的第一LSR执行的方法。
第五方面,本申请提供了一种第二LSR,所述第二LSR包括:输入接口、输出接口、处理器和存储器。其中,输入接口、输出接口、处理器以及所述存储器之间可以通过总线系统相连。该存储器用于存储程序,所述处理器用于执行所述存储器中的程序,从而执行第一方面或第一方面的任意可能的设计中的第二LSR执行的方法。。
第六方面,本申请实施例提供了一种通信系统,该通信系统包括第四方面所述的第一LSR和第五方面所述的第二LSR。
第七方面,本申请提实施例供了一种计算机可读存储介质或者计算机程序产品,用于存储计算机程序,该计算机程序用于执行第一方面以及第一方面任意可能的设计中的方法。
附图说明
图1为本申请实施例所应用的MPLS网络架构图;
图2为本申请实施例提供的报文处理方法实现流程图;
图3为本申请实施例提供的第一MPLS分片报文的标签栈结构示意图;
图4为本申请实施例中提供的第一MPLS分片报文头的一种结构示意图;
图5为本申请实施例中提供的对第一MPLS报文进行分片处理的实现流程图;
图6为本申请实施例中提供的重组第一MPLS分片报文的实现流程图;
图7为本申请实施例提供的优先发送较高优先级的MPLS报文的传输过程示意图;
图8为本申请实施例提供的轮询调度MPLS报文的传输过程示意图;
图9为本申请实施例提供的一种报文处理装置的结构示意图;
图10为本申请实施例提供的第一LSR的结构示意图;
图11为本申请实施例提供的另一种报文处理装置的结构示意图;
图12为本申请实施例提供的第二LSR的结构示意图。
具体实施方式
下面将结合附图,对本申请实施例中的技术方案进行描述。
本申请提供的报文处理方法可应用于图1所示的MPLS网络架构,图1所示的MPLS网络的节点,在逻辑上可以分为标签边缘路由器(Label Switching Edge Router,LER)和标签交换路由器(Label Switching Router,LSR)。其中,入口处的LER可提供等效转发类(Forwarding Equivalence Class,FEC)和标签的映射,出口处的LER提供标签的移除功能,而LSR是MPLS网络的核心交换机,它提供标签交换(Label Swapping)及标签分发功能,例如为报文封装MPLS标签。
MPLS网络中节点与节点之间的连接称为标签交换路径(Label Switching Path,LSP)。每个节点依据下一跳标签转发项(Next Hop Label Forwarding Entry,NHLFE)来转发数据分组。LSR在转发数据分组过程中,一般是以报文为粒度进行转发处理的,换言之,LSR若要转发后一个报文,则必须等待前一个报文被完整发送之后才能开始发送后一个报文,在前一个报文的报文长度较大的情况下,势必会增加后一个报文的转发等待时间。
本申请实施例以下以第一LSR接收报文,并将向第二LSR发送报文过程中的报文处理过程为例,进行说明。
为描述方便,本申请实施例中将MPLS网络中节点转发的数据分组中包括的报文称为MPLS报文。
本申请实施例中,第一LSR在接收到MPLS报文之后,可对MPLS报文进行分片处理得到MPLS分片报文,然后向第二LSR发送MPLS分片报文,由于分片报文的报文长度小于分片处理前的原始MPLS报文的报文长度,进而第一LSR以MPLS分片报文为粒度向第二LSR发送,可避免由于发送分片处理前的原始MPLS报文,造成其它MPLS报文的等待时延过大的问题,优化了第一LSR向第二LSR发送MPLS报文的传输时延,进而降低MPLS报文的传输时延。
例如,第一LSR在刚开始发送第一MPLS报文的情况下,需要发送第二MPLS报文,第二MPLS报文的优先级高于第一MPLS报文的优先级,但是第一LSR也必须等待第一MPLS报文被完整发送之后,才能发送具有较高优先级的第二MPLS报文,造成具有较高优先级的第二MPLS报文传输时延增大。本申请实施例中,可对具有较低优先级的第一MPLS报文进行分片处理,第一LSR可分别发送分片处理后得到的MPLS分片报文,在需要发送具有较高优先级的第二MPLS报文时,可在等待当前正在发送的MPLS分片报文被完整发送之后,优先发送该第二MPLS报文,在发送第二MPLS报文之后,再发送未发送的MPLS分片文件,分片处理后得到的MPLS分片报文的报文长度小于第一MPLS报文的报文长度,故采用对具有较低优先级的第一MPLS报文进行分片处理的方式,可使得具有较高优先级的第二MPLS报文的转发等待时间减少,进而可降低具有较高优先级的第二MPLS报文的传输时延。
本申请实施例中以下,将结合实际应用对上述涉及的对第一MPLS报文进行分片处理,的实现过程进行说明。
可以理解的是,本申请实施例中涉及的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序,例如本发明实施例中上述涉及的第一MPLS报文和第二MPLS报文仅是用于方便描述以及区分不同的报文,不构成对报文的限定。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。
图2所示为本申请实施例提供的报文处理方法的一种实现流程图,参阅图2所示,包括:
S101:第一LSR接收第一MPLS报文。
S102:第一LSR对第一MPLS报文进行分片处理得到第一MPLS分片报文。
为描述方便,本申请实施例中可将对第一MPLS报文进行分片处理后得到的分片报文,称为MPLS分片报文。本申请实施例涉及的第一MPLS分片报文为多个MPLS分片报文中的一个分片报文。
本申请实施例中,第一LSR对第一MPLS报文进行分片处理的过程可包括设计第一MPLS分片报文的标签栈过程。
本申请实施例中第一MPLS分片报文的标签栈结构可如图3所示,参阅图3所示,第一MPLS分片报文包括MPLS标签栈和第一MPLS分片报文头,其中,所述MPLS标签栈包括第一标签集合和第二标签集合,所述第一标签集合用于携带栈顶标签,所述第二标签集合用于携带所述MPLS标签栈中除所述栈顶标签之外的其它标签,所述第一MPLS分片报文头封装在所述第一标签集合和所述第二标签集合之间。所述栈顶标签为同义标签(synonymouslabel,SL),所述同义标中表征栈底标识的比特位被置位为1,用于指示所述第二LSR对所述第一MPLS分片报文进行处理。所述第一MPLS分片报文头中包括分片报文序列标识,所述分片报文序列标识用于标识所述第一MPLS分片报文为首分片报文、中间分片报文或尾分片报文。
一种可能的实施方式中,本申请实施例中可利用同义标签设计第一MPLS分片报文的栈顶标签。其中,同义标签是由第一LSR与第二LSR协商确定的,支持报文转发功能,也可以支持其他功能,例如可以通过同一标签指示转发的报文是分片报文,还可通过同义标签指示对分片报文进行重组或透传等处理操作。利用同义标签设计第一MPLS分片报文的标签栈,具体设计过程可如下:首先,将MPLS报文栈顶标签替换为同义标签,该同义标签除具备MPLS报文栈顶标签原有指示功能之外,还具有指示转发的报文为第一MPLS分片报文的额外功能。其中,MPLS报文栈顶标签原有指示功能包括诸如标签交换路径(Lable SwitchingPath,LSP)标识符、伪线标签和虚拟私有网络(Virtual private network,VPN)标识符等所指示的报文转发功能。在一个具体的实施方式中,同义标签可以具有实现指示转发报文并指示转发的报文为第一MPLS分片报文的功能,可通过在同义标签中设置被置位为1的栈底标识,通常栈底标识用Sbit位指示,即可将同义标签中的Sbit位置位为1。其次,在替换为同义标签的MPLS报文栈顶标签之后依次设置第一MPLS分片报文头和MPLS标签栈的剩余部分以及MPLS净荷等,如图5所示。
可以理解的是,本申请实施例设计第一MPLS分片报文的标签栈的实施过程并不限定采用上述同义标签的实施过程,还可通过其它标签实现。本申请实施例中所提及的MPLS标签栈和现有技术中公知的MPLS标签栈所实现的功能相同,不同的是本申请对于MPLS标签栈的封装格式作出改进,如上文所述,将MPLS标签栈拆分为上述第一标签集合和第二标签集合。并在第一标签集合和第二标签集合中插入所述MPLS分片报文头。同时,第一标签集合携带栈顶标签,栈顶标签使用同义标签并将其中的表征栈底标识的比特位置位为1,从而指示第二LSR对接收到的MPLS分片报文按照同义标签的指示进行相应的处理。使得MPLS网络中,通过对MPLS报文进行分片处理以降低传输时延成为可能。
本申请实施例中,为使第二LSR接收到第一MPLS分片报文后对第一MPLS分片报文进行正确重组得到第一MPLS报文,第一MPLS分片报文头中还可包括分片报文归属标识,所述分片报文归属标识用于标识所述第一MPLS分片报文是对所述第一MPLS报文进行分片处理后得到的报文,其中,对所述第一MPLS报文进行分片处理后得到的各第一MPLS分片报文携带相同的分片报文归属标识。该分片报文归属标识的具体形式不限,例如可以是第一LSR发送第一MPLS报文的序列号,也可以是生成所述分片报文的设备标识、接收所述分片报文的端口标识或全局归属报文标识。
本申请实施例中若在多跳设备之间进行报文的传输,第一MPLS分片报文头中除包括上述信息之外,还可包括用于控制等价多路径路径选择的熵信息。其中,通过用于控制等价多路径路径选择的熵信息,可进行哈希运算,使得第一MPLS报文分片处理后得到的所有MPLS分片报文在多条等价路径中能够选择同一条路径,以保证重组第一MPLS分片报文过程中第一MPLS分片报文的不乱序。所述熵信息是指用于控制等价多路径的路径选择的信息,第一LSR根据哈希算法计算路径生成的一个数值,将该数值作为熵信息。关于第一根据哈希算法选择路径的具体过程以及生成所述熵信息的具体细节,属于本领域公知技术,本申请不再赘述。
本申请实施例中,第一MPLS分片报文头还可包括用于提供消息信道的比特位、作为0发送的预留比特位、以及长度字段,所述长度字段用于指示位于第一MPLS分片报文头后面的第一MPLS分片报文的剩余长度。其中,位于第一MPLS分片报文头后面的第一MPLS分片报文的剩余长度为第一MPLS分片报文长度减去栈顶标签长度以及分片头长度之后的长度。其中,该长度可以理解为是字节数。
图4本申请实施例中提供的第一MPLS分片报文头的一种结构示意图。参阅图4所示,第0-3比特位置位是0,以提供诸如{{RFC5586}}协议中的操作维护和管理(OperationAdministration and Maintenance,OAM)消息信道。RES=0是必须作为0发送的预留位,第二LSR接收到后可忽略。|B|E|表示分片报文序列标识,其中,首分片报文、中间分片报文和尾分片报文可通过不同的报文序列标识表示,例如,首分片报文的报文序列标识可是F(First)标识位标识,中间分片报文的报文序列标识可以是I(Intermediate),尾分片报文的报文序列标识可以是L(Last)。首分片报文、中间分片报文和尾分片报文也可通过不同的比特位取值表示,例如用2比特位表示时,可通过01表示首分片报文,10表示尾分片报文,11表示中间分片报文。一种可能的实施方式中,若第一MPLS报文未被分片,则可通过未分片标识来标识,例如通过00表示未分片报文。长度表示位于报文分片头后面的分片报文的长度,该长度可以是一个六位字段。当第一MPLS分片报文被传输到第二LSR的标签交换路径中包含一个以太网分段时,该长度可以包括以太网数据链路层添加的填充。其中,若该长度为符合预设的六位字段的长度,则可通过设置长度字段标识为0来表示。序列号表示分片报文归属标识。可以理解的是,图4所示的分片头结构中,对于第一MPLS分片报文头中的可选字段(例如,序列号),若第一MPLS分片报文头中不包括该可选字段,可以将该字段设置为0。
需要说明的是,图4所示的MPLS分片报文头结构只是一种例举,不构成对本申请的限定。本领域技术人员在阅读本申请文件的基础上,可以想到采用其它的封装格式以携带上述实施方式中的MPLS报文头中的信息。这些都属于本申请应用之意,在此不再一一赘述。
本申请实施例以下对第一LSR采用上述第一MPLS分片报文的标签栈结构,实现对第一MPLS报文进行分片处理的实现过程进行举例说明。
一种可能的实施方式中,本申请实施例中可为第一LSR预先设置第一MPLS分片报文最大长度(packet fragment size,MFS),若第一MPLS报文的长度小于或者等于预先设置的第一MPLS分片报文最大长度,则可不划分第一MPLS分片报文,在大于预先设置的第一MPLS分片报文最大长度,则划分第一MPLS分片报文。第一LSR对第一MPLS报文进行分片处理的过程,可参阅图5所示,包括:
S1021:第一LSR确定第一MPLS报文的长度,并判断第一MPLS报文长度是否大于或者等于第一长度阈值。所述第一长度阈值例如可以是预先配置的第一MPLS分片报文的最大长度。
S1022:如果第一MPLS报文长度小于第一MPLS分片报文最大长度,那么其可以正常发送而无需分片。或者,也可以将其作为一个第一MPLS分片报文发送。
为了将第一MPLS报文作为一个第一MPLS分片报文发送,可采用如下方式:将第一MPLS报文的MPLS标签栈中的栈顶标签替换为上述实施例涉及的第一MPLS分片报文头,并对第一MPLS分片报文头进行如下设置:将第一MPLS分片报文头结构中的报文标识位设置为表征未第一MPLS分片报文的标识位,例如将BE字段设置为00。设置第一MPLS分片报文头结构中的长度为第一MPLS报文长度减去栈顶标签长度以及分片头长度之后的长度。一种可能的实施方式中,该长度可以包括以太网数据链路层添加的填充,如果第一MPLS报文的长度小于42个字节,那么媒体接入控制(Media Access Control,MAC)层可以增加填充。如果第一MPLS报文的长度大于42个字节,可将第一MPLS分片报文头中的长度设置为0。设置第一MPLS分片报文头中的分片报文归属标识。设置完成第一MPLS分片报文头以后,可向第一MPLS报文的MPLS标签栈压入同义标签,并且将Sbit位置位为1。
S1023:如果第一MPLS报文长度大于第一MPLS分片报文最大长度,则第一LSR对第一MPLS报文进行分片处理,并得到首分片报文。
其中,对第一MPLS报文进行分片处理后得到的第一MPLS分片报文的长度可以是“第一MPLS分片报文最大长度减去栈顶标签长度再减去第一MPLS分片报文头长度”的整数倍。例如,栈顶标签长度为4个字节,第一MPLS分片报文头长度为4个字节,则对第一MPLS报文进行分片处理后得到的第一MPLS分片报文的长度可以是“第一MPLS分片报文最大长度减去8”的整数倍。为方便描述,本申请实施例以下以第一MPLS分片报文长度为“第一MPLS分片报文最大长度-8”这一恒定分片大小来描述第一LSR对第一MPLS报文进行报文分片处理的过程,但是并不引以为限,具体实施时,可以是任何大小,例如可以使用长度小于“第一MPLS分片报文最大长度-8”长度。
第一LSR构建首分片报文的过程如下:设置MPLS报文栈顶标签的同义标签并将所述同义标签中的栈底标识位置位为1,然后设置首分片报文的第一MPLS分片报文头结构,并将设置的第一MPLS分片报文头与设置的同义标签相连。其中,设置首分片报文的第一MPLS分片报文头结构的实现方式与S1022中涉及的设置第一MPLS分片报文头结构类似,不同之处在于此处需要设置表征首分片报文的分片报文序列标识,例如将BE字段设置01。
S1024:第一LSR对第一MPLS报文分片处理并得到首分片报文后,可判断剩余报文的长度是否大于第一MPLS分片报文最大长度,如果剩余报文的长度小于第一MPLS分片报文最大长度,则可执行S1026,否则执行S1025。
S1025:构建中间分片报文。
其中,构建中间分片报文的过程与上述构建首分片报文的过程类似,不同之处仅在于在设置中间分片报文的第一MPLS分片报文头结构时,需要设置表征中间分片报文的分片报文序列标识,例如将BE字段设置11。
构建完一个中间分片报文后,可继续判断剩余报文的长度与第一MPLS分片报文最大长度之间的大小,执行S1024的步骤,直至剩余报文的长度小于或等于第一MPLS分片报文最大长度。
S1026:如果剩余报文的长度小于或等于第一MPLS分片报文最大长度,则构建尾分片报文。
其中,构建尾分片报文的过程与上述构建首分片报文的过程类似,不同之处仅在于在设置中间报文的第一MPLS分片报文头结构时,需要设置表征尾分片报文的分片报文序列标识,例如将BE字段设置10,并需要按照S1022中涉及的设置第一MPLS分片报文头结构中的长度设置尾分片报文的长度。
S103:第一LSR向第二LSR发送所述第一MPLS分片报文。
本申请实施例中,第一LSR对第一MPLS报文进行分片处理后得到第一MPLS分片报文后,可顺序发送得到的第一MPLS分片报文。
S104:第二LSR接收第一LSR发送的第一MPLS分片报文,并依据所述第一MPLS分片报文的同义标签,对所述第一MPLS分片报文进行处理。
本申请实施例中,第二LSR对所述第一MPLS分片报文进行处理的操作主要是根据同义标签的指示执行。所述第二LSR可根据所述同义标签的指示,向第三LSR透传所述第一MPLS分片报文。所述第二LSR也可根据所述同义标签的指示,根据所述第一MPLS分片报文头中携带的信息重组所述第一MPLS分片报文。
本申请实施例中第二LSR向第三LSR透传第一MPLS分片报文的过程可参考现有透传流程,在此不再赘述。以下仅就第二LSR接收第一MPLS分片报文,并重组第一MPLS分片报文得到第一MPLS报文的过程进行说明。
本申请实施例中第二LSR接收到第一MPLS分片报文后,可根据第一MPLS分片报文头中包括的分片报文序列标识,确定出接收到的第一MPLS分片报文是首分片报文、中间分片报文或者是尾分片报文,进而重组得到第一MPLS报文。
本申请实施例中,以下以重组状态包括等待首分片报文状态(Wait New Packet,WNP)和等待中间分片报文状态(Wait Intermediate packet,WIP),分片报文的栈顶标签为同义标签,第一MPLS分片报文头为图4所示结构为例进行说明。
第二LSR重组第一MPLS分片报文得到第一MPLS报文的实现过程,可如图6所示,包括:
S1041:第二LSR接收到报文后,解析报文的同义标签,并解析同义标签的第一个半字节,判断同义标签后的第一个半字节是否为0。
S1042:如果同义标签之后的第一个半字节不是0,则第二LSR判断同义标签后的第一个字节是否为1,并根据流程信道类型进行处理,具体处理过程可参考RFC5586协议。如果同义标签后的第一个字节不是0或1,则将接收到的第一MPLS分片报文丢弃,并且可向报文故障处理平台上报报文故障事件。
S1043:如果同义标签后的第一个半字节是0,则确定BE字段的取值,并根据BE字段的取值进行重组处理。
S1044:如果同义标签后的第一个半字节是0且BE=00,则可确定接收到的报文为未分片报文,可丢弃在该SL上收到的所有部分重组报文,并将与该SL相关联的重组状态设置为等待首分片报文状态,取出并保留标签栈的同义标签。确定第一MPLS分片报文头长度字段所指示的位于第一MPLS分片报文头后面的分片报文的长度,并从报文末尾移除所有填充,丢弃第一MPLS分片报文头并根据已保留的同义标签的语义进行未分片报文的处理。
S1045:如果同义标签后的第一个半字节是0且BE=01,则可确定接收到的报文为首分片报文,取出并保留标签栈的同义标签,确定第一MPLS分片报文头长度字段所指示的位于第一MPLS分片报文头后面的分片报文的长度,并从报文末尾移除所有填充,将报文体缓存在取出的同义标签对应的重组缓冲区的开始位置处。根据取出的同义标签对应的重组缓冲区记录第一MPLS分片报文头中的序列号,然后丢弃第一MPLS分片报文头,将重组状态设置为等待中间分片报文状态。
其中,执行S1045步骤之前,需确定重组状态为等待首分片报文状态。若重组状态不是等待首分片报文状态,则可丢弃在该SL上收到的所有部分重组报文。
S1046:如果同义标签的第一个半字节是0且BE=11,则可确定接收到的报文为中间分片报文,确定第一MPLS分片报文头中包括的序列号与取出的同义标签对应的重组缓冲区记录第一MPLS分片报文头中的序列号相同,确定第一MPLS分片报文头长度字段所指示的位于第一MPLS分片报文头后面的分片报文的长度,并从报文末尾移除所有填充,将报文体与重组缓冲区中已缓存的分片报文相连接。
其中,执行S1046步骤之前,需确定重组状态为等待中间分片报文状态。若重组状态不是等待中心报文状态,则可丢弃在该SL上收到的所有部分重组报文,并将重组状态设置为等待首分片报文状态。
S1047:如果同义标签的第一个半字节是0且BE=10,则可确定接收到的报文为尾分片报文,确定第一MPLS分片报文头中包括的序列号与取出的同义标签对应的重组缓冲区记录第一MPLS分片报文头中的序列号相同,确定第一MPLS分片报文头长度字段所指示的位于第一MPLS分片报文头后面的分片报文的长度,并从报文末尾移除所有填充,将报文体与重组缓冲区中已缓存的分片报文相连接。
其中,执行S1047步骤之前,需确定重组状态为等待中间分片报文状态。若重组状态不是等待中间分片报文状态,则可丢弃在该SL上收到的所有部分重组报文,并将重组状态设置为等待首分片报文状态。
其中,若确定第一MPLS分片报文头中包括的序列号与取出的同义标签对应的重组缓冲区记录第一MPLS分片报文头中的序列号不相同,则也可丢弃在该SL上收到的所有部分重组报文,并将重组状态设置为等待首分片报文状态。
本申请实施例按照上述分片报文重组过程,可重组得到第一MPLS报文,进行未分片报文的处理,并将重组状态设置为等待首分片报文状态。
本申请上述实施例中,第一LSR接收到第一MPLS报文之后,采用无条件的切片处理方式,对所有接收到的第一MPLS报文进行分片。为了更好的适用于各种传输时延优化场景,一种可能的实施方式中,本申请实施例中第一LSR在接收到第一MPLS报文之后,对第一MPLS报文进行分片处理之前,可确定是否需要对第一MPLS报文进行分片处理,在确定需要对MPLS报文进行分片处理的情况下再执行分片处理的过程。
其中,需要对MPLS报文进行分片处理的情况可包括但不限于如下场景中的至少一种场景:
场景A:第一LSR接收到第二MPLS报文,所述第二MPLS报文的优先级高于所述第一MPLS报文的优先级。
场景B:所述第一MPLS报文的优先级的值小于或等于第一阈值,其中,优先级的值小于或等于所述第一阈值的报文为需要进行分片处理。
场景C:转发所述第一MPLS报文的出接口的传输速率小于或等于第二阈值,其中,传输速率低于第二阈值的出接口转发的报文需要进行分片处理。
场景D:所述第一MPLS报文的报文长度大于或等于第三阈值,其中,报文长度大于第三阈值的MPLS报文需要进行分片处理。
本申请实施例中,针对场景A,在所述第一LSR向所述第二LSR发送所述第一MPLS分片报文之前,第一LSR接收到第二MPLS报文,并且第二MPLS报文的优先级高于所述第一MPLS报文的优先级,则所述第一LSR向所述第二LSR发送所述第二MPLS报文,可降低发送第二MPLS报文的传输时延。本申请实施例中第一LSR优先发送第二MPLS报文,在发送第二MPLS报文之后,再发送未发送的第一MPLS分片报文的过程,如图7所示。参阅图7所示,假设第一LSR为接收到的第一MPLS报文和第二MPLS报文分别建立传输队列:传输队列1和传输队列2。第一LSR对传输队列1中的第一MPLS报文进行分片处理得到MPLS分片报文,并在传输队列上顺序发送第一MPLS分片报文。图7中,传输队列1中传输的第一MPLS分片报文以“F1”表示,传输队列2中传输的未被分片处理的第二MPLS报文以“P2”表示。第一LSR在发送第一MPLS分片报文的过程中,需要发送具有较高优先级的第二MPLS报文,则第一LSR优先发送第二MPLS报文,在发送第二MPLS报文之后,再发送未发送的第一MPLS分片报文,最终发送MPLS报文的输出队列可如图7所示。其中,未发送的第一MPLS分片报文可以是首分片报文,也可以是中间分片报文,还可以是尾分片报文。例如,若第一LSR已进行至少一个第一MPLS分片报文发送的情况下,需要发送具有较高优先级的第二MPLS报文时,则未发送的第一MPLS分片报文包括中间分片报文和尾分片报文。若第一LSR还未开始发送第一MPLS分片报文,需要发送具有较高优先级的第二MPLS报文时,则未发送的第一MPLS分片报文包括首分片报文、中间分片报文和尾分片报文。若第一LSR已完成发送中间分片报文的情况下,需要发送具有较高优先级的第二MPLS报文时,则未发送的第一MPLS分片报文包括尾分片报文。图7中,以第一LSR已进行至少一个第一MPLS分片报文发送为例进行说明。
其中,第一LSR对具有较低优先级的第一MPLS报文进行分片处理,得到第一MPLS分片报文,在需要发送具有较高优先级的第二MPLS报文时,优先发送该第二MPLS报文,在发送第二MPLS报文之后,再发送未发送的第一MPLS分片报文,分片处理后得到的第一MPLS分片报文的报文长度小于第一MPLS报文的报文长度,故采用对具有较低优先级的第一MPLS报文进行分片处理的方式,可使得具有较高优先级的第二MPLS报文的转发等待时间减少,进而可降低具有较高优先级的第二MPLS报文的传输时延。
本申请实施例中第一LSR还可对具有较高优先级的第二MPLS报文进行分片处理,并向第二LSR发送对第二MPLS报文进行分片处理后得到的分片报文。为描述方便,本申请实施例中将对第二MPLS报文进行分片处理后得到的MPLS分片报文称为MPLS分片报文,其中第二MPLS报文是对第二MPLS报文进行分片处理后得到的MPLS分片报文中的一个。对第二MPLS报文进行分片处理得到第二MPLS分片报文的过程与对第一MPLS报文进行分片处理得到第一MPLS分片报文的过程类似,在此不再赘述。
本申请实施例中所述第一LSR接收第二MPLS报文之后,若所述第一LSR对所述第二MPLS报文进行分片处理,得到第二MPLS分片报文,并向所述第二LSR发送所述第二MPLS分片报文,可实现不同MPLS分片报文的轮询调度。例如,本申请第一LSR对第一MPLS报文和第二MPLS报文均进行分片处理的场景(也可理解为是无条件的对接收到的MPLS报文均进行分片处理的场景),实现对第一MPLS分片报文和第二MPLS分片报文进行轮询调度的实施过程,可参阅图8所示:
本申请实施例中假设第一LSR为接收到的第一MPLS报文和第二MPLS报文分别建立传输队列:传输队列1和传输队列2。第一LSR对传输队列1和传输队列2中的MPLS报文均进行分片处理,得到第一MPLS分片报文和第二MPLS分片报文,并在传输队列上顺序发送第一MPLS分片报文和第二MPLS分片报文。图8中,传输队列1中传输的第一MPLS分片报文以“F1”表示,传输队列2中传输的第二MPLS分片报文以“F2”表示。第一LSR中可设置选择器,通过选择器在传输队列1和传输队列2中分别选择分片报文“F1”和分片报文“F2”,并将选择的分片报文“F1”和分片报文“F2”缓存到报文转发单元各自同义标签对应的缓冲区中。其中,选择器在传输队列1和传输队列2中分别选择分片报文“F1”和分片报文“F2”,可采用轮询(Round-Robin,RR)调度原则,从传输队列1和传输队列2中依次选择分片报文“F1”和分片报文“F2”。轮询调度原则可适用于优先级相等或相近的两个分片报文的调度,进而实现具有同等或相近优先级的报文得到轮循调度,从而减少了对于同等或者相近优先级的报文的平均等待时延。
本申请实施例中第一LSR对具有较高优先级的第二MPLS报文进行分片处理,还可实现对报文长度较小但优先级较低的第三MPLS报文的优先调度。例如,第一LSR在发送MPLS报文的过程中,需要发送第三MPLS报文,第三MPLS报文的报文长度很小,需要的传输时间也很小,此种情况下,无论第三MPLS报文的优先级是否高于第二MPLS报文,则均可对第二MPLS报文进行分片处理,并优先发送该第三MPLS报文,在发送第三MPLS报文之后,再发送未发送的第二MPLS分片报文,实现过程可参阅图7所示。
本申请实施例中,针对场景B,第一LSR预先设置第一阈值,接收到第一MPLS报文后,对优先级的值小于或等于所述第一阈值的第一MPLS报文均进行分片处理,使得同时接收高优先级和低优先级报文时,或者正在发送一个低优先级报文时又接收到一个高优先级报文,通过对低优先级的报文分片,可以在发送一个低优先级分片报文后,暂停其它低优先级分片报文的传输,优先发送高优先级的报文。待高优先级报文被发送之后,再继续发送剩余的低优先级分片报文。由此可以避免高优先级报文需要等待低优先级将整个数据包传输完毕后才能开始传输,进而能够有效的降低高优先级报文的传输时延。
本申请实施例中,针对场景C,第一LSR预先设置第二阈值,接收到第一MPLS报文后,若确定转发所述第一MPLS报文的出接口的传输速率小于或等于第二阈值,可对第一MPLS报文进行分片处理,以避免由于传输速率较低的出接口转发报文的时延较大,造成其它报文的等待时延过大。例如,假设第一LSR发送第一MPLS报文到第二LSR的标签交换路径上需要经过出接口对应的链路L1、L2、L3、L4和L5进行转发,假设L3的传输速率为400Gb/s,L2和L4的传输速率为1Gb/s的链路,L1和L5用于不与其它业务竞争的高优先级业务,此种情况下可将L2和L4转发的第一MPLS报文进行分片处理,从而确保该传输速率较低的L2和L4转发的报文的传输时延,不会对L3转发的第一MPLS报文的时延造成影响。
针对场景D:第一LSR预先设置第三阈值,第一LSR接收到第一MPLS报文后,若报文长度大于或等于第三阈值,则确定第一MPLS的MPLS报文需要进行分片处理。通过对报文长度大于或等于第三阈值的报文长度较长的第一MPLS报文进行分片处理,可避免由于发送报文长度较长的MPLS报文,而造成其它报文的等待时延过大。
上述主要从第一LSR与第二LSR交互的角度对本申请实施例提供的方案进行了介绍。可以理解的是,第一LSR与第二LSR为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件单元。结合本申请中所公开的实施例描述的各示例的单元及算法步骤,本申请实施例能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以对每个特定的应用来使用不同的方法来实现所描述的功能,但是这种实现不应认为超出本申请实施例的技术方案的范围。
本申请实施例可以根据上述方法示例对第一LSR与第二LSR进行功能单元的划分,例如,可以对应各个功能划分各个功能单元,也可以将两个或两个以上的功能集成在一个处理单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。需要说明的是,本申请实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
基于与上述方法实施例相同构思,本申请实施例提供了一种报文处理装置。
在采用集成的单元的情况下,图9示出报文处理装置的一种可能的逻辑结构示意图,该报文处理装置可应用于第一LSR,参阅图9所示,报文处理装置100包括接收单元101、处理单元102和发送单元103,其中,接收单元101,用于接收第一多协议标签交换MPLS报文。处理单元102,用于对所述接收单元101接收的所述第一MPLS报文进行分片处理,得到第一MPLS分片报文。发送单元103,用于向第二LSR发送所述处理单元102得到的所述第一MPLS分片报文。
其中,所述第一MPLS分片报文包括MPLS标签栈和第一MPLS分片报文头,其中,所述MPLS标签栈包括第一标签集合和第二标签集合,所述第一标签集合用于携带栈顶标签,所述第二标签集合用于携带所述MPLS标签栈中除所述栈顶标签之外的其它标签,所述第一MPLS分片报文头封装在所述第一标签集合和所述第二标签集合之间。所述栈顶标签为同义标签,所述同义标签中表征栈底标识的比特位被置位为1,用于指示所述第二LSR对所述第一MPLS分片报文进行处理。所述第一MPLS分片报文头中包括分片报文序列标识,所述分片报文序列标识用于标识所述第一MPLS分片为首分片报文、中间分片报文或尾分片报文。
一种可能的实施方式中,所述第一MPLS分片报文头中还包括分片报文归属标识,所述分片报文归属标识用于标识所述第一MPLS分片报文是对所述第一MPLS报文进行分片处理后得到的报文,其中,对所述第一MPLS报文进行分片处理后得到的各分片报文携带相同的分片报文归属标识。
另一种可能的实施方式中,所述接收单元101,还用于:在所述发送单元103向所述第二LSR发送所述第一MPLS分片报文之前,接收第二MPLS报文,所述第二MPLS报文的优先级高于所述第一MPLS报文的优先级。所述发送单元103,还用于向所述第二LSR发送所述接收单元101接收到的所述第二MPLS报文。
又一种可能的实施方式中,所述处理单元102,还用于:在所述接收单元101接收第二MPLS报文之后,对所述第二MPLS报文进行分片处理,得到第二MPLS分片报文。所述发送单元103,向所述第二LSR发送所述处理单元102得到的所述第二MPLS分片报文。
又一种可能的实施方式中,所述处理单元102,还用于:在所述接收单元101接收所述第一MPLS报文之后,对所述第一MPLS报文进行分片处理之前,确定所述第一MPLS报文的优先级的值小于或等于第一阈值;或者确定转发所述第一MPLS报文的出接口的传输速率小于或等于第二阈值。
又一种可能的实施方式中,所述第一MPLS分片报文头中还包括用于控制等价多路径路径选择的熵信息。
当采用硬件形式实现时,本申请实施例中,接收单元101可以是输入接口,处理单元102可以是处理器或控制器,发送单元103可以是输出接口,其中,输出接口和输入接口是统称,可以包括一个或多个接口。
当接收单元101是输入接口,处理单元102是处理器,发送单元103是输出接口时,本申请实施例所涉及的报文处理装置100可以为图10所示的MPLS网络节点。其中,所述图10所示的MPLS网络节点可以是第一LSR。
图10所示为本申请实施例提供的第一LSR1000的示意图。该第一LSR1000可以用于执行图2或图5中涉及的第一LSR的执行方法。如图10所示,所述第一LSR1000包括:输入接口1001、输出接口1002、处理器1003和存储器1004。该输入接口1001、输出接口1002、处理器1003和存储器1004可以通过总线系统1005相连。
所述存储器1004用于存储包括程序、指令或代码。所述处理器1003,用于执行所述存储器1004中的程序,以控制输入接口1001接收MPLS报文、控制输出接口1002发送MPLS分片报文以及实施上述实施方式中第一LSR所实施的各步骤及功能,此处不再赘述。上述输入接口1001、输出接口1002以及处理器1003的具体实施方式可以相应参考上述图9实施方式中的接收单元101,处理单元102以及发送单元103中的具体说明,这里不再赘述。
基于与上述方法实施例相同的构思,本申请实施例还提供了另一种报文处理装置。
在采用集成的单元的情况下,图11示出了本申请实施例涉及的另一报文处理装置的一种可能的逻辑结构示意图,该报文处理装置可应用于第二LSR,参阅图11所示,报文处理装置200包括接收单元201和处理单元202。其中,接收单元201,用于接收第一LSR发送的第一MPLS分片报文。处理单元202,用于依据所述接收单元201接收到的所述第一MPLS分片报文的同义标签,对所述第一MPLS分片报文进行处理。
其中,所述第一MPLS分片报文为所述第一LSR对第一MPLS报文进行分片处理得到的,所述第一MPLS分片报文包括MPLS标签栈和第一MPLS分片报文头,其中,所述MPLS标签栈包括第一标签集合和第二标签集合,所述第一标签集合用于携带栈顶标签,所述第二标签集合用于携带所述MPLS标签栈中除所述栈顶标签之外的其它标签,所述第一MPLS分片报文头封装在所述第一标签集合和所述第二标签集合之间;所述栈顶标签为同义标签,所述同义标签中表征栈底标识的比特位被置位为1,用于指示所述第二LSR对所述第一MPLS分片报文进行处理;所述第一MPLS分片报文头中包括分片报文序列标识,所述分片报文序列标识用于标识所述第一MPLS分片为首分片报文、中间分片报文或尾分片报文。
一种可能的实施方式中,所述处理单元202采用如下方式依据所述第一MPLS分片报文的同义标签,对所述第一MPLS分片报文进行处理:根据所述同义标签的指示,向第三LSR透传所述第一MPLS分片报文;或者根据所述同义标签的指示,根据所述第一MPLS分片报文头中携带的信息重组所述第一MPLS分片报文。
当采用硬件形式实现时,本申请实施例中,接收单元201可以是输入接口,处理单元202可以是处理器或控制器,其中,输出接口是统称,可以包括一个或多个接口。
当接收单元201是输入接口,处理单元202是处理器,本申请实施例所涉及的报文处理装置200可以为图12所示的MPLS网络节点。其中,所述图12所示的MPLS网络节点可以是第二LSR。
图12所示为本申请实施例提供的第二LSR2000的示意图。该第二LSR2000可以用于执行图2或图6中涉及的第二LSR的执行方法。如图12所示,所述第二LSR2000包括:输入接口2001、输出接口2002、处理器2003和存储器2004。该输入接口2001、输出接口2002、处理器2003和存储器2004可以通过总线系统2005相连。
所述存储器2004用于存储包括程序、指令或代码。所述处理器2003,用于执行所述存储器2004中的程序,以控制输入接口2001接收MPLS分片报文、控制输出接口2002透传MPLS分片报文或发送重组得到MPLS报文,以及实施上述实施方式中第二LSR所实施的各步骤及功能,此处不再赘述。上述输入接口2001、输出接口2002以及处理器2003的具体实施方式可以相应参考上述图11实施方式中的接收单元201和处理单元202的具体说明,这里不再赘述。
可以理解的是,图10和图12仅仅示出了第一LSR和第二LSR的简化设计。在实际应用中,第一LSR和第二LSR并不限于上述结构,在实际应用中可以分别包含任意数量的接口,处理器和存储器等,而所有可以实现本申请实施例的终端都在本申请实施例的保护范围之内。
进一步可以理解的是,本申请实施例涉及的报文处理装置100和第一LSR1000,以及报文处理装置200和第二LSR2000可用于实现本申请实施例上述方法实施例中第一LSR和第二LSR的相应功能,故对于本申请实施例描述不够详尽的地方,可参阅相关方法实施例的描述,本申请实施例在此不再赘述。
进一步可以理解的是,在本申请实施例中涉及的处理器可以是中央处理单元(Central Processing Unit,简称为“CPU”),还可以是其他通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据。存储器的一部分还可以包括非易失性随机存取存储器。例如,存储器还可以存储设备类型的信息。
总线系统除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线系统。
在实现过程中,上述方法实施例中涉及的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。结合本申请实施例所公开的报文处理方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器中,处理器读取存储器中的信息,结合其硬件完成上述方法实施例涉及的步骤。为避免重复,这里不再详细描述。
本申请还提供了一种通信系统,该通信系统包括第一LSR和第二LSR,所述第一LSR可以是上述实施例所提供的第一LSR。所述第二LSR可以上述实施例所提供的第二LSR。
本申请提实施例供了一种计算机可读存储介质或者计算机程序产品,用于存储计算机程序,该计算机程序用于执行上述方法实施例中涉及的报文处理方法。
本申请实施例提供的报文处理方法及装置,第一LSR在接收到MPLS报文之后,对MPLS报文进行分片处理得到MPLS分片报文,然后向第二LSR发送MPLS分片报文,由于分片报文的报文长度小于分片处理前的原始MPLS报文的报文长度,进而第一LSR以MPLS分片报文为粒度向第二LSR发送,可避免由于发送分片处理前的原始MPLS报文,造成其它MPLS报文的等待时延过大的问题,例如可避免高优先级报文的等待时延,也可以使得相同或者相近优先级报文能够得到公平的轮循调度,优化MPLS报文的平均传输时延。
本领域内的技术人员应明白,本申请实施例可提供为方法、系统、或计算机程序产品。因此,本申请实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请实施例是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请实施例进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请实施例的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (17)
1.一种报文处理方法,其特征在于,所述方法包括:
第一标签交换路由器LSR接收第一多协议标签交换MPLS报文;
所述第一LSR对所述第一MPLS报文进行分片处理,得到第一MPLS分片报文;
所述第一LSR向第二LSR发送所述第一MPLS分片报文;
其中,所述第一MPLS分片报文包括MPLS标签栈和第一MPLS分片报文头,其中,所述MPLS标签栈包括第一标签集合和第二标签集合,所述第一标签集合用于携带栈顶标签,所述第二标签集合用于携带所述MPLS标签栈中除所述栈顶标签之外的其它标签,所述第一MPLS分片报文头封装在所述第一标签集合和所述第二标签集合之间;
所述栈顶标签为同义标签,所述同义标签中表征栈底标识的比特位被置位为1,用于指示所述第二LSR对所述第一MPLS分片报文进行处理;
所述第一MPLS分片报文头中包括分片报文序列标识,所述分片报文序列标识用于标识所述第一MPLS分片为首分片报文、中间分片报文或尾分片报文。
2.如权利要求1所述的方法,其特征在于,所述第一MPLS分片报文头中还包括分片报文归属标识,所述分片报文归属标识用于标识所述第一MPLS分片报文是对所述第一MPLS报文进行分片处理后得到的报文,其中,对所述第一MPLS报文进行分片处理后得到的各分片报文携带相同的分片报文归属标识。
3.如权利要求1或2所述的方法,其特征在于,在所述第一LSR向所述第二LSR发送所述第一MPLS分片报文之前,所述方法还包括:
所述第一LSR接收第二MPLS报文,所述第二MPLS报文的优先级高于所述第一MPLS报文的优先级;
所述第一LSR向所述第二LSR发送所述第二MPLS报文。
4.如权利要求3所述的方法,其特征在于,所述第一LSR接收第二MPLS报文之后,所述方法还包括:
所述第一LSR对所述第二MPLS报文进行分片处理,得到第二MPLS分片报文;
所述第一LSR向所述第二LSR发送所述第二MPLS报文,包括:
所述第一LSR向所述第二LSR发送所述第二MPLS分片报文。
5.如权利要求1或2所述的方法,其特征在于,所述第一LSR接收所述第一MPLS报文之后,对所述第一MPLS报文进行分片处理之前,所述方法还包括:
所述第一LSR确定所述第一MPLS报文的优先级的值小于或等于第一阈值;或者
所述第一LSR确定转发所述第一MPLS报文的出接口的传输速率小于或等于第二阈值。
6.如权利要求1或2所述的方法,其特征在于,所述第一MPLS分片报文头中还包括用于控制等价多路径路径选择的熵信息。
7.一种报文处理方法,其特征在于,所述方法包括:
第二标签交换路由器LSR接收第一LSR发送的第一MPLS分片报文;
其中,所述第一MPLS分片报文为所述第一LSR对第一MPLS报文进行分片处理得到的,所述第一MPLS分片报文包括MPLS标签栈和第一MPLS分片报文头,其中,所述MPLS标签栈包括第一标签集合和第二标签集合,所述第一标签集合用于携带栈顶标签,所述第二标签集合用于携带所述MPLS标签栈中除所述栈顶标签之外的其它标签,所述第一MPLS分片报文头封装在所述第一标签集合和所述第二标签集合之间;
所述栈顶标签为同义标签,所述同义标签中表征栈底标识的比特位被置位为1,用于指示所述第二LSR对所述第一MPLS分片报文进行处理;
所述第一MPLS分片报文头中包括分片报文序列标识,所述分片报文序列标识用于标识所述第一MPLS分片为首分片报文、中间分片报文或尾分片报文;
所述第二LSR依据所述第一MPLS分片报文的同义标签,对所述第一MPLS分片报文进行处理。
8.如权利要求7所述的方法,其特征在于,所述第二LSR依据所述第一MPLS分片报文的同义标签,对所述第一MPLS分片报文进行处理,包括:
所述第二LSR根据所述同义标签的指示,向第三LSR透传所述第一MPLS分片报文;或者
所述第二LSR根据所述同义标签的指示,根据所述第一MPLS分片报文头中携带的信息重组所述第一MPLS分片报文。
9.一种报文处理装置,其特征在于,所述报文处理装置应用于第一标签交换路由器LSR,包括:
接收单元,用于接收第一多协议标签交换MPLS报文;
处理单元,用于对所述接收单元接收的所述第一MPLS报文进行分片处理,得到第一MPLS分片报文;
发送单元,用于向第二LSR发送所述处理单元得到的所述第一MPLS分片报文;
其中,所述第一MPLS分片报文包括MPLS标签栈和第一MPLS分片报文头,其中,所述MPLS标签栈包括第一标签集合和第二标签集合,所述第一标签集合用于携带栈顶标签,所述第二标签集合用于携带所述MPLS标签栈中除所述栈顶标签之外的其它标签,所述第一MPLS分片报文头封装在所述第一标签集合和所述第二标签集合之间;
所述栈顶标签为同义标签,所述同义标签中表征栈底标识的比特位被置位为1,用于指示所述第二LSR对所述第一MPLS分片报文进行处理;
所述第一MPLS分片报文头中包括分片报文序列标识,所述分片报文序列标识用于标识所述第一MPLS分片为首分片报文、中间分片报文或尾分片报文。
10.如权利要求9所述的装置,其特征在于,所述第一MPLS分片报文头中还包括分片报文归属标识,所述分片报文归属标识用于标识所述第一MPLS分片报文是对所述第一MPLS报文进行分片处理后得到的报文,其中,对所述第一MPLS报文进行分片处理后得到的各分片报文携带相同的分片报文归属标识。
11.如权利要求9或10所述的装置,其特征在于,所述接收单元,还用于:
在所述发送单元向所述第二LSR发送所述第一MPLS分片报文之前,接收第二MPLS报文,所述第二MPLS报文的优先级高于所述第一MPLS报文的优先级;
所述发送单元,还用于向所述第二LSR发送所述接收单元接收到的所述第二MPLS报文。
12.如权利要求11所述的装置,其特征在于,所述处理单元,还用于:
在所述接收单元接收第二MPLS报文之后,对所述第二MPLS报文进行分片处理,得到第二MPLS分片报文;
所述发送单元,还用于向所述第二LSR发送所述第二MPLS分片报文。
13.如权利要求9或10所述的装置,其特征在于,所述处理单元,还用于:
在所述接收单元接收所述第一MPLS报文之后,对所述第一MPLS报文进行分片处理之前,
确定所述第一MPLS报文的优先级的值小于或等于第一阈值;或者
确定转发所述第一MPLS报文的出接口的传输速率小于或等于第二阈值。
14.如权利要求9或10所述的装置,其特征在于,所述第一MPLS分片报文头中还包括用于控制等价多路径路径选择的熵信息。
15.一种报文处理装置,其特征在于,应用于第二标签交换路由器LSR,所述装置包括:
接收单元,用于接收第一LSR发送的第一MPLS分片报文;
其中,所述第一MPLS分片报文为所述第一LSR对第一MPLS报文进行分片处理得到的,所述第一MPLS分片报文包括MPLS标签栈和第一MPLS分片报文头,其中,所述MPLS标签栈包括第一标签集合和第二标签集合,所述第一标签集合用于携带栈顶标签,所述第二标签集合用于携带所述MPLS标签栈中除所述栈顶标签之外的其它标签,所述第一MPLS分片报文头封装在所述第一标签集合和所述第二标签集合之间;
所述栈顶标签为同义标签,所述同义标签中表征栈底标识的比特位被置位为1,用于指示所述第二LSR对所述第一MPLS分片报文进行处理;
所述第一MPLS分片报文头中包括分片报文序列标识,所述分片报文序列标识用于标识所述第一MPLS分片报文为首分片报文、中间分片报文或尾分片报文;
处理单元,用于依据所述接收单元接收到的所述第一MPLS分片报文的同义标签,对所述第一MPLS分片报文进行处理。
16.如权利要求15所述的装置,其特征在于,所述处理单元采用如下方式依据所述第一MPLS分片报文的同义标签,对所述第一MPLS分片报文进行处理:
根据所述同义标签的指示,向第三LSR透传所述第一MPLS分片报文;
或者
根据所述同义标签的指示,根据所述第一MPLS分片报文头中携带的信息重组所述第一MPLS分片报文。
17.一种通信系统,其特征在于,包括权利要求9-14任一项所述的报文处理装置,以及权利要求15或16所述的报文处理装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710141931.7A CN108574632B (zh) | 2017-03-10 | 2017-03-10 | 一种报文处理方法、装置及系统 |
PCT/CN2017/115964 WO2018161672A1 (zh) | 2017-03-10 | 2017-12-13 | 一种报文处理方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710141931.7A CN108574632B (zh) | 2017-03-10 | 2017-03-10 | 一种报文处理方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108574632A CN108574632A (zh) | 2018-09-25 |
CN108574632B true CN108574632B (zh) | 2020-06-02 |
Family
ID=63447295
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710141931.7A Active CN108574632B (zh) | 2017-03-10 | 2017-03-10 | 一种报文处理方法、装置及系统 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN108574632B (zh) |
WO (1) | WO2018161672A1 (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111182016B (zh) * | 2018-11-12 | 2022-12-27 | 中移(杭州)信息技术有限公司 | 一种PPPoE拨号报文传输方法及装置 |
CN110351188B (zh) * | 2019-07-05 | 2021-11-16 | 迈普通信技术股份有限公司 | 一种报文转发方法、数据处理方法、装置及网络系统 |
US11368564B2 (en) * | 2019-09-24 | 2022-06-21 | Nokia Solutions And Networks Oy | Packet fragmentation and reassembly |
CN110932895B (zh) * | 2019-11-26 | 2022-07-15 | 中国联合网络通信集团有限公司 | 一种网络切片的报文转发方法和装置 |
CN112052171B (zh) * | 2020-09-03 | 2021-05-28 | 上海复深蓝软件股份有限公司 | 测试报文处理方法、装置、计算机设备及存储介质 |
CN113542131B (zh) * | 2021-05-25 | 2023-08-22 | 新华三信息安全技术有限公司 | 一种报文转发方法及装置 |
CN117014369A (zh) * | 2022-04-28 | 2023-11-07 | 中兴通讯股份有限公司 | 报文处理方法及其装置、存储介质、程序产品 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101257441A (zh) * | 2008-02-29 | 2008-09-03 | 华为技术有限公司 | 转发报文的方法、设备、系统和接收报文的设备 |
CN103354520A (zh) * | 2013-07-02 | 2013-10-16 | 华为技术有限公司 | 一种标签处理的方法及装置 |
CN103368844A (zh) * | 2013-07-10 | 2013-10-23 | 杭州华三通信技术有限公司 | Mpls网络中的报文处理方法及标签交换路由器 |
CN103532672A (zh) * | 2013-10-22 | 2014-01-22 | 芮雄丽 | 一种sdn网络中分片报文乱序的处理方法及应用 |
CN106341423A (zh) * | 2016-10-26 | 2017-01-18 | 杭州华三通信技术有限公司 | 一种报文处理方法和装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9461910B2 (en) * | 2013-07-29 | 2016-10-04 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and apparatus for using entropy labels in segment routed networks |
CN107104898A (zh) * | 2016-02-22 | 2017-08-29 | 华为技术有限公司 | 报文传输的方法、设备及系统 |
-
2017
- 2017-03-10 CN CN201710141931.7A patent/CN108574632B/zh active Active
- 2017-12-13 WO PCT/CN2017/115964 patent/WO2018161672A1/zh active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101257441A (zh) * | 2008-02-29 | 2008-09-03 | 华为技术有限公司 | 转发报文的方法、设备、系统和接收报文的设备 |
CN103354520A (zh) * | 2013-07-02 | 2013-10-16 | 华为技术有限公司 | 一种标签处理的方法及装置 |
CN103368844A (zh) * | 2013-07-10 | 2013-10-23 | 杭州华三通信技术有限公司 | Mpls网络中的报文处理方法及标签交换路由器 |
CN103532672A (zh) * | 2013-10-22 | 2014-01-22 | 芮雄丽 | 一种sdn网络中分片报文乱序的处理方法及应用 |
CN106341423A (zh) * | 2016-10-26 | 2017-01-18 | 杭州华三通信技术有限公司 | 一种报文处理方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN108574632A (zh) | 2018-09-25 |
WO2018161672A1 (zh) | 2018-09-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108574632B (zh) | 一种报文处理方法、装置及系统 | |
KR102239717B1 (ko) | 패킷 처리 방법 및 장치 | |
US20230388239A1 (en) | Packet sending method, network node, and system | |
CN111684776B (zh) | 用于网络中的数据通信的方法、控制方法和通信系统 | |
US20210058322A1 (en) | Packet Sending Method, Network Node, and System | |
US10333779B2 (en) | System and method for providing a software defined protocol stack | |
CN110545241B (zh) | 一种报文处理方法和装置 | |
US7602809B2 (en) | Reducing transmission time for data packets controlled by a link layer protocol comprising a fragmenting/defragmenting capability | |
CN112311496A (zh) | 数据传输方法及装置 | |
CN114631290B (zh) | 数据分组的传输 | |
US9525623B2 (en) | Implementing MPLS pipe models in a lossless network | |
JP2014500689A (ja) | マルチチャネルパケット伝送のためのシステムおよび方法 | |
US20230163875A1 (en) | Method and apparatus for packet wash in networks | |
JP5083323B2 (ja) | ラベルスイッチングネットワークにおける通信装置 | |
CN117014384A (zh) | 一种报文传输方法以及报文转发设备 | |
CN114501544A (zh) | 一种数据传输方法、装置和存储介质 | |
JP5692406B2 (ja) | 通信システム、通信方法、エッジ装置、エッジ装置制御方法、エッジ装置制御プログラム、非エッジ装置、非エッジ装置制御方法、及び、非エッジ装置制御プログラム | |
Hotta et al. | Experimental study of a low-delay ethernet switch for real time networks | |
CN117834555A (zh) | 一种面向分段路由的时隙化循环多队列调度方法 | |
CN116962218A (zh) | 报文转发方法、装置、设备及存储介质 | |
WO2016145559A1 (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 |