CN116686270A - 一种数据包排序方法及装置 - Google Patents

一种数据包排序方法及装置 Download PDF

Info

Publication number
CN116686270A
CN116686270A CN202180089046.3A CN202180089046A CN116686270A CN 116686270 A CN116686270 A CN 116686270A CN 202180089046 A CN202180089046 A CN 202180089046A CN 116686270 A CN116686270 A CN 116686270A
Authority
CN
China
Prior art keywords
data
data packet
ordering
channel
target
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.)
Pending
Application number
CN202180089046.3A
Other languages
English (en)
Inventor
唐德智
杨光宇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN116686270A publication Critical patent/CN116686270A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请提供一种数据包排序方法及装置,涉及通信技术领域,实现了不同数据流对于排序资源的共享,从而提高排序资源利用率,降低设备成本。该方法包括:接收第一数据包,并从所述第一数据包中获取第一数据流标识和第一顺序索引;当根据所述第一数据流标识和所述第一顺序索引确定所述第一数据包需要排序时,从所述至少一个排序通道中为所述第一数据流标识分配第一排序通道;将在第一时间段内接收到的所述第一数据流标识的数据包存储在所述第一排序通道中,并基于所述第一排序通道对所述第一数据流标识的数据包进行排序;当在第二时间段内未接收到所述第一数据流标识的数据包时,释放所述第一排序通道,所述第二时间段晚于所述第一时间段。

Description

一种数据包排序方法及装置 技术领域
本申请涉及通信技术领域,尤其涉及一种数据包排序方法及装置。
背景技术
随着数据中心网络的带宽和规模的不断扩大,网络中数据流的数量越来越多。为了提升数据中心网络的性能,源服务器通常会将同一数据流的多个数据包通过负载均衡方式分发到多条交换路径上,以减轻交换器的突发拥塞。但是,由于该多条交换路径的转发延时不完全相同,导致该多个数据包到达目的服务器时的顺序与其从源服务器发出时的顺序不一致。
针对上述问题,现有技术提供了一种数据包排序机制。具体的,在目的服务器中静态的为每个数据流配置一个排序通道,目的服务器将接收到同一数据流的数据包存储在对应的排序通道中,并基于该排序通道实现该数据流的数据包的排序。但是,这种方式仅适用于需要排序的数据流的数量较少的网络中,对于需要排序的数据流的数量较多的网络,如果为每个数据流配置一个排序通道,则需要大量的排序资源,从而大大增加设备成本。
发明内容
本申请提供一种数据包排序方法及装置,可以实现不同数据流对于排序资源的共享,从而提高排序资源的利用率,进而降低设备成本。
为达到上述目的,本申请采用如下技术方案:
第一方面,提供一种数据包排序方法,应用于包括至少一个排序通道的网卡中,该方法包括:接收第一数据包,并从第一数据包中获取第一数据流标识和第一顺序索引,第一数据流标识用于标识第一数据流,第一数据包是第一数据流的数据包,第一顺序索引用于指示第一数据包在第一数据流中的发送顺序,即源服务器发送第一数据流时第一数据包在第一数数据流中的顺序;当根据第一数据流标识和第一顺序索引确定第一数据包需要排序、且第一数据流标识不存在对应的排序通道时,从至少一个排序通道中为第一数据流标识分配第一排序通道;将在第一时间段内接收到的第一数据流标识的数据包(包括第一数据包)存储在所述第一排序通道中,并基于第一排序通道对第一数据流标识的数据包进行排序,可以在第一数据流标识的部分数据包到达后排序,也可以在第一数据流标识的所有数据包到达后排序;当在第二时间段内未接收到第一数据流标识的数据包时,可以认为第一数据流标识传输结束,此时可以释放第一排序通道,第二时间段晚于第一时间段。
上述技术方案中,当接收到第一数据包时,可以从第一数据包中获取第一数据流标识和第一顺序索引,并在根据第一数据流标识和第一顺序索引确定第一数据包需要排序时,为第一数据流标识分配第一排序通道,并基于第一排序通道对第一时间段内接收到的第一数据流标识的数据包进行排序;之后,若在第二时间段内未接收到第一数据流标识的数据包,则可以认为第一数据流标识传输结束,从而释放第一排序通道, 这样可以在不同的时间段内动态地将第一排序通道分配给不同的数据流标识,使得不同的时间段内不同数据流共享第一排序通道,从而大大降低了排序资源的需求量,提高排序资源的利用率,进而降低设备成本。
在第一方面的一种可能的实现方式中,根据第一数据流标识和第一顺序索引确定第一数据包需要排序,包括:根据第一数据流标识查询预设对应关系以获取第一指示信息,该预设对应关系用于指示多个数据流标识中每个数据流标识的排序期望的目标数据包的目标顺序索引,即该多个数据流标识所标识的多个数据流在同一时间段内均有数据包传输,或者该网卡在同一时间段内可以接收到该多个数据流的数据包,第一指示信息用于指示第一数据流标识的排序期望的目标数据包的目标顺序索引,第一数据流可以是该多个数据流中的任一数据流;当第一指示信息所指示的目标顺序索引与第一顺序索引不同时,确定第一数据包需要排序,比如,第一指示信息用于指示第一数据流标识的排序期望的目标数据包的目标序号。进一步的,该方法还包括:当第一数据包的第一顺序索引与该目标顺序索引相同时,即第一数据包是第一数据流标识的排序期望的目标数据包,则确定第一数据包不需要排序;此外,该网卡还可以直接输出第一数据包。上述可能的实现方式中,通过判断接收到第一数据包是否需要排序,并在需要排序时将第一数据包存储在第一排序通道中,在不需要排序时直接输出第一数据包,可以进一步降低第一排序资源占用的存储空间。
在第一方面的一种可能的实现方式中,若该预设对应关系中不存在第一指示信息,该方法还包括:当第一数据包的第一顺序索引与起始顺序索引不相同时,即第一数据包不是第一数据流标识的起始数据包,则确定第一数据包需要排序,第一顺序索引用于指示第一数据包在第一数据流中的发送顺序,该起始顺序索引是指源服务器对应的发送顺序中的第一个数据包的顺序索引;当第一顺序索引与该起始顺序索引相同时,即第一数据包是第一数据流标识的起始数据包,则确定第一数据包不需要排序,此时,该网卡还可以直接输出第一数据包。上述可能的实现方式中,通过判断第一数据包是否需要排序,并在后续确定需要排序时将第一数据包存储在第一排序通道中,在不需要排序时直接输出第一数据包,可以进一步降低第一排序资源占用的存储空间。
在第一方面的一种可能的实现方式中,当确定第一数据包不需要排序时,该方法还包括:根据第一数据包的第一顺序索引在该预设对应关系中存储用于指示第一数据流标识的排序期望的目标数据包的目标顺序索引,比如,第一指示信息用于指示第一顺序索引的下一个顺序索引;或者,在对第一数据流标识的数据包排序之后,根据排序后的数据包的最大顺序索引更新第一指示信息,比如,更新后的第一指示信息用于指示该最大顺序索引的下一个顺序索引。上述可能的实现方式中,通过在该预设对应关系中存储或更新第一指示信息,可以保证该预设对应关系的新鲜性和准确性性,从而便于后续接收到的数据包的排序判断。
在第一方面的一种可能的实现方式中,至少一个排序通道包括多个排序通道,从至少一个排序通道中为第一数据流标识分配第一排序通道,包括:从多个排序通道中为第一数据流标识分配第一排序通道,第一排序通道为该多个排序通道中未分配数据流标识的任一排序通道。上述可能的实现方式中,通过在确定第一数据包需要排序且第一数据流标识不存在对应的排序通道时分配第一排序通道,可以使得不同的时间段 内不同数据流共享第一排序通道,从而提高第一排序通道的利用率。
在第一方面的一种可能的实现方式中,基于第一排序通道对第一数据流标识的数据包进行排序,包括:当第一排序通道中包括顺序索引连续的多个数据包,该顺序索引大于目标顺序索引并与该目标顺序索引连续时,按照该顺序索引的大小关系对该多个数据包进行排序,该目标顺序索引是排序期望的目标数据包的顺序索引;进一步的,当接收到目标数据包时,该网卡可以依次输出目标数据包、排序后的多个数据包,即在输出目标数据包之后,直接输出排序后的多个数据包。上述可能的实现方式中,通过在第一排序通道中存储的多个数据包满足上述条件时对该多个数据包进行排序,可以保证该多个数据包能够尽快被输出,以避免排序通道中存储大量的数据包,这样可以降低排序通道占用的存储空间。
在第一方面的一种可能的实现方式中,该方法还包括:若在第二时间段内未接收到第一数据流标识的数据包,可以认为第一数据流标识传输结束,此时可以删除该预设对应关系中的第一指示信息。上述可能的实现方式中,若在第二时间段内未接收到第一数据流标识的数据包,则表示第一数据流传输结束,该网卡通过删除该预设对应关系中的第一指示信息,可以使得后续该网卡可以将其他数据流标识的指示信息存储在该预设对应关系中,这样可以动态地使用该预设对应关系对不同时间段内的数据流的排序进行指示,从而提高该预设对应关系的利用率。
第二方面,提供一种数据包排序装置,该装置包括:接收单元,用于接收第一数据包;确定单元,用于从第一数据包中获取第一数据流标识和第一顺序索引,并根据第一数据流标识和第一顺序索引确定第一数据包需要排序,第一数据流标识用于标识第一数据流,第一数据包是第一数据流的数据包;分配单元,用于在第一数据包需要排序且第一数据流标识不存在对应的排序通道时,从至少一个排序通道中为第一数据流标识分配第一排序通道;排序单元,用于将在第一时间段内接收到的第一数据流标识的数据包存储在第一排序通道中,并基于第一排序通道对第一数据流标识的数据包进行排序;释放单元,用于当在第二时间段内未接收到第一数据流标识的数据包时,释放第一排序通道,第二时间段晚于第一时间段。
在第二方面的一种可能的实现方式中,确定单元还用于:根据第一数据流标识查询预设对应关系以获取第一指示信息,预设对应关系用于指示同一时间段内的多个数据流标识中每个数据流标识的排序期望的目标数据包的目标顺序索引,第一指示信息用于指示第一数据流标识的排序期望的目标数据包的目标顺序索引;当第一指示信息所指示的目标顺序索引与第一顺序索引不同时,确定第一数据包需要排序。进一步的,确定单元还用于:当第一数据包的第一顺序索引与该目标顺序索引相同时,即第一数据包是第一数据流标识中排序期望的目标数据包,则确定第一数据包不需要排序;此时,该装置还可以包括:输出单元,用于输出第一数据包。
在第二方面的一种可能的实现方式中,若该预设对应关系中不存在第一指示信息,确定单元还用于:当第一数据包的第一顺序索引与起始顺序索引不相同时,即第一数据包不是第一数据流标识的起始数据包,则确定第一数据包需要排序,第一顺序索引用于指示第一数据包在第一数据流中的发送顺序,该起始顺序索引是指源服务器对应的发送顺序中的第一个数据包的顺序索引;当第一顺序索引与该起始顺序索引相同时, 即第一数据包是第一数据流标识的起始数据包,则确定第一数据包不需要排序;此时,该装置还可以包括:输出单元,用于输出第一数据包。
在第二方面的一种可能的实现方式中,确定单元还用于:当确定第一数据包不需要排序时,根据第一数据包的第一顺序索引在预设对应关系中存储用于指示第一数据流标识的排序期望的目标数据包的目标顺序索引;或者,在对第一数据流标识的数据包排序之后,根据排序后的数据包的最大顺序索引更新第一指示信息。
在第二方面的一种可能的实现方式中,至少一个排序通道包括多个排序通道,分配单元还用于:从多个排序通道中为第一数据流标识分配第一排序通道,第一排序通道为多个排序通道中未分配数据流标识的任一排序通道。
在第二方面的一种可能的实现方式中,排序单元还用于:排序单元还用于:当第一排序通道中包括顺序索引连续的多个数据包,顺序索引大于目标顺序索引并与目标顺序索引连续时,按照顺序索引的大小关系对多个数据包进行排序,目标顺序索引是排序期望的目标数据包的顺序索引。进一步的,该装置还包括:输出单元,用于在接收到目标数据包时,依次输出目标数据包、排序后的多个数据包,即在输出目标数据包之后,输出排序后的多个数据包。
在第二方面的一种可能的实现方式中,确定单元还用于:当在第二时间段内未接收到第一数据流标识的数据包时,则表示第一数据流传输结束,删除预设对应关系中的第一指示信息。
在本申请的又一方面,提供一种芯片,该芯片包括上述第二方面或者第二方面的任一种可能的实现方式所提供的数据包排序装置,比如,该芯片为网卡。
在本申请的又一方面,提供一种服务器,该服务器包括网卡和处理器,该网卡用于向该处理器发送数据包,该网卡包括上述第二方面或者第二方面的任一种可能的实现方式所提供的数据包排序装置。
在本申请的又一方面,提供一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当该指令在设备上运行时,使得该设备执行上述第一方面或者第一方面的任一种可能的实现方式所提供的数据包排序方法。
在本申请的又一方面,提供一种计算机程序产品,当该计算机程序产品在设备上运行时,使得该设备执行上述第一方面或者第一方面的任一种可能的实现方式所提供的数据包排序方法。
可以理解地,上述提供的任一种数据包排序装置、服务器、计算机存储介质或者计算机程序产品均用于执行上文所提供的数据包排序方法,因此,其所能达到的有益效果可参考上文所提供的数据包排序方法中的有益效果,此处不再赘述。
附图说明
图1为本申请实施例提供的一种数据中心网络的结构示意图;
图2为本申请实施例提供的一种服务器的结构示意图;
图3为本申请实施例提供的一种数据包排序方法的流程示意图;
图4为本申请实施例提供的另一种数据包排序方法的流程示意图;
图5为本申请实施例提供的一种网卡的结构示意图;
图6为本申请实施例提供的一种数据包排序装置的结构示意图;
图7为本申请实施例提供的另一种数据包排序装置的结构示意图。
具体实施方式
本申请中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。另外,本申请实施例采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。例如,第一阈值和第二阈值仅仅是为了区分不同的阈值,并不对其先后顺序进行限定。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定。
需要说明的是,本申请中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其他实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
图1为本申请实施例提供的一种数据中心网络的结构示意图。参见图1,该数据中心网络中包括接入层、汇聚层和核心层,接入层中包括多个接入(access)节点,汇聚层中包括多个汇聚(aggregation)节点,核心层包括多个核心(core)节点,且接入节点的下行端口与需要进行数据流量交换的服务器连接,接入节点的上行端口与汇聚节点的下行端口连接,汇聚节点的上行端口与核心节点连接。其中,汇聚层和接入层可以被划分为多个群组(pod),一个pod中可以包括多个接入节点和多个汇聚节点,且每个接入节点与多个汇聚节点全连接。与同一个汇聚节点连接的多个核心节点可以称为一个核心平面(plane),每个核心平面可以分别与各群组中的不同汇聚节点连接。图1中仅以该网络包括3个pod,一个pod内包括3个接入节点和4个汇聚节点,每个核心平面包括两个核心节点为例进行说明。图1中的接入节点可以表示为A1~A9,汇聚节点可以表示为B1~B12,核心节点可以表示为C1~C8,3个pod分别表示为pod1~pod3。
其中,当一个pod内不同接入节点连接的服务器之间进行数据流量交换时,可以通过与接入节点在同一pod内的汇聚节点实现,比如,接入节点A1和接入节点A3连接的服务器需要进行数据流量交换,则接入节点A1可以通过汇聚节点B1将其连接的服务器的数据流发送给接入节点A3。当不同pod内的接入节点连接的服务器之间进行数据流量交换时,可以通过与接入节点在同一pod内的汇聚节点、以及与汇聚节点连接的核心节点实现,比如,接入节点A1和接入节点A5连接的服务器需要进行数据流量交换,则接入节点A1可以将其连接的服务器的数据流发送给汇聚节点B1,由汇聚节点B1转发给核心节点C1,再由C1通过汇聚节点B5发送给接入节点A5。
通常,源服务器按照负载均衡(load balance,LB)的方式进行数据流量的交换时,该负载均衡可以包括按照包(packet)均衡的方式。其中,按照包均衡的方式是指将一个数据流的多个数据包按照一定的负载分配原则分发在多条发送路径中,即同一数 据流的多个数据包通过不同的发送路径传输至目的服务器。在按照包均衡发送数据包的方式下,由于该多条路径的转发延时不完全相同,导致该多个数据包到达目的服务器时的顺序与其从源服务器发出时的顺序不一致,从而目的服务器需要对从不同路径接收到的数据包进行排序,以得到该数据流中的数据包的初始顺序。比如,在图1所示的数据中心网络中,若接入节点A2所接入的服务器为源服务器,接入节点A5所接入的服务器为目的服务器,则从源服务器到目的服务器总共包括8条路径,源服务器按照包均衡的方式将一个数据流的数据包传输至接入节点A2,接入节点A2可以将该数据流的数据包均匀地分发给同一pod内的汇聚节点B1~B4,B1将其接收到的数据包均匀分发给与其连接的核心节点C1和C2,由C1和C2将其发送给B5;同理,B2、B3和B4将数据包对应转发送至B6、B7和B8;然后,B5、B6、B7和B8将接收到的数据包发送给接入节点A5,A5将接收到的数据包传输至目的服务器。本文中的数据包排序可以是指对按照包均衡的方式发送的数据流的数据包进行排序。
需要说明的是,上述图1所示的数据中心网络仅为示例性的,对于数据中心网络中包括的pod的数量、每个pod中汇聚节点和接入节点的数量、网络包括的核心平面的数量、以及每个核心平面中核心节点的数量,本申请实施例不作具体限定。另外,网络中不同核心平面包括核心节点的数量可以相同,也可以不同,以及不同pod中汇聚节点和接入节点的数量可以相同,也可以不同,本申请实施例对此不作具体限制。
图2为申请实施例提供的一种服务器的结构示意图。该服务器可以包括处理器201、存储器202和网卡203。其中,处理器201通过运行或执行存储在存储器内的软件程序和/或模块,以及调用存储在存储器内的数据,执行该服务器的各种功能。处理器可以包括一个或者多个模块,比如,包括中央处理单元(central processing unit,CPU)和网络处理器(network processor,NP),该网络处理器可以由专用集成电路(application specific integrated circuit,ASIC)或现场可编程门阵列(field programmable gate array,FPGA)芯片实现。存储器202可用于存储数据、软件程序以及模块,可以由任何类型的易失性或非易失性存储器或者它们的组合实现,如静态随机存取存储器,电可擦除可编程只读存储器,可擦除可编程只读存储器,可编程只读存储器,只读存储器,磁存储器,快闪存储器,磁盘或光盘等。网卡203可以为网络接口控制器(network interface controller,NIC),该服务器可以通过网卡203向数据中心网络中的接入节点发送数据流,也可以通过该网卡203接收该数据中心网络中的接入节点发送的数据。
本领域技术人员可以理解,图2示出的服务器的结构并不构成对其结构的限定。在实际应用中,该服务器还可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
图3为本申请实施例提供的一种数据包排序方法的流程示意图,该方法可应用于图2所示的服务器的网卡中,该方法包括以下几个步骤。
S301:接收第一数据包,并从第一数据包中获取第一数据流标识和第一顺序索引。
其中,该网卡可以为从源服务器至目标服务器的传输路径中的目的服务器中的网卡,即该网卡是用于接收数据流的服务器中的网卡,该数据流可以是按照五元组划分的数据流,比如,将五元组相同的数据包作为同一个数据流的数据包,这里的五元组是指源IP地址、源端口、目的IP地址、目的端口和协议号。该网卡可用于接收一个 或者多个数据流,该一个或者多个数据流可以是由一个或者多个源服务器按照负载均衡中的包均衡的方式发送的数据流。第一数据流标识用于表示第一数据流,第一数据流可以是该一个或者多个数据流中的任一数据流。第一顺序索引用于指示第一数据包的发送顺序,即第一数据流的源服务器发送第一数据流时第一数据包在第一数据流中的发送序。
具体的,当第一数据流的源服务器按照包均衡的方式通过数据中心网络向目的服务器发送第一数据流时,第一数据流中的多个数据包通过不同的传输路径被传输至该网卡,第一数据包可以为该多个数据包中的任一数据包,从而该网卡可以接收到第一数据包,并从第一数据包中获取第一数据流标识和第一顺序索引,比如,第一数据包中包括流标识标志位和索引标志位,则该网卡可以根据该流标识标志位和索引标志位分别确定第一数据流标识和第一顺序索引。
S302:根据第一数据流标识和第一顺序索引确定第一数据包是否需要排序。若确定需要排序则执行S303a,若确定不需要排序则执行S303b。
在一种可能的实施例中,根据第一数据流标识查询预设对应关系以获取第一指示信息,该预设对应关系用于指示多个数据流标识中每个数据流标识的排序期望的目标数据包的目标顺序索引,第一指示信息用于指示第一数据流标识的排序期望的目标数据包的目标顺序索引;根据第一指示信息确定第一数据包是否需要排序,即根据第一指示信息所指示的目标顺序索引与第一数据包的第一顺序索引是否相同来确定第一数据包是否需要排序。为便于描述,下文中将排序期望的目标数据包的目标顺序索引称为排序信息。
其中,在该预设对应关系中,同一时间段内的多个数据流标识可以是指在某一时间段内并发的多个数据流的标识,即该多个数据流在同一时间段内均有数据包传输,或者该网卡在同一时间段内可以接收到该多个数据流的数据包。
另外,该预设对应关系可以是事先设置的用于存储数据流标识与其排序期望的目标数据包的目标顺序索引之间的对应关系。该网卡中可以集成有缓存器或存储器,事先可以在该缓存器或存储器中配置一段存储空间用于存储该预设对应关系。该预设对应关系的容量也可以事先进行设置,比如,该预设对应关系可以被设置为用于存储32000(32K)个数据流标识中每个数据流标识与其数据包的排序信息之间的对应关系。
再者,一个数据流标识的数据包的排序信息可以是指该数据流标识的数据包中当前排序期望的目标数据包的目标顺序索引,从而第一数据流标识的数据包的排序信息可以是指第一数据流标识的数据包中当前排序期望的目标数据包的目标顺序索引。比如,第一数据流标识为Flow_ID1,Flow_ID1中顺序索引为No.1和No.2的数据包已经按序输出(比如,该网卡已输出至目的服务器的处理器),则当前排序期望的目标数据包的目标顺序索引为No.3。
具体的,该网卡可以根据第一数据流标识查询该预设对应关系,若该预设对应关系中包括第一数据流标识对应的数据包的排序信息,则该网卡根据第一数据流标识可以从该预设对应关系获取到用于指示第一数据流标识对应的数据包的排序信息的第一指示信息。第一指示信息用于指示第一数据流标识中排序期望的目标数据包的目标顺序索引,若第一数据包的第一顺序索引与该目标顺序索引不相同,确定第一数据包需 要排序;若第一顺序索引与该目标顺序索引相同,确定第一数据包不需要排序,从而可以直接将第一数据包输出至目的服务器的处理器中。比如,第一数据流标识为Flow_ID1,Flow_ID1中顺序索引为No.1和No.2的数据包已经按序输出(比如,该网卡已输出至目的服务器的处理器),则当前排序期望的目标数据包的目标顺序索引为No.3,从而第一指示信息可用于指示No.3。
可选的,在根据第一数据流标识查询预设对应关系之后,若该预设对应关系中不存在第一指示信息,该网卡还可以根据第一数据包的第一顺序索引确定第一数据包是否需要排序。其中,一个数据包的顺序索引用于指示该数据包的发送顺序,即源服务器发送该数据流的多个数据包时该数据包的顺序,第一顺序索引即为用于指示第一数据包在第一数据流中的发送顺序。具体的,当第一数据包的第一顺序索引与起始顺序索引相同时,则确定第一数据包不需要排序,这样可以直接输出第一数据包;当第一顺序索引与该起始顺序索引不相同时,则确定第一数据包需要排序。需要说明的是,该起始顺序索引是指源服务器对应的发送顺序中的第一个数据包的顺序索引,该顺序索引可以是数据包序号,比如,该起始顺序索引对应的数据包序号可以是1。
S303a:当确定第一数据包需要排序时,从至少一个排序通道中为第一数据流标识分配第一排序通道。这里的确定第一数据包需要排序可以包括根据第一指示信息确定第一数据包需要排序、以及根据第一数据包的第一顺序索引和起始顺序索引确定第一数据包需要排序的情况。
具体的,当确定第一数据包需要排序时,且第一数据流标识当前不存在对应的排序通道时,该网卡可以从多个排序通道中为第一数据流标识分配第一排序通道,并将第一数据包存储在第一排序通道中,第一排序通道为该多个排序通道中未分配数据流标识的任一排序通道。也即是,第一排序通道可以认为是该网卡在首次接收到第一数据流标识的需要排序的数据包时为第一数据流标识分配的。
需要说明的是,该多个排序通道可以是事先进行设置,比如,该网卡中可以集成有缓存器或存储器,事先可以在该缓存器或存储器中配置一段存储空间作为该多个排序通道。该多个排序通道的数量可以事先进行设置,比如,该多个排序通道的数量可以被设置为2000(2K)个。
S303b:当确定第一数据包不需要排序时,根据第一数据包的第一顺序索引在该预设对应关系中存储第一指示信息。这里确定第一数据不需要排序可以包括根据第一指示信息确定第一数据包不需要排序、以及根据第一数据包的第一顺序索引和起始顺序索引确定第一数据包不需要排序的情况。
具体的,当根据第一指示信息确定第一数据包不需要排序时,则该预设对应关系中已经存储有用于指示第一数据流标识的数据包的排序信息的第一指示信息;此时,该网卡可以根据第一数据包的第一顺序索引更新该预设对应关系中的第一指示信息,比如,将第一指示信息更新为用于指示第一顺序索引的下一个顺序索引。示例性的,第一数据包的第一顺序索引为No.1,则可以将第一指示信息更新为第一数据流标识中排序期望的目标数据包的目标索引为No.2。
当根据第一数据包的第一顺序索引和起始顺序索引确定第一数据包不需要排序时,则该预设对应关系中不存在用于指示第一数据流标识的数据包的排序信息的第一 指示信息;此时,该网卡可以根据第一数据包的第一顺序索引在该预设对应关系中添加第一指示信息,比如,在该预设对应关系中添加用于指示第一顺序索引的下一个顺序索引的第一指示信息。示例性的,第一数据包的第一顺序索引为No1,则可以在该预设对应关系中添加第一指示信息,第一指示信息用于指示第一数据流标识的排序期望的目标数据包的目标索引为No.2。
此外,在上述两种情况下,该网卡还可以直接输出第一数据包,即该网卡可以将第一数据包输出至目的服务器的处理器中。
S304:将在第一时间段内接收到的第一数据流标识的数据包存储在第一排序通道中,并基于第一排序通道对第一数据流标识的数据包进行排序。
当该网卡在第一时间段内接收到第一数据流标识的其他数据包时,该网卡可以按照上述S301-S302所描述的处理方式确定每个数据包是否需要排序,以及在确定该数据包需要排序时将其存储在第一排序通道中,在确定该数据包不需要排序时输出该数据包,并更新该预设对应关系中的第一指示信息。其中,第一时间段可以是指该网卡从首次接收到第一数据流标识的数据包至末次接收到第一数据流标识的数据包之间的时间段。比如,第一数据流标识包括100个数据包,则第一时间段可以是指该网卡从接收到第1个数据包至接收到第100个数据包之间的时间段。
当该网卡基于第一排序通道对第一数据流标识的数据包进行排序时,该网卡可以在第一数据流标识的部分数据包到达后排序,也可以在第一数据流标识的所有数据包到达后排序。该网卡在第一数据流标识的部分数据包到达后进行排序时,可以通过多次排序完成第一数据流标识的所有数据包的排序。
在一种可能的实施例中,基于第一排序通道对第一数据流标识的数据包进行排序可以包括:当第一排序通道中包括顺序索引连续的多个数据包,该顺序索引大于目标顺序索引并与该目标顺序索引连续时,按照该顺序索引的大小关系对该多个数据包进行排序,比如,按照该顺序索引从小到大的顺序或者从大到小的顺序对该多个数据包进行排序,该目标顺序索引是排序期望的目标数据包的顺序索引。这样,当接收到目标数据包时,该网卡可以依次输出目标数据包、排序后的多个数据包,即在输出目标数据包之后,直接输出排序后的多个数据包。比如,该目标顺序索引是No.4,该多个数据包的数量为4且对应的顺序索引分别为No.6、No.7、No.8和No.5,则No.6、No.7、No.8和No.5均大于No.4且与No.4连续,则该网卡可以将这4个数据包按照顺序索引从小到大的顺序进行排序,即将其排列为No.5、No.6、No.7和No.8。之后,当该网卡接收到目标数据包No.4时,该网卡可以按照No.4、No.5、No.6、No.7和No.8的顺序依次输出目标数据包和这4个数据包至目的服务器的处理器中。
进一步的,当该网卡输出排序后的多个数据包时,该网卡还可以根据该多个数据包中的最大顺序索引更新该预设对应关系中的第一指示信息。比如,最大顺序索引为No.8,则该网卡将该预设对应关系中的第一指示信息更新为用于指示第一数据流标识排序期望的目标数据包的目标顺序索引为No.9。
S305:当在第二时间段内未接收到第一数据流标识的数据包时,释放第一排序通道。
在该网卡输出第一排序通道的第一数据流标识的数据包后,若在第二时间段内未 接收到第一数据流标识的其他数据包,则表示第一数据流传输结束,从而该网卡可以释放第一排序通道,第二时间段晚于第一时间段。之后,当该网卡接收到其他数据流的数据包、且需要对其他数据流的数据包进行排序时,可以将第一排序通道再分配给其他数据流,用于进行数据包的排序,这样可以动态地使用同一排序通道对不同时间段内的数据流的数据包进行排序,从而提高排序通道的利用率。
需要说明的是,第二时间段可以事先进行设置,本领域技术人员可以根据经验或者实际需要设置该预设时长,比如,第二时间段可以为5分钟或10分钟等,本申请实施例对此不作具体限制。
进一步的,参见图4,该方法还包括:S306。S306和S305可以不分先后顺序,图4中以S306位于S305之后为例进行说明。
S306:当在第二时间段内未接收到第一数据流标识的数据包时,删除该预设对应关系中的第一指示信息。
在该网卡输出第一排序通道的多个数据包后,若在第二时间段内未接收到第一数据流标识的其他数据包,则表示第一数据流传输结束,该网卡可以删除该预设对应关系中的第一指示信息,即删除该预设对应关系中用于指示第一数据流标识的数据包的排序信息的第一指示信息,以释放该预设对应关系中的存储空间。比如,该网络可以在释放第一排序通道之后,删除预设对应关系中的第一指示信息。之后,当该网卡接收到其他数据流的数据包、且需要对数据包进行排序时,可以将其他数据流标识对应的指示信息存储在该预设对应关系中,即将其他数据流标识的数据包的排序信息存储在该预设对应关系中,这样可以动态地使用该预设对应关系对不同时间段内的数据流的数据包的排序进行指示,从而提高该预设对应关系的利用率。
为便于理解,下面以图5所示的网卡为例,对本申请实施例所提供的数据包的排序方法进行举例说明。如图5所示,该网卡可以包括:流表管理单元401、排序判断单元402和通道管理单元403。其中,流表管理单元401可用于管理该预设对应关系,比如,在该预设对应关系中存储第一数据流标识对应的第一指示信息,或者删除第一指示信息等。排序判断单元402可用于接收到的数据包是否需要排序,比如,排序判断单元402可以中根据从该预设对应关系中获取的第一指示信息确定第一数据包是否需要排序,以及在该预设对应关系中不存在第一指示信息时根据第一数据包的第一顺序索引确定第一数据包是否需要排序。通道管理单元403可用于管理多个排序通道,比如,为第一数据流标识分配第一排序通道、以及释放第一排序通道等。
具体的,当该网卡接收到第一数据流标识的第一数据包时,流表管理单元401可以根据第一数据流标识查询该预设对应关系;若该预设对应关系中存在第一指示信息,则流表管理单元401可以将第一指示信息输出给排序判断单元402;若该预设对应关系中不存在第一指示信息,则流表管理单元401可以通知排序判断单元402。排序判断单元402在接收到第一指示信息时根据第一指示信息所指示的目标顺序索引与第一数据包的第一顺序索引的大小关系确定第一数据包是否需要排序;或者,排序判断单元402在确定该预设对应关系中不存在第一指示信息时,根据第一数据包的第一顺序索引与起始顺序索引的大小确定第一数据包是否需要排序。若排序判断单元402确定第一数据包需要排序,则将第一数据包存储在第一排序通道中;若排序判断单元402 确定第一数据包不需要排序,则直接输出第一数据包,此时流表管理单元401可以根据第一顺序索引在该预设对应关系中更新或添加第一指示信息。当第一数据流标识不存在对应的排序通道时,通道管理单元403可以为第一数据流标识分配第一排序通道。之后,当该网卡接收到第一数据流标识的其他数据包时,可以按照上述方式进行处理,直到第一排序通道中包括顺序索引连续的多个数据包,该顺序索引大于目标顺序索引且与该目标顺序索引连续时,按照该顺序索引的大小关系对该多个数据包进行排序,并在输出目标数据包之后输出排序后的多个数据包。当输出排序后的多个数据包之后,流表管理单元401还可以根据该多个数据包中最大的顺序索引更新该预设对应关系中的第一指示信息。最后,若在第二时间段内未接收到第一数据流标识的数据包,通道管理单元403可以释放第一排序通道(可选的,通道管理单元403可以通知流表管理单元401已释放第一排序通道),流表管理单元401也可以删除该预设对应关系中的第一指示信息。
在本申请实施例中,该预设对应关系可用于指示同一时间并发的多个数据流标识的排序信息,从而在第一时间段内接收到第一数据流标识的数据包时,可以根据该预设对应关系中第一数据流标识对应的第一指示信息确定该数据包是否需要排序,若需要排序将该数据包存储在为第一数据流标识分配的第一排序通道中并排序,并在第二时间段内未接收到第一数据流标识的数据包时释放第一排序通道,从而可以在不同的时间段内动态地将第一排序通道分配为不同的数据流标识,使得不同时间段内的不同数据流共享第一排序通道。进一步的,通过该方法动态地管理多个排序通道和该预设对应关系,可以使得该多个排序通道中的每个排序通道动态地被不同时间段内的多个数据流共享,同时不同时间段内的多个数据流也可以共享该预设对应关系,从而大大降低了排序资源,进而可以降低设备成本。
上述主要从网卡的角度对本申请实施例提供的方案进行了介绍。可以理解的是,该网卡为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的网元及算法步骤,本发明能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
本申请实施例可以根据上述方法示例对网卡进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
在采用对应各个功能划分各个功能模块的情况下,图6示出了上述实施例中所涉及的数据包排序装置的一种可能的结构示意图,该装置可以为网卡,该装置包括:接收单元501、确定单元502、分配单元503、排序单元504和释放单元505。其中,接收单元501用于执行上述方法实施例的S301中接收第一数据包、在第一时间段内第一数据流标识的其他数据包的步骤;确定单元502用于执行上述方法实施例的S301中从第 一数据包中获取第一数据流标识和第一顺序索引、S302、以及本文所描述的其他技术过程等;分配单元503用于执行上述方法实施例中的S303a;排序单元504用于执行上述方法实施例中的S304;释放单元505执行上述方法实施例中的S305。进一步的,该装置还可以包括输出单元506;其中,输出单元506用于执行输出第一数据包和/或排序后的多个数据包的步骤。进一步的,该装置所示的功能结构与图5所示的网卡的各单元之间的对应关系可以为:确定单元502可以对应图5中的流表管理单元401和排序判断单元402的功能的集合,分配单元503和释放单元505可以对应通道管理单元403的功能。
在硬件实现上,上述确定单元502、分配单元503、排序单元504和释放单元505可以为处理器,接收单元501可以为接收器,输出单元506可以为发送器,发送器与接收器可以构成通信接口。
图7所示,为本申请实施例提供的上述实施例中所涉及的数据包排序装置的一种可能的结构示意图,该装置可以为网卡,该装置包括:处理器512、通信接口513、存储器511以及总线514。处理器512、通信接口513以及存储器511通过总线514相互连接。在本申请实施例中,处理器512用于对该装置的动作进行控制管理,例如,处理器512用于执行上述方法实施例中的S301中从第一数据包中获取第一数据流标识和第一顺序索引的步骤、S302-S306,和/或用于本文所描述的技术的其他过程。通信接口513用于支持该装置进行通信,比如,支持该装置接收第一数据包、输出第一数据包、和/或输出排序后的多个数据包等。存储器511,用于存储该装置的程序代码和数据。
其中,处理器512可以是微处理器、专用集成电路,现场可编程门阵列或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。所述处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,数字信号处理器和微处理器的组合等等。总线514可以是外设部件互连标准(peripheral component interconnect,PCI)总线或扩展工业标准结构(extended industry standard architecture,EISA)总线等。
在本申请实施例中,当接收到第一数据包时,可以从第一数据包中获取第一数据流标识和第一顺序索引,并在根据第一数据流标识和第一顺序索引确定第一数据包需要排序时,为第一数据流标识分配第一排序通道,并基于第一排序通道对第一时间段内接收到的第一数据流标识的数据包进行排序;之后,若在第二时间段内未接收到第一数据流标识的数据包,则可以认为第一数据流标识传输结束,从而释放第一排序通道,这样可以在不同的时间段内动态地将第一排序通道分配给不同的数据流标识,使得不同的时间段内的不同数据流共享第一排序通道,从而大大降低了排序资源的需求量,提高排序资源的利用率,进而降低设备成本。
需要说明的是,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
在本申请的另一实施例中,还提供一种芯片,该芯片用于执行本文所提供的数据包排序方法。比如,该芯片可以为图5所述的网卡,或者该芯片包括图6或者图7所 示的数据包排序装置。
在本申请的另一实施例中,还提供一种服务器,该服务器的结构可以如图2所示,即该服务器可以包括处理器201和网卡203;其中,网卡203可用于向处理器201发送数据包,网卡203可以为上文所提供的任一种网卡或者数据包排序装置,用于执行本文所提供的数据包排序方法。可选的,该服务器还可以包括存储器202。
在本申请的另一实施例中,还提供一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当设备的至少一个处理器执行该指令时,使得该设备执行本文所提供的数据包排序方法。
在本申请的另一实施例中,还提供一种计算机程序产品,该计算机程序产品包括计算机执行指令,该计算机执行指令存储在计算机可读存储介质中;设备的至少一个处理器可以从计算机可读存储介质读取该计算机执行指令,至少一个处理器执行该计算机执行指令使得设备实施本文所提供的数据包排序方法。
最后应说明的是:以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (20)

  1. 一种数据包排序方法,其特征在于,应用于网卡中,所述网卡包括至少一个排序通道,所述方法包括:
    接收第一数据包,并从所述第一数据包中获取第一数据流标识和第一顺序索引;
    当根据所述第一数据流标识和所述第一顺序索引确定所述第一数据包需要排序时,从所述至少一个排序通道中为所述第一数据流标识分配第一排序通道;
    将在第一时间段内接收到的所述第一数据流标识的数据包存储在所述第一排序通道中,并基于所述第一排序通道对所述第一数据流标识的数据包进行排序;
    当在第二时间段内未接收到所述第一数据流标识的数据包时,释放所述第一排序通道,所述第二时间段晚于所述第一时间段。
  2. 根据权利要求1所述的方法,其特征在于,所述根据所述第一数据流标识和所述第一顺序索引确定所述第一数据包需要排序,包括:
    根据所述第一数据流标识查询预设对应关系以获取第一指示信息,所述预设对应关系用于指示多个数据流标识中每个数据流标识的排序期望的目标数据包的目标顺序索引,所述第一指示信息用于指示所述第一数据流标识的排序期望的目标数据包的目标顺序索引;
    当所述第一指示信息所指示的目标顺序索引与所述第一顺序索引不同时,确定所述第一数据包需要排序。
  3. 根据权利要求2所述的方法,其特征在于,所述方法还包括:
    当所述第一指示信息所指示的目标顺序索引与所述第一顺序索引相同时,确定所述第一数据包不需要排序。
  4. 根据权利要求2或3所述的方法,其特征在于,若所述预设对应关系中不存在所述第一指示信息,所述方法还包括:
    当所述第一数据包的所述第一顺序索引与起始顺序索引不相同时,确定所述第一数据包需要排序;
    当所述第一数据包的所述第一顺序索引与所述起始顺序索引相同时,确定所述第一数据包不需要排序。
  5. 根据权利要求2-4任一项所述的方法,其特征在于,所述方法还包括:
    当确定所述第一数据包不需要排序时,根据所述第一数据包的第一顺序索引在所述预设对应关系中存储用于指示所述第一数据流标识的排序期望的目标数据包的目标顺序索引;或者,
    在对所述第一数据流标识的数据包排序之后,根据排序后的数据包的最大顺序索引更新所述第一指示信息。
  6. 根据权利要求1-5任一项所述的方法,其特征在于,所述至少一个排序通道包括多个排序通道,所述从所述至少一个排序通道中为所述第一数据流标识分配第一排序通道,包括:
    从所述多个排序通道中为所述第一数据流标识分配第一排序通道,所述第一排序通道为所述多个排序通道中未分配数据流标识的任一排序通道。
  7. 根据权利要求1-6任一项所述的方法,其特征在于,所述基于所述第一排序通道对所述第一数据流标识的数据包进行排序,包括:
    当所述第一排序通道中包括顺序索引连续的多个数据包,所述顺序索引大于目标顺序索引并与所述目标顺序索引连续时,按照所述顺序索引的大小关系对所述多个数据包进行排序,所述目标顺序索引是排序期望的目标数据包的顺序索引。
  8. 根据权利要求7所述的方法,其特征在于,所述方法还包括:
    在接收到所述目标数据包时,依次输出所述目标数据包、排序后的多个数据包。
  9. 根据权利要求2-8任一项所述的方法,其特征在于,所述方法还包括:
    当在所述第二时间段内未接收到所述第一数据流标识的数据包时,删除所述预设对应关系中的所述第一指示信息。
  10. 一种数据包排序装置,其特征在于,该装置包括:
    接收单元,用于接收第一数据包;
    确定单元,用于从所述第一数据包中获取第一数据流标识和第一顺序索引,并根据所述第一数据流标识和所述第一顺序索引确定所述第一数据包需要排序;
    分配单元,用于在所述第一数据包需要排序时,从至少一个排序通道中为所述第一数据流标识分配第一排序通道;
    排序单元,用于将在第一时间段内接收到的所述第一数据流标识的数据包存储在所述第一排序通道中,并基于所述第一排序通道对所述第一数据流标识的数据包进行排序;
    释放单元,用于当在第二时间段内未接收到所述第一数据流标识的数据包时,释放所述第一排序通道,所述第二时间段晚于所述第一时间段。
  11. 根据权利要求10所述的装置,其特征在于,所述确定单元还用于:
    根据所述第一数据流标识查询预设对应关系以获取第一指示信息,所述预设对应关系用于指示多个数据流标识中每个数据流标识的排序期望的目标数据包的目标顺序索引,所述第一指示信息用于指示所述第一数据流标识的排序期望的目标数据包的目标顺序索引;
    当所述第一指示信息所指示的目标顺序索引与所述第一顺序索引不同时,确定所述第一数据包需要排序。
  12. 根据权利要求11所述的装置,其特征在于,所述确定单元还用于:
    当所述第一指示信息所指示的目标顺序索引与所述第一顺序索引相同时,确定所述第一数据包不需要排序。
  13. 根据权利要求11或12所述的装置,其特征在于,若所述预设对应关系中不存在所述第一指示信息,所述确定单元还用于:
    当所述第一数据包的所述第一顺序索引与起始顺序索引不相同时,确定所述第一数据包需要排序;
    当所述第一数据包的所述第一顺序索引与所述起始顺序索引相同时,确定所述第一数据包不需要排序。
  14. 根据权利要求11-13任一项所述的装置,其特征在于,所述确定单元还用于:
    当确定所述第一数据包不需要排序时,根据所述第一数据包的所述第一顺序索引 在所述预设对应关系中存储用于指示所述第一数据流标识的排序期望的目标数据包的目标顺序索引;或者,
    在对所述第一数据流标识的数据包排序之后,根据排序后的数据包的最大顺序索引更新所述第一指示信息。
  15. 根据权利要求10-14任一项所述的装置,其特征在于,所述至少一个排序通道包括多个排序通道,所述分配单元还用于:
    从所述多个排序通道中为所述第一数据流标识分配第一排序通道,所述第一排序通道为所述多个排序通道中未分配数据流标识的任一排序通道。
  16. 根据权利要求10-15任一项所述的装置,其特征在于,所述排序单元还用于:
    当所述第一排序通道中包括顺序索引连续的多个数据包,所述顺序索引大于目标顺序索引并与所述目标顺序索引连续时,按照所述顺序索引的大小关系对所述多个数据包进行排序,所述目标顺序索引是排序期望的目标数据包的顺序索引。
  17. 根据权利要求16所述的装置,其特征在于,所述装置还包括:
    输出单元,用于在接收到所述目标数据包时,依次输出所述目标数据包、排序后的多个数据包。
  18. 根据权利要求11-17任一项所述的装置,其特征在于,所述确定单元还用于:
    当在所述第二时间段内未接收到所述第一数据流标识的数据包时,删除所述预设对应关系中的所述第一指示信息。
  19. 一种服务器,其特征在于,所述服务器包括网卡和处理器,所述处理器用于接收所述网卡发送的数据包,所述网卡包括权利要求10-18任一项所述的数据包排序装置。
  20. 一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令,当所述指令在设备上运行时,使得所述设备执行上述权利要求1-9任一项所述的数据包排序方法。
CN202180089046.3A 2021-01-08 2021-01-08 一种数据包排序方法及装置 Pending CN116686270A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2021/070853 WO2022147762A1 (zh) 2021-01-08 2021-01-08 一种数据包排序方法及装置

Publications (1)

Publication Number Publication Date
CN116686270A true CN116686270A (zh) 2023-09-01

Family

ID=82357603

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180089046.3A Pending CN116686270A (zh) 2021-01-08 2021-01-08 一种数据包排序方法及装置

Country Status (2)

Country Link
CN (1) CN116686270A (zh)
WO (1) WO2022147762A1 (zh)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102147766B (zh) * 2010-12-17 2015-03-25 曙光信息产业股份有限公司 一种维护tcp流表结构和乱序缓冲区的方法
US8761147B2 (en) * 2011-01-17 2014-06-24 Texas Instruments Incorporated Selective protection based on sequence numbers in coexisting networks
CN107454276B (zh) * 2016-06-01 2021-07-27 中兴通讯股份有限公司 一种用户终端设备及其数据转发方法、及通信系统
CN106230744B (zh) * 2016-07-26 2019-04-16 京信通信系统(中国)有限公司 一种数据流乱序重组的方法及转发设备
CN110943933B (zh) * 2018-09-25 2023-09-01 华为技术有限公司 一种实现数据传输的方法、装置和系统

Also Published As

Publication number Publication date
WO2022147762A1 (zh) 2022-07-14

Similar Documents

Publication Publication Date Title
US11640362B2 (en) Procedures for improving efficiency of an interconnect fabric on a system on chip
US9264369B2 (en) Technique for managing traffic at a router
US20070171908A1 (en) Method and system for improving traffic distribution across a communication network
US20070268903A1 (en) System and Method for Assigning Packets to Output Queues
US9106593B2 (en) Multicast flow reordering scheme
CN104468401A (zh) 一种报文处理方法和装置
CN111010702A (zh) 时延敏感网络通信方法及其装置
US10063478B2 (en) Switching device and control method of switching device
CN114553760B (zh) 路径权重分配方法以及装置
US20160315879A1 (en) Virtual node having separate control and data planes
CN113746751A (zh) 一种通信方法及装置
CN111835652B (zh) 一种数据流的虚拟通道的设置方法及装置
CN109327400B (zh) 一种数据通信方法及数据通信网络
CN109412976B (zh) 数据传输方法、装置、系统、服务器、电子设备及介质
CN111817985A (zh) 业务处理方法及装置
WO2016132402A1 (ja) 通信フレーム転送装置および通信システム
CN111740922B (zh) 数据传输方法、装置、电子设备及介质
EP3605967B1 (en) Method and device for transmitting data
CN116686270A (zh) 一种数据包排序方法及装置
CN113839884B (zh) 流量控制方法和装置
CN113395183A (zh) 网络仿真平台vlan互联的虚拟节点调度方法与系统
CN113691459A (zh) 基于标识报文的数据传输方法及装置
CN112804166A (zh) 一种报文收发方法、装置及存储介质
CN114884902B (zh) 一种数据流传输方法、装置、网络设备及存储介质
CN113541992A (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