CN114500470A - 一种数据包处理方法及装置 - Google Patents

一种数据包处理方法及装置 Download PDF

Info

Publication number
CN114500470A
CN114500470A CN202111643710.2A CN202111643710A CN114500470A CN 114500470 A CN114500470 A CN 114500470A CN 202111643710 A CN202111643710 A CN 202111643710A CN 114500470 A CN114500470 A CN 114500470A
Authority
CN
China
Prior art keywords
data packet
address
cpu
client
queue
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
CN202111643710.2A
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.)
Tianyi Cloud Technology Co Ltd
Original Assignee
Tianyi Cloud Technology 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 Tianyi Cloud Technology Co Ltd filed Critical Tianyi Cloud Technology Co Ltd
Priority to CN202111643710.2A priority Critical patent/CN114500470A/zh
Publication of CN114500470A publication Critical patent/CN114500470A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供一种数据包处理方法及装置,该方法包括:第一CPU采用轮询方式读取与自身关联的队列中的来自于客户端的数据包,将所述数据包的源IP地址从所述客户端的IP地址修改为所述第一CPU的本地IP地址,将修改后的数据包发送至所述客户端请求访问的业务***。因此,每个CPU对各自处理的会话进行管理,不同CPU之间没有锁冲突,可以提高数据包的处理效率。

Description

一种数据包处理方法及装置
技术领域
本发明涉及网络技术与安全领域,尤其涉及一种数据包处理方法及装置。
背景技术
接入网关***开始在电脑项目中研发,主要为了满足云电脑客户端到云端业务***的安全接入,通过通用性改造,满足不同云电脑客户端到云端业务***的快速接入。
云电脑客户端到云端业务***主要传输图像、文件和用户操作指令数据,具有数据量大,交互实时性要求高的特点。传统的网关***,主要是在应用层实现,客户端与网关***建立连接并完成鉴权后,将客户端上传数据缓存至本地内存后转发到对应的业务***,这种实现方式,主要采用传统的数据包处理方式,通过中央处理器(centralprocessing unit,CPU)中断,即网卡驱动接收到数据包后通过中断通知CPU处理,然后由CPU拷贝数据并交给协议栈。在数据量较大时,这种方式会产生大量CPU中断,导致CPU无法运行其他程序。
传统的数据包处理方式造成网络IO瓶颈主要因素,包括:
1.传统的收发报文方式都必须采用硬中断来做通信,每次硬中断大约消耗100微秒,这还不算因为终止上下文所带来的缓存损失(Cache Miss)。
2.数据必须从内核态和用户态之间切换拷贝,以及全局锁竞争均带来大量CPU消耗。
3.收发包都有***调用的开销。
4.内核工作在多核上,避免不了锁总线、内存屏障带来的性能损耗。
因此,亟需一种新的数据包处理方式以克服上述问题。
发明内容
本发明提供一种数据包处理方法及装置,用以实现提升数据包处理效率。
第一方面,本发明提供一种数据包处理方法,该方法包括:第一CPU采用轮询方式读取与自身关联的队列中的来自于客户端的数据包;将所述数据包的源IP地址从所述客户端的IP地址修改为所述第一CPU的本地IP地址;将修改后的数据包发送至所述客户端请求访问的业务***。
因此,采用上述方法,每个CPU对各自处理的会话进行管理,不同CPU之间没有锁冲突,大大减少了全局锁等待的时间,因此可以提高数据包的处理效率。
在一种可能的设计中,还包括:在连接池保存所述客户端的会话信息;
在一种可能的设计中,还包括:接收来自于所述业务***的回程数据包,所述回程数据包的目标IP地址为所述第一CPU的本地IP地址;在所述连接池查询所述回程数据包对应的会话信息;在所述回程数据包对应的会话信息为所述客户端的会话信息时,将所述第一数据包的目的IP地址从所述第一CPU的本地IP地址修改为所述客户端的IP地址;将修改后的回程数据包发送至所述客户端。
在一种可能的设计中,还包括:在将所述数据包的源IP地址修改为所述第一CPU的本地IP地址之前,所述第一CPU与所述数据包对应的客户端执行握手和安全认证过程。
第二方面,本发明提供一种数据包处理方法,包括:网关***为多个CPU分别配置至少一个本地IP地址和队列;接收来自于客户端的数据包;确定所述数据包归属的队列,并将所述数据包缓存至所述数据包归属的队列,所述数据包归属的队列与第一CPU关联,所述第一CPU为所述多个CPU中的一个。
在一种可能的设计中,还包括:所述网关***发布虚拟IP地址,所述虚拟IP地址用于所述客户端访问业务***。
在一种可能的设计中,还包括:接收来自于所述业务***的回程数据包,在所述回程数据包的源IP地址为所述第一CPU的本地IP地址时,将所述回程数据包发送至所述第一CPU。
在一种可能的设计中,还包括:所述网关***在与所述客户端建立连接时,采用预设算法至少两次对所述客户端发送的报文进行校验。
第三方面,本申请还提供一种装置。该装置可以执行上述方法设计。该装置可以是能够执行上述方法对应的功能的芯片或电路,或者是包括该芯片或电路的设备。
在一种可能的实现方式中,该装置包括:存储器,用于存储计算机可执行程序代码;以及处理器,处理器与存储器耦合。其中存储器所存储的程序代码包括指令,当处理器执行所述指令时,使该装置或者安装有该装置的设备执行上述任意一种可能的设计中的方法。
其中,该装置还可以包括通信接口,该通信接口可以是收发器,或者,如果该装置为芯片或电路,则通信接口可以是该芯片的输入/输出接口,例如输入/输出管脚等。
在一种可能的设计中,该装置包括相应的功能单元,分别用于实现以上方法中的步骤。功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的单元。
第四方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,当所述计算机程序在装置上运行时,执行上述任意一种可能的设计中的方法。
另外,第三方面至第四方面中任一种实现方式所带来的技术效果可参见第一方面中不同实现方式所带来的技术效果,此处不再赘述。
附图说明
图1为本发明实施例提供的网关***架构图;
图2为本发明实施例提供的数据包处理方法的概述流程图;
图3为本发明实施例提供的客户端接入业务***流程图;
图4为本发明实施例提供的客户端与网关***建立连接和安全认证流程示意图;
图5为本发明实施例提供的一种装置的结构示意图之一;
图6为本发明实施例提供的一种装置的结构示意图之二。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部份实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
本发明实施例描述的应用场景是为了更加清楚的说明本发明实施例的技术方案,并不构成对于本发明实施例提供的技术方案的限定,本领域普通技术人员可知,随着新应用场景的出现,本发明实施例提供的技术方案对于类似的技术问题,同样适用。其中,在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。
本发明提供的网关***采用数据平面开发套件(data plane development kit,DPDK)技术,相比于传统的数据包处理方式,DPDK采用轮询方式实现数据包处理过程:DPDK重载了网卡驱动,该驱动在收到数据包后不中断通知CPU,而是将数据包通过零拷贝技术存入内存,这时应用层程序就可以通过DPDK提供的接口,直接从内存读取数据包。这种处理方式节省了CPU中断时间、内存拷贝时间,并向应用层提供了简单易行且高效的数据包处理方式,使得网络应用的开发更加方便。
采用DPDK收发包,具有以下优势:减少了CPU中断次数;减少了内存拷贝次数;绕过了linux的协议栈,进入用户协议栈,用户获得了协议栈的控制权,能够定制化协议栈降低复杂度;采用大页内存,减少缓存损失。
为了提高网关***的通用性和可扩展性,本发明采用通用的转发框架,用户可自定义转发规则,相比于传统的应用网关,网关***与业务功能进一步解耦。同时,***采用边界网关协议(border gateway protocol,BGP)协议发布网关的虚拟(virtual IP,VIP)地址路由形成等价路由,实现多网关集群部署,提升了***的可靠性和吞吐量的扩展性。
在本发明实施例中,网关***作为客户端和云端业务***接入的“门闸”,为了满***互实时性要求高,数据吞吐量大的业务场景(如云电脑业务,视频传输等),需要主要考虑以下因素:
高数据包转发性能,本发明采用DPDK技术,通过将网卡接收流量以轮询方式直接旁路至用户态,并在用户态实现轻量级的TCP/IP协议栈,实现业务流量高性能转发。
高吞吐量,本发明的网关***采用25G高性能网卡,结合DPDK软件包,极大限度的提升网卡的使用效率。同时,***负载均衡部署,如果出现***吞吐量不足的情形,可以快速扩容,满足不同业务***的业务吞吐量需求。
安全防护,网关***需要对接入客户端进行安全认证,并对后端业务***进行保护,防止流量攻击(sys flood)导致业务***奔溃。高可靠性,本发明采用BGP协议发布网关的VIP地址路由形成等价路由,实现多网关集群部署,单网关节点发生故障时,不影响业务***对外提供服务。
本申请的网关***主要分为数据面和控制面两大部分,该***整体架构参考图1,数据面部分主要实现客户端数据的转发、会话管理、安全认证、流量统计等功能,主要包括以下模块:
(1)网络设备层:使用DPDK实现网卡收发数据、端口聚合、VLAN、流量控制等功能。
(2)IP协议栈:参考Linux内核协议栈,对内核协议栈精简,实现轻量级IP协议栈。
(3)接入网关层:网关数据转发、会话管理、安全认证、流量统计等功能的主要实现。
控制面部分,主要实现网关配置的下发管理和流量监控等功能,主要包括以下模块:逻辑控制层;代理层;Web展示层;配置管理层。
下面以客户端接入业务***的具体流程为例,参考图2,说明数据包处理过程。
步骤200:网关***为多个CPU分别配置至少一个本地IP地址和队列。
示例性地,在网关***启动时,网关程序通过设置内核亲和度,绑定在各个CPU(例如绑定16个CPU)上运行,每个CPU分配至少一个本地IP(local IP,LIP)地址,本地IP地址的数量决定网关***支持最大并发数量,例如,在CPU的数量为16,为每个CPU分配1个本地IP地址时,最大并发数量为:16×1×65000=104万。例如,如图3所示,网关***为CPU1配置队列1,为CPU2配置队列2,为CPU3配置队列3,……,为CPUn配置队列n。
步骤210:客户端向网关***发送数据包。
步骤220:网关***确定数据包归属的队列,并将该数据包缓存至该数据包归属的队列。其中,该数据包归属的队列为第一CPU,第一CPU为多个CPU中的一个。
示例性地,网关***还采用quagga对外发布虚拟IP地址(即VIP),虚拟IP地址用于客户端访问业务***。
例如,VIP地址为115.34.154.1:80,客户端的IP为100.124.101.3:2468,客户端可以通过访问VIP访问网关***,并进一步访问业务***。
网关***根据数据包对应的五元组进行哈希(hash)计算,确定将数据包所属的队列,并缓存至数据包所属的队列,例如如图3所示的队列3。
步骤230:第一CPU使用轮询方式处理与第一CPU关联的队列中的数据包。
其中,此时的数据包可以为经过自定义轻量级IP协议栈处理后的数据包,并获取到传输控制协议(transmission control protocol,TCP)层数据段的内容。通过使用轻量级的IP协议栈,可以降低逻辑判断的复杂度。
例如,如图3所示,第一CPU为CPU3,与CPU3关联的队列为队列3,是在步骤200时,网关***为CPU3配置或绑定队列3。
其中,使用轮询方式从队列直接读取数据包,可以减少内核中断和内核到用户空间的拷贝。
步骤240:第一CPU将数据包的源IP地址从客户端的IP地址修改为第一CPU的本地ID地址。
例如,在图3中,CPU3的本地IP地址为192.168.1.3。
此外,第一CPU还将数据包目的IP端口修改为业务***的IP端口。例如,在图3中,业务***的IP端口为192.168.244.1:8080。源端口使用非分配端口(例如,1001)。
此外,在将数据包的源IP地址修改为第一CPU的本地IP地址之前,第一CPU与数据包对应的客户端执行握手和安全认证过程。示例性地,可以参考下述第一阶段至第四阶段。
步骤250:第一CPU将修改后的数据包发送至客户端请求访问的业务***。
示例性地,第一CPU3将修改后的数据包发送至客户端请求访问的业务***,并与业务***建立连接,连接池保存当前会话信息,即客户端的会话信息。
因此,采用上述方法,每个CPU对各自处理的会话进行管理,不同CPU之间没有锁冲突,大大减少了全局锁等待的时间,因此可以提高数据包的处理效率。
可选的,所述方法还包括:
步骤260:业务***向网关***发送回程数据包。
步骤270:在回程数据包的源IP地址为第一CPU的本地IP地址时,网关***将回程数据包发送至第一CPU。
步骤280:第一CPU在连接池查询回程数据包对应的会话信息,在回程数据包对应的会话信息为客户端的会话信息时,将第一数据包的目的IP地址从第一CPU的本地IP地址修改为客户端的IP地址。
示例性地,第一CPU根据回程数据包对应的五元组进行哈希计算,根据哈希值在连接池中查找回程数据包对应的会话信息,在回程数据包对应的会话信息为客户端的会话信息时,将回程数据包目的IP地址修改为客户端的IP地址,回程数据包的端口修改为客户端的端口。因此,往返的数据包都由同一个CPU处理,会话管理CPU本地化,无锁冲突。
其中,网关***可以将回程数据包缓存至与第一CPU关联的队列中的回程数据包,第一CPU可以使用轮询方式处理与第一CPU关联的队列中的回程数据包。
步骤290:第一CPU将修改后的回程数据包发送至客户端。
对于客户端与网关***建立连接和安全认证流程是本***的另一个创新点,整个建立连接和安全认证过程分为4个阶段,参考图4所示。
第一阶段:建立连接与防止流量攻击(syn flood)
1、客户端向网关***发送同步(Synchronize,Syn)报文。网关***采用TCP层的预设算法回复Syn报文或确认(acknowledge,Ack)报文,其中,预设算法可以为syn-cookie算法或者其他用于防止流量攻击的算法。
2、客户端三次握手的Ack报文到达网关***时,网关***采用TCP层的预设算法校验,校验不通过则丢弃报文,校验通过则完成与Client的三次握手。
3、网关***将客户端的Ack报文进行缓存。
第二阶段:安全认证
1、完成三次握手后,网关***向客户端发送网关***的公钥(public key)。
2、客户端生成一串随机数(key),并使用网关***的公钥(public key)进行加密后数据发送给网关***。
3、网关***使用私钥(private key)对接收到的数据进行解密,使用解密结果对接收的数据进行对称加密后发送给客户端。
4、客户端使用随机数(key)对接收的数据进行解密,若解密后的明文与上一次发送数据一致,则继续下一步,否则停止认证。
5、客户端使用随机数(key)对认证信息进行加密,发送给网关***。
6、网关***获得认证信息后确定需要连接的业务***的IP和端口。
第三阶段:网关***与应用***建立连接
1、网关***向业务***发送Syn报文开始建立连接。
2、网关***在收到Syn报文或Ack报文后,将第一阶段缓存的客户端的Ack报文发送给业务***,完成三次握手连接。
第四阶段:数据转发
后续数据包到达网关***时,根据第三阶段建立的连接,直接转发至业务***,中间无需缓存。
采用本申请实施例提供的方法数据包转发性能方面,相比基于内核态转发的传统网关实现,性能有了明显的提升,包转发率从200万pps提升至800万pps。其次,网关***在握手阶段实现syn-cookies校验,可以有效阻挡syn flood攻击,保护后端业务***安全。网关***在TCP层实现安全传输层协议(transport layer security,TLS)安全协议,客户端每一次连接使用不同的密钥,保证安全认证和数据传输安全。再次,网关***采用通用的转发框架,基于TCP传输的业务均可通过网关***进行接入,网关***与业务完全解耦。最后,***采用BGP协议发布网关的VIP地址路由形成等价路由,实现多网关集群部署,保证了网关的可靠性和可扩展性。
网关***采用C语言进行编写,DPDK采用18.11版本,在部署时,采用MellanoxMT27710 25G网卡,独占使用16个CPU内核,大页内存设置为32G,利用BGP协议发布网关的VIP地址路由形成等价路由。
本发明实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,另外,在本发明各个实施例中的各功能单元可以集成在一个处理器中,也可以是单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
本发明实施例还提供一种装置500,参见图5所示,包括:处理模块510和收发模块520。
收发模块520可以包括接收单元和发送单元。处理模块510用于对装置500的动作进行控制管理。收发模块520用于支持装置500与其他装置的通信。可选地,装置500还可以包括存储单元,所述存储单元用于存储装置500的程序代码和数据。
可选地,所述装置500中各个模块可以是通过软件来实现。
可选地,处理模块510可以是处理器或控制器,例如可以是通用中央处理器(central processing unit,CPU),通用处理器,数字信号处理(digital signalprocessing,DSP),专用集成电路(application specific integrated circuits,ASIC),现场可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请实施例公开内容所描述的各种示例性的逻辑方框,模块和电路。所述处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等等。收发模块520可以是通信接口、收发器或收发电路等,其中,该通信接口是统称,在具体实现中,该通信接口可以包括多个接口,存储单元可以是存储器。
其中,在一种实现方式中,处理模块510,用于采用轮询方式读取与自身关联的队列中的来自于客户端的数据包;将所述数据包的源IP地址从所述客户端的IP地址修改为所述第一CPU的本地IP地址;收发模块520,用于将修改后的数据包发送至所述客户端请求访问的业务***。
在一种实现方式中,处理模块510,用于为多个CPU分别配置至少一个本地IP地址和队列;收发模块520,用于将接收来自于客户端的数据包;处理模块510,用于确定所述数据包归属的队列,并将所述数据包缓存至所述数据包归属的队列,所述数据包归属的队列与第一CPU关联,所述第一CPU为所述多个CPU中的一个。
本发明实施例还提供另一种装置600,参见图6所示,包括:
通信接口601,存储器602以及处理器603;
其中,所述通信装置600通过所述通信接口601与其它设备进行通信,比如收发消息;存储器602,用于存储程序指令;处理器603,用于调用所述存储器602中存储的程序指令,按照获得的程序执行的方法。
通信接口601,获取在第K个时刻N个服务器的网络负载率,K和N为正整数;
在一种实现方式中,处理器603调用存储器602存储的程序指令执行:采用轮询方式读取与自身关联的队列中的来自于客户端的数据包;将所述数据包的源IP地址从所述客户端的IP地址修改为所述第一CPU的本地IP地址;将修改后的数据包发送至所述客户端请求访问的业务***。
在一种实现方式中,处理器603调用存储器602存储的程序指令执行:为多个CPU分别配置至少一个本地IP地址和队列;将接收来自于客户端的数据包;确定所述数据包归属的队列,并将所述数据包缓存至所述数据包归属的队列,所述数据包归属的队列与第一CPU关联,所述第一CPU为所述多个CPU中的一个。
本发明实施例中不限定上述通信接口601、存储器602以及处理器603之间的具体连接介质,比如总线,总线可以分为地址总线、数据总线、控制总线等。
在本发明实施例中,处理器可以是通用处理器、数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
在本发明实施例中,存储器可以是非易失性存储器,比如硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD)等,还可以是易失性存储器(volatilememory),例如随机存取存储器(random-access memory,RAM)。存储器还可以是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本发明实施例中的存储器还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据。
本发明实施例还提供一种计算机可读存储介质,包括程序代码,当程序代码在计算机上运行时,程序代码用于使计算机执行上述本发明实施例上述提供的方法的步骤。
本领域内的技术人员应明白,本发明的实施例可提供为方法、***、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (10)

1.一种数据包处理方法,其特征在于,包括:
第一中央处理器CPU采用轮询方式读取与自身关联的队列中的来自于客户端的数据包;
将所述数据包的源IP地址从所述客户端的IP地址修改为所述第一CPU的本地IP地址;
将修改后的数据包发送至所述客户端请求访问的业务***。
2.如权利要求1所述的方法,其特征在于,还包括:
在连接池保存所述客户端的会话信息。
3.如权利要求2所述的方法,其特征在于,还包括:
接收来自于所述业务***的回程数据包,所述回程数据包的目标IP地址为所述第一CPU的本地IP地址;
在所述连接池查询所述回程数据包对应的会话信息;
在所述回程数据包对应的会话信息为所述客户端的会话信息时,将所述第一数据包的目的IP地址从所述第一CPU的本地IP地址修改为所述客户端的IP地址;
将修改后的回程数据包发送至所述客户端。
4.如权利要求1-3任一项所述的方法,其特征在于,还包括:
所述第一CPU获取网关***与所述数据包对应的客户端执行握手和安全认证的认证结果;
根据认证结果将所述数据包的源IP地址修改为所述第一CPU的本地IP地址。
5.一种数据包处理方法,其特征在于,包括:
网关***为多个CPU分别配置至少一个本地IP地址和队列;
接收来自于客户端的数据包;
确定所述数据包归属的队列,并将所述数据包缓存至所述数据包归属的队列,所述数据包归属的队列与第一CPU关联,所述第一CPU为所述多个CPU中的一个。
6.如权利要求5所述的方法,其特征在于,还包括:
所述网关***发布虚拟IP地址,所述虚拟IP地址用于所述客户端访问业务***。
7.如权利要求6所述的方法,其特征在于,还包括:
接收来自于所述业务***的回程数据包;
在所述回程数据包的源IP地址为所述第一CPU的本地IP地址时,将所述回程数据包发送至所述第一CPU。
8.如权利要求5-7任一项所述的方法,其特征在于,还包括:
所述网关***在与所述客户端建立连接时,采用预设算法至少两次对所述客户端发送的报文进行校验。
9.一种数据包处理装置,其特征在于,该装置包括处理器和接口电路,所述接口电路用于接收来自所述装置之外的其它装置的信号并传输至所述处理器或将来自所述处理器的信号发送给所述装置之外的其它装置,所述处理器通过逻辑电路或执行代码指令用于实现如权利要求1至4或5至8中任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,当所述计算机指令在计算机上运行时,使得计算机执行权利要求1至8中任一项所述的方法。
CN202111643710.2A 2021-12-29 2021-12-29 一种数据包处理方法及装置 Pending CN114500470A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111643710.2A CN114500470A (zh) 2021-12-29 2021-12-29 一种数据包处理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111643710.2A CN114500470A (zh) 2021-12-29 2021-12-29 一种数据包处理方法及装置

Publications (1)

Publication Number Publication Date
CN114500470A true CN114500470A (zh) 2022-05-13

Family

ID=81509039

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111643710.2A Pending CN114500470A (zh) 2021-12-29 2021-12-29 一种数据包处理方法及装置

Country Status (1)

Country Link
CN (1) CN114500470A (zh)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1845513A (zh) * 2006-05-23 2006-10-11 烽火通信科技股份有限公司 多业务接入节点接入设备共用公网ip地址的方法
CN101739380A (zh) * 2009-12-11 2010-06-16 中国航空无线电电子研究所 基于共享内存结构的多处理机通信装置及其方法
CN102938718A (zh) * 2012-10-19 2013-02-20 中兴通讯股份有限公司 一种家庭网关与智能终端综合***及其通信方法
CN106713185A (zh) * 2016-12-06 2017-05-24 瑞斯康达科技发展股份有限公司 一种多核cpu的负载均衡方法及装置
CN110704211A (zh) * 2019-09-29 2020-01-17 烽火通信科技股份有限公司 一种在多核***下跨cpu收包的方法及***
CN112887229A (zh) * 2021-01-11 2021-06-01 杭州迪普科技股份有限公司 一种会话信息同步方法及装置
CN113010379A (zh) * 2021-03-09 2021-06-22 爱瑟福信息科技(上海)有限公司 电子设备监控***
CN113507532A (zh) * 2021-08-24 2021-10-15 优刻得科技股份有限公司 网络地址转换的方法及相应服务器、存储介质和电子设备
CN113794646A (zh) * 2021-09-13 2021-12-14 国网电子商务有限公司 能源行业的监控数据传输***及方法

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1845513A (zh) * 2006-05-23 2006-10-11 烽火通信科技股份有限公司 多业务接入节点接入设备共用公网ip地址的方法
CN101739380A (zh) * 2009-12-11 2010-06-16 中国航空无线电电子研究所 基于共享内存结构的多处理机通信装置及其方法
CN102938718A (zh) * 2012-10-19 2013-02-20 中兴通讯股份有限公司 一种家庭网关与智能终端综合***及其通信方法
CN106713185A (zh) * 2016-12-06 2017-05-24 瑞斯康达科技发展股份有限公司 一种多核cpu的负载均衡方法及装置
CN110704211A (zh) * 2019-09-29 2020-01-17 烽火通信科技股份有限公司 一种在多核***下跨cpu收包的方法及***
CN112887229A (zh) * 2021-01-11 2021-06-01 杭州迪普科技股份有限公司 一种会话信息同步方法及装置
CN113010379A (zh) * 2021-03-09 2021-06-22 爱瑟福信息科技(上海)有限公司 电子设备监控***
CN113507532A (zh) * 2021-08-24 2021-10-15 优刻得科技股份有限公司 网络地址转换的方法及相应服务器、存储介质和电子设备
CN113794646A (zh) * 2021-09-13 2021-12-14 国网电子商务有限公司 能源行业的监控数据传输***及方法

Similar Documents

Publication Publication Date Title
US11146665B2 (en) Methods and apparatus for sharing and arbitration of host stack information with user space communication stacks
US9961143B2 (en) Providing enhanced data retrieval from remote locations
JP5772946B2 (ja) 計算機システム、及び計算機システムにおけるオフローディング方法
US8671152B2 (en) Network processor system and network protocol processing method
US7634650B1 (en) Virtualized shared security engine and creation of a protected zone
US8156230B2 (en) Offload stack for network, block and file input and output
WO2023005773A1 (zh) 基于远程直接数据存储的报文转发方法、装置、网卡及设备
US20210243227A1 (en) Detecting attacks using handshake requests systems and methods
US9749354B1 (en) Establishing and transferring connections
US6983382B1 (en) Method and circuit to accelerate secure socket layer (SSL) process
Kim et al. A case for smartnic-accelerated private communication
CN113810397B (zh) 协议数据的处理方法及装置
US11044350B1 (en) Methods for dynamically managing utilization of Nagle's algorithm in transmission control protocol (TCP) connections and devices thereof
CN115577397B (zh) 数据处理方法、装置、设备及存储介质
WO2024040846A1 (zh) 数据处理方法、装置、电子设备及存储介质
WO2010023951A1 (ja) セキュア通信装置、セキュア通信方法及びプログラム
CN114500470A (zh) 一种数据包处理方法及装置
US11647083B2 (en) Cluster-aware multipath transmission control protocol (MPTCP) session load balancing
US11979457B2 (en) Managing network services using multipath protocols
KR102476159B1 (ko) Nic로의 보안연결 설정기능 이양방법 및 이를 이용한 nic, 그리고 컴퓨터 판독 가능 기록매체
US11544114B1 (en) Methods for optimizing cloud-scale distributed asynchronous systems with idempotent workloads and devices thereof
KR101577034B1 (ko) 소프트웨어적인 네트워크 부가기능 추가가 용이한 멀티코어 기반의 toe 시스템 및 그 제어 방법
KR101755620B1 (ko) 네트워크 장비 및 그 제어 방법
CN117714115A (zh) 一种攻击防护方法、装置、服务器及存储介质
Gao et al. The Case for Transport-Level Encryption in Datacenter Networks

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