CN113328901A - 报文乱序检测方法、装置及系统 - Google Patents
报文乱序检测方法、装置及系统 Download PDFInfo
- Publication number
- CN113328901A CN113328901A CN202010127992.XA CN202010127992A CN113328901A CN 113328901 A CN113328901 A CN 113328901A CN 202010127992 A CN202010127992 A CN 202010127992A CN 113328901 A CN113328901 A CN 113328901A
- Authority
- CN
- China
- Prior art keywords
- detection
- service
- message
- flow
- order
- 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
- 238000001514 detection method Methods 0.000 title claims abstract description 482
- 238000000034 method Methods 0.000 claims abstract description 48
- 238000004891 communication Methods 0.000 claims abstract description 23
- 238000004590 computer program Methods 0.000 claims description 12
- 238000005259 measurement Methods 0.000 claims description 6
- 230000005540 biological transmission Effects 0.000 claims description 4
- 230000008569 process Effects 0.000 abstract description 12
- 238000010586 diagram Methods 0.000 description 14
- 238000005516 engineering process Methods 0.000 description 13
- 230000006870 function Effects 0.000 description 11
- 238000004043 dyeing Methods 0.000 description 8
- 239000003550 marker Substances 0.000 description 5
- 230000002829 reductive effect Effects 0.000 description 4
- 230000002441 reversible effect Effects 0.000 description 4
- 230000001360 synchronised effect Effects 0.000 description 4
- 238000005538 encapsulation Methods 0.000 description 3
- 238000012423 maintenance Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 238000004806 packaging method and process Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000004040 coloring Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0823—Errors, e.g. transmission errors
- H04L43/0847—Transmission error
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/34—Flow control; Congestion control ensuring sequence integrity, e.g. using sequence numbers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0806—Configuration setting for initial configuration or provisioning, e.g. plug-and-play
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/34—Signalling channels for network management communication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0823—Errors, e.g. transmission errors
- H04L43/0829—Packet loss
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0852—Delays
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/10—Active monitoring, e.g. heartbeat, ping or trace-route
- H04L43/106—Active monitoring, e.g. heartbeat, ping or trace-route using time related information in packets, e.g. by adding timestamps
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/02—Capturing of monitoring data
- H04L43/026—Capturing of monitoring data using flow identification
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Computer Security & Cryptography (AREA)
- Health & Medical Sciences (AREA)
- Cardiology (AREA)
- General Health & Medical Sciences (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供了一种报文乱序检测方法、装置及系统,属于通信技术领域。本申请提供的方案中,报文接收节点接收到的目标业务流的第一业务报文中包含随流检测信息,该随流检测信息包括:检测标记和该第一业务报文的序列号;报文接收节点可以在根据该检测标记确定需要执行乱序检测时,根据该第一业务报文的序列号和第二业务报文的序列号进行乱序检测。由于报文接收节点可以直接对目标业务流的业务报文进行乱序检测,该检测结果可以反映目标业务流的业务报文的真实乱序情况,且检测过程无需构造检测报文,因此有效提高了乱序检测的效率和准确性。
Description
技术领域
本申请涉及通信技术领域,特别涉及一种报文乱序检测方法、装置及系统。
背景技术
报文乱序检测是指:对报文接收节点接收到的报文顺序,与报文发送节点发送的报文顺序的一致性进行检测。若报文乱序检测的结果为报文接收节点接收到的报文顺序与报文发送节点的发送顺序不一致,则可以确定该报文接收节点接收到的报文存在乱序。基于该报文乱序检测的结果可以及时感知数据通信系统的故障并进行排障,确保系统可靠性。
相关技术中,可以通过构造检测报文的方式进行乱序检测。具体的,报文发送节点可以向报文接收节点依次发送检测报文,且该报文发送节点发送的检测报文的序列号依次递增。报文接收节点接收到检测报文后,可以检测接收到的检测报文的序列号是否也是依次递增。若接收到的报文的序列号不是依次递增,则报文接收节点可以确定检测报文出现乱序。
由于相关技术中的方案需要构造检测报文进行乱序检测,其检测结果并不能准确反映实际业务报文的乱序情况,因此检测的效率和准确性较低。
发明内容
本申请提供了一种报文乱序检测方法、装置及系统,可以解决相关技术中的乱序检测方案的效率和准确性较低的技术问题。
第一方面,提供了一种报文乱序检测方法,该方法中,报文接收节点接收到的目标业务流的第一业务报文中包含随流检测信息,该随流检测信息包括:检测标记和该第一业务报文的序列号,该检测标记用于指示报文检测的类型为乱序检测;报文接收节点可以在根据该检测标记确定需要对该第一业务报文进行乱序检测时,根据该第一业务报文的序列号和前一个属于该目标业务流的第二业务报文的序列号,检测该第一业务报文是否乱序。
基于本申请提供的方法,通过在报文中包含随流检测信息,报文接收节点可以直接对目标业务流的业务报文进行乱序检测,该检测结果可以准确反映目标业务流的业务报文的真实乱序情况,且检测过程无需构造检测报文,因此有效提高了乱序检测的准确性和效率。
可选的,该随流检测信息可以为带内流信息测量(in-situ flow informationtelemetry,IFIT)信息,该IFIT信息包括:头类型指示(header type indicator,HTI)字段和流指令扩展头(flow instruction extension header,FIEH);其中,该HTI字段可以携带该检测标记,该FIEH字段可以携带该序列号。
或者,该FIEH字段可以携带该检测标记和该序列号。
例如,可以通过该HTI字段或者FIEH字段中的保留字段携带该检测标记。对于该序列号,可以通过FIEH字段中的保留字段来携带,或者也可以将该FIEH字段的长度增加若干字节,并通过该增加的若干字节携带该序列号。
可选地,IFIT信息携带在报文的多协议标签交换(multi-protocol labelswitching,MPLS)标签和报文净荷(payload)之间。
可选地,IFIT信息携带在报文的虚拟路由转发(virtual routing forwarding,VRF)标签和报文净荷之间。
可选的,该检测标记还可以用于指示乱序检测的方式;或者该随流检测信息中还可以包括:用于指示乱序检测的方式的指示标记;其中,该乱序检测的方式包括:端到端检测或逐跳检测;相应的,报文接收节点在根据该检测标记确定报文检测的类型为乱序检测时,还可以进一步确定乱序检测的方式;若该乱序检测的方式为逐跳检测,则报文接收节点可以确定需要对第一业务报文进行乱序检;若该乱序检测的方式为端到端检测,则报文接收节点需先检测自身是否为该目标业务流在网络中的出口节点;若该报文接收节点为该目标业务流在网络中的出口节点,则可以确定需要对第一业务报文进行乱序检测。
本申请提供的方案,通过对检测标记或者指示标记的配置,可以实现不同方式的乱序检测,有效提高了乱序检测的灵活性。
可选的,报文发送节点为目标业务流的各个业务报文的序列号可以按照该各个业务报文的发送顺序依次递增;相应的,报文接收节点基于该第一业务报文的序列号和该第二业务报文的序列号,检测该第一业务报文是否乱序的过程可以包括:
若该第一业务报文的序列号大于该第二业务报文的序列号,则确定该第一业务报文未乱序;若该第一业务报文的序列号小于该第二业务报文的序列号,则确定该第一业务报文乱序。
可选的,该随流检测信息还可以包括:检测周期;报文接收节点在检测该第一业务报文是否乱序之后,还可以向控制器上报该检测周期内接收到的该目标业务流的业务报文中乱序的业务报文的数量;或者,报文接收节点也可以直接显示该检测周期内接收到的该目标业务流的业务报文中乱序的业务报文的数量。
报文接收节点向控制器上报每个检测周期内统计到的乱序的业务报文的数量后,控制器可以显示该接收到的乱序的业务报文的数量,运维人员进而可以基于控制器显示的乱序检测结果,准确地定位数据通信系统中引起报文乱序的节点或者链路,以便能够及时对该系统中的故障点进行维护。
第二方面,提供了一种报文乱序检测方法,该方法可以应用于报文发送节点,该方法可以包括:
报文发送节点生成目标业务流的第二业务报文,并将该第二业务报文发送至报文接收节点;报文发送节点生成该目标业务流的第一业务报文,并将该第一业务报文发送至报文接收节点;其中,该第一业务报文包含随流检测信息,该随流检测信息可以包括检测标记和该第一业务报文的序列号,该随流检测信息可以指示该报文接收节点在根据该检测标记确定需要对第一业务报文进行乱序检测时,根据该第一业务报文的序列号以及该第二业务报文的序列号检测该第一业务报文是否乱序。
可选的,报文发送节点生成目标业务流的第一业务报文的过程可以包括:
将随流检测信息添加到该目标业务流的业务数据中得到该目标业务流的第一业务报文;其中,该随流检测信息为带内流信息测量IFIT信息,该IFIT信息包括:头类型指示HTI字段和流指令扩展头FIEH字段;该HTI字段携带该检测标记,该FIEH字段携带该第一业务报文的序列号;或者,该FIEH字段携带该检测标记和该第一业务报文的序列号。
第三方面,提供了一种报文乱序检测装置,应用于报文接收节点,该装置可以包括至少一个模块,且该至少一个模块可以用于实现上述方面所提供应用于该报文接收节点的报文乱序检测方法。
第四方面,提供了一种报文乱序检测装置,应用于报文发送节点,该装置可以包括至少一个模块,且该至少一个模块可以用于实现上述方面所提供应用于该报文发送节点的报文乱序检测方法。
第五方面,提供了一种报文乱序检测装置,该装置可以包括:存储器,处理器及存储在该存储器上并可在该处理器上运行的计算机程序,该处理器执行该计算机程序时实现如上述任一方面所提供的报文乱序检测方法。
第六方面,提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当该计算机可读存储介质在计算机上运行时,使得计算机执行如上述任一方面所提供的报文乱序检测方法。
第七方面,提供了一种包含指令的计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行如上述任一方面所提供的报文乱序检测方法。
第八方面,提供了一种数据通信系统,该系统可以包括:报文接收节点和报文发送节点;该报文接收节点可以包括如上述方面所提供的应用于该报文接收节点的报文乱序检测装置;该报文发送节点可以包括上述方面所提供的应用于该报文发送节点的报文乱序检测装置。
综上所述,本申请提供了一种报文乱序检测方法、装置及系统,报文接收节点接收到的第一业务报文包含随流检测信息,该随流检测信息包括检测标记以及第一业务报文的序列号,该报文接收节点可以在根据该检测标记确定需要对该第一业务报文进行乱序检测时,根据该第一业务报文的序列号以及前一个第二业务报文的序列号进行乱序检测。由于本申请提供的方案可以直接对目标业务流的第一业务报文进行乱序检测,该检测结果可以准确反映目标业务流的业务报文的真实乱序情况,且检测过程无需构造检测报文,因此有效提高了乱序检测的效率和准确性,进而可以有效降低数据通信系统的运维成本。
并且,由于乱序检测的过程中无需再构造检测报文,因此还可以避免检测报文挤占链路带宽,浪费带宽资源,降低了链路拥塞丢包的风险。
附图说明
图1是本申请实施例提供的一种数据通信系统的结构示意图;
图2是本申请实施例提供的一种IFIT信息的封装位置的示意图;
图3是本申请实施例提供的一种IFIT信息的封装格式的示意图;
图4是本申请实施例提供的一种报文乱序检测方法的流程图;
图5是本申请实施例提供的另一种数据通信系统的结构示意图;
图6是本申请实施例提供的另一种IFIT信息的封装格式的示意图;
图7是本申请实施例提供的又一种IFIT信息的封装格式的示意图;
图8是本申请实施例提供的一种报文乱序检测装置的结构示意图;
图9是本申请实施例提供的另一种报文乱序检测装置的结构示意图;
图10是本申请实施例提供的又一种报文乱序检测装置的结构示意图。
具体实施方式
下面结合附图详细介绍本申请实施例提供的报文乱序检测方法、装置及系统。
图1是本申请实施例提供的一种数据通信系统的结构示意图,如图1所示,该数据通信系统包括多个节点01,以及控制器02。该多个节点01之间,以及每个节点01与控制器02之间均可以通过有线或无线网络建立通信连接。其中,该每个节点01可以为路由器或者交换机等具备数据转发功能的网络设备。该控制器02可以是一台服务器,也可以是由若干台服务器组成的服务器集群,或者还可以是一个云计算服务中心。例如,该控制器02可以为网络控制引擎(network control engine,NCE)。该多个节点01中的每个节点01可以向其他节点01发送业务流的业务报文,并且每个节点01还可以向控制器02上报业务报文相关的检测信息。控制器02作为数据通信系统的集中计算单元,可以基于接收到的检测信息,测量业务报文的丢包数、时延或者乱序情况等服务水平协议(service-level agreement,SLA)性能指标,从而实现对数据通信系统运行性能的监测。
可选的,在本申请实施例中,该数据通信系统可以为基于互联网协议(internetprotocol,IP)的无线接入网(radio access network,RAN),该IP RAN可以采用IFIT技术实现对网络运行状态的监测。该IFIT技术是一种对实际业务流中的业务报文进行特征标记(也称为染色),并对标记后的业务报文(即染色报文)进行丢包和时延测量的随流检测技术。
对于给定的网络,待检测的目标业务流(可以采用IP五元组标识)在该网络中存在一个或多个入口节点(ingress node),以及一个或多个出口节点(egress node),每个入口节点可以将目标业务流发送至一个出口节点,或者可以通过一个或多个转发节点(transitnode)将目标业务流发送至出口节点。在采用IFIT技术进行丢包检测时,每个入口节点可以按照一定的检测周期对该目标业务流的业务报文进行染色,统计每个检测周期的染色报文的数量,并上报给控制器02。每个出口节点可以按照与入口节点相同的检测周期,统计每个检测周期内接收到的目标业务流中的染色报文的数量,并上报给控制器02。控制器02进而可以根据入口节点上报的染色报文的数量和出口节点上报的染色报文的数量,计算得到每个检测周期的丢包数。其中,控制器02计算得到的该目标业务流在第i个检测周期的丢包数PacketLoss[i]可以为:
PacketLoss[i]=Tx[i]-Rx[i];
其中,Tx[i]为入口节点上报的该第i个检测周期内发送的染色报文的数量,Rx[i]为出口节点上报的该第i个检测周期内接收到的染色报文的数量。
示例的,参考图1,假设目标业务流包括三个子业务流,第一个子业务流的入口节点为NE1,出口节点为NE2;第二个子业务流的入口节点为NE2,出口节点为NE3;第三个子业务流的入口节点为NE3,出口节点为NE1。也即是,该目标业务流在网络中存在NE1、NE2和NE3共三个入口节点,以及NE1、NE2和NE3共三个出口节点。以每个子业务流单播传输为例,第i个检测周期内该目标业务流的丢包数可以满足:
PacketLoss[i]=(TNE1[i]+TNE2[i]+TNE3[i])-(RNE1[i]+RNE2[i]+RNE3[i]);
其中,TNE1[i]、TNE2[i]和TNE3[i]分别为NE1、NE2和NE3三个节点上报的在第i个检测周期内发送的染色报文的数量。RNE1[i]、RNE2[i]和RNE3[i]分别为NE1、NE2和NE3三个节点上报的在第i个检测周期内接收到的染色报文的数量。
在采用IFIT技术进行时延检测时,每个入口节点可以在每个检测周期内,对本检测周期内该目标业务流中的一个业务报文进行染色,记录该染色报文的入口时间戳,并上报给控制器02。每个出口节点可以按照与入口节点相同的检测周期,记录每个检测周期内该目标业务流中的染色报文的出口时间戳,并上报给控制器02。控制器02进而可以根据入口节点上报的入口时间戳和出口节点上报的出口时间戳计算目标业务流的单向时延。
应理解,每个节点01均具有入端口和出端口,每个节点01可以通过其入端口接收业务报文,并通过其出端口将该业务报文转发至其他节点。因此,入口时间戳即是指入口节点通过其入端口接收到业务报文时的时间戳,出口时间戳即是指出口节点通过出端口将业务报文发出时的时间戳。
示例的,参考图1,假设在第i个检测周期内,NE1作为入口节点上报的入口时间戳为T1,NE2作为出口节点上报的出口时间戳为T2。并且,NE2作为入口节点上报的入口时间戳为T3,NE3作为出口节点上报的出口时间戳为T4。则控制器02可以计算得到在该第i个检测周期,NE1→NE2之间的单向时延为:Delay12[i]=T2-T1,NE2→NE3的单向时延为:Delay23[i]=T4-T3。
基于上述分析可知,IFIT技术需要基于检测周期测量丢包和时延等性能指标,为了保证不同节点01间的检测周期同步,需要在各节点01部署时间同步策略。
在采用IFIT技术进行随流检测(也可以称为报文检测)时,需要在目标业务流的业务报文中封装IFIT信息,接收到业务报文的节点可以根据该IFIT信息进行随流检测。在基于MPLS技术或分段路由(segment routing,SR)技术的网络中,如图2所示,IFIT信息一般封装在MPLS标签栈的栈底与MPLS净荷(payload)之间。从图2可以看出,在报文中MPLS标签栈之前还可以封装有目标业务流的目的地址(destination address,DA)和源地址(sourceaddress,SA)。或者,IFIT信息也可以携带在报文的VRF标签和报文净荷之间。
图3是本申请实施例提供的一种IFIT信息的封装格式的示意图,如图2和图3所示,该IFIT信息可以包括:流指令指示(flow instruction indicator,FII)字段、流指令头(flow instruction header,FIH)字段以及FIEH字段。其中,FII字段的长度和FIH字段的长度可以均为32比特(bit),即4字节;该FIEH字段的长度可以为64bit,即8字节。即该IFIT信息的总长度可以为16字节。该FII、FIH和FIEH三个字段的定义如下:
(1)FII字段:包括FII标签(lable)字段,该FII lable字段的取值可配置,其取值范围为0-15,默认值为0xC。其中,0x是指十六进制数,该0xC也即是十进制数:12。为了确保前向兼容,FII字段的格式可以符合请求评论(request for comments,RFC)文档3032的规定。参考图3可以看出,该FII字段还可以包括:用于指示该IFTI信息的优先级的实验(experimental,EXP)字段,用于指示该IFIT信息封装于栈底的栈底标记S字段,以及生存时间值(time to live,TTL)字段。
(2)FIH字段,可以用于携带基于IFIT技术进行随流检测的基本信息,如图3所示,该FIH字段可以包括如下信息:
流标识(flow ID)字段:长度为20比特(bit),用于携带能够唯一标识一条业务流的flow ID。接收到业务报文的节点可以基于该flow ID进行业务流的识别。
丢包标记(loss flag,L)字段:长度为1bit,取值为0或1,其中1表示报文检测的类型为丢包检测,0表示无需进行丢包检测。
时延标记(delay flag,D)字段:长度为1bit,取值为0或1,其中1表示报文检测的类型为时延检测,0表示无需进行时延检测。
保留(reserved,R)字段:长度为1bit,预留扩展使用。
栈底标记(R/S)字段:长度为1bit,如果FII标签位于栈底,则该栈底标记字段可以表示为R,取值默认置1;如果FII标签不位于栈底,则栈底标记字段可以表示为S,取值为0。
HTI字段:长度为8bit,取值为0x00-0xFF,用于指示随流检测的方式,以及指示是否携带FIEH字段。该HTI字段的不同取值的含义如下:
0x00:预留扩展使用;
0x01:指示基本的端到端检测,不携带FIEH;
0x02:指示基本的逐跳检测,不携带FIEH;
0x03:指示扩展的端到端检测,且携带FIEH,即FIEH有效;
0x04:指示扩展的逐跳检测,且携带FIEH,即FIEH有效;
0x05-0xFF:预留扩展使用。
(3)FIEH字段,可以携带用于支持IFIT技术扩展能力的信息,参考图3,FIEH字段主要包括如下信息:
流标识扩展(flow ID Ext)字段:长度为20bit,用于携带扩展的flow ID,从而增加flow ID的长度。该流标识扩展字段携带的信息,可以与FIH字段中的flow ID字段携带的信息组成40bit的唯一流标识。该流标识扩展字段可以增强流标识的分配方式。
反向标记(reverse Flag,V)字段:长度为1bit,用于指示是否使能反向流自动学习功能。当V=1时,表示使能反向流自动学习的功能;V=0时,表示关闭反向流自动学习的功能。
检测周期(period,P)字段:长度为3bit,取值为0-7。其中,取值为1表示检测周期为1秒(s),取值为2表示检测周期为10s,取值为3表示检测周期为30s,取值为4表示检测周期为1分钟(min),取值为5表示检测周期为5min。取值0,6和7预留扩展使用。
目的IP(destination IP,DIP)掩码(mask)字段:长度为8bit,用于指示目的IP地址的掩码长度。
源IP(source IP,SIP)掩码字段:长度为8bit,用于指示源IP地址的掩码长度。
本申请实施例提供了一种报文乱序检测方法,可以应用于上文所述的数据通信系统中,例如可以应用于图1所示的系统中。参考图4,该方法可以包括:
步骤101、报文发送节点生成目标业务流的第二业务报文。
报文发送节点可以对目标业务流的业务数据进行封装,得到第二业务报文,该第二业务报文中还包括该第二业务报文的序列号。
步骤102、报文发送节点将该第二业务报文发送至报文接收节点。
报文发送节点可以查询路由表以确定该第二业务报文的下一跳节点(即报文接收节点),进而可以将该第二业务报文发送至该报文接收节点。
步骤103、报文发送节点将随流检测信息添加到该目标业务流的业务数据中得到该目标业务流的第一业务报文。
在本申请实施例中,报文发送节点可以响应于针对目标业务流的随流检测指令,将随流检测信息添加到该目标业务流的业务数据中以生成该目标业务流的第一业务报文。其中,该针对目标业务流的随流检测指令可以由控制器下发,或者,也可以由工作人员在该报文发送节点手动配置。需要说明的是,对于待检测的目标业务流,报文发送节点在生成该目标业务流的每个业务报文时,均可以在该业务报文中封装随流检测信息。例如,上述步骤101中生成的第二业务报文中也可以包含随流检测信息。
其中,该随流检测信息可以包括:检测标记和该第一业务报文的序列号。该检测标记可以用于指示报文检测的类型为乱序检测。该序列号可以为报文发送节点分配的用于指示该第一业务报文的发送次序的字符串。例如,报文发送节点分配的序列号可以按照目标业务流中业务报文的发送次序依次递增。也即是,对于依次发送的两个业务报文,在后发送的业务报文的序列号可以大于在前发送的业务报文的序列号。
示例的,如图5所示,假设报文发送节点为节点01a,则该报文发送节点为01a生成的第一业务报文M0中包含业务数据和随流检测信息。
可选的,该随流检测信息可以为IFIT信息,参考图2和图3可以看出,该IFIT信息可以包括:HTI字段和FIEH字段。
作为一种可选的实现方式,该HTI字段可以携带该检测标记,该FIEH字段可以携带该序列号。
由于目前已对HTI字段取值为0x01-0x04时的含义进行了定义,因此可以从预留取值0x00,以及0x05-0xFF中任选一个或多个目标取值作为检测标记。
例如,可以选取目标取值0x05作为检测标记。也即,HTI字段取值为0x05时,可以指示报文检测的类型为乱序检测;而该HTI字段取值为0x05之外的其他取值时,可以指示接收到该第一业务报文的节点无需进行乱序检测。
如图6所示,在本申请实施例中,该FIEH字段中的流标识扩展字段,V字段,P字段,以及该流标识扩展字段与V字段之间的保留字段的定义可以保持不变,DIP掩码字段、SIP掩码字段以及SIP掩码字段之后剩余的保留字段可以用于携带该第一业务报文的序列号。也即是,可以将该FIEH字段中的最后32bit作为序列号(sequence number,SN)字段,以携带目标业务流的业务报文的序列号。
可选的,在该实现方式中,该检测标记还可以用于指示乱序检测的方式,该乱序检测的方式可以包括:端到端检测或逐跳检测。其中,端到端检测是指仅在该目标业务流的出口节点(或者入口节点和出口节点)进行乱序检测。逐跳检测是指在该目标业务流所经过的每个节点(包括入口节点、出口节点以及转发节点)均进行乱序检测。
对于该检测标记还可以用于指示乱序检测的方式的场景,可以在HTI字段的预留取值0x00,以及0x05-0xFF中选取两个不同的目标取值以分别指示一种乱序检测的方式。示例的,HTI字段的取值定义可以扩展如下:
0x05:指示端到端的乱序检测,且携带FIEH,即FIEH有效;
0x06:指示逐跳的乱序检测,且携带FIEH,即FIEH有效。
在本申请实施例中,当该HTI字段未携带检测标记时,例如,参考图6,当该HTI字段的取值为0x01-0x04时,该FIEH字段的格式可以与原格式相同,即最后32bit依次为DIP掩码字段、SIP掩码字段和保留字段。而当该HTI字段携带检测标记时,例如,参考图6,当该HTI字段的取值为0x05或者0x06时,该FIEH字段中的最后32bit则可以为用于携带序列号的SN字段。
作为另一种可选的实现方式,该FIEH字段可以携带该检测标记和该序列号。
由于FIEH字段中,流标识扩展字段与V字段之间具有长度为8bit的保留字段,因此可以通过该保留字段携带该检测标记。
例如,参考图7,可以将该FIEH字段中,位于流标识扩展字段之后的保留字段中的1bit作为检测标记字段(即图7中的O字段),以携带该检测标记。或者,也可以将SIP掩码字段之后的保留字段中的1bit作为该O字段。例如,该O字段的取值为1时,可以指示报文检测类型为乱序检测。
对于该序列号,如图7所示,可以将该FIEH字段的长度增加若干字节(例如4字节),该增加的若干字节可以作为用于携带该序列号的SN字段。由于对FIEH字段的长度进行了修改,因此,还可以将该FIEH字段中的保留字段中的若干比特作为LEN字段,该LEN字段用于携带该FIEH字段的长度。
例如,参考图7,可以将该流标识扩展字段与V字段之间的保留字段的后4bit作为LEN字段。或者,也可以将SIP掩码字段之后的保留字段中的4bit作为该LEN字段。若新增的SN字段的长度为4字节,则该LEN字段的取值可以为12,表示该FIEH字段的长度为12字节。
可选的,在该实现方式中,也可以无需改变FIEH字段的长度,而是如图6所示,可以直接将FIEH字段的最后32bit作为该SN字段。
需要说明的是,在该实现方式中,随流检测信息中还可以包括用于指示乱序检测的方式的指示标记。可选的,可以通过HTI字段携带该指示标记。
一方面,由于HTI字段取值为0x03时可以指示扩展的端到端检测,且携带FIEH;取值为0x04时可以指示扩展的逐跳检测,且携带FIEH,因此在本申请实施例中,可以复用该两个取值作为指示标记。即HTI字段取值为0x03时还可以指示端到端的乱序检测,取值为0x04时还可以指示逐跳的乱序检测。
另一方面,由于HTI字段取值0x00,以及0x05-0xFF预留扩展使用,因此可以在该预留取值0x00,以及0x05-0xFF中选取两个不同的目标取值以分别指示一种乱序检测的方式。例如,取值0x05可以指示端到端的乱序检测,且携带FIEH;取值0x06可以指示逐跳的乱序检测,且携带FIEH。
需要说明的是,在本申请实施例中,该IFIT信息中的FIH字段中,也可以无需包括L字段和D字段。
步骤104、报文发送节点将该第一业务报文发送至报文接收节点。
报文发送节点可以查询路由表以确定该第一业务报文的下一跳节点(即报文接收节点),进而可以将该第一业务报文发送至该报文接收节点。
步骤105、若根据检测标记确定报文检测的类型为乱序检测,则报文接收节点确定乱序检测的方式。
报文接收节点接收到该第一业务报文后,可以对该第一业务报文进行解析,以获取该随流检测信息。若报文接收节点在该随流检测信息中未读取到检测标记指,则可以确定无需对第一业务报文进行乱序检测,并可以继续转发该第一业务报文,或者可以基于该随流检测信息的指示,执行丢包检测或者时延检测。
若报文接收节点在该随流检测信息中读取到检测标记,则可以确定报文检测的类型为乱序检测,并可以进一步确定乱序检测的方式。例如报文接收节点可以通过该检测标记,或者通过该随流检测信息中携带的指示标记确定乱序检测的方式。若报文接收节点确定该乱序检测的方式为逐跳检测,则可以确定需要对该第一业务报文进行乱序检测,因此可以执行步骤108。若该检测标记指示的乱序检测的方式为端到端检测,则报文接收节点可以执行步骤106。
作为一种可选的实现方式,若该随流检测信息为IFIT信息,该IFIT信息中的HTI字段携带该检测标记,且检测标记还可以指示乱序检测的方式,则报文接收节点可以直接通过该HTI字段的取值确定报文检测的类型为乱序检测,以及确定乱序检测的方式。
示例的,若该IFIT信息中的HTI字段的取值为0x05,即检测标记为0x05,则报文接收节点可以确定报文检测的类型为乱序检测,且乱序检测的方式为端到端检测,因此可以继续执行步骤106。若该IFIT信息中的HTI字段的取值为0x06,即检测标记为0x06,则报文接收节点可以确定该报文检测的类型为乱序检测,且乱序检测的方式为逐跳检测,因此可以直接执行步骤108。
作为另一种可选的实现方式,若该IFIT信息中的FIEH字段携带检测标记,HTI字段携带指示标记,则报文接收节点可以通过该FIEH字段的检测标记确定报文检测的类型为乱序检测,并可以根据该HTI字段的取值(即指示标记)确定乱序检测的方式。
示例的,若FIEH字段中O字段的取值为1,且HTI字段的取值为0x03,则报文接收节点可以确定报文检测的类型为乱序检测,且乱序检测的方式为端到端检测,因此可以继续执行步骤106。若该O字段的取值为1,且HTI字段的取值为0x04,则报文接收节点可以确定报文检测的类型为乱序检测,且乱序检测的方式为逐跳检测,因此可以直接执行步骤108。若该O字段的取值为0,且HTI字段的取值为0x03,则报文接收节点可以确定无需对第一业务报文进行乱序检测,并可以基于HTI字段的L字段和D字段,执行端到端的丢包检测或者时延检测。
基于上述分析可知,本申请实施例提供的方案可以通过对检测标记或者指示标记的配置,实现不同类型的乱序检测,有效提高了乱序检测的灵活性。
步骤106、报文接收节点检测其是否为该目标业务流在网络中的出口节点。
在本申请实施例中,若报文接收节点确定乱序检测的方式为端到端检测,则可以确定仅该目标业务流在网络中的入口节点和出口节点才需要对该第一业务报文进行乱序检测,因此可以继续检测自身是否为该目标业务流在网络中的出口节点。
若该报文接收节点不为该出口节点,则该报文接收节点可以执行步骤107;若该报文接收节点为该出口节点,则该报文接收节点可以确定需要对该第一业务报文进行乱序检测,因此可以执行步骤108。
示例的,如图5所示,假设该目标业务流在网络中的入口节点为01a,出口节点为01c,转发节点为01b。若当前接收到该第一业务报文的报文接收节点为转发节点01b,则该转发节点01b可以确定自身不为出口节点,因此可以执行步骤107。若当前接收到该第一业务报文的报文接收节点为出口节点01c,则该出口节点01c可以确定自身即为该目标业务流在网络中的出口节点,因此可以执行步骤108。
需要说明的是,在本申请实施例中,报文接收节点可以根据该目标业务流的转发流程确定自身是否为该目标业务流在网络中的出口节点。例如,报文接收节点可以在根据业务报文中的MPLS标签栈检测到该业务报文为出隧道动作时,确定自身为该目标业务流在网络中的出口节点。
步骤107、报文接收节点向该出口节点转发该第一业务报文。
若该报文接收节点不为该出口节点,则该报文接收节点可以确定无需对该第一业务报文进行乱序检测,并可以继续向该出口节点转发该第一业务报文。
例如,参考图5,若转发节点01b确定乱序检测的方式为端到端检测,则可以向出口节点01c转发该第一业务报文。
步骤108、报文接收节点根据该第一业务报文序列号和第二业务报文的序列号检测该第一业务报文是否乱序。
在本申请实施例中,报文接收节点在确定需要对该第一业务报文进行乱序检测后,即可获取该第一业务报文的序列号以及该第二业务报文的序列号。例如,对于第一业务报文和第二业务报文中的每个业务报文,该报文接收节点可以从FIEH字段中的SN字段获取该业务报文的序列号。其中,该第二业务报文为报文接收节点在接收到该第一业务报文之前接收到的前一个属于该目标业务流的业务报文,前一个业务报文是指在该第一业务报文之前接收的,且接收时刻与该第一业务报文的接收时刻最近的一个业务报文。
其中,报文接收节点在确定与该第一业务报文属于同一个目标业务流的第二业务报文时,可以根据该两个业务报文的随流检测信息中的flow ID进行确定。
可选的,在本申请实施例中,报文接收节点可以通过比较该第一业务报文序列号和第二业务报文的序列号的大小,以确定该目标业务流的业务报文是否乱序。
例如,若报文发送节点为目标业务流的业务报文分配的序列号按照业务报文的发送顺序依次递增,则该报文接收节点可以检测该第一业务报文序列号是否大于该第二业务报文的序列号。若该第一业务报文的序列号大于该第二业务报文的序列号,则可以确定该第一业务报文未乱序。若该第一业务报文的序列号小于该第二业务报文的序列号,则可以确定该第一业务报文乱序。
若报文发送节点为目标业务流的业务报文分配的序列号按照业务报文的发送顺序依次递减,则该报文接收节点可以在检测到该第一业务报文的序列号小于该第二业务报文的序列号时,确定该第一业务报文未乱序。在检测到该第一业务报文的序列号大于该第二业务报文的序列号时,确定该第一业务报文乱序。
需要说明的是,在本申请实施例中,报文接收节点可以在确定需要对第一业务报文进行乱序检测后,再获取该第二业务报文的序列号。或者,报文接收节点也可以提前获取并存储该第二业务报文的序列号,例如,报文接收节点可以在接收到第二业务报文之后就获取该第二业务报文的序列号。
还需要说明的是,由于数据通信系统中的每个节点均具有入端口和出端口,每个节点可以将其入端口接收到的业务报文传输至其出端口,因此在本申请实施例中,报文接收节点不仅可以对其入端口接收到业务报文进行乱序检测,还可以对其出端口发出的业务报文进行乱序检测。同理,该报文发送节点也可以对其出端口发出的业务报文进行乱序检测。其中,每个节点对其出端口发出的业务报文进行乱序检测的过程均可以参考上述步骤105至步骤108,此处不再赘述。
步骤109、向控制器上报该检测周期内接收到的目标业务流的业务报文中乱序的业务报文的数量。
在本申请实施例中,该第一业务报文中封装的随流检测信息还可以包括:检测周期。例如参考图3、图6和图7,IFIT信息中的FIEH字段中可以包括P字段,该P字段可以携带检测周期。报文接收节点还可以基于该随流检测信息中指示的检测周期,周期性统计每个检测周期内目标业务流中乱序的业务报文的数量,并上报至控制器。
可选的,该报文接收节点的转发面可以不区分该检测周期,持续对目标业务流中乱序的业务报文数量进行统计,得到目标业务流中乱序的业务报文的总数。该报文接收节点的控制面则可以基于该检测周期,周期性读取转发面当前统计得到的该目标业务流中乱序的业务报文的总数,并与上一次读取到的该目标业务流中乱序的业务报文的总数相减,由此即可得到本次检测周期内该目标业务流中乱序的业务报文的数量。
需要说明的是,若在上述步骤105至步骤108中,报文接收节点分别对其入端口和出端口的业务报文进行了乱序检测,则该报文接收节点可以周期性将该入端口的检测结果和出端口的检测结果均上报至控制器。同理,若报文发送节点也对其出端口的业务报文进行了乱序检测,则该报文发送节点也可以周期性将该检测周期内乱序的业务报文的数量上报至控制器。
步骤110、控制器显示每个检测周期内该目标业务流中乱序的业务报文的数量。
控制器接收到报文接收节点上报的乱序的业务报文的数量后,即可显示该目标业务流在各个检测周期内的乱序的业务报文的数量。也即是,该控制器可以实现对目标业务流的乱序质量的呈现。
其中,若该乱序检测的方式为端到端检测,则控制器可以基于出口节点(或者出口节点和入口节点)上报的乱序的业务报文的数量,呈现该目标业务流在出口节点(或者出口节点和入口节点)的乱序情况。
若该乱序检测的方式为逐跳检测,则控制器可以基于出口节点以及转发节点(或者入口节点、出口节点以及转发节点)上报的乱序的业务报文的数量,呈现出该目标业务流在各个节点的乱序情况。基于目标业务流在各个节点的乱序情况,可以快速确定出在目标业务流的传输路径中,具体是哪个节点或链路引起的乱序,实现对数据通信系统中故障点的快速和准确的定位。
需要说明的是,在本申请实施例中,该报文发送节点和报文接收节点也可以具备显示功能。即该报文发送节点和和报文接收节点也可以直接显示每个检测周期内统计出的乱序的业务报文的数量。
还需要说明的是,本申请实施例提供的报文乱序检测方法的步骤的先后顺序可以进行适当调整,步骤也可以根据情况进行相应增减。例如,步骤105可以根据情况删除,即报文接收节点根据检测标记确定报文检测的类型为乱序检测时,可以直接基于预先配置的固定的检测方式执行乱序检测。示例的,假设预先配置的乱序检测的方式为逐跳检测,则每个报文接收节点在根据检测标记确定报文检测的类型为乱序检测时,均可以直接执行步骤108,即上述步骤106和107也可以根据情况删除。或者,上述步骤109和步骤110也可以根据情况进行删除,即报文接收节点可以直接显示其统计到的乱序的业务报文的数量,而无需向控制器上报。任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化的方法,都应涵盖在本申请的保护范围之内,因此不再赘述。
综上所述,本申请实施例提供了一种报文乱序检测方法,报文接收节点接收到的第一业务报文中包含随流检测信息,该随流检测信息中包括:检测标记以及第一业务报文的序列号,该报文接收节点可以在根据该检测标记确定需要对该第一业务报文进行乱序检测时,根据该第一业务报文的序列号以及前一个第二业务报文的序列号对该第一业务报文进行乱序检测。由于本申请实施例提供的方法可以直接对目标业务流的业务报文进行乱序检测,该检测结果可以反映目标业务流的业务报文的真实乱序情况,且检测过程无需构造检测报文,因此有效提高了乱序检测的效率和准确性,从而可以有效降低数据通信系统的运维成本。
并且,由于乱序检测的过程中无需再构造检测报文,因此还可以避免检测报文挤占链路带宽,浪费带宽资源,降低了链路拥塞丢包的风险。
图8是本申请实施例提供的一种报文乱序检测装置的结构示意图,该装置800可以应用于报文接收节点,并可以实现图4所示实施例中报文接收节点的功能。如图8所示,该装置800可以包括:
接收模块801,用于接收目标业务流的第一业务报文,该第一业务报文中包含随流检测信息,该随流检测信息包括:检测标记和该第一业务报文的序列号,其中,该检测标记用于指示报文检测的类型为乱序检测。
检测模块802,用于当根据该检测标记确定需要报文接收节点对该第一业务报文进行乱序检测时,根据该第一业务报文的序列号和第二业务报文的序列号,检测该第一业务报文是否乱序,其中,该第二业务报文为报文接收节点在接收到该第一业务报文之前接收到的前一个属于该目标业务流的业务报文。该检测模块802的功能实现可以参考上述方法实施例中步骤108的相关描述。
可选的,该随流检测信息可以为IFIT信息,该IFIT信息包括:HTI字段和FIEH字段;该HTI字段可以携带该检测标记,该FIEH字段可以携带该序列号。或者,该FIEH字段可以携带该检测标记和该序列号。
可选的,该检测标记还可以用于指示乱序检测的方式;或者该随流检测信息还可以包括:用于指示乱序检测的方式的指示标记;其中,该乱序检测的方式可以包括:端到端检测或逐跳检测。该检测模块802可以用于:
根据该检测标记确定报文检测的类型为乱序检测,且该乱序检测的方式为逐跳检测,则确定需要该报文接收节点对该第一业务报文进行乱序检;或者,
根据该检测标记确定报文检测的类型为乱序检测,该乱序检测的方式为端到端检测,且该报文接收节点为该目标业务流在网络中的出口节点,则确定需要该报文接收节点对该第一业务报文进行乱序检测。
其中,该检测模块802的功能实现还可以参考上述步骤105和步骤106的相关描述。
可选的,该目标业务流的业务报文的序列号按照业务报文的发送顺序依次递增;该检测模块802可以用于:
若该第一业务报文的序列号大于该第二业务报文的序列号,则确定该第一业务报文未乱序;若该第一业务报文的序列号小于该第二业务报文的序列号,则确定该第一业务报文乱序。
可选的,该随流检测信息还可以包括:检测周期;如图8所示,该装置还可以包括:
发送模块803,可以用于向控制器上报该检测周期内接收到的该目标业务流的业务报文中乱序的业务报文的数量。
该发送模块803的功能实现可以参考上述步骤109的相关描述。
或者,该装置还可以包括:显示模块804,用于显示该检测周期内接收到的该目标业务流的业务报文中,乱序的业务报文的数量。
当然,该装置可以既包括该发送模块803,也包括该显示模块804。
图9是本申请实施例提供的另一种报文乱序检测装置的结构示意图,该装置900可以应用于报文发送节点,并可以实现图4所示实施例中报文发送节点的功能,如图9所示,该装置900可以包括:
第一生成模块901,用于生成目标业务流的第二业务报文,该第二业务报文包含序列号。该第一生成模块901的功能实现可以参考上述方法实施例中步骤101的相关描述。
第一发送模块902,用于将该第二业务报文发送至报文接收节点。该第一发送模块902的功能实现可以参考上述方法实施例中步骤102的相关描述。
第二生成模块903,用于生成该目标业务流的第一业务报文,该第一业务报文包含随流检测信息,该随流检测信息包括检测标记和该第一业务报文的序列号,该检测标记用于指示报文检测的类型为乱序检测。该第二生成模块903的功能实现可以参考上述方法实施例中步骤103的相关描述。
第二发送模块904,用于将该第一业务报文发送至报文接收节点。
其中,该随流检测信息用于指示该报文接收节点在根据该检测标记确定需要对该第一业务报文进行乱序检测时,根据该第一业务报文的序列号以及该第二业务报文的序列号执行乱序检测。该第二发送模块904的功能实现可以参考上述方法实施例中步骤104的相关描述。
可选的,该第二生成模块903,可以用于将该随流检测信息添加到该目标业务流的业务数据中得到该目标业务流的第一业务报文;
其中,该随流检测信息为带内流信息测量IFIT信息,该IFIT信息包括:头类型指示HTI字段和流指令扩展头FIEH字段;该HTI字段携带该检测标记,该FIEH字段携带该第一业务报文的序列号;或者,该FIEH字段携带该检测标记和该第一业务报文的序列号。
需要说明的是,上述第一生成模块901和第二生成模块903可以为同一个模块,第一发送模块902和第二发送模块904也可以为同一个模块。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的报文乱序检测装置以及各模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
应理解的是,本申请实施例提供的报文乱序检测装置还可以用专用集成电路(application-specific integrated circuit,ASIC)实现,或可编程逻辑器件(programmable logic device,PLD)实现,上述PLD可以是复杂程序逻辑器件(complexprogrammable logical device,CPLD),现场可编程门阵列(field-programmable gatearray,FPGA),通用阵列逻辑(generic array logic,GAL)或其任意组合。也可以通过软件实现上述方法实施例提供的报文乱序检测方法,当通过软件实现上述方法实施例提供的报文乱序检测方法时,该报文乱序检测装置中的各个模块也可以为软件模块。
图10是本申请实施例提供的再一种报文乱序检测装置的结构示意图,该装置1000可以应用于报文发送节点或者报文接收节点。参考图10,该装置1000可以包括:处理器1001、存储器1002、收发器1003和总线1004。其中,总线1004用于连接处理器1001、存储器1002和收发器1003。通过收发器1003(可以是有线或者无线)可以实现与其他设备之间的通信连接。存储器1002中存储有计算机程序,该计算机程序用于实现各种应用功能。
应理解,在本申请实施例中,处理器1001可以是CPU,该处理器1001还可以是其他通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、GPU或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者是任何常规的处理器等。
存储器1002可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data date SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DR RAM)。
总线1004除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线1004。
处理器1001被配置为执行存储器1002中存储的计算机程序。其中,当该装置1000应用于报文发送节点时,处理器1001通过执行该计算机程序来实现上述方法实施例中由该报文发送节点执行的步骤。当该装置1000应用于报文接收节点时,处理器1001通过执行该计算机程序来实现上述方法实施例中由该报文接收节点执行的步骤。
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当该计算机可读存储介质在计算机上运行时,使得计算机执行如上述方法实施例中的步骤。
本申请实施例还提供了一种包含指令的计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述方法实施例中的步骤。
本申请实施例还提供了一种数据通信系统,参考图1和图5,该数据通信系统可以包括多个节点01,该多个节点01中包括报文发送节点和报文接收节点。其中该报文接收节点可以包括如图8或图10所示的装置;报文发送节点可以包括如图9或图10所示的装置。
可选的,参考图1和图5,该系统还可以包括控制器02,该控制器02可以接收各个节点01上报的乱序检测结果并进行显示。
需要说明的是,该数据通信系统中的每个节点01既可以作为报文发送节点发送业务报文,也可以作为报文接收节点接收业务报文,因此该每个节点01可以同时具备图4所示实施例中报文发送节点的功能和报文接收节点的功能。
上述实施例,可以全部或部分地通过软件、硬件、固件或其他任意组合来实现。当使用软件实现时,上述实施例可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载或执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以为通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集合的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质。半导体介质可以是固态硬盘(solid state drive,SSD)。
以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (19)
1.一种报文乱序检测方法,其特征在于,应用于报文接收节点,所述方法包括:
接收目标业务流的第一业务报文,所述第一业务报文中包含随流检测信息,所述随流检测信息包括:检测标记和所述第一业务报文的序列号,其中,所述检测标记用于指示报文检测的类型为乱序检测;
当根据所述检测标记确定需要所述报文接收节点对所述第一业务报文进行乱序检测时,根据所述第一业务报文的序列号和第二业务报文的序列号检测所述第一业务报文是否乱序,其中,所述第二业务报文为所述报文接收节点在接收到所述第一业务报文之前接收到的前一个属于所述目标业务流的业务报文。
2.根据权利要求1所述的方法,其特征在于,所述随流检测信息为带内流信息测量IFIT信息,所述IFIT信息包括:头类型指示HTI字段和流指令扩展头FIEH字段;
所述HTI字段携带所述检测标记,所述FIEH字段携带所述第一业务报文的序列号。
3.根据权利要求1所述的方法,其特征在于,所述随流检测信息为带内流信息测量IFIT信息,所述IFIT信息包括:流指令扩展头FIEH字段;
所述FIEH字段携带所述检测标记和所述第一业务报文的序列号。
4.根据权利要求1所述的方法,其特征在于,所述检测标记还用于指示乱序检测的方式;或者,所述随流检测信息还包括:用于指示乱序检测的方式的指示标记;
其中,所述乱序检测的方式包括:端到端检测或逐跳检测;
所述根据所述检测标记确定需要所述报文接收节点对所述第一业务报文进行乱序检测,包括:
根据所述检测标记确定报文检测的类型为乱序检测,且所述乱序检测的方式为逐跳检测,则确定需要所述报文接收节点对所述第一业务报文进行乱序检;或者,
根据所述检测标记确定报文检测的类型为乱序检测,所述乱序检测的方式为端到端检测,且所述报文接收节点为所述目标业务流在网络中的出口节点,则确定需要所述报文接收节点对所述第一业务报文进行乱序检测。
5.根据权利要求1至4任一所述的方法,其特征在于,所述目标业务流的业务报文的序列号按照业务报文的发送顺序依次递增;所述根据所述第一业务报文的序列号和第二业务报文的序列号检测所述第一业务报文是否乱序,包括:
若所述第一业务报文的序列号大于所述第二业务报文的序列号,则确定所述第一业务报文未乱序;
若所述第一业务报文的序列号小于所述第二业务报文的序列号,则确定所述第一业务报文乱序。
6.根据权利要求1至5任一所述的方法,其特征在于,所述随流检测信息还包括:检测周期;在根据所述第一业务报文的序列号和第二业务报文的序列号检测所述第一业务报文是否乱序之后,所述方法还包括:
向控制器上报所述检测周期内接收到的所述目标业务流的业务报文中乱序的业务报文的数量;
或者,显示所述检测周期内接收到的所述目标业务流的业务报文中乱序的业务报文的数量。
7.一种报文乱序检测方法,其特征在于,应用于报文发送节点,所述方法包括:
生成目标业务流的第二业务报文,所述第二业务报文包含序列号;
将所述第二业务报文发送至报文接收节点;
生成所述目标业务流的第一业务报文,所述第一业务报文包含随流检测信息,所述随流检测信息包括检测标记和所述第一业务报文的序列号,所述检测标记用于指示报文检测的类型为乱序检测;
将所述第一业务报文发送至所述报文接收节点;
其中,所述随流检测信息用于指示所述报文接收节点在根据所述检测标记确定需要对所述第一业务报文进行乱序检测时,根据所述第一业务报文的序列号以及所述第二业务报文的序列号执行乱序检测。
8.根据权利要求7所述的方法,其特征在于,所述生成目标业务流的第一业务报文,包括:
将所述随流检测信息添加到所述目标业务流的业务数据中得到所述目标业务流的第一业务报文;
其中,所述随流检测信息为带内流信息测量IFIT信息,所述IFIT信息包括:头类型指示HTI字段和流指令扩展头FIEH字段;所述HTI字段携带所述检测标记,所述FIEH字段携带所述第一业务报文的序列号;或者,所述FIEH字段携带所述检测标记和所述第一业务报文的序列号。
9.一种报文乱序检测装置,其特征在于,应用于报文接收节点,所述装置包括:
接收模块,用于接收目标业务流的第一业务报文,所述第一业务报文中包含随流检测信息,所述随流检测信息包括:检测标记和所述第一业务报文的序列号,其中,所述检测标记用于指示报文检测的类型为乱序检测;
检测模块,用于当根据所述检测标记确定需要所述报文接收节点对所述第一业务报文进行乱序检测时,根据所述第一业务报文的序列号和所述第二业务报文的序列号检测所述第一业务报文是否乱序,其中,所述第二业务报文为所述报文接收节点在接收到所述第一业务报文之前接收到的前一个属于所述目标业务流的业务报文。
10.根据权利要求9所述的装置,其特征在于,所述随流检测信息为带内流信息测量IFIT信息,所述IFIT信息包括:头类型指示字段和流指令扩展头FIEH字段;
所述HTI字段携带所述检测标记,所述FIEH字段携带所述第一业务报文的序列号。
11.根据权利要求9所述的装置,其特征在于,所述随流检测信息为带内流信息测量IFIT信息,所述IFIT信息包括:流指令扩展头FIEH字段;
所述FIEH字段携带所述检测标记和所述第一业务报文的序列号。
12.根据权利要求9所述的装置,其特征在于,所述检测标记还用于指示乱序检测的方式;或者,所述随流检测信息还包括:用于指示乱序检测的方式的指示标记;
其中,所述乱序检测的方式包括:端到端检测或逐跳检测;
所述检测模块,用于:
根据所述检测标记确定报文检测的类型为乱序检测,且所述乱序检测的方式为逐跳检测,则确定需要所述报文接收节点对所述第一业务报文进行乱序检;或者,
根据所述检测标记确定报文检测的类型为乱序检测,所述乱序检测的方式为端到端检测,且所述报文接收节点为所述目标业务流在网络中的出口节点,则确定需要所述报文接收节点对所述第一业务报文进行乱序检测。
13.根据权利要求9至12任一所述的装置,其特征在于,所述目标业务流的业务报文的序列号按照业务报文的发送顺序依次递增;所述检测模块,用于:
若所述第一业务报文的序列号大于所述第二业务报文的序列号,则确定所述第一业务报文未乱序;
若所述第一业务报文的序列号小于所述第二业务报文的序列号,则确定所述第一业务报文乱序。
14.根据权利要求9至13任一所述的装置,其特征在于,所述随流检测信息还包括:检测周期;所述装置还包括:
发送模块,用于向控制器上报所述检测周期内接收到的所述目标业务流的业务报文中乱序的业务报文的数量;
或者,显示模块,用于显示所述检测周期内接收到的所述目标业务流的业务报文中乱序的业务报文的数量。
15.一种报文乱序检测装置,其特征在于,应用于报文发送节点,所述装置包括:
第一生成模块,用于生成目标业务流的第二业务报文,所述第二业务报文包含序列号;
第一发送模块,用于将所述第二业务报文发送至报文接收节点;
第二生成模块,用于生成所述目标业务流的第一业务报文,所述第一业务报文包含随流检测信息,所述随流检测信息包括检测标记和所述第一业务报文的序列号,所述检测标记用于指示报文检测的类型为乱序检测;
第二发送模块,用于将所述第一业务报文发送至报文接收节点;
其中,所述随流检测信息用于指示所述报文接收节点在根据所述检测标记确定需要对所述第一业务报文进行乱序检测时,根据所述第一业务报文的序列号以及所述第二业务报文的序列号执行乱序检测。
16.根据权利要求15所述的装置,其特征在于,所述第二生成模块,用于:
将所述随流检测信息添加到所述目标业务流的业务数据中得到所述目标业务流的第一业务报文;
其中,所述随流检测信息为带内流信息测量IFIT信息,所述IFIT信息包括:头类型指示HTI字段和流指令扩展头FIEH字段;所述HTI字段携带所述检测标记,所述FIEH字段携带所述第一业务报文的序列号;或者,所述FIEH字段携带所述检测标记和所述第一业务报文的序列号。
17.一种报文乱序检测装置,其特征在于,所述装置包括:存储器,处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至6任一所述的报文乱序检测方法,或者实现如权利要求7或8所述的报文乱序检测方法。
18.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令,当所述计算机可读存储介质在计算机上运行时,使得计算机执行如权利要求1至6任一所述的报文乱序检测方法,或者实现如权利要求7或8所述的报文乱序检测方法。
19.一种数据通信系统,其特征在于,所述数据通信系统包括:报文接收节点和报文发送节点;
所述报文接收节点包括如权利要求9至14任一所述的装置;
所述报文发送节点包括如权利要求15或16所述的装置。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010127992.XA CN113328901B (zh) | 2020-02-28 | 2020-02-28 | 报文乱序检测方法、装置及系统 |
EP20921147.3A EP4096165A4 (en) | 2020-02-28 | 2020-09-27 | MESSAGE ANOMALY DETECTION METHOD, APPARATUS AND SYSTEM |
PCT/CN2020/118156 WO2021169279A1 (zh) | 2020-02-28 | 2020-09-27 | 报文乱序检测方法、装置及系统 |
US17/896,152 US20220417165A1 (en) | 2020-02-28 | 2022-08-26 | Packet out-of-order detection method and apparatus, and system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010127992.XA CN113328901B (zh) | 2020-02-28 | 2020-02-28 | 报文乱序检测方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113328901A true CN113328901A (zh) | 2021-08-31 |
CN113328901B CN113328901B (zh) | 2023-04-28 |
Family
ID=77412631
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010127992.XA Active CN113328901B (zh) | 2020-02-28 | 2020-02-28 | 报文乱序检测方法、装置及系统 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20220417165A1 (zh) |
EP (1) | EP4096165A4 (zh) |
CN (1) | CN113328901B (zh) |
WO (1) | WO2021169279A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023241520A1 (zh) * | 2022-06-15 | 2023-12-21 | 华为技术有限公司 | 随流检测方法、装置、设备、系统及存储介质 |
WO2024055858A1 (zh) * | 2022-09-15 | 2024-03-21 | 中兴通讯股份有限公司 | 随流检测的方法、封装节点、检测节点、计算机可读介质 |
WO2024109934A1 (zh) * | 2022-11-24 | 2024-05-30 | 中国移动通信有限公司研究院 | 一种随流检测方法和设备、及存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102025601A (zh) * | 2009-09-17 | 2011-04-20 | 中兴通讯股份有限公司 | 一种数据封装方法及系统 |
CN103501259A (zh) * | 2013-10-21 | 2014-01-08 | 腾讯科技(深圳)有限公司 | 一种丢包检测的方法及检测装置 |
WO2017206841A1 (zh) * | 2016-05-30 | 2017-12-07 | 华为技术有限公司 | 一种网络设备的服务质量检测方法和装置 |
CN108521371A (zh) * | 2018-03-09 | 2018-09-11 | 新华三技术有限公司 | 报文转发方法及装置 |
CN108777646A (zh) * | 2018-05-02 | 2018-11-09 | 新华三技术有限公司 | 流量监控方法及装置 |
CN109981470A (zh) * | 2017-12-27 | 2019-07-05 | 华为技术有限公司 | 报文传输控制方法及装置 |
CN110213129A (zh) * | 2019-05-29 | 2019-09-06 | 新华三技术有限公司合肥分公司 | 转发路径时延检测方法、控制器及转发设备 |
CN110572293A (zh) * | 2018-06-06 | 2019-12-13 | 华为技术有限公司 | 一种数据报文的检测方法、设备及系统 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8976680B2 (en) * | 2010-03-15 | 2015-03-10 | Juniper Networks, Inc. | Operations, administration, and management fields for packet transport |
CN103997426B (zh) * | 2013-02-17 | 2018-11-16 | 中兴通讯股份有限公司 | 一种反向复用中子帧错序的检测方法及节点 |
US20160099853A1 (en) * | 2014-10-01 | 2016-04-07 | Cisco Technology, Inc. | Active and passive dataplane performance monitoring of service function chaining |
CN107454276B (zh) * | 2016-06-01 | 2021-07-27 | 中兴通讯股份有限公司 | 一种用户终端设备及其数据转发方法、及通信系统 |
CN106375158B (zh) * | 2016-10-25 | 2019-09-13 | 华为技术有限公司 | 一种丢包检测方法、网络设备及系统 |
CN108243211A (zh) * | 2016-12-24 | 2018-07-03 | 华为技术有限公司 | 一种数据传输方法及装置 |
CN110943933B (zh) * | 2018-09-25 | 2023-09-01 | 华为技术有限公司 | 一种实现数据传输的方法、装置和系统 |
CN109743340B (zh) * | 2019-04-04 | 2019-07-30 | 华为技术有限公司 | 报文处理的方法和网络装置 |
-
2020
- 2020-02-28 CN CN202010127992.XA patent/CN113328901B/zh active Active
- 2020-09-27 WO PCT/CN2020/118156 patent/WO2021169279A1/zh unknown
- 2020-09-27 EP EP20921147.3A patent/EP4096165A4/en active Pending
-
2022
- 2022-08-26 US US17/896,152 patent/US20220417165A1/en active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102025601A (zh) * | 2009-09-17 | 2011-04-20 | 中兴通讯股份有限公司 | 一种数据封装方法及系统 |
CN103501259A (zh) * | 2013-10-21 | 2014-01-08 | 腾讯科技(深圳)有限公司 | 一种丢包检测的方法及检测装置 |
WO2017206841A1 (zh) * | 2016-05-30 | 2017-12-07 | 华为技术有限公司 | 一种网络设备的服务质量检测方法和装置 |
CN107453884A (zh) * | 2016-05-30 | 2017-12-08 | 华为技术有限公司 | 一种网络设备的服务质量检测方法和装置 |
CN109981470A (zh) * | 2017-12-27 | 2019-07-05 | 华为技术有限公司 | 报文传输控制方法及装置 |
CN108521371A (zh) * | 2018-03-09 | 2018-09-11 | 新华三技术有限公司 | 报文转发方法及装置 |
CN108777646A (zh) * | 2018-05-02 | 2018-11-09 | 新华三技术有限公司 | 流量监控方法及装置 |
CN110572293A (zh) * | 2018-06-06 | 2019-12-13 | 华为技术有限公司 | 一种数据报文的检测方法、设备及系统 |
CN110213129A (zh) * | 2019-05-29 | 2019-09-06 | 新华三技术有限公司合肥分公司 | 转发路径时延检测方法、控制器及转发设备 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023241520A1 (zh) * | 2022-06-15 | 2023-12-21 | 华为技术有限公司 | 随流检测方法、装置、设备、系统及存储介质 |
WO2024055858A1 (zh) * | 2022-09-15 | 2024-03-21 | 中兴通讯股份有限公司 | 随流检测的方法、封装节点、检测节点、计算机可读介质 |
WO2024109934A1 (zh) * | 2022-11-24 | 2024-05-30 | 中国移动通信有限公司研究院 | 一种随流检测方法和设备、及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
EP4096165A4 (en) | 2023-08-09 |
WO2021169279A1 (zh) | 2021-09-02 |
US20220417165A1 (en) | 2022-12-29 |
CN113328901B (zh) | 2023-04-28 |
EP4096165A1 (en) | 2022-11-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11848757B2 (en) | In-situ passive performance measurement in a network environment | |
US11876883B2 (en) | Packet processing method, network node, and system | |
US10644977B2 (en) | Scalable distributed end-to-end performance delay measurement for segment routing policies | |
US20230006906A1 (en) | In-situ flow detection method and apparatus | |
US8085674B2 (en) | Priority trace in data networks | |
US20190260657A1 (en) | In-band performance loss measurement in ipv6/srv6 software defined networks | |
US11368386B2 (en) | Centralized error telemetry using segment routing header tunneling | |
WO2021169279A1 (zh) | 报文乱序检测方法、装置及系统 | |
JP5462954B2 (ja) | パケットロス検出方法及び装置、並びにルータ | |
US20220407791A1 (en) | Network performance detection method and apparatus, and network device | |
JP2023516180A (ja) | パケット処理方法及び装置、ネットワークデバイス並びに記憶媒体 | |
CN108964943B (zh) | 一种实现ioam封装的方法及装置 | |
WO2021031946A1 (zh) | 时延统计方法、装置、存储介质及系统 | |
WO2021190009A1 (zh) | 性能测量方法、装置、设备和存储介质 | |
US20230318970A1 (en) | Packet Processing Method and Apparatus | |
US20230254246A1 (en) | Mechanisms for packet path tracing and per-hop delay measurement in segment routing with multiprotocol label switching (sr-mpls) networks | |
CN113992497A (zh) | Ioam测量计算方法、装置、设备及存储介质 | |
CN113973063A (zh) | 带内测量方法、装置及节点 | |
US20230327983A1 (en) | Performance measurement in a segment routing network | |
US20130259057A1 (en) | Pseudowire groups in a packet switched network | |
WO2020259113A1 (zh) | 一种网络性能测量装置及方法 | |
US20230291681A1 (en) | Data obtaining method and apparatus, device, and storage medium | |
WO2023240438A1 (zh) | 报文处理 | |
WO2022222544A1 (zh) | 一种操作维护管理oam检测方法及装置 | |
KR20130085488A (ko) | 패킷 전달망의 oam 프레임 처리 장치 및 방법 |
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 |