CN112511449A - 一种报文流乱序检测方法、报文处理方法及装置 - Google Patents
一种报文流乱序检测方法、报文处理方法及装置 Download PDFInfo
- Publication number
- CN112511449A CN112511449A CN201910944452.8A CN201910944452A CN112511449A CN 112511449 A CN112511449 A CN 112511449A CN 201910944452 A CN201910944452 A CN 201910944452A CN 112511449 A CN112511449 A CN 112511449A
- Authority
- CN
- China
- Prior art keywords
- message
- packet
- stream
- node
- flow
- 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
- 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
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请实施例公开了一种报文流乱序检测方法,第一节点接收到来自第二节点的第一报文之后,对第一报文进行解析,得到第一报文的流分段序号。在接收到第一报文之后,第一节点继续接收来自第二节点的第二报文,并对该第二报文进行解析,得到第二报文的流分段序号。第一报文和第二报文属于同一条报文流。第一报文流序号和第二报文流序号,是第二节点根据向第一节点发送报文的顺序添加的,因此,第一报文的流分段序号和第二报文的流分段序号,可以体现第二节点发送第一报文和第二报文的顺序。鉴于此,第一节点可以对第一报文的流分段序号和第二报文的流分段序号进行比较,得到第一比较结果,并根据第一比较结果确定报文流是否乱序。
Description
本申请要求于2019年9月16日提交中国专利局、申请号为201910872268.7、发明名称为“一种丢包检测的方法、设备和系统”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及通信领域,特别是涉及一种报文流乱序检测方法、报文处理方法及装置。
背景技术
报文在传输的过程中,可以携带与报文传输相关的信息,该信息可以为二元组、五元组或者七元组。其中,二元组包括源互联网协议(Internet Protocol,IP)地址和目的IP地址。五元组包括源IP地址、源端口、目的IP地址、目的端口和传输层协议。七元组包括源媒体访问控制(media access control,MAC)地址、目的MAC地址、源IP地址、目的IP地址、协议号、源端口和目的端口。
若在两个节点之间连续传输的多条报文,其携带的上述信息均相同,则该连续报文也可以被称为报文流。报文发送节点可以根据自身获取报文的时间,将一个报文流划分成多个流分段。一个流分段包括多个报文,同一个流分段中任意两个连续报文之间的时间间隔小于预设时间间隔,而相邻两个流分段中、相邻两个报文之间的时间间隔大于或者等于前述预设时间间隔。
为提升报文传输效率,可以采用负载均衡的方式来传输流分段。但是,采用负载均衡的方式来传输流分段,可能会出现报文流乱序的问题。所谓报文流乱序,指的是接收节点接收报文的顺序,与发送节点发送报文的顺序不一致。若出现报文流乱序,则可能会影响后续对报文进行进一步处理。换言之,确认报文流是否乱序,尤为重要。因此,急需提出一种方案,可以确认报文流是否乱序。
发明内容
第一方面,本申请实施例提供了一种报文流乱序检测方法,第二节点向第一节点发送的报文中,携带该报文所属的流分段的序号。具体地,第二节点可以根据向第一节点发送报文的顺序,为向第一节点发送的报文添加对应的流分段序号。第一节点接收到来自第二节点的报文之后,可以结合报文中携带的流分段序号,来确定报文是否乱序。具体地,第一节点接收到来自第二节点的第一报文之后,对第一报文进行解析,得到第一报文的流分段序号。每个流分段序号对应一个流分段,每个流分段包括多个报文,该多个报文具有相同的流分段序号。在接收到第一报文之后,第一节点继续接收来自第二节点的第二报文,并对该第二报文进行解析,得到第二报文的流分段序号。此处提及的第一报文和第二报文属于同一条报文流。可以理解的是,由于第一报文流序号和第二报文流序号,是第二节点根据向第一节点发送报文的顺序添加的,因此,第一报文的流分段序号和第二报文的流分段序号,可以体现第二节点发送第一报文和第二报文的顺序。鉴于此,第一节点得到第一报文的流分段序号和第二报文的流分段序号之后,可以对二者进行比较,得到第一比较结果,并根据第一比较结果确定报文流是否乱序。由此可见,利用该方案,可以确定出报文流按照流分段的方式转发时是否乱序。
在一种可能的实现方式中,第一报文的流分段序号和第二报文的流分段序号,可以是第二节点根据向第一节点发送报文的顺序添加的。具体的,第二节点在为报文添加对应的流分段序号时,可以采用流分段序号递增的方式,也可以采用流分段序号递减的方式。其中,流分段序号递增的方式,指的是,先发送的流分段对应的流分段序号,小于后发送的流分段对应的流分段序号。流分段序号递减的方式,指的是,先发送的流分段对应的流分段序号,大于后发送的流分段对应的流分段序号。若第二节点在为报文添加对应的流分段序号时,采用流分段序号递增的方式,则在本申请实施例的一种实现方式中,第一节点根据第一比较结果确认报文流是否乱序在具体实现时,例如可以为当第二报文的流分段序号小于第一报文的流分段序号时,确认报文流出现乱序。因为,第二报文的流分段序号小于第一报文的流分段序号,表示第一节点接收第一报文和第二报文的顺序、与第二节点发送第一报文和第二报文的顺序不一致。若第二节点在为报文添加对应的流分段序号时,采用流分段序号递减的方式,则第一节点根据第一比较结果确认报文流是否乱序在具体实现时,例如可以为当第二报文的流分段序号大于第一报文的流分段序号时,确认报文流出现乱序。因为,第二报文的流分段序号大于第一报文的流分段序号,表示第一节点接收第一报文和第二报文的顺序、与第二节点发送第一报文和第二报文的顺序不一致。
在一种可能的实现方式中,第二报文中还可以携带第一标识,该第一标识的值用于指示第二报文是否属于报文流的子流的第一个流分段。此处提及的子流,可以认为是流的子集。当第二节点获取到子流的第一条报文时,可以为该报文生成对应的流分段转发表项。相应的,可以结合前述第一比较结果和第一标识来确认报文流是否乱序。
在一种可能的实现方式中,当第二报文中携带第一标识时,若第二节点在为报文添加对应的流分段序号时,采用流分段序号递增的方式。则结合前述第一比较结果和第一标识来确认报文流是否乱序,可以具体为:当第二报文的流分段序号小于第一报文的流分段序号,且第一标识的值指示第二报文不属于报文流的子流的第一个流分段时,第一节点确认报文流出现乱序。相应的,若第二节点在为报文添加对应的流分段序号时,采用流分段序号递减的方式。则结合前述第一比较结果和第一标识来确认报文流是否乱序,可以具体为:当第二报文的流分段序号大于第一报文的流分段序号,且第一标识的值指示第二报文不属于报文流的子流的第一个流分段时,第一节点确认报文流出现乱序。
在一种可能的实现方式中,考虑到采用负载均衡的方式来传输流分段时,可能需要对负载均衡的效果进行评估,或者,根据当前负载均衡的效果对报文流的传输方式进行进一步调整,等等。其中,报文流出现乱序的次序,可以作为评价负载均衡的效果的指标。鉴于此,在本申请实施例的一种实现方式中,第一节点还可以统计报文流出现乱序的次数,并向第二节点或者控制器发送出现乱序的次数。以便由第二节点或者控制器根据该出现乱序的次数,对负载均衡的效果进行评估。
在一种可能的实现方式中,考虑到第二节点生成流分段的效率,在一定程度上对负载均衡的效果也有一定的影响。其中,所谓生成流分段的效率,指的是,第二节点将报文流划分得到流分段的效率。一般而言,第二节点生成流分段的效率越高,则对应负载均衡的效果会更好,第二节点生成流分段的效率越低,则对应负载均衡的效果会差一些。鉴于此,在本申请实施例中,第一节点还可以统计在单位时间内接收到的报文流的流分段的数目,并向第二节点或者控制器发送统计得到的报文流的流分段的数目。以便于由第二节点或者控制器基于该流分段的数目,确定自身生成流分段的效率。
在一种可能的实现方式中,考虑到第二节点划分流分段时,有一个重要的指标,即相邻报文之间的时间间隔。为方便描述,将该时间间隔称为“流分段的时间间隔”。可以理解的是,流分段的时间间隔越大,则前一个流分段的最后一个报文、与后一个流分段的第一个报文之间的时间间隔越大,故而采用负载均衡的方式传输流分段时,出现报文乱序的可能性越低。鉴于此,第一节点除了可以统计报文流出现乱序的次数之外,还可以结合报文流出现乱序的次数,调整前述流分段的时间间隔,进一步地,将调整后的流分段的时间间隔发送给第二节点,以便于第二节点根据调整后流分段的时间间隔,将报文流划分成流分段。为方便描述,将前述“调整后的流分段的时间间隔”称为“流分段的目标时间间隔”。即第一节点还可以根据报文流出现乱序的次数计算流分段的目标时间间隔,并将该目标时间间隔发送给第二节点,由第二节点基于目标时间间隔将报文流划分成多个流分段。
在一种可能的实现方式中,考虑到报文流的乱序率是衡量负载均衡效果的一个重要指标,而报文流的乱序率也与预设时间间隔相关。故而第一节点还可以统计报文流出现非乱序的次数,而后根据报文流出现乱序的次数和报文流出现非乱序的次数,计算得到报文流的乱序率,并基于该乱序率在预设时间间隔的基准上进行调整,以得到目标时间间隔。具体地,第一节点可以比较计算得到的乱序率和预设乱序率,得到第二比较结果,而后,根据第二比较结果和预设时间间隔计算报文流的流分段的目标时间间隔。
在一种可能的实现方式中,考虑到第一节点在单位时间内接收到的流分段的数目越高,说明第二节点在将报文流划分为多个流分段所采用的预设时间间隔越小,也就意味着报文流出现乱序的可能性较高。反之亦然。所以,当报文流出现乱序的次数较高,且第一节点在单位时间内接收到的流分段的数目也较高,则可以降低流分段之间的时间间隔;反之亦然。具体地,第一节点可以统计在单位时间内接收到的报文流的流分段的数目,而后比较统计得到的报文流的流分段的数目和预设数目,得到第三比较结果,并结合报文流出现乱序的次数,以及第三比较结果计算目标时间间隔。
第二方面,本申请实施例提供了一种报文处理方法,第二节点可以根据向第一节点发送报文的顺序,为向第一节点发送的报文添加对应的流分段序号。一般而言,第二节点获取报文的顺序、与第二节点向第一节点发送报文的顺序是一致的。故而,第二节点可以根据获取报文的顺序,为报文添加对应的流分段序号。具体地,第二节点获取第一报文,第一报文中携带第一报文的流分段序号。该第一报文中携带第一报文的流分段序号,第一报文的流分段序号,用于指示第一报文所属的流分段的序号。第二节点可以按照一定的规则生成第一报文的流分段序号。第二节点获取第一报文之后,可以将第一报文发送给第一节点。而后,第二节点继续获取第二报文,第二报文中携带第二报文的流分段序号,第二报文的流分段序号,用于指示第二报文所属的流分段的序号。在本申请实施例中,当第二报文和第一报文属于同一个报文流时,第二报文的流分段序号根据第二报文和第一报文之间的时间间隔确定。第二节点获取第二报文之后,可以将第二报文发送给第一节点。第一节点接收到第一报文和第二报文之后,可以执行根据第一报文的流分段序号和第二报文的流分段序号,确定报文流是否乱序。
在一种可能的实现方式中,第一报文的流分段序号,用于指示第一报文所属的流分段的序号。第二报文的流分段序号,用于指示第二报文所属的流分段的序号。若第一报文和第二报文属于同一流分段,则第一报文的流分段序号,等于第二报文的流分段序号。换言之,第二节点在根据第二报文和所述第一报文之间的时间间隔确定第二报文的流分段序号时,若确定第二报文和第一报文之间的时间间隔小于或等于第一预设时间间隔,则第二节点将所述第一报文的流分段序号确定为第二报文的流分段序号。其中,第二报文和第一报文之间的时间间隔小于或等于第一预设时间间隔,表示第一报文和第二报文属于同一流分段。本申请实施例不具体限定第一预设时间间隔,第一预设时间间隔可以根据实际情况确定。
在一种可能的实现方式中,若第二报文和第一报文之间的时间间隔大于前述第一预设时间间隔,则表示第一报文和第二报文不属于同一流分段。对于这种情况,还需考虑第一报文和第二报文是否属于同一个子流。若第二报文和第一报文属于该报文流的同一个子流,即第二报文和第一报文之间的时间间隔小于或者等于第二预设时间间隔,则第二报文的流分段序号可以根据第一报文的流分段序号确定。具体地第二节点可以根据第一报文的流分段序号,确定第二报文的流分段序号。具体地,第二节点可以根据第一报文的流分段序号确定一个不等于第一报文的流分段序号的值,作为第二报文的流分段序号。例如,第二节点可以采用流分段序号递增的方式,来根据第一报文的流分段序号确定第二报文的流分段序号。又如,第二节点可以采用流分段序号递减的方式,来根据第一报文的流分段序号确定第二报文的流分段序号。
在一种可能的实现方式中,若第一报文和第二报文属于同一个子流,第二节点还可以进一步在第二报文中携带第一标识,该第一标识的值用于指示第二报文与相邻的前一个报文即第一报文属于同一个子流但非同一个流分段。此处提及的第一标识,也可以携带在第二报文对应的流分段转发表项中。换言之,第二报文中还可以携带用于指示第二报文与相邻的前一个报文属于同一个子流但非同一个流分段的第一标识。
在一种可能的实现方式中,若第二报文和第一报文不属于该报文流的同一个子流,即第二报文和第一报文之间的时间间隔大于第二预设时间间隔。则由于第一报文的流分段序号已经被删除,第二节点无法获取第一节点对应的流分段序号,对于这种情况,在本申请实施例中,第二报文的流分段序号,可以是根据预设规则确定的。换言之,第二节点可以按照预设规则确定所述第二报文的流分段序号。本申请实施例不具体限定该预设规则,该预设规则可以根据实际情况确定。例如,可以随机生成一个序号作为第二报文对应的流分段序号。又如,可以将前述初始序号确定为第二报文对应的流分段序号。可以理解的是,对于这种情况,由于第二报文的流分段序号和第一报文的流分段序号之间的数值关系没有规律可循,因此,第一节点仅仅基于第一报文的流分段序号和第二报文的流分段序号,可能不能确定出报文流是否乱序。为了使得第一节点可以准确地确定出报文流是否乱序,在本申请实施例的一种实现方式中,第二报文中还可以携带第二标识,第二标识的值用于指示第二报文属于报文流的子流的第一个流分段。以便于第一节点结合该第二标识以及第二报文的流分段序号和第一报文的流分段序号,来确定报文流是否出现乱序。
在一种可能的实现方式中,考虑到在实际应用中,子流的第一个流分段中,可能包括多条报文。对于这种情况,在本申请实施例中,若第二节点确定第二报文属于报文流的子流的第一个流分段,则对于获取到的与第二报文之间的时间间隔小于第一预设时间间隔的其它报文,例如第三报文,第三报文中携带第三报文的流分段序号和第三标识,第三报文的流分段序号等于第二报文的流分段序号,第三标识的值指示第三报文属于报文流的子流的第一个流分段。
在一种可能的实现方式中,考虑到流分段是由第二节点进行划分的,而流分段的划分方式,对采用负载均衡的方式传输流分段的效果有一定的影响。故而在本申请实施例中,第二节点还可以对划分流分段的方式进行调整。具体地,第二节点可以获取报文流的流分段的目标时间间隔,并根据报文流的流分段的目标时间间隔将报文流划分为多个流分段。本申请实施例不具体限定第二节点获取目标时间间隔的具体实现方式,作为一种示例,第二节点可以从第一节点处获取目标时间间隔。作为又一种实例,第二节点可以自身计算得到该目标时间间隔。作为再一种示例,可以由控制器计算得到该目标时间间隔,相应的,第二节点可以从控制器出获得该目标时间间隔。
在一种可能的实现方式中,第二节点计算得到目标时间间隔在具体实现时,例如可以从第一节点处接收报文流出现乱序的次数,而后第二节点根据报文流出现乱序的次数计算报文流的流分段的目标时间间隔。
在一种可能的实现方式中,第二节点计算得到目标时间间隔在具体实现时,例如还可以接收来自第一节点的报文流出现非乱序的次数,进一步地第二节点可以根据报文流出现乱序的次数和出现非乱序的次数计算报文流的乱序率。而后第二节点比较报文流的乱序率和预设乱序率,得到第一比较结果。最后第二节点根据第二比较结果和第一预设时间间隔计算所述报文流的流分段的目标时间间隔。此处提及的第一预设时间间隔指的是第二节点当前生成流分段对应的“相邻报文间的发送时间间隔”。
在一种可能的实现方式中,第二节点计算得到目标时间间隔在具体实现时,例如在第二节点获取来自第一节点的在单位时间内接收到的所述报文流的流分段的数目之后,第二节点比较报文流的流分段的数目和预设数目,得到第二比较结果。而后,第二节点根据报文流出现乱序的次数,以及第二比较结果计算所述报文流的流分段的目标时间间隔。
第三方面,本申请实施例提供了一种报文处理方法,具体地,控制器可以从第一节点处接收报文流出现乱序的次数,而后控制器根据报文流出现乱序的次数计算报文流的流分段的目标时间间隔。计算得到目标时间间隔之后,控制器可以将计算得到的目标时间间隔发送给第二节点,以便第二节点基于目标时间间隔将报文流划分成多个流分段。
在一种可能的实现方式中,控制器计算得到目标时间间隔在具体实现时,例如还可以接收来自第一节点的报文流出现非乱序的次数,进一步地控制器可以根据报文流出现乱序的次数和出现非乱序的次数计算报文流的乱序率。而后控制器比较报文流的乱序率和预设乱序率,得到第一比较结果。最后控制器根据第二比较结果和第一预设时间间隔计算所述报文流的流分段的目标时间间隔。此处提及的第一预设时间间隔指的是控制器当前生成流分段对应的“相邻报文间的发送时间间隔”。
在一种可能的实现方式中,控制器计算得到目标时间间隔在具体实现时,例如在控制器获取来自第一节点的在单位时间内接收到的所述报文流的流分段的数目之后,控制器比较报文流的流分段的数目和预设数目,得到第二比较结果。而后,控制器根据报文流出现乱序的次数,以及第二比较结果计算所述报文流的流分段的目标时间间隔。
第四方面,本申请实施例提供了一种报文流乱序检测装置,所述装置包括:第一接收单元,用于接收来自第二节点的第一报文,所述第一报文包括所述第一报文的流分段序号;第二接收单元,用于在接收到所述第一报文之后,接收来自所述第二节点的第二报文,所述第二报文包括所述第二报文的流分段序号,所述第一报文和所述第二报文属于同一条报文流;比较单元,用于比较所述第一报文的流分段序号和所述第二报文的流分段序号,得到第一比较结果;乱序确认单元,用于根据所述第一比较结果确认所述报文流是否乱序。
在一种可能的实现方式中,所述乱序确认单元,具体用于:当所述第二报文的流分段序号小于所述第一报文的流分段序号时,确认所述报文流出现乱序。
在一种可能的实现方式中,所述第二报文还包括第一标识,所述第一标识的值指示所述第二报文是否属于所述报文流的子流的第一个流分段;所述乱序确认单元,具体用于:根据所述比较结果和所述第一标识的值确认所述报文流是否乱序。
在一种可能的实现方式中,所述乱序确认单元,具体用于:当所述第二报文的流分段序号小于所述第一报文的流分段序号,且所述第一标识的值指示所述第二报文不属于所述报文流的子流的第一个流分段时,确认所述报文流出现乱序。
在一种可能的实现方式中,所述装置还包括:第一统计单元,用于统计所述报文流出现乱序的次数;第一发送单元,用于向所述第二节点或控制器发送所述出现乱序的次数。
在一种可能的实现方式中,所述装置还包括:第二统计单元,用于统计在单位时间内接收到的所述报文流的流分段的数目;第二发送单元,用于向所述第二节点或控制器发送所述报文流的流分段的数目。
在一种可能的实现方式中,所述装置还包括:第三统计单元,用于统计所述报文流出现乱序的次数;第一计算单元,用于根据所述报文流出现乱序的次数计算所述报文流的流分段的目标时间间隔;第三发送单元,用于向所述第二节点发送所述目标时间间隔。
在一种可能的实现方式中,所述第一计算单元,具体用于:统计所述报文流出现非乱序的次数;获取所述第二节点对所述报文流划分为所述流分段的预设时间间隔;根据所述报文流出现乱序的次数和所述出现非乱序的次数计算所述报文流的乱序率;比较所述报文流的乱序率和预设乱序率,得到第二比较结果;根据所述第二比较结果和预设时间间隔计算所述报文流的流分段的目标时间间隔。
在一种可能的实现方式中,所述第一计算单元,具体用于:统计在单位时间内接收到的所述报文流的流分段的数目;比较所述报文流的流分段的数目和预设数目,得到第三比较结果;根据所述报文流出现乱序的次数,以及所述第三比较结果计算所述报文流的流分段的目标时间间隔。
第五方面,本申请实施例提供了一种报文处理装置,所述装置包括:第一获取单元,用于获取第一报文,所述第一报文中携带所述第一报文的流分段序号,所述第一报文的流分段序号指示所述第一报文所属的流分段的序号;第一发送单元,用于向第一节点发送所述第一报文;第二获取单元,用于在获取所述第一报文之后,获取第二报文,所述第二报文中携带所述第二报文的流分段序号,所述第二报文的流分段序号指示所述第二报文所属的流分段的序号;当所述第二报文和所述第一报文属于同一个报文流时,所述第二报文的流分段序号根据所述第二报文和所述第一报文之间的时间间隔确定;第二发送单元,用于向所述第一节点发送所述第二报文。
在一种可能的实现方式中,当所述第二报文和所述第一报文之间的时间间隔小于或等于第一预设时间间隔,则所述第二报文的流分段序号为所述第一报文的流分段序号。
在一种可能的实现方式中,当所述第二报文和所述第一报文之间的时间间隔大于第一预设时间间隔且小于第二预设时间间隔,则所述第二报文的流分段序号根据所述第二报文的流分段序号确定,所述第二报文的流分段序号不等于所述第一报文的流分段序号。
在一种可能的实现方式中,所述第二报文中还携带第一标识,所述第一标识的值用于指示所述第二报文与相邻的前一个报文属于同一个子流但非同一个流分段。
在一种可能的实现方式中,当所述第二报文和所述第一报文之间的时间间隔大于或等于第二预设时间间隔,则所述第二报文的流分段序号按照预设规则确定;所述第二报文中还携带第二标识,所述第二标识的值用于指示所述第二报文为所述报文流的子流的第一个流分段的报文。
在一种可能的实现方式中,所述装置还包括:第三获取单元,用于在获取所述第二报文之后,获取第三报文,所述第三报文和所述第二报文属于同一个报文流,所述第三报文中携带所述第三报文的流分段序号和第三标识;当所述第二节点获取所述第三报文和所述第二报文的时间间隔小于或等于第一预设时间间隔,则所述第三报文的流分段序号与所述第二报文的流分段序号相同,所述第三标识的值指示所述第三报文为所述报文流的子流的第一个流分段的报文,所述第一预设时间间隔小于所述第二预设时间间隔;第三发送单元,用于向所述第一节点发送所述第三报文。
在一种可能的实现方式中,所述装置还包括:第四获取单元,用于获取所述报文流的流分段的目标时间间隔;流分段划分单元,用于根据所述报文流的流分段的目标时间间隔将所述报文流划分为多个流分段。
在一种可能的实现方式中,所述第四获取单元,具体用于:接收来自第一节点的所述报文流出现乱序的次数;根据所述报文流出现乱序的次数计算所述报文流的流分段的目标时间间隔。
在一种可能的实现方式中,所述根据所述报文流出现乱序的次数计算所述报文流的流分段的目标时间间隔包括:接收来自第一节点的所述报文流出现非乱序的次数;根据所述报文流出现乱序的次数和所述出现非乱序的次数计算所述报文流的乱序率;比较所述报文流的乱序率和预设乱序率,得到第一比较结果;根据所述第一比较结果和所述第一预设时间间隔计算所述报文流的流分段的目标时间间隔。
在一种可能的实现方式中,所述根据所述报文流出现乱序的次数计算所述报文流的流分段的目标时间间隔包括:获取来自所述第一节点的在单位时间内接收到的所述报文流的流分段的数目;点比较所述报文流的流分段的数目和预设数目,得到第二比较结果;根据所述报文流出现乱序的次数,以及所述第二比较结果计算所述报文流的流分段的目标时间间隔。
第六方面,本申请实施例提供了一种报文处理装置,所述装置包括:获取单元,用于获取第一节点接收的报文流出现乱序的次数;计算单元,用于根据所述报文流出现乱序的次数计算所述报文流的流分段的目标时间间隔;发送单元,用于向第二节点发送所述目标时间间隔,所述目标时间间隔用于将所述报文流划分为多个流分段。
在一种可能的实现方式中,所述计算单元,具体用于:获取第一节点接收的报文流出现非乱序的次数;获取所述第二节点对所述报文流划分为所述流分段的预设时间间隔;根据所述报文流出现乱序的次数和出现非乱序的次数计算所述报文流的乱序率;比较所述报文流的乱序率和预设乱序率,得到第一比较结果;根据所述第一比较结果和预设时间间隔计算所述报文流的流分段的目标时间间隔。
在一种可能的实现方式中,所述计算单元,具体用于:获取所述第一节点在单位时间内接收到的所述报文流的流分段的数目;比较所述报文流的流分段的数目和预设数目,得到第二比较结果;根据所述报文流出现乱序的次数,以及所述第二比较结果计算所述报文流的流分段的目标时间间隔。
第七方面,本申请实施例提供了一种报文流乱序检测设备,所述设备包括:处理器和存储器;所述存储器,用于存储指令;所述处理器,用于执行所述存储器中的所述指令,执行以上第一方面任意一项所述的方法。
第八方面,本申请实施例提供了一种报文处理设备,所述设备包括:处理器和存储器;所述存储器,用于存储指令;所述处理器,用于执行所述存储器中的所述指令,执行以上第二方面任意一项所述的方法。
第九方面,本申请实施例提供了一种报文处理设备,所述设备包括:处理器和存储器;所述存储器,用于存储指令;所述处理器,用于执行所述存储器中的所述指令,执行以上第三方面任意一项所述的方法。
第十方面,本申请实施例提供了一种计算机可读存储介质,其特征在于,包括指令,当其在计算机上运行时,使得计算机执行以上第一方面任意一项所述的方法、以上第二方面任意一项所述的方法或者以上第三方面任意一项所述的方法。
第十一方面,本申请实施例提供了一种包含指令的计算机程序产品,其特征在于,当其在计算机上运行时,使得计算机执行以上第一方面任意一项所述的方法、以上第二方面任意一项所述的方法或者以上第三方面任意一项所述的方法。
附图说明
图1为本申请实施例提供的一种示例性应用场景示意图;
图2为本申请实施例提供的一种报文流乱序检测方法的信令交互图;
图3为本申请实施例提供的一种报文处理方法的信令交互图;
图4为本申请实施例提供的一种报文流乱序检测装置的结构示意图;
图5为本申请实施例提供的一种报文处理装置的结构示意图;
图6为本申请实施例提供的一种报文处理装置的结构示意图;
图7为本申请实施例提供的一种设备的结构示意图。
具体实施方式
本申请实施例提供了一种报文流乱序检测方法,用于确定报文流是否乱序。
为方便理解,首先对本申请实施例的应用场景进行介绍。
参见图1,该图为本申请实施例提供的一种示例性应用场景示意图。
如图1所示,节点101和节点102之间有两条路径,分别为路径110和路径120。为提升节点101向节点102发送报文流的效率,节点101可以通过路径110和路径120这两条路径来向节点102发送流分段。属于同一报文流的不同流分段可以在这两条路径上独立发送。可以理解的是,如果节点101向节点102发送的前一个报文已经到达节点102,则节点101可以从路径110和路径120中任意选择一条路径发送下一个报文,这并不会存在报文流乱序问题。但是,如果节点101向节点102发送的前一个报文并未到达节点102,而节点101又利用路径110和/或路径120中继续发送后续的报文,则有可能存在报文流乱序问题。例如,节点101利用路径110发送流分段1之后1ms,利用路径120向节点102发送了流分段2,而路径110的时延为10ms,路径120的时延为8ms,这就导致流分段2的一个或多个报文在流分段1的一个或多个报文之前到达节点102,从而出现了报文流乱序。
需要说明的是,节点101可以是转发路径上的报文转发的入口节点,节点102是转发路径上的中间节点或出口节点。
可以理解的是,若出现报文流乱序,则可能会影响后续对报文流进行进一步处理,例如前述节点102不能正确对报文流进行解析等等。因此,确认报文流是否乱序,尤为重要。
鉴于此,本申请实施例提供了一种报文流乱序检测方法,以下结合附图,对本申请实施例提供的报文流乱序检测方法进行介绍。
需要说明的是,本申请实施例中提及的节点,可以为路由器或者交换机。
参见图2,该图为本申请实施例提供的一种报文流乱序检测方法的信令交互图。本申请实施例提供的报文流乱序检测方法,例如可以通过如下步骤101-104实现。
步骤101:第二节点向第一节点发送第一报文,第一报文包括第一报文的流分段序号。
步骤102:第二节点向第一节点发送第二报文,第二报文包括第二报文的流分段序号,第二报文和第一报文属于同一条报文流。
关于步骤101和步骤102,需要说明的是,第二节点为报文发送节点,第二节点例如可以为图1所示的节点101。第一节点为报文接收节点,第一节点例如可以为图1所示的节点102。在本申请实施例中,第二节点可以通过一条或者多条路径向第一节点发送报文。当第二节点通过多条路径向第一节点发送报文时,第二节点发送前述第一报文和第二报文的路径可以相同,也可以不同,本申请实施例不做具体限定。
在本申请实施例中,第一报文中携带第一报文的流分段序号,第二报文中携带第二报文的流分段序号。第一报文的流分段序号,用于指示第一报文所属的流分段的序号,第二报文的流分段序号,用于指示第二报文所属的流分段的序号。在本申请实施例中,属于同一流分段的多条报文对应的流分段序号相同,属于不同流分段的报文对应的流分段序号不同。换言之,若第一报文和第二报文属于同一流分段,则第一报文的流分段序号等于第二报文的流分段序号;若第一报文和第二报文属于不同的流分段,则第一报文的流分段序号和第二报文的流分段序号不同。
需要说明的是,在本申请实施例中,第一报文的流分段序号是第二节点添加到第一报文中的,相应的,第二报文的流分段序号是第二节点添加到第二报文中的。具体地,第二节点可以根据向第一节点发送报文的顺序,为第一报文和第二报文添加对应的流分段序号。一般而言,第二节点向第一节点发送报文的顺序,与第二节点获取报文的顺序是一致的。换言之,第二节点可以根据获取报文的顺序,为第一报文和第二报文添加对应的流分段序号。
关于第二节点为向第一节点发送的报文(例如包括第一报文和第二报文)添加对应的流分段序号的具体实现,可以参考下文图3的描述部分,此处不做详述。
在本申请实施例中,第一报文的流分段序号,例如可以携带在第一报文的流分段转发表项中,即在第一报文的流分段转发表项中,新增流分段序号字段,该流分段序号字段的值,为第一报文的流分段序号。具体地,第一报文对应的流分段转发表项,可以如下表1所示。
表1
Key | Path | FlowletSeq |
其中:
Key为流分段转发表项索引值,利用报文中携带的二元组、五元组或七元组等信息进行查表操作,或者对二元组、五元组或七元组等信息对应的哈希值进行查表操作。
Path为第一报文的转发路径,具体信息依赖于转发面协议,例如纯互联网协议第4版(internet protocol version 4,IPv4)场景下,Path代表报文出接口;又如段路由互联网协议第6版(segment routing internet protocol version 6,SRv6)场景下Path对应SRv6隧道标识。
FlowletSeq为流分段序号,该流分段序号例如可以用若干个比特来表示,例如可以用一个字节即8个比特来表示。
需要说明的是,上表1只是为了方便理解而示出,其并不构成对本申请实施例的限定,在实际应用中,第一报文对应的流分段转发表项中还可以携带其它信息,此处不再一一列举说明。
相应的,第二报文的流分段序号,例如可以携带在第二报文的流分段转发表项中,关于第二报文的流分段转发表项,可以参考第一报文的流分段转发表项的描述部分,此处不再重复说明。
步骤103:第一节点比较第一报文的流分段序号和第二报文的流分段序号,得到第一比较结果。
步骤104:第一节点根据第一比较结果确认报文流是否乱序。
关于步骤103和步骤104,需要说明的是,第一节点接收到第一报文和第二报文之后,可以分别对第一报文和第二报文进行解析,得到第一报文的流分段序号和第二报文的流分段序号。如前文,由于第一报文的流分段序号和第二报文的流分段序号,是第二节点根据向第一节点发送报文的顺序添加的,因此,该第一报文的流分段序号和第二报文的流分段序号,除了可以表征第一报文和第二报文是否属于同一流分段之外,进一步地,还可以表征第二节点发送第一报文和第二报文的顺序。因此第一节点可以对第一报文的流分段序号和第二报文的流分段序号进行比较,并根据比较得到的第一比较结果确认报文流是否乱序。
如前文,第一报文的流分段序号和第二报文的流分段序号,可以是第二节点根据向第一节点发送报文的顺序添加的。具体的,第二节点在为报文添加对应的流分段序号时,可以采用流分段序号递增的方式,也可以采用流分段序号递减的方式。其中,流分段序号递增的方式,指的是,先发送的流分段对应的流分段序号,小于后发送的流分段对应的流分段序号。流分段序号递减的方式,指的是,先发送的流分段对应的流分段序号,大于后发送的流分段对应的流分段序号。
可以理解的是,一般而言,报文流乱序一般发生在不同流分段之间,同一流分段中的多条报文一般不会出现报文乱序的情况。因此,若第二节点在为报文添加对应的流分段序号时,采用流分段序号递增的方式,则在本申请实施例的一种实现方式中,第一节点根据第一比较结果确认报文流是否乱序在具体实现时,例如可以为当第二报文的流分段序号小于第一报文的流分段序号时,确认报文流出现乱序。因为,第二报文的流分段序号小于第一报文的流分段序号,表示第一节点接收第一报文和第二报文的顺序、与第二节点发送第一报文和第二报文的顺序不一致。当第二报文的流分段序号大于或者等于第一报文的流分段序号时,确认报文流未出现乱序。因为第二报文的流分段序号等于第一报文的流分段序号时,表示第一报文和第二报文属于同一流分段;第二报文的流分段序号大于第一报文的流分段序号时,表示第一节点接收第一报文和第二报文的顺序、与第二节点发送第一报文和第二报文的顺序一致。
如前文,流分段序号例如可以用若干个比特,而该若干个比特所能表示的最大值是确定的,当流分段序号达到该若干个比特所能表示的最大值时,流分段序号可以重新从0开始递增。例如,流分段序号用3个比特表示,而3个比特能表示的最大值为7,则流分段序号达到7之后,重新从0开始递增。可以理解的是,若第二节点连续发送了8个流分段,按照流分段发送的顺序,这8个流分段分别对应的流分段序号为1-2-3-4-5-6-7-0,当第一节点接收到第一个对应流分段序号为0的第二报文时,则由于接收到的前一个报文(例如最后一个对应流分段序号为7的第一报文)携带的第一报文的流分段序号为7,而第二报文所携带的第二报文的流分段序号为0,此时,虽然是将第二报文的流分段序号0和第一报文的流分段序号7进行比较,但是第一节点比较的结果依然是第一报文的流分段序号7,小于第二报文的流分段序号0。
在本申请实施例的又一种实现方式中,若第二节点在为报文添加对应的流分段序号时,采用流分段序号递减的方式,则第一节点根据第一比较结果确认报文流是否乱序在具体实现时,例如可以为当第二报文的流分段序号大于第一报文的流分段序号时,确认报文流出现乱序。因为,第二报文的流分段序号大于第一报文的流分段序号,表示第一节点接收第一报文和第二报文的顺序、与第二节点发送第一报文和第二报文的顺序不一致。当第二报文的流分段序号小于或者等于第一报文的流分段序号时,确认报文流未出现乱序。因为第二报文的流分段序号等于第一报文的流分段序号时,表示第一报文和第二报文属于同一流分段;第二报文的流分段序号小于第一报文的流分段序号时,表示第一节点接收第一报文和第二报文的顺序、与第二节点发送第一报文和第二报文的顺序一致。
如前文,流分段序号例如可以用若干个例如N个比特表示,而N个比特所能表示的最大值是确定的,即为2N-1。当流分段序号达到该若干个比特所能表示的最小值0时,流分段序号则重新从2N-1开始递减。例如,流分段序号用3个比特表示,而3个比特能表示的最小值为0,则流分段序号达到0之后,重新从7开始递减。可以理解的是,若第二节点连续发送了8个流分段,按照流分段发送的顺序,这8个流分段分别对应的流分段序号为6-5-4-3-2-1-0-7,当第一节点接收到第一个对应流分段序号为7的第二报文时,则由于接收到的前一个报文(例如最后一个对应流分段序号为0的第一报文)携带的第一报文的流分段序号为0,而第二报文所携带的第二报文的流分段序号为7,此时,虽然是将第一报文的流分段序号0和第二报文的流分段序号7进行比较,但是第一节点比较的结果依然是第一报文的流分段序号0,大于第二报文的流分段序号7。
在实际应用中,第二节点中可以存储如上表1所示的流分段转发表项。第二节点在向第一节点发送报文之前,可以根据报文中携带的二元组、五元组或者七元组信息查找对应的流分段转发表项,若查找到对应的流分段转发表项,则第二节点可以修改对应的流分段序号字段的值,并进一步将该流分段转发表项携带在报文中,而后根据该流分段转发表项中的Path对该报文进行转发。若未查找到对应的流分段转发表项,则第二节点可以生成一条对应的流分段转发表项,并进一步完成报文转发。需要说明的是,本申请实施例不具体限定第二节点生成的流分段转发表项中Path的确定方式,例如,第二节点可以从多条可达路径中随机或者按照相应规则确定一条路径,作为该流分段转发表项中的Path。
可以理解的是,流分段转发表项的存储,需要占用第二节点的存储空间。为了节省第二节点的存储空间,若第二节点在较长时间段内未获取到与存储的流分段转发表项匹配的报文,则会删除对应的转发表项。具体地,第二节点中存储的流分段转发表项,除了包含表1所示的字段之外,还可以包括一个指示最近一次获取到匹配报文的时间字段。换言之,当第二节点获取到与存储的流分段转发表项匹配的报文之后,可以将前述时间字段的值,确定为该报文的获取时间。当第二节点确定当前时刻与前述时间字段指示的时间之间的时间间隔,大于或者等于表项删除时间阈值时,可以删除该流分段转发表项。
可以理解的是,流分段转发表项删除之后,该流分段转发表项中对应的流分段序号也对应被删除了。而在本申请实施例中,流分段序号是用于判断报文流是否出现乱序的依据。若删除该流分段转发表项之后,第二节点再次获取到可以与该流分段转发表项匹配的报文(以下简称匹配报文),则需要为该匹配报文重新生成流分段转发表项,相应的重新确定该报文对应的流分段序号。对于这种情况,基于该匹配报文的流分段序号与前一条报文的流分段序号,可能并不能准确地确定出报文流是否乱序。例如,第二节点在为报文添加对应的流分段序号时,采用流分段序号递增的方式。第二节点为匹配报文生成的流分段序号为1,而第二节点为匹配报文的前一条报文生的流分段序号为3,虽然1小于3,但是实际上报文流并没有发生乱序,因此,若仅根据前述第一比较结果确认报文流是否乱序,可能会出现确认结果不准确的情况。
为了避免这种情况,在本申请实施例的一种实现方式中,第二报文中还可以携带第一标识,该第一标识的值用于指示第二报文是否属于报文流的子流的第一个流分段。此处提及的子流,可以认为是流的子集。当第二节点获取到子流的第一条报文时,可以为该报文生成对应的流分段转发表项。相应的,可以结合前述第一比较结果和第一标识来确认报文流是否乱序。
关于该第一标识,需要说明的是,与第二报文的流分段序号类似,第一标识也可以携带在第二报文的流分段转发表项中。
如前文,若第二节点在较长时间内未获取到与存储的流分段转发表项匹配的报文,则会删除对应的转发表项。换言之,第二节点向第一节点发送报文时,前一个子流中的最后一条报文与后一个子流中的第一条报文之间的时间间隔比较大,故而可以认为前一个子流与后一个子流不会发生乱序。换言之,若一条报文属于报文流的子流的第一个流分段,则该报文一定不会出现乱序。
鉴于此,在申请实施例的一种实现方式中,若第二节点在为报文添加对应的流分段序号时,采用流分段序号递增的方式。则结合前述第一比较结果和第一标识来确认报文流是否乱序,可以具体为:当第二报文的流分段序号小于第一报文的流分段序号,且第一标识的值指示第二报文不属于报文流的子流的第一个流分段时,第一节点确认报文流出现乱序。相应的,若第二节点在为报文添加对应的流分段序号时,采用流分段序号递减的方式。则结合前述第一比较结果和第一标识来确认报文流是否乱序,可以具体为:当第二报文的流分段序号大于第一报文的流分段序号,且第一标识的值指示第二报文不属于报文流的子流的第一个流分段时,第一节点确认报文流出现乱序。
可以理解的是,在实际应用中,采用负载均衡的方式来传输流分段时,可能需要对负载均衡的效果进行评估,或者,根据当前负载均衡的效果对报文流的传输方式进行进一步调整,等等。其中,报文流出现乱序的次序,可以作为评价负载均衡的效果的指标。鉴于此,在本申请实施例的一种实现方式中,第一节点还可以统计报文流出现乱序的次数,并向第二节点或者控制器发送出现乱序的次数。以便由第二节点或者控制器根据该出现乱序的次数,对负载均衡的效果进行评估。
在本申请实施例中,第一节点统计报文流出现乱序的次数在具体实现时,可以为当前述步骤104确定的结果为报文流出现乱序时,将出现乱序的次数加1,否则保持出现乱序的次数不变。
在本申请实施例的又一种实现方式中,考虑到第二节点生成流分段的效率,在一定程度上对负载均衡的效果也有一定的影响。其中,所谓生成流分段的效率,指的是,第二节点将报文流划分得到流分段的效率。一般而言,第二节点生成流分段的效率越高,则对应负载均衡的效果会更好,第二节点生成流分段的效率越低,则对应负载均衡的效果会差一些。鉴于此,在本申请实施例中,第一节点还可以统计在单位时间内接收到的报文流的流分段的数目,并向第二节点或者控制器发送统计得到的报文流的流分段的数目。以便于由第二节点或者控制器基于该流分段的数目,确定自身生成流分段的效率。在本申请实施例中,第二节点可以根据接收到的报文中携带的流分段序号,统计单位时间内接收到的所述报文流的流分段的数目。
如前文,根据流分段的定义可知,第二节点划分流分段时,有一个重要的指标,即相邻报文之间的时间间隔。为方便描述,将该时间间隔称为“流分段的时间间隔”。可以理解的是,流分段的时间间隔越大,则前一个流分段的最后一个报文、与后一个流分段的第一个报文之间的时间间隔越大,故而采用负载均衡的方式传输流分段时,出现报文乱序的可能性越低。鉴于此,在本申请实施例的一种实现方式中,第一节点除了可以统计报文流出现乱序的次数之外,还可以结合报文流出现乱序的次数,调整前述流分段的时间间隔,进一步地,将调整后的流分段的时间间隔发送给第二节点,以便于第二节点根据调整后流分段的时间间隔,将报文流划分成流分段。为方便描述,将前述“调整后的流分段的时间间隔”称为“流分段的目标时间间隔”。
本申请实施例不具体限定根据前述报文流出现乱序的次数,确定流分段的目标时间隔的具体实现方式,作为一种示例,考虑到前述出现乱序的次数,与第二节点当前划分流分段对应的“流分段的时间间隔”相关。为方便描述,将第二节点当前划分流分段对应的“流分段的时间间隔”,称为“预设时间间隔”。故而第一节点可以根据前述出现乱序的次数,在预设时间间隔的基准上进行调整,以得到目标时间间隔。例如,前述出现乱序的次数很少,则可以将预设时间间隔减去某一常数,或者乘以小于1的系数,得到目标时间间隔。
关于前述预设时间间隔,需要说明的是,第一节点可以从第二节点处获取该预设时间间隔。作为一种实例,第一节点可以向第二节点发送获取请求,第二节点接收到该获取请求之后,可以将前述预设时间间隔发送给第一节点。
作为又一种示例,考虑到报文流的乱序率是衡量负载均衡效果的一个重要指标,而报文流的乱序率也与预设时间间隔相关。故而第一节点还可以统计报文流出现非乱序的次数,而后根据报文流出现乱序的次数和报文流出现非乱序的次数,计算得到报文流的乱序率,并基于该乱序率在预设时间间隔的基准上进行调整,以得到目标时间间隔。具体地,第一节点可以比较计算得到的乱序率和预设乱序率,得到第二比较结果,而后,根据第二比较结果和预设时间间隔计算报文流的流分段的目标时间间隔。
需要说明的是,预设乱序率可以理解成负载均衡可容忍的乱序率,当计算得到的乱序率大于预设乱序率时,表示当前采用负载均衡的方式传输流分段的乱序率比较高,故而可以相应的增大流分段的时间间隔,即确定一个比前述预设时间间隔更大的时间间隔,作为目标时间间隔,以降低报文流传输的乱序率。例如,可以将预设时间间隔乘以一个大于1的系数,得到目标时间间隔。当计算得到的乱序率小于预设乱序率时,表示当前采用负载均衡的方式传输流分段的乱序率比较低,故而可以相应的减小流分段的时间间隔,即在确定一个比前述预设时间间隔更小的时间间隔,作为目标时间间隔,以进一步提升负载均衡的效果。例如,可以将预设时间间隔乘以一个小于1的系数,得到目标时间间隔。
需要说明的是,第一节点统计在报文流出现非乱序的次数在具体实现时,可以为当前述步骤104确定的结果为报文流未出现乱序时,将出现非乱序的次数加1,否则保持出现非乱序的次数不变。报文的乱序率,可以通过计算出现乱序的次数与报文总数的比值得到,其中,报文总数为出现乱序的次数与出现非乱序的次数的和。
此外,可以理解的是,第一节点在单位时间内接收到的流分段的数目越高,说明第二节点在将报文流划分为多个流分段所采用的预设时间间隔越小,也就意味着报文流出现乱序的可能性较高。反之亦然。所以,当报文流出现乱序的次数较高,且第一节点在单位时间内接收到的流分段的数目也较高,则可以降低流分段之间的时间间隔;反之亦然。
具体地,第一节点可以统计在单位时间内接收到的报文流的流分段的数目,而后比较统计得到的报文流的流分段的数目和预设数目,得到第三比较结果,并结合报文流出现乱序的次数,以及第三比较结果计算目标时间间隔。
本申请实施例不具体限定“结合报文流出现乱序的次数,以及第三比较结果计算目标时间间隔”的具体实现方式。作为一种示例,可以根据出现乱序的次数和第三比较结果,确定目标时间间隔。例如,出现乱序的次数小于预设阈值、并且,第三比较结果指示统计得到的流分段的数目小于预设数目,则可以将预设时间间隔乘以一个小于1的系数,得到目标时间间隔。否则,将预设时间间隔乘以一个大于1的系数,得到目标时间间隔。
以上对本申请实施例提供的、由第一节点执行的报文流乱序检测方法进行了介绍。以下介绍由第二节点执行的报文处理方法。
参见图3,该图为本申请实施例提供的一种报文处理方法的信令交互图。
本申请实施例提供的报文处理方法,例如可以通过如下步骤201-204实现。
步骤201:第二节点获取第一报文,第一报文中携带第一报文的流分段序号。
在本申请实施例中,第二节点可以从其它设备处获取第一报文,第二节点也可以生成第一报文。本申请实施例不做具体限定。
在本申请实施例中,该第一报文中携带第一报文的流分段序号,第一报文的流分段序号,用于指示第一报文所属的流分段的序号。具体地,第二节点可以按照一定的规则生成第一报文的流分段序号,例如,可以将第一报文的流分段序号确定为初始序号,该初始序号的值本申请实施例不做具体限定。例如,初始序号的值可以为1,也可以为其它值。在本申请实施例中,第二节点可以确定与第一报文对应的流分段转发表项,而后在第一报文对应的流分段转发表项中,携带该第一报文的流分段序号。关于流分段序号的含义以及流分段转发表项的描述,可以参考以上实施例中的相关描述部分,此处不再重复描述。
步骤202:第二节点向第一节点发送第一报文。
第二节点可以根据第一报文对应的流分段转发表项,将第一报文发送给第一节点。
步骤203:第二节点获取第二报文,第二报文中携带第二报文的流分段序号。
在本申请实施例中,第二节点可以从其它设备处获取第二报文,第二节点也可以生成第二报文。本申请实施例不做具体限定。
在本申请实施例中,该第二报文中携带第二报文的流分段序号,第二报文的流分段序号,用于指示第二报文所属的流分段的序号。在本申请实施例中,当第二报文和第一报文属于同一个报文流时,第二报文的流分段序号根据第二报文和第一报文之间的时间间隔确定。
具体地,第二节点可以根据第一报文中携带的二元组、五元组或者七元组等信息、以及第二报文中携带的二元组、五元组或者七元组等信息,确定第一报文和第二报文是否属于同一个报文流。当第二节点确定第二报文和第一报文属于同一个报文流之后,可以根据获取第一报文和获取第二报文的时间间隔,确定第一报文和第二报文是否属于同一个流分段,进一步地,根据确定结果确定第二报文的流分段序号。
第二节点确定第二报文的流分段序号之后,可以在第二报文中携带第二报文的流分段序号。与第二节点在第一报文中携带第一报文的流分段序号类似,第二节点获取到第二报文之后,可以确定与第二报文对应的流分段转发表项,而后在第二报文对应的流分段转发表项中,携带该第二报文的流分段序号。
步骤204:第二节点向第一节点发送第二报文。
第二节点可以根据第二报文对应的流分段转发表项,将第二报文发送给第一节点。第一节点接收到第一报文和第二报文之后,可以执行前述实施例提供与图2对应的报文流乱序检测方法。
可以理解的是,第一报文的流分段序号,用于指示第一报文所属的流分段的序号。第二报文的流分段序号,用于指示第二报文所属的流分段的序号。若第一报文和第二报文属于同一流分段,则第一报文的流分段序号,等于第二报文的流分段序号。换言之,第二节点在根据第二报文和所述第一报文之间的时间间隔确定第二报文的流分段序号时,若确定第二报文和第一报文之间的时间间隔小于或等于第一预设时间间隔,则第二节点将所述第一报文的流分段序号确定为第二报文的流分段序号。其中,第二报文和第一报文之间的时间间隔小于或等于第一预设时间间隔,表示第一报文和第二报文属于同一流分段。本申请实施例不具体限定第一预设时间间隔,第一预设时间间隔可以根据实际情况确定。
可以理解的是,若第二报文和第一报文之间的时间间隔大于前述第一预设时间间隔,则表示第一报文和第二报文不属于同一流分段。对于这种情况,还需考虑第一报文和第二报文是否属于同一个子流。关于子流的概念,可以参考上文的描述,此处不再重复描述。其中,第二报文和第一报文属于同一个子流,取决于第二节点获取第二报文和第一报文之间的时间间隔,与第二预设时间间隔之间的大小关系。如前文,第二报文的流分段序号携带在第二报文对应的流分段转发表项中,该流分段转发表项存储在第二节点中。当第二节点在较长时间为获取到与该转发表项匹配的报文时,会删除该流分段转发表项。换言之,若第二报文和第一报文之间的时间间隔比较大,大于第二预设时间间隔时,第二节点需要重新生成与第二报文对应的流分段转发表项,此时,第二报文和第一报文不属于同一个子流。反之,若第二报文和第一报文之间的时间间隔小于或者等于第二预设时间间隔,则确定第一报文和第二报文属于同一个子流。
在本申请实施例中,若第二报文和第一报文属于该报文流的同一个子流,则第二报文的流分段序号可以根据第一报文的流分段序号确定。具体地第二节点可以根据第一报文的流分段序号,确定第二报文的流分段序号。具体地,第二节点可以根据第一报文的流分段序号确定一个不等于第一报文的流分段序号的值,作为第二报文的流分段序号。例如,第二节点可以采用流分段序号递增的方式,来根据第一报文的流分段序号确定第二报文的流分段序号。又如,第二节点可以采用流分段序号递减的方式,来根据第一报文的流分段序号确定第二报文的流分段序号,此处不做限定。
对于这种情况,第二节点还可以进一步在第二报文中携带第一标识,该第一标识的值用于指示第二报文与相邻的前一个报文即第一报文属于同一个子流但非同一个流分段。此处提及的第一标识,也可以携带在第二报文对应的流分段转发表项中。换言之,第二报文中还可以携带用于指示第二报文与相邻的前一个报文属于同一个子流但非同一个流分段的第一标识。
若第二报文和第一报文不属于该报文流的同一个子流,则由于第一报文的流分段序号已经被删除,第二节点无法获取第一节点对应的流分段序号,对于这种情况,在本申请实施例中,第二报文的流分段序号,可以是根据预设规则确定的。换言之,第二节点可以按照预设规则确定所述第二报文的流分段序号。本申请实施例不具体限定该预设规则,该预设规则可以根据实际情况确定。例如,可以随机生成一个序号作为第二报文对应的流分段序号。又如,可以将前述初始序号确定为第二报文对应的流分段序号。
可以理解的是,对于这种情况,由于第二报文的流分段序号和第一报文的流分段序号之间的数值关系没有规律可循,因此,第一节点基于图2所示的方法,可能不能确定出报文流是否乱序。为了使得第一节点可以准确地确定出报文流是否乱序,在本申请实施例的一种实现方式中,第二报文中还可以携带第二标识,第二标识的值用于指示第二报文属于报文流的子流的第一个流分段。具体地,第二节点可以在第二报文中携带第二标识,该第二标识的值用于指示第二报文属于报文流的子流的第一个流分段。需要说明的是,第二预设时间间隔是一个比较大的值,其大于第一预设时间间隔。第二预设时间间隔可以认为是子流的划分依据。一般而言,前一个子流中的最后一个流分段与后一个子流中的第一个流分段不会发生乱序。本申请实施例不具体限定前述第二预设时间间隔,考虑到在实际应用中,若第二节点到第一节点之间存在多条路径,而第二节点向第一节点发送给两条报文的时间间隔,大于或者等于前述多条路径中每条路径对应的时延中的最大值。则这两条报文一定不会出现乱序。因为前一条报文已经达到第一节点,而第二节点还未开始发送后一条报文。故而在本申请实施例的一种实现方式中,前述第二预设时间间隔,大于或者等于从第二节点到第一节点之间的多条路径中每条路径对应的时延中的最大值。
可以理解的是,在实际应用中,子流的第一个流分段中,可能包括多条报文。对于这种情况,在本申请实施例中,若第二节点确定第二报文属于报文流的子流的第一个流分段,则对于获取到的与第二报文之间的时间间隔小于第一预设时间间隔的其它报文,例如第三报文,第三报文中携带第三报文的流分段序号和第三标识,第三报文的流分段序号等于第二报文的流分段序号,第三标识的值指示第三报文属于报文流的子流的第一个流分段。具体地,第二节点可以将第二报文的流分段序号确定为第三报文的流分段序号,并在第三报文中携带第三报文的流分段序号。并且,第二节点在第三报文中携带指示第三报文为报文流的子流的第一个流分段的报文的第三标识。
关于前述第一标识、第二标识和第三标识,需要说明的是,其本质上可以认为是子流的第一个流分段的标识。在实际应用中,可以在表1所示的流分段转发表项的基础上新增一个字段,该字段的值用于指示当前报文是否属于报文流的子流的第一个流分段。例如,若第二报文对应的流分段转发表项中该字段的值为1,则表示第二报文属于报文流的子流的第一个流分段,若第二报文对应的流分段转发表项中该字段的值为0,则表示第二报文不属于报文流的子流的第一个流分段。相应的,若第三报文对应的流分段转发表项中该字段的值为1,则表示第三报文属于报文流的子流的第一个流分段,若第三报文对应的流分段转发表项中该字段的值为0,则表示第三报文不属于报文流的子流的第一个流分段。关于新增该字段之后的流分段转发表项,可以如下表2所示。
表2
Key | Path | FlowletSeq | Sub-flow |
其中:
Sub-flow为子流标识,前述第一标识、第二标识和第三标识都可以携带在该字段中。
Key字段、Path和FlowletSeq字段的含义,可以参考前文对于表1的解释说明部分,此处不再详述。
当然,在实际应用中,第一标识、第二标识和第三标识也可以分别对应流分段转发表项中的一个字段,亦或是携带在报文的其它字段中,本申请实施例不做具体限定,此处也不再一一列举说明。
可以理解的是,流分段是由第二节点进行划分的,而流分段的划分方式,对采用负载均衡的方式传输流分段的效果有一定的影响。故而在本申请实施例中,第二节点还可以对划分流分段的方式进行调整。具体地,第二节点可以获取报文流的流分段的目标时间间隔,并根据报文流的流分段的目标时间间隔将报文流划分为多个流分段。
本申请实施例不具体限定第二节点获取目标时间间隔的具体实现方式,作为一种示例,第二节点可以从第一节点处获取目标时间间隔。关于第一节点确定目标时间间隔的具体实现方式,可以参考以上实施例相关内容的描述部分,此处不再详述。作为又一种实例,第二节点可以自身计算得到该目标时间间隔。作为再一种示例,可以由控制器计算得到该目标时间间隔,相应的,第二节点可以从控制器出获得该目标时间间隔。
需要说明的是,第二节点和控制器计算该目标时间间隔的方式,与第一节点计算该目标时间间隔的原理是类似的。都是根据报文流出现乱序的次数计算目标时间间隔。或者根据报文流出现乱序和出现非乱序的次数计算目标时间间隔,又或者根据报文流出现乱序的次数、以及第一节点在单位时间内接收到的报文流的流分段的数目来计算目标时间间隔。只是由第二节点来计算目标时间间隔时,可以由第一节点将前述报文流出现乱序的次数发送给第二节点,由第二节点来计算得到目标时间间隔。又或者由第一节点将前述报文流出现乱序和出现非乱序的次数,发送给第二节点,由第二节点来计算得到目标时间间隔。亦或是,由第一节点将前述出现乱序的次数、以及第一节点在单位时间内接收到的报文流的流分段的数目,发送给第二节点,由第二节点来计算得到目标时间间隔。相应的,由控制器来计算目标时间间隔时,可以由第一节点将前述报文流出现乱序的次数发送给控制器,由控制器来计算得到目标时间间隔。又或者由第一节点将前述报文流出现乱序和出现非乱序的次数,发送给控制器,由控制器来计算得到目标时间间隔。亦或是,由第一节点将前述出现乱序的次数、以及第一节点在单位时间内接收到的报文流的流分段的数目,发送给控制器,由控制器来计算得到目标时间间隔。
以下分别对第二节点计算目标时间间隔和控制器计算目标时间间隔的具体实现方式,进行简单介绍,具体计算过程即原理可以参考前文第一节点计算目标时间间隔的描述部分。
首先,介绍由第二节点计算目标时间间隔的具体实现方式。
具体地,在本申请实施例的一种实现方式中,第二节点可以从第一节点处接收报文流出现乱序的次数,而后第二节点根据报文流出现乱序的次数计算报文流的流分段的目标时间间隔。
在本申请实施例的另一种实现方式中,第二节点还可以接收来自第一节点的报文流出现非乱序的次数,进一步地第二节点可以根据报文流出现乱序的次数和出现非乱序的次数计算报文流的乱序率。而后第二节点比较报文流的乱序率和预设乱序率,得到第一比较结果。最后第二节点根据第二比较结果和第一预设时间间隔计算所述报文流的流分段的目标时间间隔。此处提及的第一预设时间间隔,与前述实施例中提及的预设时间间隔是相同的概念,均指的是第二节点当前生成流分段对应的“相邻报文间的发送时间间隔”。
在本申请实施例的又一种实现方式中,第二节点获取来自第一节点的在单位时间内接收到的所述报文流的流分段的数目之后,第二节点比较报文流的流分段的数目和预设数目,得到第二比较结果。而后,第二节点根据报文流出现乱序的次数,以及第二比较结果计算所述报文流的流分段的目标时间间隔。
而后,介绍由控制器计算目标时间间隔的具体实现方式。
具体地,在本申请实施例的一种实现方式中,控制器可以从第一节点处接收报文流出现乱序的次数,而后控制器根据报文流出现乱序的次数计算报文流的流分段的目标时间间隔。
在本申请实施例的另一种实现方式中,控制器还可以接收来自第一节点的报文流出现非乱序的次数,进一步地控制器可以根据报文流出现乱序的次数和出现非乱序的次数计算报文流的乱序率。而后控制器比较报文流的乱序率和预设乱序率,得到第一比较结果。最后控制器根据第二比较结果和第一预设时间间隔计算所述报文流的流分段的目标时间间隔。此处提及的第一预设时间间隔,与前述实施例中提及的预设时间间隔是相同的概念,均指的是控制器当前生成流分段对应的“相邻报文间的发送时间间隔”。
在本申请实施例的又一种实现方式中,控制器获取来自第一节点的在单位时间内接收到的所述报文流的流分段的数目之后,控制器比较报文流的流分段的数目和预设数目,得到第二比较结果。而后,控制器根据报文流出现乱序的次数,以及第二比较结果计算所述报文流的流分段的目标时间间隔。
基于以上实施例提供的由第一节点执行的报文流乱序检测方法、由第二节点执行的报文处理方法、以及由控制器执行的报文处理方法,本申请实施例还提供了对应的装置。以下结合附图介绍该装置。
参见图4,该图为本申请实施例提供的一种报文流乱序检测装置的结构示意图。
图4所示的报文流乱序检测装置400,用于执行与前述实施例中由第一节点执行的步骤,例如执行图2所示的由第一节点执行的步骤。
本申请实施例提供的报文流乱序检测装置400,例如可以具体包括:第一接收单元401、第二接收单元402、比较单元403和乱序确认单元404。
第一接收单元401,用于接收来自第二节点的第一报文,所述第一报文包括所述第一报文的流分段序号;
第二接收单元402,用于在接收到所述第一报文之后,接收来自所述第二节点的第二报文,所述第二报文包括所述第二报文的流分段序号,所述第一报文和所述第二报文属于同一条报文流;
比较单元403,用于比较所述第一报文的流分段序号和所述第二报文的流分段序号,得到第一比较结果;
乱序确认单元404,用于根据所述第一比较结果确认所述报文流是否乱序。
在一种实现方式中,所述乱序确认单元404,具体用于:
当所述第二报文的流分段序号小于所述第一报文的流分段序号时,确认所述报文流出现乱序。
在一种实现方式中,所述第二报文还包括第一标识,所述第一标识的值指示所述第二报文是否属于所述报文流的子流的第一个流分段;
所述乱序确认单元404,具体用于:
根据所述比较结果和所述第一标识的值确认所述报文流是否乱序。
在一种实现方式中,所述乱序确认单元404,具体用于:
当所述第二报文的流分段序号小于所述第一报文的流分段序号,且所述第一标识的值指示所述第二报文不属于所述报文流的子流的第一个流分段时,确认所述报文流出现乱序。
在一种实现方式中,所述装置还包括:
第一统计单元,用于统计所述报文流出现乱序的次数;
第一发送单元,用于向所述第二节点或控制器发送所述出现乱序的次数。
在一种实现方式中,所述装置还包括:
第二统计单元,用于统计在单位时间内接收到的所述报文流的流分段的数目;
第二发送单元,用于向所述第二节点或控制器发送所述报文流的流分段的数目。
在一种实现方式中,所述装置还包括:
第三统计单元,用于统计所述报文流出现乱序的次数;
第一计算单元,用于根据所述报文流出现乱序的次数计算所述报文流的流分段的目标时间间隔;
第三发送单元,用于向所述第二节点发送所述目标时间间隔。
在一种实现方式中,所述第一计算单元,具体用于:
统计所述报文流出现非乱序的次数;
获取所述第二节点对所述报文流划分为所述流分段的预设时间间隔;
根据所述报文流出现乱序的次数和所述出现非乱序的次数计算所述报文流的乱序率;
比较所述报文流的乱序率和预设乱序率,得到第二比较结果;
根据所述第二比较结果和预设时间间隔计算所述报文流的流分段的目标时间间隔。
在一种实现方式中,所述第一计算单元,具体用于:
统计在单位时间内接收到的所述报文流的流分段的数目;
比较所述报文流的流分段的数目和预设数目,得到第三比较结果;
根据所述报文流出现乱序的次数,以及所述第三比较结果计算所述报文流的流分段的目标时间间隔。
由于所述装置400是与以上方法实施例提供的、由第一节点执行的报文流乱序检测方法对应的装置,所述装置400的各个单元的具体实现,均与以上方法实施例为同一构思,因此,关于所述装置400的各个单元的具体实现,可以参考以上方法实施例中、由第一节点执行的报文流乱序检测方法的描述部分,此处不再赘述。
参见图5,该图为本申请实施例提供的一种报文处理装置的结构示意图。
图5所示的报文处理装置500,用于执行与前述实施例中由第二节点执行的步骤,例如执行图3所示的由第二节点执行的步骤。
本申请实施例提供的报文处理装置500,例如可以具体包括:第一获取单元501、第一发送单元502、第二获取单元503和第二发送单元504。
第一获取单元501,用于获取第一报文,所述第一报文中携带所述第一报文的流分段序号,所述第一报文的流分段序号指示所述第一报文所属的流分段的序号;
第一发送单元502,用于向第一节点发送所述第一报文;
第二获取单元503,用于在获取所述第一报文之后,获取第二报文,所述第二报文中携带所述第二报文的流分段序号,所述第二报文的流分段序号指示所述第二报文所属的流分段的序号;当所述第二报文和所述第一报文属于同一个报文流时,所述第二报文的流分段序号根据所述第二报文和所述第一报文之间的时间间隔确定;
第二发送单元504,用于向所述第一节点发送所述第二报文。
在一种实现方式中,其特征在于,
当所述第二报文和所述第一报文之间的时间间隔小于或等于第一预设时间间隔,则所述第二报文的流分段序号为所述第一报文的流分段序号。
在一种实现方式中,
当所述第二报文和所述第一报文之间的时间间隔大于第一预设时间间隔且小于第二预设时间间隔,则所述第二报文的流分段序号根据所述第二报文的流分段序号确定,所述第二报文的流分段序号不等于所述第一报文的流分段序号。
在一种实现方式中,
所述第二报文中还携带第一标识,所述第一标识的值用于指示所述第二报文与相邻的前一个报文属于同一个子流但非同一个流分段。
在一种实现方式中,
当所述第二报文和所述第一报文之间的时间间隔大于或等于第二预设时间间隔,则所述第二报文的流分段序号按照预设规则确定;
所述第二报文中还携带第二标识,所述第二标识的值用于指示所述第二报文为所述报文流的子流的第一个流分段的报文。
在一种实现方式中,所述装置还包括:
第三获取单元,用于在获取所述第二报文之后,获取第三报文,所述第三报文和所述第二报文属于同一个报文流,所述第三报文中携带所述第三报文的流分段序号和第三标识;
当所述第二节点获取所述第三报文和所述第二报文的时间间隔小于或等于第一预设时间间隔,则所述第三报文的流分段序号与所述第二报文的流分段序号相同,所述第三标识的值指示所述第三报文为所述报文流的子流的第一个流分段的报文,所述第一预设时间间隔小于所述第二预设时间间隔;
第三发送单元,用于向所述第一节点发送所述第三报文。
在一种实现方式中,所述装置还包括:
第四获取单元,用于获取所述报文流的流分段的目标时间间隔;
流分段划分单元,用于根据所述报文流的流分段的目标时间间隔将所述报文流划分为多个流分段。
在一种实现方式中,所述第四获取单元,具体用于:
接收来自第一节点的所述报文流出现乱序的次数;
根据所述报文流出现乱序的次数计算所述报文流的流分段的目标时间间隔。
在一种实现方式中,所述根据所述报文流出现乱序的次数计算所述报文流的流分段的目标时间间隔包括:
接收来自第一节点的所述报文流出现非乱序的次数;
根据所述报文流出现乱序的次数和所述出现非乱序的次数计算所述报文流的乱序率;
比较所述报文流的乱序率和预设乱序率,得到第一比较结果;
根据所述第一比较结果和所述第一预设时间间隔计算所述报文流的流分段的目标时间间隔。
在一种实现方式中,所述根据所述报文流出现乱序的次数计算所述报文流的流分段的目标时间间隔包括:
获取来自所述第一节点的在单位时间内接收到的所述报文流的流分段的数目;
点比较所述报文流的流分段的数目和预设数目,得到第二比较结果;
根据所述报文流出现乱序的次数,以及所述第二比较结果计算所述报文流的流分段的目标时间间隔。
由于所述装置500是与以上方法实施例提供的、由第二节点执行的报文处理方法对应的装置,所述装置500的各个单元的具体实现,均与以上方法实施例为同一构思。因此,关于所述装置500的各个单元的具体实现,可以参考以上方法实施例中、由第二节点执行的报文处理方法的描述部分,此处不再赘述。
参见图6,该图为本申请实施例提供的一种报文处理装置的结构示意图。
图6所示的报文处理装置600,用于执行与前述实施例中由控制器执行的步骤,例如执行计算目标时间间隔的步骤。
本申请实施例提供的报文处理装置600,例如可以具体包括:获取单元601、计算单元602和发送单元603。
获取单元601,用于获取第一节点接收的报文流出现乱序的次数;
计算单元602,用于根据所述报文流出现乱序的次数计算所述报文流的流分段的目标时间间隔;
发送单元603,用于向第二节点发送所述目标时间间隔,所述目标时间间隔用于将所述报文流划分为多个流分段。
在一种实现方式中,所述计算单元602,具体用于:
获取第一节点接收的报文流出现非乱序的次数;
获取所述第二节点对所述报文流划分为所述流分段的预设时间间隔;
根据所述报文流出现乱序的次数和出现非乱序的次数计算所述报文流的乱序率;
比较所述报文流的乱序率和预设乱序率,得到第一比较结果;
根据所述第一比较结果和预设时间间隔计算所述报文流的流分段的目标时间间隔。
在一种实现方式中,所述计算单元602,具体用于:
获取所述第一节点在单位时间内接收到的所述报文流的流分段的数目;
比较所述报文流的流分段的数目和预设数目,得到第二比较结果;
根据所述报文流出现乱序的次数,以及所述第二比较结果计算所述报文流的流分段的目标时间间隔。
由于所述装置600是与以上方法实施例提供的、由控制器执行的步骤对应的装置,所述装置600的各个单元的具体实现,均与以上方法实施例为同一构思。因此,关于所述装置600的各个单元的具体实现,可以参考以上方法实施例中、由控制器执行的步骤的描述部分,此处不再赘述。
相应的,本申请实施例还提供了与乱序报文检测装置400对应的乱序报文检测设备,该乱序报文检测设备包括处理器和存储器;所述存储器,用于存储指令;所述处理器,用于执行所述存储器中的所述指令,执行以上方法实施例中提供的、由第一节点执行的乱序报文流检测方法。
本申请实施例还提供了一种与报文处理装置500对应的报文处理设备,该报文处理设备包括处理器和存储器;所述存储器,用于存储指令;所述处理器,用于执行所述存储器中的所述指令,执行以上方法实施例中提供的、由第二节点执行的报文处理方法。
本申请实施例还提供了一种与报文处理装置600对应的报文处理设备,该报文处理设备包括处理器和存储器;所述存储器,用于存储指令;所述处理器,用于执行所述存储器中的所述指令,执行以上方法实施例中提供的、由控制器执行的报文处理方法。
需要说明的是,前述与乱序报文检测装置400对应的乱序报文检测设备、与报文处理装置500对应的报文处理设备、以及与报文处理装置600对应的报文处理设备,其硬件结构均可以采用如图7所示的结构。图7为本申请实施例提供的一种设备的结构示意图。
请参阅图7所示,设备700包括:处理器710、通信接口720和和存储器730。其中设备700中的处理器710的数量可以一个或多个,图7中以一个处理器为例。本申请实施例中,处理器710、通信接口720和存储器730可通过总线系统或其它方式连接,其中,图7中以通过总线系统740连接为例。
处理器710可以是中央处理器(central processing unit,CPU),网络处理器(network processor,NP)或者CPU和NP的组合。处理器710还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路(application-specific integrated circuit,ASIC),可编程逻辑器件(programmable logic device,PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(complex programmable logic device,CPLD),现场可编程逻辑门阵列(field-programmable gate array,FPGA),通用阵列逻辑(generic array logic,GAL)或其任意组合。
存储器730可以包括易失性存储器(英文:volatile memory),例如随机存取存储器(random-access memory,RAM);存储器730也可以包括非易失性存储器(英文:non-volatile memory),例如快闪存储器(英文:flash memory),硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD);存储器730还可以包括上述种类的存储器的组合。
存储器730可以存储前述实施例提及的报文流出现乱序的次数、报文流出现非乱序的次数、第一节点在单位时间内接收到的报文流的流分段的数目、以及目标时间间隔等等。
可选地,存储器730存储有操作系统和程序、可执行模块或者数据结构,或者它们的子集,或者它们的扩展集,其中,程序可包括各种操作指令,用于实现各种操作。操作系统可包括各种系统程序,用于实现各种基础业务以及处理基于硬件的任务。处理器710可以读取存储器730中的程序,实现本申请实施例提供的数据采集方法。
总线系统740可以是外设部件互连标准(peripheral component interconnect,PCI)总线或扩展工业标准结构(extended industry standard architecture,EISA)总线等。总线系统740可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
本申请实施例还提供了一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行以上方法实施例提供的、由第一节点执行的报文流乱序检测方法。
本申请实施例还提供了一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行以上方法实施例提供的、由第二节点执行的报文处理方法。
本申请实施例还提供了一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行以上方法实施例提供的、由控制器执行的报文处理方法。
本申请实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行以上方法实施例提供的、由第一节点执行的报文流乱序检测方法。
本申请实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行以上方法实施例提供的、由第二节点执行的报文处理方法。
本申请实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行以上方法实施例提供的、由控制器执行的报文处理方法。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑模块划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要获取其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各模块单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件模块单元的形式实现。
所述集成的单元如果以软件模块单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (45)
1.一种报文流乱序检测方法,其特征在于,所述方法包括:
第一节点接收来自第二节点的第一报文,所述第一报文包括所述第一报文的流分段序号;
在接收到所述第一报文之后,所述第一节点接收来自所述第二节点的第二报文,所述第二报文包括所述第二报文的流分段序号,所述第一报文和所述第二报文属于同一条报文流;
所述第一节点比较所述第一报文的流分段序号和所述第二报文的流分段序号,得到第一比较结果;
所述第一节点根据所述第一比较结果确认所述报文流是否乱序。
2.根据权利要求1所述的方法,其特征在于,所述第一节点根据所述比较结果确认所述报文流是否乱序包括:
当所述第二报文的流分段序号小于所述第一报文的流分段序号时,所述第一节点确认所述报文流出现乱序。
3.根据权利要求1或2所述的方法,其特征在于,所述第二报文还包括第一标识,所述第一标识的值指示所述第二报文是否属于所述报文流的子流的第一个流分段;
所述第一节点根据所述比较结果确认所述报文流是否乱序包括:
所述第一节点根据所述比较结果和所述第一标识的值确认所述报文流是否乱序。
4.根据权利要求3所述的方法,其特征在于,所述第一节点根据所述比较结果和所述第一标识的值确认所述报文流是否乱序包括:
当所述第二报文的流分段序号小于所述第一报文的流分段序号,且所述第一标识的值指示所述第二报文不属于所述报文流的子流的第一个流分段时,所述第一节点确认所述报文流出现乱序。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述方法还包括:
所述第一节点统计所述报文流出现乱序的次数,并向所述第二节点或控制器发送所述出现乱序的次数。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
所述第一节点统计在单位时间内接收到的所述报文流的流分段的数目,并向所述第二节点或控制器发送所述报文流的流分段的数目。
7.根据权利要求1-4任一项所述的方法,其特征在于,所述方法还包括:
所述第一节点统计所述报文流出现乱序的次数;
所述第一节点根据所述报文流出现乱序的次数计算所述报文流的流分段的目标时间间隔;
所述第一节点向所述第二节点发送所述目标时间间隔。
8.根据权利要求7所述的方法,其特征在于,所述第一节点根据所述报文流出现乱序的次数计算所述报文流的流分段的时间间隔包括:
所述第一节点统计所述报文流出现非乱序的次数;
所述第一节点获取所述第二节点对所述报文流划分为所述流分段的预设时间间隔;
所述第一节点根据所述报文流出现乱序的次数和所述出现非乱序的次数计算所述报文流的乱序率;
所述第一节点比较所述报文流的乱序率和预设乱序率,得到第二比较结果;
所述第一节点根据所述第二比较结果和预设时间间隔计算所述报文流的流分段的目标时间间隔。
9.根据权利要求7所述的方法,其特征在于,所述第一节点根据所述报文流出现乱序的次数和计算所述报文流的流分段的目标时间间隔包括:
所述第一节点统计在单位时间内接收到的所述报文流的流分段的数目;
所述第一节点比较所述报文流的流分段的数目和预设数目,得到第三比较结果;
所述第一节点根据所述报文流出现乱序的次数,以及所述第三比较结果计算所述报文流的流分段的目标时间间隔。
10.一种报文处理方法,其特征在于,所述方法包括:
第二节点获取第一报文,所述第一报文中携带所述第一报文的流分段序号,所述第一报文的流分段序号指示所述第一报文所属的流分段的序号;
所述第二节点向第一节点发送所述第一报文;
在获取所述第一报文之后,所述第二节点获取第二报文,所述第二报文中携带所述第二报文的流分段序号,所述第二报文的流分段序号指示所述第二报文所属的流分段的序号;当所述第二报文和所述第一报文属于同一个报文流时,所述第二报文的流分段序号根据所述第二报文和所述第一报文之间的时间间隔确定;
所述第二节点向所述第一节点发送所述第二报文。
11.根据权利要求10所述的方法,其特征在于,
当所述第二报文和所述第一报文之间的时间间隔小于或等于第一预设时间间隔,则所述第二报文的流分段序号为所述第一报文的流分段序号。
12.根据权利要求10所述的方法,其特征在于,
当所述第二报文和所述第一报文之间的时间间隔大于第一预设时间间隔且小于第二预设时间间隔,则所述第二报文的流分段序号根据所述第二报文的流分段序号确定,所述第二报文的流分段序号不等于所述第一报文的流分段序号。
13.根据权利要求12所述的方法,其特征在于,
所述第二报文中还携带第一标识,所述第一标识的值用于指示所述第二报文与相邻的前一个报文属于同一个子流但非同一个流分段。
14.根据权利要求10所述的方法,其特征在于,
当所述第二报文和所述第一报文之间的时间间隔大于或等于第二预设时间间隔,则所述第二报文的流分段序号按照预设规则确定;
所述第二报文中还携带第二标识,所述第二标识的值用于指示所述第二报文为所述报文流的子流的第一个流分段的报文。
15.根据权利要求14所述的方法,其特征在于,
在获取所述第二报文之后,所述第二节点获取第三报文,所述第三报文和所述第二报文属于同一个报文流,所述第三报文中携带所述第三报文的流分段序号和第三标识;
当所述第二节点获取所述第三报文和所述第二报文的时间间隔小于或等于第一预设时间间隔,则所述第三报文的流分段序号与所述第二报文的流分段序号相同,所述第三标识的值指示所述第三报文为所述报文流的子流的第一个流分段的报文,所述第一预设时间间隔小于所述第二预设时间间隔;
所述第二节点向所述第一节点发送所述第三报文。
16.根据权利要求10-15任一项所述的方法,其特征在于,所述方法还包括:
所述第二节点获取所述报文流的流分段的目标时间间隔,并根据所述报文流的流分段的目标时间间隔将所述报文流划分为多个流分段。
17.根据权利要求16所述的方法,其特征在于,所述第二节点获取所述报文流的流分段的目标时间间隔包括:
所述第二节点接收来自第一节点的所述报文流出现乱序的次数;
所述第二节点根据所述报文流出现乱序的次数计算所述报文流的流分段的目标时间间隔。
18.根据权利要求17所述的方法,其特征在于,所述第二节点根据所述报文流出现乱序的次数计算所述报文流的流分段的目标时间间隔包括:
所述第二节点接收来自第一节点的所述报文流出现非乱序的次数;
所述第二节点根据所述报文流出现乱序的次数和所述出现非乱序的次数计算所述报文流的乱序率;
所述第二节点比较所述报文流的乱序率和预设乱序率,得到第一比较结果;
所述第二节点根据所述第一比较结果和所述第一预设时间间隔计算所述报文流的流分段的目标时间间隔。
19.根据权利要求17所述的方法,其特征在于,所述第二节点根据所述报文流出现乱序的次数计算所述报文流的流分段的目标时间间隔包括:
所述第二节点获取来自所述第一节点的在单位时间内接收到的所述报文流的流分段的数目;
所述第二节点比较所述报文流的流分段的数目和预设数目,得到第二比较结果;
所述第二节点根据所述报文流出现乱序的次数,以及所述第二比较结果计算所述报文流的流分段的目标时间间隔。
20.一种报文处理方法,其特征在于,所述方法包括:
控制器获取第一节点接收的报文流出现乱序的次数;
所述控制器根据所述报文流出现乱序的次数计算所述报文流的流分段的目标时间间隔;
所述控制器向第二节点发送所述目标时间间隔,所述目标时间间隔用于将所述报文流划分为多个流分段。
21.根据权利要求20所述的方法,其特征在于,所述控制器根据所述报文流出现乱序的次数计算所述报文流的流分段的目标时间间隔包括:
所述控制器获取第一节点接收的报文流出现非乱序的次数;
所述控制器获取所述第二节点对所述报文流划分为所述流分段的预设时间间隔;
所述控制器根据所述报文流出现乱序的次数和出现非乱序的次数计算所述报文流的乱序率;
所述控制器比较所述报文流的乱序率和预设乱序率,得到第一比较结果;
所述控制器根据所述第一比较结果和预设时间间隔计算所述报文流的流分段的目标时间间隔。
22.根据权利要求20所述的方法,其特征在于,所述控制器根据所述报文流出现乱序的次数计算所述报文流的流分段的目标时间间隔包括:
所述控制器获取所述第一节点在单位时间内接收到的所述报文流的流分段的数目;
所述控制器比较所述报文流的流分段的数目和预设数目,得到第二比较结果;
所述控制器根据所述报文流出现乱序的次数,以及所述第二比较结果计算所述报文流的流分段的目标时间间隔。
23.一种报文流乱序检测装置,其特征在于,所述装置包括:
第一接收单元,用于接收来自第二节点的第一报文,所述第一报文包括所述第一报文的流分段序号;
第二接收单元,用于在接收到所述第一报文之后,接收来自所述第二节点的第二报文,所述第二报文包括所述第二报文的流分段序号,所述第一报文和所述第二报文属于同一条报文流;
比较单元,用于比较所述第一报文的流分段序号和所述第二报文的流分段序号,得到第一比较结果;
乱序确认单元,用于根据所述第一比较结果确认所述报文流是否乱序。
24.根据权利要求23所述的装置,其特征在于,所述乱序确认单元,具体用于:
当所述第二报文的流分段序号小于所述第一报文的流分段序号时,确认所述报文流出现乱序。
25.根据权利要求23或24所述的装置,其特征在于,所述第二报文还包括第一标识,所述第一标识的值指示所述第二报文是否属于所述报文流的子流的第一个流分段;
所述乱序确认单元,具体用于:
根据所述比较结果和所述第一标识的值确认所述报文流是否乱序。
26.根据权利要求25所述的装置,其特征在于,所述乱序确认单元,具体用于:
当所述第二报文的流分段序号小于所述第一报文的流分段序号,且所述第一标识的值指示所述第二报文不属于所述报文流的子流的第一个流分段时,确认所述报文流出现乱序。
27.根据权利要求23-26任一项所述的装置,其特征在于,所述装置还包括:
第一统计单元,用于统计所述报文流出现乱序的次数;
第一发送单元,用于向所述第二节点或控制器发送所述出现乱序的次数。
28.根据权利要求27所述的装置,其特征在于,所述装置还包括:
第二统计单元,用于统计在单位时间内接收到的所述报文流的流分段的数目;
第二发送单元,用于向所述第二节点或控制器发送所述报文流的流分段的数目。
29.根据权利要求23-26任一项所述的装置,其特征在于,所述装置还包括:
第三统计单元,用于统计所述报文流出现乱序的次数;
第一计算单元,用于根据所述报文流出现乱序的次数计算所述报文流的流分段的目标时间间隔;
第三发送单元,用于向所述第二节点发送所述目标时间间隔。
30.根据权利要求28所述的装置,其特征在于,所述第一计算单元,具体用于:
统计所述报文流出现非乱序的次数;
获取所述第二节点对所述报文流划分为所述流分段的预设时间间隔;
根据所述报文流出现乱序的次数和所述出现非乱序的次数计算所述报文流的乱序率;
比较所述报文流的乱序率和预设乱序率,得到第二比较结果;
根据所述第二比较结果和预设时间间隔计算所述报文流的流分段的目标时间间隔。
31.根据权利要求28所述的装置,其特征在于,所述第一计算单元,具体用于:
统计在单位时间内接收到的所述报文流的流分段的数目;
比较所述报文流的流分段的数目和预设数目,得到第三比较结果;
根据所述报文流出现乱序的次数,以及所述第三比较结果计算所述报文流的流分段的目标时间间隔。
32.一种报文处理装置,其特征在于,所述装置包括:
第一获取单元,用于获取第一报文,所述第一报文中携带所述第一报文的流分段序号,所述第一报文的流分段序号指示所述第一报文所属的流分段的序号;
第一发送单元,用于向第一节点发送所述第一报文;
第二获取单元,用于在获取所述第一报文之后,获取第二报文,所述第二报文中携带所述第二报文的流分段序号,所述第二报文的流分段序号指示所述第二报文所属的流分段的序号;当所述第二报文和所述第一报文属于同一个报文流时,所述第二报文的流分段序号根据所述第二报文和所述第一报文之间的时间间隔确定;
第二发送单元,用于向所述第一节点发送所述第二报文。
33.根据权利要求32所述的装置,其特征在于,
当所述第二报文和所述第一报文之间的时间间隔小于或等于第一预设时间间隔,则所述第二报文的流分段序号为所述第一报文的流分段序号。
34.根据权利要求32所述的装置,其特征在于,
当所述第二报文和所述第一报文之间的时间间隔大于第一预设时间间隔且小于第二预设时间间隔,则所述第二报文的流分段序号根据所述第二报文的流分段序号确定,所述第二报文的流分段序号不等于所述第一报文的流分段序号。
35.根据权利要求34所述的装置,其特征在于,
所述第二报文中还携带第一标识,所述第一标识的值用于指示所述第二报文与相邻的前一个报文属于同一个子流但非同一个流分段。
36.根据权利要求32所述的装置,其特征在于,
当所述第二报文和所述第一报文之间的时间间隔大于或等于第二预设时间间隔,则所述第二报文的流分段序号按照预设规则确定;
所述第二报文中还携带第二标识,所述第二标识的值用于指示所述第二报文为所述报文流的子流的第一个流分段的报文。
37.根据权利要求36所述的装置,其特征在于,所述装置还包括:
第三获取单元,用于在获取所述第二报文之后,获取第三报文,所述第三报文和所述第二报文属于同一个报文流,所述第三报文中携带所述第三报文的流分段序号和第三标识;
当所述第二节点获取所述第三报文和所述第二报文的时间间隔小于或等于第一预设时间间隔,则所述第三报文的流分段序号与所述第二报文的流分段序号相同,所述第三标识的值指示所述第三报文为所述报文流的子流的第一个流分段的报文,所述第一预设时间间隔小于所述第二预设时间间隔;
第三发送单元,用于向所述第一节点发送所述第三报文。
38.根据权利要求32-37任一项所述的装置,其特征在于,所述装置还包括:
第四获取单元,用于获取所述报文流的流分段的目标时间间隔;
流分段划分单元,用于根据所述报文流的流分段的目标时间间隔将所述报文流划分为多个流分段。
39.根据权利要求38所述的装置,其特征在于,所述第四获取单元,具体用于:
接收来自第一节点的所述报文流出现乱序的次数;
根据所述报文流出现乱序的次数计算所述报文流的流分段的目标时间间隔。
40.根据权利要求39所述的装置,其特征在于,所述根据所述报文流出现乱序的次数计算所述报文流的流分段的目标时间间隔包括:
接收来自第一节点的所述报文流出现非乱序的次数;
根据所述报文流出现乱序的次数和所述出现非乱序的次数计算所述报文流的乱序率;
比较所述报文流的乱序率和预设乱序率,得到第一比较结果;
根据所述第一比较结果和所述第一预设时间间隔计算所述报文流的流分段的目标时间间隔。
41.根据权利要求39所述的装置,其特征在于,所述根据所述报文流出现乱序的次数计算所述报文流的流分段的目标时间间隔包括:
获取来自所述第一节点的在单位时间内接收到的所述报文流的流分段的数目;
点比较所述报文流的流分段的数目和预设数目,得到第二比较结果;
根据所述报文流出现乱序的次数,以及所述第二比较结果计算所述报文流的流分段的目标时间间隔。
42.一种报文处理装置,其特征在于,所述装置包括:
获取单元,用于获取第一节点接收的报文流出现乱序的次数;
计算单元,用于根据所述报文流出现乱序的次数计算所述报文流的流分段的目标时间间隔;
发送单元,用于向第二节点发送所述目标时间间隔,所述目标时间间隔用于将所述报文流划分为多个流分段。
43.根据权利要求42所述的装置,其特征在于,所述计算单元,具体用于:
获取第一节点接收的报文流出现非乱序的次数;
获取所述第二节点对所述报文流划分为所述流分段的预设时间间隔;
根据所述报文流出现乱序的次数和出现非乱序的次数计算所述报文流的乱序率;
比较所述报文流的乱序率和预设乱序率,得到第一比较结果;
根据所述第一比较结果和预设时间间隔计算所述报文流的流分段的目标时间间隔。
44.根据权利要求42所述的装置,其特征在于,所述计算单元,具体用于:
获取所述第一节点在单位时间内接收到的所述报文流的流分段的数目;
比较所述报文流的流分段的数目和预设数目,得到第二比较结果;
根据所述报文流出现乱序的次数,以及所述第二比较结果计算所述报文流的流分段的目标时间间隔。
45.一种计算机可读存储介质,其特征在于,包括指令,当其在计算机上运行时,使得计算机执行权利要求1-22任意一项所述的方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2020/112374 WO2021052151A1 (zh) | 2019-09-16 | 2020-08-31 | 一种报文流乱序检测方法、报文处理方法及装置 |
EP20864749.5A EP4024789A4 (en) | 2019-09-16 | 2020-08-31 | METHOD FOR DETECTING AN UNORDERED MESSAGE FLOW, METHOD FOR PROCESSING MESSAGES AND ASSOCIATED DEVICE |
US17/695,169 US20220217092A1 (en) | 2019-09-16 | 2022-03-15 | Packet flow out-of-order detection method, packet processing method, and apparatus |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2019108722687 | 2019-09-16 | ||
CN201910872268 | 2019-09-16 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112511449A true CN112511449A (zh) | 2021-03-16 |
CN112511449B CN112511449B (zh) | 2022-12-30 |
Family
ID=74923684
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910944452.8A Active CN112511449B (zh) | 2019-09-16 | 2019-09-30 | 一种报文流乱序检测方法、报文处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112511449B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114285807A (zh) * | 2021-12-22 | 2022-04-05 | 中国农业银行股份有限公司 | 一种报文信息管理方法、装置、服务器和存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1859286A (zh) * | 2005-11-19 | 2006-11-08 | 华为技术有限公司 | 一种负载分担的方法 |
CN102868636A (zh) * | 2012-09-11 | 2013-01-09 | 汉柏科技有限公司 | 多核网络设备报文按流保序方法及系统 |
WO2013067377A2 (en) * | 2011-11-03 | 2013-05-10 | Qualcomm Incorporated | Multiple delivery route packet ordering |
CN104168212A (zh) * | 2014-08-08 | 2014-11-26 | 北京华为数字技术有限公司 | 发送报文的方法和装置 |
CN105591974A (zh) * | 2014-10-20 | 2016-05-18 | 华为技术有限公司 | 报文处理方法、装置及系统 |
CN108243211A (zh) * | 2016-12-24 | 2018-07-03 | 华为技术有限公司 | 一种数据传输方法及装置 |
CN108370377A (zh) * | 2015-12-11 | 2018-08-03 | 微软技术许可有限责任公司 | 虚拟专用网络聚合 |
-
2019
- 2019-09-30 CN CN201910944452.8A patent/CN112511449B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1859286A (zh) * | 2005-11-19 | 2006-11-08 | 华为技术有限公司 | 一种负载分担的方法 |
WO2013067377A2 (en) * | 2011-11-03 | 2013-05-10 | Qualcomm Incorporated | Multiple delivery route packet ordering |
CN102868636A (zh) * | 2012-09-11 | 2013-01-09 | 汉柏科技有限公司 | 多核网络设备报文按流保序方法及系统 |
CN104168212A (zh) * | 2014-08-08 | 2014-11-26 | 北京华为数字技术有限公司 | 发送报文的方法和装置 |
CN105591974A (zh) * | 2014-10-20 | 2016-05-18 | 华为技术有限公司 | 报文处理方法、装置及系统 |
CN108370377A (zh) * | 2015-12-11 | 2018-08-03 | 微软技术许可有限责任公司 | 虚拟专用网络聚合 |
CN108243211A (zh) * | 2016-12-24 | 2018-07-03 | 华为技术有限公司 | 一种数据传输方法及装置 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114285807A (zh) * | 2021-12-22 | 2022-04-05 | 中国农业银行股份有限公司 | 一种报文信息管理方法、装置、服务器和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112511449B (zh) | 2022-12-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10742532B2 (en) | Non-intrusive mechanism to measure network function packet processing delay | |
CN108141416B (zh) | 一种报文处理方法、计算设备以及报文处理装置 | |
US11902139B2 (en) | Diagnosing and resolving issues in a network using probe packets | |
CN107171882B (zh) | 检测等价多路径路由功能的方法、设备和系统 | |
KR101698648B1 (ko) | 서비스 품질의 가상화를 위한 방법 및 장치 | |
CN109067585B (zh) | 一种查询acl表项下发方法及装置 | |
CN113225253B (zh) | 一种报文转发方法及装置 | |
CN107113282A (zh) | 一种抽取数据报文的方法及装置 | |
CN111726299B (zh) | 流量均衡方法及装置 | |
EP3179687A1 (en) | Network flow information statistics method and apparatus | |
JP2015057931A (ja) | ネットワーク装置、通信システム、異常トラヒックの検出方法およびプログラム | |
US11843615B2 (en) | Attack response point selecting apparatus and attack response point selecting method | |
CN111953553A (zh) | 一种报文的检测方法、设备及系统 | |
WO2023103231A1 (zh) | 一种低速DDoS攻击检测方法、系统及相关设备 | |
WO2022247308A1 (zh) | 流量测量方法、装置及相关设备 | |
CN112511449B (zh) | 一种报文流乱序检测方法、报文处理方法及装置 | |
Ma et al. | Virtual filter for non-duplicate sampling | |
CN101159673A (zh) | 一种随机抽样方法和装置 | |
CN112787938A (zh) | 一种路由表项配置方法及装置 | |
CN116723147A (zh) | 一种基于分段路由的转发控制方法、报文转发方法及装置 | |
CN111404839A (zh) | 报文处理方法和装置 | |
US6940852B1 (en) | Probabilistic counter | |
WO2021052151A1 (zh) | 一种报文流乱序检测方法、报文处理方法及装置 | |
CN110336759B (zh) | 基于rdma的协议报文转发方法及装置 | |
CN111600798B (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 |