CN115955517B - 一种报文处理方法、系统 - Google Patents
一种报文处理方法、系统 Download PDFInfo
- Publication number
- CN115955517B CN115955517B CN202310226430.4A CN202310226430A CN115955517B CN 115955517 B CN115955517 B CN 115955517B CN 202310226430 A CN202310226430 A CN 202310226430A CN 115955517 B CN115955517 B CN 115955517B
- Authority
- CN
- China
- Prior art keywords
- kcp
- message
- processor
- cpu
- instance
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
一种报文处理方法、系统,其中,所述方法包括:接收互联网协议IP报文后,获取处理所述IP报文的本设备处理器的编号src_cpu_no;将所述IP报文发送至所述src_cpu_no对应的处理器;所述处理器获取与所述IP报文关联的KCP实例,根据所述KCP实例将所述IP报文封装为KCP数据;所述处理器将所述KCP数据与信息绑定头一起封装为指定格式的网络传输数据后,向报文接收设备发送;其中,所述信息绑定头包含本设备标识src_device_id和所述本设备处理器的编号src_cpu_no。
Description
技术领域
本文涉及双边网络通信技术,尤指一种报文处理方法、系统。
背景技术
双边网络环境,如图1所示,以双边方式部署的设备之间通过公网进行通信,目前常见的公网通信方式为采用加密隧道的方式进行数据传输,同时使用一种快速可靠的自动重传请求协议(A Fast and Reliable ARQ Protocol),即KCP协议提高数据传输效率。
由于建立同一KCP连接的两台设备需要对该KCP连接信息(如KCP连接标识kcp_id)进行维护,在实际双边网络环境下,两台设备之间可能存在大量的KCP连接,对多核设备而言,如果所有的KCP连接都由设备进行全局处理,会涉及到很多共享资源的互斥处理,影响到多核设备的处理性能,发挥不了多核设备的优势。
发明内容
本申请提供了一种报文处理方法、系统,提高了双边网络中多核设备基于KCP连接处理报文的效率。
本申请提供了一种报文处理方法,所述方法应用于双边网络中多核报文发送设备,所述方法包括:
接收互联网协议IP报文后,获取处理所述IP报文的本设备处理器的编号src_cpu_no;
将所述IP报文发送至所述src_cpu_no对应的处理器;
所述处理器获取与所述IP报文关联的KCP实例,根据所述KCP实例将所述IP报文封装为KCP数据;
所述处理器将所述KCP数据与信息绑定头一起封装为指定格式的网络传输数据后,向报文接收设备发送;其中,所述信息绑定头包含本设备标识src_device_id和所述本设备处理器的编号src_cpu_no。
在一示例性实施例中,所述指定格式的网络传输数据为互联网安全协议IPsec数据。
在一示例性实施例中,所述获取处理所述IP报文的本设备处理器的编号src_cpu_no,包括:
查找本设备维护的IP绑定表中与所述IP报文的特征信息关联的src_cpu_no;
在查找不到所述src_cpu_no时,在本设备中选择一个处理器作为处理所述IP报文的处理器,并将选择的处理器的编号作为src_cpu_no,以及在所述IP绑定表中创建一个IP表项,在该IP表项中记录所述IP报文的特征信息和所述src_cpu_no;
其中,所述IP绑定表包含一个或多个IP表项,每个IP表项均包含IP报文的特征信息和处理该IP报文的本设备处理器的编号。
在一示例性实施例中,所述IP报文的特征信息包括:所述IP报文的五元组。
在一示例性实施例中,所述处理器获取与所述IP报文关联的KCP实例,包括:
查找所述处理器维护的KCP实例表中与创建的IP表项关联的KCP表项;
当查找不到与创建的IP表项关联的KCP表项时,在所述KCP实例表中创建一个与所述创建的IP表项关联的KCP表项;
其中,所述KCP实例表包含一个或多个KCP表项,每个KCP表项与一个IP表项相关联,且包含KCP连接标识和KCP实例;所述KCP连接标识用于唯一标识所述处理器下的KCP连接,所述KCP实例用于定位所述KCP连接。
在一示例性实施例中,所述获取处理所述IP报文的本设备处理器的编号src_cpu_no,包括:
查找本设备维护的IP绑定表中与所述IP报文的特征信息关联的src_cpu_no,获取所述src_cpu_no;
其中,所述IP绑定表包含一个或多个IP表项,每个IP表项均包含IP报文的特征信息和处理该IP报文的本设备处理器的编号。
在一示例性实施例中,所述处理器获取与所述IP报文关联的KCP实例,包括:
从本设备维护的IP绑定表中获取所述IP报文对应的IP表项;查找所述处理器维护的KCP实例表中与该IP表项关联的KCP表项,从所述KCP表项中获取所述KCP实例;
其中,所述KCP实例表包含一个或多个KCP表项,每个KCP表项与一个IP表项相关联,且包含KCP连接标识和KCP实例;所述KCP连接标识用于唯一标识所述处理器下的KCP连接,所述KCP实例用于定位所述KCP连接。
在一示例性实施例中,所述信息绑定头还包括从所述报文接收设备返回的KCP确认报文中提取的目标设备标识dst_device_id和目的设备处理器的编号dst_cpu_no。
本申请还提供了一种报文处理方法,所述方法应用于双边网络中多核报文接收设备,所述方法包括:
接收报文发送设备发送的封装了KCP数据的指定格式的网络传输数据,对所述网络传输数据进行解封装,获得信息绑定头和所述KCP数据;
根据所述信息绑定头获取处理所述KCP数据的本设备处理器的编号dst_cpu_no;
将所述KCP数据发送至所述dst_cpu_no对应的处理器;
所述处理器获取与所述KCP数据关联的KCP实例,根据所述KCP实例将所述KCP数据解封装为互联网协议IP报文,并向所述报文发送设备回复KCP确认报文;
其中,所述信息绑定头包含所述报文发送设备的标识src_device_id、所述报文发送设备中处理所述网络传输数据的处理器编号src_cpu_no。
在一示例性实施例中,所述根据所述信息绑定头获取处理所述KCP数据的本设备处理器的编号dst_cpu_no,包括:
判断所述信息绑定头中是否还包含本设备标识dst_device_id和本设备处理器的编号dst_cpu_no,如果不包含,在本设备中选择一个处理器作为处理所述KCP数据的处理器,将选择的处理器的编号作为dst_cpu_no;
向所述报文发送设备回复KCP确认报文,包括:
向所述报文发送设备回复携带所述本设备标识dst_device_id和所述dst_cpu_no的确认报文。
在一示例性实施例中,所述处理器获取与所述KCP数据关联的KCP实例,包括:
查找所述处理器维护的KCP实例表中包含所述KCP实例的KCP表项;
当查找不到包含所述KCP实例的KCP表项时,在所述KCP实例表中创建一个包含所述KCP实例的KCP表项;
其中,所述KCP实例表包含一个或多个KCP表项,每个KCP表项包含KCP连接标识和KCP实例;所述KCP连接标识用于唯一标识所述处理器下的KCP连接,所述KCP实例用于定位所述KCP连接。
在一示例性实施例中,所述方法还包括:
根据所述KCP实例将所述KCP数据解封装为互联网协议IP报文后,在本设备维护的IP绑定表中创建一个IP表项,在该表项中记录所述IP报文的特征信息和所述dst_cpu_no;
将创建的IP表项与创建的KCP表项进行关联;
其中,所述IP绑定表包含一个或多个IP表项,每个IP表项均包含IP报文的特征信息和处理该IP报文的本设备处理器的编号。
在一示例性实施例中,所述根据所述信息绑定头获取处理所述KCP数据的本设备处理器的编号dst_cpu_no,包括:
判断所述信息绑定头中是否还包含本设备标识dst_device_id和本设备处理器的编号dst_cpu_no,如果包含,从所述信息绑定头获取所述dst_cpu_no。
在一示例性实施例中,所述处理器获取与所述KCP数据关联的KCP实例,包括:
查找所述处理器维护的KCP实例表中与所述KCP数据关联的KCP表项,从所述KCP表项中获取所述KCP实例;
其中,所述KCP实例表包含一个或多个KCP表项,每个KCP表项包含KCP连接标识和KCP实例;所述KCP连接标识用于唯一标识所述处理器下的KCP连接,所述KCP实例用于定位所述KCP连接。
本申请还提供了一种报文处理方法,所述方法应用于双边网络中多核报文收发设备,所述方法包括:
多核报文发送设备执行如前任一实施例所述的应用于双边网络中多核报文发送设备的报文处理方法;
多核报文接收设备执行如前任一实施例所述的应用于双边网络中多核报文接收设备的报文处理方法。
本申请还提供了一种报文处理系统,所述系统应用于双边网络,所述系统包括:
多核报文发送设备,设置为执行如前任一实施例所述的应用于双边网络中多核报文发送设备的报文处理方法;
多核报文接收设备,设置为执行如前任一实施例所述的应用于双边网络中多核报文接收设备的报文处理方法。
与相关技术相比,本申请实施例中,多核报文发送设备将接收到的IP报文与其中一个处理器绑定,由该处理器对该IP报文进行KCP数据封装,相对由设备对该IP报文进行KCP数据封装,可以避免因封装KCP数据所需连接信息的全局共享导致的查找耗时、资源互斥访问等问题,提高了双边网络中多核设备基于KCP连接处理报文的效率,此外也可以简化封装KCP数据所生成的KCP连接标识的复杂度。
本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的其他优点可通过在说明书以及附图中所描述的方案来实现和获得。
附图说明
附图用来提供对本申请技术方案的理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本申请的技术方案,并不构成对本申请技术方案的限制。
图1为相关技术中双边网络环境示意图;
图2为本申请实施例提供的应用于双边网络中的多核报文发送设备的报文处理方法流程图;
图3为本申请实施例提供的多核报文发送设备处理的数据格式变化示意图;
图4为本申请实施例提供的IP绑定表的示意图;
图5为本申请实施例提供的KCP实例表的示意图;
图6为本申请实施例提供的KCP表项与IP表项关联的示意图;
图7为本申请实施例提供的应用于双边网络中的多核报文接收设备的报文处理方法流程图;
图8为本申请实施例提供的多核报文接收设备处理的数据格式变化示意图;
图9为本申请实施例提供的报文发送设备和报文接收设备之间交互信息绑定头的过程示意图;
图10为本申请实施例提供的应用于双边网络中的多核报文收发设备的报文处理方法流程图;
图11为本申请实施例提供的应用于双边网络的报文处理系统结构图。
具体实施方式
本申请描述了多个实施例,但是该描述是示例性的,而不是限制性的,并且对于本领域的普通技术人员来说显而易见的是,在本申请所描述的实施例包含的范围内可以有更多的实施例和实现方案。尽管在附图中示出了许多可能的特征组合,并在具体实施方式中进行了讨论,但是所公开的特征的许多其它组合方式也是可能的。除非特意加以限制的情况以外,任何实施例的任何特征或元件可以与任何其它实施例中的任何其他特征或元件结合使用,或可以替代任何其它实施例中的任何其他特征或元件。
本申请包括并设想了与本领域普通技术人员已知的特征和元件的组合。本申请已经公开的实施例、特征和元件也可以与任何常规特征或元件组合,以形成由权利要求限定的独特的发明方案。任何实施例的任何特征或元件也可以与来自其它发明方案的特征或元件组合,以形成另一个由权利要求限定的独特的发明方案。因此,应当理解,在本申请中示出和/或讨论的任何特征可以单独地或以任何适当的组合来实现。因此,除了根据所附权利要求及其等同替换所做的限制以外,实施例不受其它限制。此外,可以在所附权利要求的保护范围内进行各种修改和改变。
此外,在描述具有代表性的实施例时,说明书可能已经将方法和/或过程呈现为特定的步骤序列。然而,在该方法或过程不依赖于本文所述步骤的特定顺序的程度上,该方法或过程不应限于所述的特定顺序的步骤。如本领域普通技术人员将理解的,其它的步骤顺序也是可能的。因此,说明书中阐述的步骤的特定顺序不应被解释为对权利要求的限制。此外,针对该方法和/或过程的权利要求不应限于按照所写顺序执行它们的步骤,本领域技术人员可以容易地理解,这些顺序可以变化,并且仍然保持在本申请实施例的精神和范围内。
本申请实施例提供了一种报文处理方法,所述方法应用于双边网络中的多核报文发送设备,如图2所示,所述方法包括:
步骤S201 接收互联网协议IP报文;
步骤S202 获取处理所述IP报文的本设备处理器的编号src_cpu_no;
步骤S203将所述IP报文发送至所述src_cpu_no对应的处理器;
步骤S204 所述处理器获取与所述IP报文关联的KCP实例;
每条KCP连接对应一个KCP实例,每个KCP实例包含了其对应的KCP连接信息;
步骤S205 根据所述KCP实例将所述IP报文封装为KCP数据;
步骤S206所述处理器将所述KCP数据与信息绑定头一起封装为指定格式的网络传输数据后,向报文接收设备发送;
所述信息绑定头包含所述本设备处理器的编号src_cpu_no和本设备标识src_device_id。
本申请实施例中,多核报文发送设备将接收到的IP报文与其中一个处理器绑定,由该处理器对该IP报文进行KCP数据封装,相对由设备对该IP报文进行KCP数据封装,可以避免因封装KCP数据所需连接信息的全局共享导致的查找耗时、资源互斥访问等问题,提高了双边网络中多核设备基于KCP连接处理报文的效率,此外也可以简化封装KCP数据所生成的KCP连接标识的复杂度。
在一示例性实施例中,所述指定格式的网络传输数据可以为互联网安全协议IPsec数据,图3示出了多核报文发送设备处理的数据格式变化示意图。处理器先将原始IP报文封装为KCP数据,再将KCP数据和信息绑定头一并封装为IPsec数据。
在一示例性实施例中,当报文发送设备首次接收到IP报文时,步骤S202 获取处理所述IP报文的本设备处理器的编号src_cpu_no,可以包括:
查找本设备维护的IP绑定表中与所述IP报文的特征信息关联的src_cpu_no;
在查找不到所述src_cpu_no时,在本设备中选择一个处理器作为处理所述IP报文的处理器,并将选择的处理器的编号作为src_cpu_no,以及在所述IP绑定表中创建一个IP表项,在该IP表项中记录所述IP报文的特征信息和所述src_cpu_no;
选择处理器的方式可以是随机选择,也可以按预设规则进行选择;
所述IP绑定表包含一个或多个IP表项,每个IP表项均包含IP报文的特征信息和处理该IP报文的本设备处理器的编号;其中,IP报文的特征信息可以是IP报文的五元组(源端口号、目的端口号、协议号、源IP、目的IP),图4给出了一种IP绑定表的示意图,图中每个IP_node表示一个IP表项;每个IP表项中,key表示协议号,sip表示源IP、dip表示目的IP、sport表示源端口号、dport表示目的端口号,cpu_no表示处理器编号。
当报文发送设备首次接收到IP报文时,其自身维护的IP绑定表中可能没有与该IP报文对应的IP表项,这种情况下发送设备可在自身具有的多个处理器中选择一个处理器作为处理该IP报文的处理器,并更新所述IP绑定表,在所述IP绑定表中增加该IP报文对应的IP表项。
在一示例性实施例中,当报文发送设备首次接收到IP报文时,步骤S204 所述处理器获取与所述IP报文关联的KCP实例,可以包括:
查找所述处理器维护的KCP实例表中与创建的IP表项关联的KCP表项,
当查找不到与创建的IP表项关联的KCP表项时,在所述KCP实例表中创建一个与所述创建的IP表项关联的KCP表项;
其中,所述KCP实例表包含一个或多个KCP表项,每个KCP表项与一个IP表项相关联,且包含KCP连接标识和KCP实例;所述KCP连接标识用于唯一标识所述处理器下的KCP连接。
图5给出了一种KCP实例表的示意图,图中每个KCP_node表示一个KCP表项,每个KCP表项包含一KCP连接的信息。
图6给出了一种KCP表项与IP表项关联的示意图,通过在KCP表项中增加IP表项标识(如图中的IP_node3),在IP表项中增加KCP表项标识(如图中的KCP_node3),实现KCP表项和IP表项的互关联。
当报文发送设备首次接收到IP报文时,其自身维护的KCP实例表中可能没有与创建的IP表项关联的KCP表项,这种情况下报文发送设备可在KCP实例表中创建与创建的IP表项关联的KCP表项。
在一示例性实施例中,当报文发送设备非首次接收到IP报文时,步骤S202 获取处理所述IP报文的本设备处理器的编号src_cpu_no,可以包括:
查找本设备维护的IP绑定表中与所述IP报文的特征信息关联的src_cpu_no,获取所述src_cpu_no。
在一示例性实施例中,当报文发送设备非首次接收到IP报文时,步骤S204 所述处理器获取与所述IP报文关联的KCP实例,可以包括:
从本设备维护的IP绑定表中获取所述IP报文对应的IP表项;
查找所述处理器维护的KCP实例表中与获取到的IP表项关联的KCP表项,从所述KCP表项中获取所述KCP实例。
在一示例性实施例中,所述信息绑定头还可以包括从所述报文接收设备返回的KCP确认报文中提取的目标设备标识dst_device_id和目的设备处理器编号dst_cpu_no。
本申请实施例还提供了一种报文处理方法,所述方法应用于双边网络中多核报文接收设备,如图7所示,所述方法包括:
步骤S701接收报文发送设备发送的封装了KCP数据的指定格式的网络传输数据;
步骤S702对所述网络传输数据进行解封装,获得信息绑定头和所述KCP数据;
步骤S703根据所述信息绑定头获取处理所述KCP数据的本设备处理器的编号dst_cpu_no;
步骤S704 将所述KCP数据发送至所述dst_cpu_no对应的处理器;
步骤S705 所述处理器获取与所述KCP数据关联的KCP实例;
每条KCP连接对应一个KCP实例,每个KCP实例包含了其对应的KCP连接信息;
步骤S706根据所述KCP实例将所述KCP数据解封装为互联网协议IP报文,并向所述报文发送设备回复KCP确认报文;
其中,所述信息绑定头包含所述报文发送设备的标识src_device_id、所述报文发送设备中处理所述网络传输数据的处理器编号src_cpu_no。
本申请实施例中,多核报文接收设备从接收到的网络传输数据中解封装出KCP数据后,将该KCP数据与其中一个处理器绑定,由该处理器对该KCP数据解封装,相对由设备对该KCP数据进行解封装,可以避免因解封装KCP数据所需连接信息的全局共享导致的查找耗时、资源互斥访问等问题,提高了双边网络中多核设备基于KCP连接处理报文的效率。
在一示例性实施例中,所述指定格式的网络传输数据可以为互联网安全协议IPsec数据,图8示出了多核报文接收设备处理的数据格式变化示意图。报文接收设备先将IPsec数据解封装为KCP数据和信息绑定头,再由报文接收设备中的一处理器将KCP数据解封装为IP数据。
在一示例性实施例中,当报文接收设备首次接收到来自数据发送设备的网络传输数据时,步骤S703根据所述信息绑定头获取处理所述KCP数据的本设备处理器的编号dst_cpu_no,可以包括:
判断所述信息绑定头中是否还包含本设备标识dst_device_id和本设备处理器的编号dst_cpu_no,如果不包含,在本设备中选择一个处理器作为处理所述IP报文的处理器,将选择的处理器的编号作为dst_cpu_no;选择处理器的方式可以是随机选择,也可以按预设规则进行选择;
向所述报文发送设备回复KCP确认报文,包括:
向所述报文发送设备回复携带所述本设备标识dst_device_id和所述dst_cpu_no的确认报文,以方便报文发送设备后续将确认报文携带的报文接收设备标识dst_device_id和所述dst_cpu_no写入信息绑定头。
由于报文发送设备和报文接收设备之间的KCP连接是在第一个网络传输数据的收发过程中建立起来的,因此在报文接收设备接收到第一个网络传输数据时,从网络传输数据中获取到的来自报文发送设备的信息绑定头还未携带报文接收设备的信息,在这种情况下,由报文接收设备在本设备中选择一个处理器作为处理KCP数据的处理器,并将自身的设备标识和该处理器标识告知报文发送设备,以便于报文发送设备将这些标识更新进信息绑定头。
报文发送设备和报文接收设备之间交互信息绑定头的过程可如图9所示,图中网关1为报文发送设备,网关2为报文接收设备;网关1发送的信息绑定头初始只有本设备(网关1)标识src_device_id和本设备(网关1)处理器标识src_cpu_no,对端设备标识和处理器标识这两值为空;网关2向网关1回复确认报文,确认报文中记录了本设备(网关2)标识dst_device_id和本设备(网关2)处理器标识dst_cpu_no;网关1收到确认报文后,更新自己保存的信息绑定头,此时的信息绑定头不仅记录有报文发送设备及其处理器标识,还记录有报文接收设备及其处理器标识。
在一示例性实施例中,当报文接收设备首次接收到来自数据发送设备的网络传输数据时,步骤S705所述处理器获取与所述KCP数据关联的KCP实例,包括:
查找所述处理器维护的KCP实例表中包含所述KCP实例的KCP表项,
当查找不到包含所述KCP实例的KCP表项时,在所述KCP实例表中创建一个包含所述KCP实例的KCP表项;
其中,所述KCP实例表包含一个或多个KCP表项,每个KCP表项包含KCP连接标识和KCP实例;所述KCP连接标识用于唯一标识所述处理器下的KCP连接,所述KCP实例用于定位所述KCP连接。
当报文接收设备接收到第一个网络传输数据时,其自身维护的KCP实例表中可能没有与所述KCP数据关联的KCP表项,这种情况下报文接收设备可在KCP实例表中创建包含所述KCP实例的KCP表项。
在一示例性实施例中,当报文接收设备首次接收到来自数据发送设备的网络传输数据时,所述方法还包括:
根据所述KCP实例将所述KCP数据解封装为互联网协议IP报文后,在本设备维护的IP绑定表中创建一个IP表项,在该表项中记录所述IP报文的特征信息和所述dst_cpu_no;
将创建的IP表项与创建的KCP表项进行关联;
其中,所述IP绑定表包含一个或多个IP表项,每个IP表项均包含IP报文的特征信息和处理该IP报文的本设备处理器的编号。
在一示例性实施例中,当报文接收设备非首次接收到来自数据发送设备的网络传输数据时,步骤S703根据所述信息绑定头获取处理所述KCP数据的本设备处理器的编号dst_cpu_no,可以包括:
判断所述信息绑定头中是否还包含本设备标识dst_device_id和本设备处理器的编号dst_cpu_no,如果包含,从所述信息绑定头获取所述dst_cpu_no。
在一示例性实施例中,当报文接收设备非首次接收到来自数据发送设备的网络传输数据时,步骤S705所述处理器获取与所述KCP数据关联的KCP实例,包括:
查找所述处理器维护的KCP实例表中与所述KCP数据关联的KCP表项,从所述KCP表项中获取所述KCP实例。
本申请实施例还提供了一种报文处理方法,如图10所示,所述方法应用于双边网络中多核报文收发设备,所述方法包括:
步骤S1001 多核报文发送设备执行如前任一实施例所述的方法,对接收的互联网协议IP报文进行处理,将所述IP报文封装为指定格式的网络传输数据后向报文接收设备发送;
步骤S1002 多核报文接收设备执行如前任一实施例所述的方法,接收所述指定格式的网络传输数据,对所述网络传输数据进行处理,将其解封装为所述IP报文。
本实施例因为采用了上述任一实施例记载的应用于双边网络中多核报文发送设备和多核报文接收设备的方法,因此上述任一实施例记载的应用于双边网络中多核报文发送设备和多核报文接收设备的方法所具有的技术效果也同样适用于本实施例。
本申请实施例还提供了一种报文处理系统,所述系统应用于双边网络,如图11所示,所述系统包括:
多核报文发送设备1101,设置为执行如前任一实施例所述的方法,对互联网协议IP报文进行处理,将所述IP报文封装为指定格式的网络传输数据后向报文接收设备发送;
多核报文接收设备1102,设置为执行如前任一实施例所述的方法,接收所述指定格式的网络传输数据,对所述网络传输数据进行处理,将其解封装为所述IP报文。
本实施例因为的多核报文发送设备和多核报文接收设备可执行上述任一实施例记载的应用于双边网络中多核报文发送设备和多核报文接收设备的方法,因此上述任一实施例记载的应用于双边网络中多核报文发送设备和多核报文接收设备的方法所具有的技术效果也同样适用于本实施例。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些组件或所有组件可以被实施为由处理器,如数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于 RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
Claims (15)
1.一种报文处理方法,所述方法应用于公网双边网络中多核报文发送设备,所述方法包括:
接收互联网协议IP报文后,获取处理所述IP报文的本设备处理器的编号src_cpu_no;
将所述IP报文发送至所述src_cpu_no对应的处理器;
所述处理器获取与所述IP报文关联的KCP实例,根据所述KCP实例将所述IP报文封装为KCP数据;
所述处理器将所述KCP数据与信息绑定头一起封装为指定格式的网络传输数据后,向报文接收设备发送;其中,所述信息绑定头包含本设备标识src_device_id和所述本设备处理器的编号src_cpu_no;
所述信息绑定头用于记录报文发送设备标识、报文发送设备的处理器编号、报文接收设备标识和报文接收设备的处理器编号;所述信息绑定头由报文发送设备和报文接收设备交互确定;
所述交互的过程包括:
由报文接收设备判断其接收的信息绑定头中是否还包含本设备标识dst_device_id和本设备处理器的编号dst_cpu_no,如果不包含,在本设备中选择一个处理器作为处理所述KCP数据的处理器,将选择的处理器的编号作为dst_cpu_no;向所述报文发送设备回复携带所述报文发送设备标识src_device_id、所述报文发送设备的处理器编号src_cpu_no,以及所述本设备标识dst_device_id和所述dst_cpu_no的确认报文。
2.根据权利要求1所述的方法,其特征在于,
所述指定格式的网络传输数据为互联网安全协议IPsec数据。
3.根据权利要求1或2所述的方法,其特征在于,
所述获取处理所述IP报文的本设备处理器的编号src_cpu_no,包括:
查找本设备维护的IP绑定表中与所述IP报文的特征信息关联的src_cpu_no;
在查找不到所述src_cpu_no时,在本设备中选择一个处理器作为处理所述IP报文的处理器,并将选择的处理器的编号作为src_cpu_no,以及在所述IP绑定表中创建一个IP表项,在该IP表项中记录所述IP报文的特征信息和所述src_cpu_no;
其中,所述IP绑定表包含一个或多个IP表项,每个IP表项均包含IP报文的特征信息和处理该IP报文的本设备处理器的编号。
4.根据权利要求3所述的方法,其特征在于,
所述IP报文的特征信息包括:所述IP报文的五元组。
5.根据权利要求3所述的方法,其特征在于,
所述处理器获取与所述IP报文关联的KCP实例,包括:
查找所述处理器维护的KCP实例表中与创建的IP表项关联的KCP表项;
当查找不到与创建的IP表项关联的KCP表项时,在所述KCP实例表中创建一个与所述创建的IP表项关联的KCP表项;
其中,所述KCP实例表包含一个或多个KCP表项,每个KCP表项与一个IP表项相关联,且包含KCP连接标识和KCP实例;所述KCP连接标识用于唯一标识所述处理器下的KCP连接,所述KCP实例用于定位所述KCP连接。
6.根据权利要求1或2所述的方法,其特征在于,
所述获取处理所述IP报文的本设备处理器的编号src_cpu_no,包括:
查找本设备维护的IP绑定表中与所述IP报文的特征信息关联的src_cpu_no,获取所述src_cpu_no;
其中,所述IP绑定表包含一个或多个IP表项,每个IP表项均包含IP报文的特征信息和处理该IP报文的本设备处理器的编号。
7.根据权利要求6所述的方法,其特征在于,
所述处理器获取与所述IP报文关联的KCP实例,包括:
从本设备维护的IP绑定表中获取所述IP报文对应的IP表项;查找所述处理器维护的KCP实例表中与该IP表项关联的KCP表项,从所述KCP表项中获取所述KCP实例;
其中,所述KCP实例表包含一个或多个KCP表项,每个KCP表项与一个IP表项相关联,且包含KCP连接标识和KCP实例;所述KCP连接标识用于唯一标识所述处理器下的KCP连接,所述KCP实例用于定位所述KCP连接。
8.根据权利要求1所述的方法,其特征在于,
所述信息绑定头还包括从所述报文接收设备返回的KCP确认报文中提取的目标设备标识dst_device_id和目的设备处理器的编号dst_cpu_no。
9.一种报文处理方法,所述方法应用于公网双边网络中多核报文接收设备,其特征在于,所述方法包括:
接收报文发送设备发送的封装了KCP数据的指定格式的网络传输数据,对所述网络传输数据进行解封装,获得信息绑定头和所述KCP数据;
根据所述信息绑定头获取处理所述KCP数据的本设备处理器的编号dst_cpu_no;所述信息绑定头用于记录报文发送设备标识、报文发送设备的处理器编号、报文接收设备标识和报文接收设备的处理器编号;所述信息绑定头由报文发送设备和报文接收设备交互确定;
将所述KCP数据发送至所述dst_cpu_no对应的处理器;
所述处理器获取与所述KCP数据关联的KCP实例,根据所述KCP实例将所述KCP数据解封装为互联网协议IP报文,并向所述报文发送设备回复KCP确认报文;
其中,所述信息绑定头包含所述报文发送设备的标识src_device_id、所述报文发送设备中处理所述网络传输数据的处理器编号src_cpu_no;
所述交互的过程包括:
由报文接收设备判断其接收的信息绑定头中是否还包含本设备标识dst_device_id和本设备处理器的编号dst_cpu_no,如果不包含,在本设备中选择一个处理器作为处理所述KCP数据的处理器,将选择的处理器的编号作为dst_cpu_no;向所述报文发送设备回复携带所述报文发送设备标识src_device_id、所述报文发送设备的处理器编号src_cpu_no,以及所述本设备标识dst_device_id和所述dst_cpu_no的确认报文。
10.根据权利要求9所述的方法,其特征在于,
所述处理器获取与所述KCP数据关联的KCP实例,包括:
查找所述处理器维护的KCP实例表中包含所述KCP实例的KCP表项;
当查找不到包含所述KCP实例的KCP表项时,在所述KCP实例表中创建一个包含所述KCP实例的KCP表项;
其中,所述KCP实例表包含一个或多个KCP表项,每个KCP表项包含KCP连接标识和KCP实例;所述KCP连接标识用于唯一标识所述处理器下的KCP连接,所述KCP实例用于定位所述KCP连接。
11.根据权利要求10所述的方法,其特征在于,所述方法还包括:
根据所述KCP实例将所述KCP数据解封装为互联网协议IP报文后,在本设备维护的IP绑定表中创建一个IP表项,在该表项中记录所述IP报文的特征信息和所述dst_cpu_no;
将创建的IP表项与创建的KCP表项进行关联;
其中,所述IP绑定表包含一个或多个IP表项,每个IP表项均包含IP报文的特征信息和处理该IP报文的本设备处理器的编号。
12.根据权利要求9所述的方法,其特征在于,
所述根据所述信息绑定头获取处理所述KCP数据的本设备处理器的编号dst_cpu_no,包括:
判断所述信息绑定头中是否还包含本设备标识dst_device_id和本设备处理器的编号dst_cpu_no,如果包含,从所述信息绑定头获取所述dst_cpu_no。
13.根据权利要求12所述的方法,其特征在于,
所述处理器获取与所述KCP数据关联的KCP实例,包括:
查找所述处理器维护的KCP实例表中与所述KCP数据关联的KCP表项,从所述KCP表项中获取所述KCP实例;
其中,所述KCP实例表包含一个或多个KCP表项,每个KCP表项包含KCP连接标识和KCP实例;所述KCP连接标识用于唯一标识所述处理器下的KCP连接,所述KCP实例用于定位所述KCP连接。
14.一种报文处理方法,所述方法应用于公网双边网络中多核报文收发设备,其特征在于,所述方法包括:
多核报文发送设备执行权利要求1至8中任一项所述的方法;
多核报文接收设备执行权利要求9至13中任一项所述的方法。
15.一种报文处理系统,所述系统应用于公网双边网络,其特征在于,所述系统包括:
多核报文发送设备,设置为执行权利要求1至8中任一项所述的方法;
多核报文接收设备,设置为执行权利要求9至13中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310226430.4A CN115955517B (zh) | 2023-03-10 | 2023-03-10 | 一种报文处理方法、系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310226430.4A CN115955517B (zh) | 2023-03-10 | 2023-03-10 | 一种报文处理方法、系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115955517A CN115955517A (zh) | 2023-04-11 |
CN115955517B true CN115955517B (zh) | 2023-07-28 |
Family
ID=87286205
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310226430.4A Active CN115955517B (zh) | 2023-03-10 | 2023-03-10 | 一种报文处理方法、系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115955517B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116996515A (zh) * | 2023-09-22 | 2023-11-03 | 北京格尔国信科技有限公司 | 提高远程接入吞吐性能的方法、系统、终端及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109005194A (zh) * | 2018-09-04 | 2018-12-14 | 厦门安胜网络科技有限公司 | 基于kcp协议的无端口影子通信方法及计算机存储介质 |
CN110401645A (zh) * | 2019-07-15 | 2019-11-01 | 珠海市杰理科技股份有限公司 | 数据穿透传输方法、装置、系统、客户端和存储介质 |
CN112019568A (zh) * | 2020-10-19 | 2020-12-01 | 北京太一星晨信息技术有限公司 | 一种报文转发方法、设备和通信方法、系统 |
CN112042158A (zh) * | 2019-04-04 | 2020-12-04 | 柏思科技有限公司 | 通过多个隧道发送分组的方法和系统 |
CN113079077A (zh) * | 2021-03-30 | 2021-07-06 | 郑州信大捷安信息技术股份有限公司 | 基于队列实现的dpdk架构下隧道报文对称rss处理方法及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10701107B2 (en) * | 2017-12-06 | 2020-06-30 | Nicira, Inc. | Deterministic load balancing of IPSec processing |
-
2023
- 2023-03-10 CN CN202310226430.4A patent/CN115955517B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109005194A (zh) * | 2018-09-04 | 2018-12-14 | 厦门安胜网络科技有限公司 | 基于kcp协议的无端口影子通信方法及计算机存储介质 |
CN112042158A (zh) * | 2019-04-04 | 2020-12-04 | 柏思科技有限公司 | 通过多个隧道发送分组的方法和系统 |
CN110401645A (zh) * | 2019-07-15 | 2019-11-01 | 珠海市杰理科技股份有限公司 | 数据穿透传输方法、装置、系统、客户端和存储介质 |
CN112019568A (zh) * | 2020-10-19 | 2020-12-01 | 北京太一星晨信息技术有限公司 | 一种报文转发方法、设备和通信方法、系统 |
CN113079077A (zh) * | 2021-03-30 | 2021-07-06 | 郑州信大捷安信息技术股份有限公司 | 基于队列实现的dpdk架构下隧道报文对称rss处理方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN115955517A (zh) | 2023-04-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107566441B (zh) | 用于虚拟机与云服务计算设备之间的快速路由传输的方法及系统 | |
US10484271B2 (en) | Data universal forwarding plane for information exchange | |
CN106470158B (zh) | 报文转发方法及装置 | |
US20170331733A1 (en) | Contextual Service Mobility in an Enterprise Fabric Network Environment | |
US20180198643A1 (en) | Packet transmission method and apparatus | |
US8903972B2 (en) | Method and apparatus for sharing contents using information of group change in content oriented network environment | |
CN115955517B (zh) | 一种报文处理方法、系统 | |
CN111064804B (zh) | 网络访问方法和装置 | |
JP2019515555A (ja) | 識別情報指向型ネットワークの匿名識別情報及びプロトコル | |
CN114205342B (zh) | 服务调试的路由方法、电子设备及介质 | |
CN108259298B (zh) | 一种报文转发方法及装置 | |
JP2019521619A (ja) | パケット転送 | |
US10178033B2 (en) | System and method for efficient traffic shaping and quota enforcement in a cluster environment | |
CN111147519A (zh) | 数据检测方法、装置、电子设备和介质 | |
CN111131539B (zh) | 报文转发方法及装置 | |
US20150095469A1 (en) | Identifier-based communication method using application program interface | |
CN113132364A (zh) | Arp拟制表项的生成方法、电子设备 | |
CN116566897A (zh) | 一种寻址路由方法、装置、设备及介质 | |
CN114172853B (zh) | 流量转发及裸机服务器的配置方法、装置 | |
CN115834472A (zh) | 一种报文处理方法、转发策略获取方法及装置 | |
CN114374641B (zh) | 一种三层报文转发方法及装置 | |
WO2017028806A1 (zh) | 一种转发报文的方法和装置 | |
CN112565044B (zh) | 报文处理方法及装置 | |
CN110809033B (zh) | 报文转发方法、装置及交换服务器 | |
CN113169936A (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 |