CN107547508A - 一种报文发送、接收方法、装置及网络设备 - Google Patents

一种报文发送、接收方法、装置及网络设备 Download PDF

Info

Publication number
CN107547508A
CN107547508A CN201710513993.6A CN201710513993A CN107547508A CN 107547508 A CN107547508 A CN 107547508A CN 201710513993 A CN201710513993 A CN 201710513993A CN 107547508 A CN107547508 A CN 107547508A
Authority
CN
China
Prior art keywords
nuclear parameter
data message
cpu core
ipsec
receiving device
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
Application number
CN201710513993.6A
Other languages
English (en)
Other versions
CN107547508B (zh
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.)
New H3C Security Technologies Co Ltd
Original Assignee
New H3C Security 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 New H3C Security Technologies Co Ltd filed Critical New H3C Security Technologies Co Ltd
Priority to CN201710513993.6A priority Critical patent/CN107547508B/zh
Publication of CN107547508A publication Critical patent/CN107547508A/zh
Application granted granted Critical
Publication of CN107547508B publication Critical patent/CN107547508B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明实施例提供了一种报文发送、接收方法、装置及网络设备,方法包括:发送端设备为待发送的数据报文分配核参数,地址信息相同的数据报文分配的核参数相同;发送端设备将该核参数添加至IPsec报文的安全服务协议报文头中,这样使得接收端设备接收到该IPsec报文后,能够根据IPsec报文中携带的核参数,确定处理该数据报文的目标CPU核,并将该数据报文上送至该目标CPU核;同一IPsec隧道中传输报文的地址信息并不都相同,因此,为各数据报文分配的核参数不都相同,根据核参数确定的CPU核也不都相同,不会将IPsec隧道中传输的IPsec报文解封装后的数据报文全部上送至相同的CPU核,提高了设备性能。

Description

一种报文发送、接收方法、装置及网络设备
技术领域
本发明涉及通信技术领域,特别是涉及一种报文发送、接收方法、装置及网络设备。
背景技术
IPsec(IP Security,IP安全)是IETF制定的三层隧道加密协议,它为互联网上传输的数据提供了高质量的、基于密码学的安全保证,是一种传统的实现三层VPN(VirtualPrivate Network,虚拟专用网络)的安全技术。IPsec通过在特定通信方之间(例如两个安全网关之间)建立“通道”,来保护通信方之间传输的用户数据的安全,该通道通常称为IPsec隧道(Ipsec tunnel)。IPsec隧道中传输的报文是经过加密处理的,同一IPsec隧道中传输的IPsec报文的IP头中的地址和端口号都是固定的。
网络设备通常为多核CPU设备,网络设备在接收到IPsec报文后,对IPsec报文进行解封装,得到数据报文;并根据该IPsec报文的IP头中的地址和端口号,确定CPU核,将该数据报文上送至所确定的CPU核。也就是说,IP头中的地址和端口号相同的IPsec报文对应相同的CPU核。同一IPsec隧道中传输的IPsec报文的IP头中的地址和端口号相同,因此,同一IPsec隧道中传输的IPsec报文解封装后的数据报文都会上送至相同的CPU核,这样会导致单个CPU核处理压力过大,而其他CPU核空闲,降低网络设备的性能。
发明内容
本发明实施例的目的在于提供一种报文发送、接收方法、装置及网络设备,以提高设备性能。
为达到上述目的,本发明实施例提供了一种报文发送方法,应用于发送端设备,包括:
为待发送的数据报文分配核参数;其中,地址信息相同的数据报文分配的核参数相同;
对所述数据报文进行IPsec封装,得到IPsec报文,所述IPsec报文的安全服务协议报文头中携带所述核参数;
将所述IPsec报文发送至接收端设备,以使所述接收端设备根据所述IPsec报文中携带的核参数确定处理所述数据报文的CPU核。
为达到上述目的,本发明实施例还提供了一种报文接收方法,应用于接收端设备,包括:
接收发送端设备发送的IPsec报文;
读取所述IPsec报文中的安全服务协议报文头中携带的核参数;
对所述IPsec报文进行解封装,得到数据报文;
根据所述核参数,确定处理所述数据报文的目标CPU核;
将所述数据报文上送至所述目标CPU核。
为达到上述目的,本发明实施例还提供了一种报文发送装置,应用于发送端设备,包括:
分配模块,用于为待发送的数据报文分配核参数;其中,地址信息相同的数据报文分配的核参数相同;
封装模块,用于对所述数据报文进行IPsec封装,得到IPsec报文,所述IPsec报文的安全服务协议报文头中携带所述核参数;
发送模块,用于将所述IPsec报文发送至接收端设备,以使所述接收端设备根据所述IPsec报文中携带的核参数确定处理所述数据报文的CPU核。
为达到上述目的,本发明实施例还提供了一种报文接收装置,应用于接收端设备,包括:
接收模块,用于接收发送端设备发送的IPsec报文;
读取模块,用于读取所述IPsec报文中的安全服务协议报文头中携带的核参数;
解封装模块,用于对所述IPsec报文进行解封装,得到数据报文;
确定模块,用于根据所述核参数,确定处理所述数据报文的目标CPU核;
上送模块,用于将所述数据报文上送至所述目标CPU核。
为达到上述目的,本发明实施例还提供了一种发送端网络设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存储机器可读指令;
处理器,用于读取所述存储器上所存储的机器可读指令,以执行上述任一项报文发送方法。
为达到上述目的,本发明实施例还提供了一种接收端网络设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存储机器可读指令;
处理器,用于读取所述存储器上所存储的机器可读指令,以执行上述任一项报文接收方法。
为达到上述目的,本发明实施例还提供了一种机器可读存储介质,存储有机器可读指令,在被处理器读取时,所述机器可读指令促使所述处理器,执行上述任一项报文发送方法。
为达到上述目的,本发明实施例还提供了一种机器可读存储介质,存储有机器可读指令,在被处理器读取时,所述机器可读指令促使所述处理器,执行上述任一项报文接收方法。
应用本发明实施例,发送IPsec报文时,发送端设备为待发送的数据报文分配核参数,地址信息相同的数据报文分配的核参数相同;发送端设备在将该数据报文封装成IPsec报文的过程中,将该核参数添加至该IPsec报文的安全服务协议报文头中,这样使得接收端设备接收到该IPsec报文后,能够根据IPsec报文中携带的核参数,确定处理该数据报文的目标CPU核,并将该数据报文上送至该目标CPU核。也就是说,本发明中是需要保证地址信息相同的数据报文分配相同的核参数,以保证地址信息相同的数据报文上送至同一CPU核处理即可。对于地址信息不同的数据报文可以分配不同的核参数,所以同一IPsec隧道中传输的IPsec报文可以携带不同的核参数,并且接收端设备是根据核参数确定处理数据报文的CPU核,这样接收端设备在接收到同一IPsec隧道发送过来的IPsec报文且进行解封装得到数据报文后,可以将数据报文发送至不同的CPU核,不会全部上送至相同的CPU核,从而提高了设备性能。
当然,实施本发明的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种报文发送方法的流程示意图;
图2为本发明实施例提供的一种报文结构示意图;
图3为本发明实施例提供的一种报文接收方法的流程示意图;
图4为本发明实施例提供的一种报文发送装置的结构示意图;
图5为本发明实施例提供的一种报文接收装置的结构示意图;
图6为本发明实施例提供的一种发送端网络设备的结构示意图;
图7为本发明实施例提供的一种接收端网络设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了解决上述技术问题,本发明实施例提供了一种报文发送、接收方法、装置及网络设备,该方法及装置可以应用于该网络设备,该网络设备可以为交换机、路由器、防火墙设备等网关设备、或者其他具有发送、接收报文功能的电子设备,具体不做限定。
下面首先对本发明实施例提供的一种报文发送方法进行详细说明。
图1为本发明实施例提供的一种报文发送方法的流程示意图,执行主体为发送端设备,包括:
S101:为待发送的数据报文分配核参数;其中,地址信息相同的数据报文分配的核参数相同。
在本实施例中,将未经IPsec封装的报文称为数据报文,对数据报文进行IPsec封装后得到的报文称为IPsec报文。本领域技术人员可以理解,通常情况下,发送端设备先获取数据报文,再将该数据报文封装成IPsec报文发送给接收端设备;接收端设备先将IPsec进行解封装,得到该数据报文,再将该数据报文上送至某个CPU核进行处理。
而在本方案中,发送端设备获取到数据报文后,先为数据报文分配核参数,再对其进行封装,该核参数用于接收端设备确定处理该数据报文的CPU核。
本实施例中所说的CPU核是指CPU中的一个核,接收端设备中可以包含一个CPU,该CPU中包含多个核,或者,接收端设备包含多个CPU,每个CPU中包含一个核,或者,接收端设备包含多个CPU,每个CPU中包含多个核,具体不做限定,但是接收端设备中包含多个CPU核。
接收端设备根据上述核参数确定处理该数据报文的CPU核。作为一种实施方式,发送端设备可以预先获取接收端设备的CPU核的相关信息,比如核数量、核标识等信息,发送端设备可以根据该相关信息,为该数据报文分配CPU核,上述核参数可以为CPU核对应的核标识,这样,接收端设备可以将该核标识对应的CPU核确定为处理该数据报文的CPU核。
可以理解,发送端设备可以向不同的接收端设备发送IPsec报文,在本实施方式中,发送端可以获取其对应的每台接收端设备的CPU核的相关信息。发送端可以先确定接收本次IPsec报文的接收端设备,然后再从预先获取的各台接收端设备的CPU核的相关信息中,确定出接收本次IPsec报文的接收端设备的CPU核的相关信息。
举例来说,发送端设备可以向三台接收端设备发送IPsec报文,这三台接收端设备分别为:设备A、设备B和设备C。发送端设备获取到设备A的CPU核的相关信息包括:CPU核数量10以及这10个CPU核的标识,获取到设备B的CPU核的相关信息包括:CPU核数量16以及这16个CPU核的标识,获取到设备C的CPU核的相关信息包括:CPU核数量12以及这12个CPU核的标识。
假设发送端设备本次需要向设备B发送IPsec报文,发送端设备在设备B的16个CPU核中,选择处理该数据报文的目标CPU核,也就是为该数据报文分配核参数。需要说明的是,分配核参数时,地址信息相同的数据报文分配的核参数相同。
该地址信息可以包括源地址、目的地址、源端口、目的端口,可以理解,该地址信息相同的数据报文属于同一条数据流,同一条数据流的数据报文通常需要上送至接收端设备中的同一个CPU核来处理。因此,地址信息相同的数据报文分配的核参数相同。
或者,作为另一种实施方式,发送端设备也可以不获取接收端设备的CPU核的相关信息,该核参数可以为一个随机数,相同的地址信息对应相同的随机数,接收端设备根据该随机数为数据报文分配CPU核。
作为一种实施方式,发送端设备中可以存储有分配记录,该分配记录中包含地址信息与核参数的对应关系;发送端设备分配核参数时,可以在存储的分配记录中,查找该数据报文的地址信息对应的核参数;将所查找到的核参数分配给所述数据报文。这样,可以使得相同的地址信息分配到相同的核参数。
如果在存储的分配记录中,未查找到该数据报文的地址信息对应的核参数,可以以轮询或随机的方式为该数据报文分配核参数;并将为该数据报文分配的核参数与该数据报文的地址信息的对应关系添加至该分配记录中。
可以理解,如果分配记录中不存在待发送数据报文的地址信息,也就是说,发送端设备第一次为该地址信息分配核参数,可以随机分配、轮询分配等,具体不做限定。将该第一次分配的核参数与该地址信息添加至分配记录中,使得第二次及后续再为该地址信息分配核参数时,均与第一次分配的核参数相同。
本实施方式中,分配记录中存储的地址信息对应的核参数可以为核标识、随机数等等,具体不做限定。
举例来说,假设S101中待发送的数据报文地址信息包括:源ip:1.1.1.1;目的ip:2.0.0.1;源port:udp100;目的port:udp200;假设预先存储的分配记录如表1所示:
表1
在表1中查找该数据报文的地址信息对应的核参数为0000,将0000分配给该数据报文。需要说明的是,表1仅为举例说明,并不对本发明实施例构成限定。
再举个例子,假设S101中待发送的数据报文地址信息包括:源ip:1.1.1.3;目的ip:2.0.0.1;源port:udp100;目的port:udp200,在表1中未查找到该地址信息对应的核参数。这种情况下,可以以轮询或随机的方式为该数据报文分配核参数,假设分配的核参数为0002,将该地址信息及该核参数添加至表1中,则添加信息后的表1为:
这样,如果下次待发送的数据报文的地址信息包括:源ip:1.1.1.3;目的ip:2.0.0.1;源port:udp100;目的port:udp200,则可以根据表1为该数据报文分配核参数0002。
S102:对该数据报文进行IPsec封装,得到IPsec报文,该IPsec报文的安全服务协议报文头中携带该核参数。
本领域技术人员可以理解,IPsec报文的结构可以如图2所示,将待发送数据报文封装成图2的形式,便得到了IPsec报文。IPsec报文中通常包含利用安全服务协议封装的部分,该安全服务协议可以包括ESP协议、AH协议等,具体不做限定。比如图2中的报文结构即为利用ESP协议封装的报文结构。S102中的“安全服务协议报文头”可以为图2中的ESP协议的报文头,也可以为AH协议的报文头部分,或者其他协议的报文头部分。下面以ESP协议为例进行说明。
图2中的ESP Header为ESP协议报文头部分,这个部分为非加密字段,在报文中可以为明文显示。这个部分中包含防重放序号字段(Sequence Number字段),作为一种实施方式,可以在该防重放序号字段添加S101中分配的核参数,也就是将该核参数携带于安全服务协议报文头的防重放序号字段中。
Sequence Number占用32位字节,可以在Sequence Number中的部分字节添加S101中分配的核参数,具体的,可以在Sequence Number中的前四位中添加该核参数。或者,也可以为其他位,比如,Sequence Number部分的后四位等等,具体不做限定。
需要说明的是,防重放序号字段中添加核参数的位置是预留出来的,该核参数的位数不大于防重放序号字段中为其预留的位数。该防重放序号字段中一般为二进制数值,也就是说,核参数对应的二进制数值的位数不大于防重放序号字段中为其预留的位数。
举例来说,如果将Sequence Number中的前四位中预留给核参数,并且该核参数为随机数,则该随机数对应的二进制数值的位数小于等于四。
或者,防重放序号字段中的预留位置具体包含几位字节也可以根据实际情况来设定。上述例子中,接收端设备包含16个CPU核,4位字节可以满足表示16个CPU核的标识(0-15),如果接收端设备包含18个CPU核,则可以在防重放序号字段中预留5位字节,如果接收端设备包含8个CPU,则可以在防重放序号字段中预留3位字节。
S103:将该IPsec报文发送至接收端设备,以使该接收端设备根据该IPsec报文中携带的核参数确定处理该数据报文的CPU核。
将添加了核参数的IPsec报文发送给接收端设备,接收端设备便可以读取IPsec报文中的核参数,根据该核参数确定处理该数据报文的CPU核,对接收到的IPsec报文进行解封装得到该数据报文,将该数据报文上送至所确定的CPU核进行处理。
作为一种实施方式,在将待发送数据封装成所述IPsec报文的过程中,可以将指示标识添加至IPsec报文中的IP报文头中,该指示标识用于指示接收端设备从该安全服务协议报文头中读取核参数。
如图2所示,“IP Header”即为IPsec报文中的IP报文头,一般大小20字节,在本实施方式中,可以在IP报文头的预设位添加指示标识。举例来说,可以使用IP报文头中一个字节的保留字段作为一个flag标记位,将该标记位置为1,即为添加指示标识。也就是说,如果该标记位置1,则表示IPsec报文的ESP报文头中添加了核参数。
可以理解,发送端设备可以根据实际情况,有选择地应用本发明图1所示实施例,也就是说,发送端设备发送的IPsec报文中可能添加了核参数,也可能没添加。如果IPsec报文中没有添加核参数,则接收端设备读取ESP报文头中核参数的操作是不必要的。
而在本实施方式中,发送端设备在IPsec报文的IP报文头部分添加指示标识,接收端设备仅在IP报文头部分存在指示标识的情况下,才会到ESP报文头中读取核参数,这样,减少了接收端设备不必要的操作,提高了接收端设备处理报文的效率。
由此可见,应用本发明实施例,发送IPsec报文时,发送端设备为待发送的数据报文分配核参数,地址信息相同的数据报文分配的核参数相同;发送端设备在将该数据报文封装成IPsec报文的过程中,将该核参数添加至该IPsec报文的安全服务协议报文头中,这样使得接收端设备接收到该IPsec报文后,能够根据IPsec报文中携带的核参数,确定处理该数据报文的目标CPU核,并将该数据报文上送至该目标CPU核。也就是说,本发明中是需要保证地址信息相同的数据报文分配相同的核参数,以保证地址信息相同的数据报文上送至同一CPU核处理即可。对于地址信息不同的数据报文可以分配不同的核参数,所以同一IPsec隧道中传输的IPsec报文可以携带不同的核参数,并且接收端设备是根据核参数确定处理数据报文的CPU核,这样接收端设备在接收到同一IPsec隧道发送过来的IPsec报文且进行解封装得到数据报文后,可以将数据报文发送至不同的CPU核,不会全部上送至相同的CPU核,从而提高了设备性能。
与上述报文发送方法相对应,本发明实施例还提供一种报文接收方法。
图3为本发明实施例提供的一种报文接收方法的流程示意图,应用于接收端设备,包括:
S301:接收发送端设备发送的IPsec报文。
该IPsec报文可以为发送端设备应用图1所示实施例发送的IPsec报文,或者,也可以为发送端设备采用其他方式发送的IPsec报文,具体不做限定。
S302:读取该IPsec报文中的安全服务协议报文头中携带的核参数。
在IPsec协议中,可以提供安全服务的协议有多种,比如,AH协议、ESP协议等。这里所说的安全服务协议报文头,可以为AH协议报文头,也可以为ESP协议报文头,等等,具体不做限定。也就是说,接收端设备既可以对利用AH协议封装的IPsec报文进行处理,也可以对利用ESP协议封装的IPsec报文进行处理。
另外,安全服务协议报文头中核参数的具***置是接收端设备预先确定的。接收端设备与发送端设备预先约定添加核参数的具***置。
假设接收到的IPsec报文的结构如图2所示,该IPsec报文为利用ESP协议封装的,并且核参数添加在了ESP报文头(ESP Header)防重放序号字段(Sequence Number字段)中的前四位;则S302中,接收端设备读取ESP Header中Sequence Number字段中的前四位,假设读取到的数据为0111。
S303:对该IPsec报文进行解封装,得到数据报文。
根据上述内容描述,接收端设备先将IPsec进行解封装,得到数据报文,再将该数据报文上送至某个CPU核进行处理。
S304:根据该核参数,确定处理该数据报文的目标CPU核。
S303与S304的顺序不做限定,可以先执行S303再执行S304,也可以先执行S304再执行S303,或者,也可以同时执行。
根据图1实施例中的内容,该核参数可以为接收端设备的CPU核对应的核标识,这样,接收端设备可以直接将该核标识对应的CPU核作为目标CPU核。
或者,该核参数也可以为一个随机数,这样,S304可以包括:根据该随机数、接收端设备包括的CPU核数量及接收端设备包括的CPU核对应的编号,确定处理该数据报文的目标CPU核。
具体的,接收端设备中可以预先建立随机数与CPU核编号的转换关系,举例来说,该转换关系可以为:CPU核编号=随机数%CPU核数量,其中“%”为求余符号。
假设接收端设备有16个CPU核,这16个CPU核的编号分别为0-15,可以将随机数%16作为目标CPU核的编号。如果核参数为0001(二进制数值),0001%16=1,目标CPU核的编号为1,也就是将编号为1的CPU核作为处理该数据报文的目标CPU核。
再举一个例子,假设接收端设备有10个CPU核,这10个CPU核的编号分别为0-9,可以将随机数%10作为目标CPU核的编号。如果核参数为1111(二进制数值),1111%10=5,目标CPU核的编号为5,也就是将编号为5的CPU核作为处理该数据报文的目标CPU核。
或者,接收端设备中可以预先建立随机数与CPU核编号的对应关系,读取到核参数后,直接在该对应关系中查找该核参数对应的编号,将该编号对应的CPU核作为目标CPU核。
S305:将该数据报文上送至所述该目标CPU核。
应用于发送端设备的一种实施方式中,发送端设备在将待发送数据报文封装成IPsec报文的过程中,将指示标识添加至IPsec报文中的IP报文头中,该指示标识用于指示接收端设备从安全服务协议报文头中读取核参数。
在这种实施方式中,接收端设备接收到IPsec报文后,可以先读取该IPsec报文中的IP报文头部分,如果该IP报文头中携带指示标识,则读取该IPsec报文中的安全服务协议报文头中携带的核参数。
举例来说,发送端设备可以使用IP报文头中一个字节的保留字段作为一个flag标记位,将该标记位置为1,即为添加指示标识。接收端设备接收到IPsec报文后,可以先检测IP报文头部分的flag标记位是否为1,如果是,再执行S302-S305。如果检测IP报文头部分的flag标记位不为1,说明发送端设备并未执行图1所示实施例,并未将核参数添加至IPsec报文中,因此,接收端设备不需要在IPsec报文中的协议报文头中读取核参数,接收端设备可以利用其他方式选择目标CPU核处理数据报文,比如,根据报文的IP头地址和端口号,确定报文对应的CPU核,等等,具体不做限定。
由此可见,本方案中,发送IPsec报文时,发送端设备为待发送的数据报文分配核参数,地址信息相同的数据报文分配的核参数相同;发送端设备在将该数据报文封装成IPsec报文的过程中,将该核参数添加至该IPsec报文的安全服务协议报文头中,这样使得接收端设备接收到该IPsec报文后,能够根据IPsec报文中携带的核参数,确定处理该数据报文的目标CPU核,并将该数据报文上送至该目标CPU核。也就是说,本发明中是需要保证地址信息相同的数据报文分配相同的核参数,以保证地址信息相同的数据报文上送至同一CPU核处理即可。对于地址信息不同的数据报文可以分配不同的核参数,所以同一IPsec隧道中传输的IPsec报文可以携带不同的核参数,并且接收端设备是根据核参数确定处理数据报文的CPU核,这样接收端设备在接收到同一IPsec隧道发送过来的IPsec报文且进行解封装得到数据报文后,可以将数据报文发送至不同的CPU核,不会全部上送至相同的CPU核,从而提高了设备性能。
与上述方法相对应,本发明实施例还提供一种报文发送及接收装置。
图4为本发明实施例提供的一种报文发送装置的结构示意图,包括:
分配模块401,用于为待发送的数据报文分配核参数;其中,地址信息相同的数据报文分配的核参数相同;
封装模块402,用于对所述数据报文进行IPsec封装,得到IPsec报文,所述IPsec报文的安全服务协议报文头中携带所述核参数;
发送模块403,用于将所述IPsec报文发送至接收端设备,以使所述接收端设备根据所述IPsec报文中携带的核参数确定处理所述数据报文的CPU核。
作为一种实施方式,所述核参数携带于所述安全服务协议报文头的防重放序号字段中。
作为一种实施方式,所述核参数包括:所述接收端设备的CPU核对应的核标识。
作为一种实施方式,分配模块401,具体可以用于:
在存储的分配记录中,查找所述数据报文的地址信息对应的核参数,所述分配记录中包含有地址信息与核参数的对应关系;将所查找到的核参数分配给所述数据报文;若在存储的分配记录中,未查找到所述数据报文的地址信息对应的核参数:以轮询或随机的方式为所述数据报文分配核参数;并将为所述数据报文分配的核参数与所述数据报文的地址信息的对应关系添加至所述分配记录中。
作为一种实施方式,所述核参数包括:随机数;所述随机数对应的二进制数值的位数不大于所述防重放序号字段中预留给核参数的位数。
作为一种实施方式,所述IPsec报文的IP报文头中携带指示标识,所述指示标识用于指示所述接收端设备从所述安全服务协议报文头中读取核参数。
图5为本发明实施例提供的一种报文接收装置的结构示意图,包括:
接收模块501,用于接收发送端设备发送的IPsec报文;
读取模块502,用于读取所述IPsec报文中的安全服务协议报文头中携带的核参数;
解封装模块503,用于对所述IPsec报文进行解封装,得到数据报文;
确定模块504,用于根据所述核参数,确定处理所述数据报文的目标CPU核;
上送模块505,用于将所述数据报文上送至所述目标CPU核。
作为一种实施方式,读取模块502,具体可以用于:
在所述IPsec报文的IP报文头中携带指示标识的情况下,读取所述IPsec报文中的安全服务协议报文头中携带的核参数。
作为一种实施方式,所述核参数包括:核标识。
作为一种实施方式,所述核参数包括:随机数;确定模块504,具体用于:
根据所述随机数、所述接收端设备包括的CPU核数量及所述接收端设备包括的CPU核对应的编号,确定处理所述数据报文的目标CPU核。
本发明实施例还提供了一种发送端网络设备,该网络设备可以为交换机、路由器、防火墙设备等网关设备、或者其他具有发送、接收报文功能的电子设备,具体不做限定。如图6所示,该网络设备包括:处理器601、通信接口602、存储器603和通信总线604,其中,处理器601,通信接口602,存储器603通过通信总线604完成相互间的通信,
存储器603,用于存储机器可读指令;
处理器601,用于读取存储器603上所存储的机器可读指令,以执行本发明实施例提供的报文发送方法。
上述网络设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述网络设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
本发明实施例还提供了一种接收端网络设备,该网络设备可以为交换机、路由器、防火墙设备等网关设备、或者其他具有发送、接收报文功能的电子设备,具体不做限定。如图7所示,该网络设备包括:处理器701、通信接口702、存储器703和通信总线704,其中,处理器701,通信接口702,存储器703通过通信总线704完成相互间的通信,
存储器703,用于存储机器可读指令;
处理器701,用于读取存储器703上所存储的机器可读指令,以执行本发明实施例提供的报文接收方法。
上述网络设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述网络设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
本发明实施例还提供了机器可读存储介质,存储有机器可读指令,在被处理器读取时,所述机器可读指令促使所述处理器:执行本发明实施例提供的报文发送方法或报文接收方法。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于***实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (24)

1.一种报文发送方法,其特征在于,应用于发送端设备,包括:
为待发送的数据报文分配核参数;其中,地址信息相同的数据报文分配的核参数相同;
对所述数据报文进行IPsec封装,得到IPsec报文,所述IPsec报文的安全服务协议报文头中携带所述核参数;
将所述IPsec报文发送至接收端设备,以使所述接收端设备根据所述IPsec报文中携带的核参数确定处理所述数据报文的CPU核。
2.根据权利要求1所述的方法,其特征在于,所述核参数携带于所述安全服务协议报文头的防重放序号字段中。
3.根据权利要求1或2所述的方法,其特征在于,所述核参数包括:所述接收端设备的CPU核对应的核标识。
4.根据权利要求1所述的方法,其特征在于,所述为待发送的数据报文分配核参数,包括:
在存储的分配记录中,查找所述数据报文的地址信息对应的核参数,所述分配记录中包含地址信息与核参数的对应关系;
将所查找到的核参数分配给所述数据报文;
若在存储的分配记录中,未查找到所述数据报文的地址信息对应的核参数:
以轮询或随机的方式为所述数据报文分配核参数;并将为所述数据报文分配的核参数与所述数据报文的地址信息的对应关系添加至所述分配记录中。
5.根据权利要求2所述的方法,其特征在于,所述核参数包括:随机数;所述随机数对应的二进制数值的位数不大于所述防重放序号字段中预留给核参数的位数。
6.根据权利要求1所述的方法,其特征在于,所述IPsec报文的IP报文头中携带指示标识,所述指示标识用于指示所述接收端设备从所述安全服务协议报文头中读取核参数。
7.一种报文接收方法,其特征在于,应用于接收端设备,包括:
接收发送端设备发送的IPsec报文;
读取所述IPsec报文中的安全服务协议报文头中携带的核参数;
对所述IPsec报文进行解封装,得到数据报文;
根据所述核参数,确定处理所述数据报文的目标CPU核;
将所述数据报文上送至所述目标CPU核。
8.根据权利要求7所述的方法,其特征在于,所述读取所述IPsec报文中的安全服务协议报文头中携带的核参数,包括:
若所述IPsec报文的IP报文头中携带指示标识,则读取所述IPsec报文中的安全服务协议报文头中携带的核参数。
9.根据权利要求7或8所述的方法,其特征在于,所述核参数包括:核标识。
10.根据权利要求7或8所述的方法,其特征在于,所述核参数包括:随机数;
所述根据所述核参数,确定处理所述数据报文的目标CPU核,包括:
根据所述随机数、所述接收端设备包括的CPU核数量及所述接收端设备包括的CPU核对应的编号,确定处理所述数据报文的目标CPU核。
11.一种报文发送装置,其特征在于,应用于发送端设备,包括:
分配模块,用于为待发送的数据报文分配核参数;其中,地址信息相同的数据报文分配的核参数相同;
封装模块,用于对所述数据报文进行IPsec封装,得到IPsec报文,所述IPsec报文的安全服务协议报文头中携带所述核参数;
发送模块,用于将所述IPsec报文发送至接收端设备,以使所述接收端设备根据所述IPsec报文中携带的核参数确定处理所述数据报文的CPU核。
12.根据权利要求11所述的装置,其特征在于,所述核参数携带于所述安全服务协议报文头的防重放序号字段中。
13.根据权利要求11或12所述的装置,其特征在于,所述核参数包括:所述接收端设备的CPU核对应的核标识。
14.根据权利要求11所述的装置,其特征在于,所述分配模块,具体用于:
在存储的分配记录中,查找所述数据报文的地址信息对应的核参数,所述分配记录中包含有地址信息与核参数的对应关系;
将所查找到的核参数分配给所述数据报文;
若在存储的分配记录中,未查找到所述数据报文的地址信息对应的核参数:
以轮询或随机的方式为所述数据报文分配核参数;并将为所述数据报文分配的核参数与所述数据报文的地址信息的对应关系添加至所述分配记录中。
15.根据权利要求12所述的装置,其特征在于,所述核参数包括:随机数;所述随机数对应的二进制数值的位数不大于所述防重放序号字段中预留给核参数的位数。
16.根据权利要求11所述的装置,其特征在于,所述IPsec报文的IP报文头中携带指示标识,所述指示标识用于指示所述接收端设备从所述安全服务协议报文头中读取核参数。
17.一种报文接收装置,其特征在于,应用于接收端设备,包括:
接收模块,用于接收发送端设备发送的IPsec报文;
读取模块,用于读取所述IPsec报文中的安全服务协议报文头中携带的核参数;
解封装模块,用于对所述IPsec报文进行解封装,得到数据报文;
确定模块,用于根据所述核参数,确定处理所述数据报文的目标CPU核;
上送模块,用于将所述数据报文上送至所述目标CPU核。
18.根据权利要求17所述的装置,其特征在于,所述读取模块,具体用于:
在所述IPsec报文的IP报文头中携带指示标识的情况下,读取所述IPsec报文中的安全服务协议报文头中携带的核参数。
19.根据权利要求17或18所述的装置,其特征在于,所述核参数包括:核标识。
20.根据权利要求17或18所述的装置,其特征在于,所述核参数包括:随机数;所述确定模块,具体用于:
根据所述随机数、所述接收端设备包括的CPU核数量及所述接收端设备包括的CPU核对应的编号,确定处理所述数据报文的目标CPU核。
21.一种发送端网络设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存储机器可读指令;
处理器,用于读取所述存储器上所存储的机器可读指令,以执行权利要求1-6任一所述的方法步骤。
22.一种接收端网络设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存储机器可读指令;
处理器,用于读取所述存储器上所存储的机器可读指令,以执行权利要求7-10任一所述的方法步骤。
23.一种机器可读存储介质,其特征在于,存储有机器可读指令,在被处理器读取时,所述机器可读指令促使所述处理器:执行权利要求1-6任一所述的方法步骤。
24.一种机器可读存储介质,其特征在于,存储有机器可读指令,在被处理器读取时,所述机器可读指令促使所述处理器:执行权利要求7-10任一所述的方法步骤。
CN201710513993.6A 2017-06-29 2017-06-29 一种报文发送、接收方法、装置及网络设备 Active CN107547508B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710513993.6A CN107547508B (zh) 2017-06-29 2017-06-29 一种报文发送、接收方法、装置及网络设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710513993.6A CN107547508B (zh) 2017-06-29 2017-06-29 一种报文发送、接收方法、装置及网络设备

Publications (2)

Publication Number Publication Date
CN107547508A true CN107547508A (zh) 2018-01-05
CN107547508B CN107547508B (zh) 2021-07-30

Family

ID=60971012

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710513993.6A Active CN107547508B (zh) 2017-06-29 2017-06-29 一种报文发送、接收方法、装置及网络设备

Country Status (1)

Country Link
CN (1) CN107547508B (zh)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109145620A (zh) * 2018-08-13 2019-01-04 北京奇安信科技有限公司 数据流分流处理方法及装置
CN110912859A (zh) * 2018-09-17 2020-03-24 华为技术有限公司 发送报文的方法、接收报文的方法及网络设备
CN111182487A (zh) * 2018-11-09 2020-05-19 杭州海康威视数字技术股份有限公司 一种数据发送方法、数据接收方法及装置
CN111277602A (zh) * 2020-01-23 2020-06-12 奇安信科技集团股份有限公司 网络数据包的识别处理方法、装置、电子设备及存储介质
CN111614794A (zh) * 2020-04-24 2020-09-01 南京南瑞继保工程技术有限公司 报文传输方法、装置、电子设备及存储介质
CN111651282A (zh) * 2020-05-08 2020-09-11 南京南瑞继保电气有限公司 报文处理方法、报文处理装置及电子设备
CN112231107A (zh) * 2020-10-28 2021-01-15 新华三信息安全技术有限公司 防火墙的报文限速***、方法、设备及介质
CN113079077A (zh) * 2021-03-30 2021-07-06 郑州信大捷安信息技术股份有限公司 基于队列实现的dpdk架构下隧道报文对称rss处理方法及***
CN113098794A (zh) * 2021-03-30 2021-07-09 郑州信大捷安信息技术股份有限公司 利用二次分流实现隧道报文对称rss处理的方法及***
CN113312605A (zh) * 2021-04-15 2021-08-27 北京交通大学 一种数据传输方法、装置、电子设备及存储介质
CN113422793A (zh) * 2021-02-05 2021-09-21 阿里巴巴集团控股有限公司 数据传输方法、装置、电子设备及计算机存储介质
WO2023036194A1 (zh) * 2021-09-08 2023-03-16 长城汽车股份有限公司 数据传输方法、电子***及存储介质

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101325557A (zh) * 2008-07-25 2008-12-17 华为技术有限公司 一种隧道负载分担的方法、***和装置
CN101345689A (zh) * 2008-09-10 2009-01-14 华为技术有限公司 一种ip安全业务的实现方法、装置和通信设备
CN101355505A (zh) * 2008-09-12 2009-01-28 成都市华为赛门铁克科技有限公司 一种报文的转发方法、装置和***
CN101964749A (zh) * 2010-09-21 2011-02-02 北京网康科技有限公司 一种基于多核构架的报文转发方法及***
CN102624611A (zh) * 2011-12-31 2012-08-01 成都市华为赛门铁克科技有限公司 报文分流方法、装置、处理器和网络设备
CN103797774A (zh) * 2013-11-05 2014-05-14 华为技术有限公司 一种网络地址转换设备及方法
CN103916906A (zh) * 2014-03-07 2014-07-09 大唐移动通信设备有限公司 对用户数据报文分发处理的方法、设备与***
CN104935522A (zh) * 2014-03-19 2015-09-23 中兴通讯股份有限公司 静态IPSec虚接口负载均衡的方法、装置及主处理器
US20170085502A1 (en) * 2015-09-23 2017-03-23 Citrix Systems, Inc. Systems and methods to support vxlan in partition environment where a single system acts as multiple logical systems to support multitenancy
US20170126565A1 (en) * 2015-10-31 2017-05-04 Nicira, Inc. Software receive side scaling for overlay flow re-dispatching

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101325557A (zh) * 2008-07-25 2008-12-17 华为技术有限公司 一种隧道负载分担的方法、***和装置
CN101345689A (zh) * 2008-09-10 2009-01-14 华为技术有限公司 一种ip安全业务的实现方法、装置和通信设备
CN101355505A (zh) * 2008-09-12 2009-01-28 成都市华为赛门铁克科技有限公司 一种报文的转发方法、装置和***
CN101964749A (zh) * 2010-09-21 2011-02-02 北京网康科技有限公司 一种基于多核构架的报文转发方法及***
CN102624611A (zh) * 2011-12-31 2012-08-01 成都市华为赛门铁克科技有限公司 报文分流方法、装置、处理器和网络设备
CN103797774A (zh) * 2013-11-05 2014-05-14 华为技术有限公司 一种网络地址转换设备及方法
CN103916906A (zh) * 2014-03-07 2014-07-09 大唐移动通信设备有限公司 对用户数据报文分发处理的方法、设备与***
CN104935522A (zh) * 2014-03-19 2015-09-23 中兴通讯股份有限公司 静态IPSec虚接口负载均衡的方法、装置及主处理器
US20170085502A1 (en) * 2015-09-23 2017-03-23 Citrix Systems, Inc. Systems and methods to support vxlan in partition environment where a single system acts as multiple logical systems to support multitenancy
US20170126565A1 (en) * 2015-10-31 2017-05-04 Nicira, Inc. Software receive side scaling for overlay flow re-dispatching

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
AIHUA LIANG ET AL: "An Integrated Resource Allocation Algorithm for CPU Intensive and I/O Intensive Jobs in Multi-core Cluster", 《IEEE》 *
李婵怡等: "基于异构平台的BH算法高效并行实现", 《计算机应用研究》 *
裴颂文等: "CPU-GPU异构多核***的动态任务调度算法", 《计算机应用研究》 *

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109145620A (zh) * 2018-08-13 2019-01-04 北京奇安信科技有限公司 数据流分流处理方法及装置
CN110912859B (zh) * 2018-09-17 2021-12-14 华为技术有限公司 发送报文的方法、接收报文的方法及网络设备
CN110912859A (zh) * 2018-09-17 2020-03-24 华为技术有限公司 发送报文的方法、接收报文的方法及网络设备
US11888904B2 (en) 2018-09-17 2024-01-30 Huawei Technologies Co., Ltd. Packet sending method, packet receiving method, and network device
CN111182487A (zh) * 2018-11-09 2020-05-19 杭州海康威视数字技术股份有限公司 一种数据发送方法、数据接收方法及装置
CN111182487B (zh) * 2018-11-09 2022-06-03 杭州海康威视数字技术股份有限公司 一种数据发送方法、数据接收方法及装置
CN111277602A (zh) * 2020-01-23 2020-06-12 奇安信科技集团股份有限公司 网络数据包的识别处理方法、装置、电子设备及存储介质
CN111614794A (zh) * 2020-04-24 2020-09-01 南京南瑞继保工程技术有限公司 报文传输方法、装置、电子设备及存储介质
CN111614794B (zh) * 2020-04-24 2022-09-23 南京南瑞继保工程技术有限公司 报文传输方法、装置、电子设备及存储介质
CN111651282B (zh) * 2020-05-08 2022-07-22 南京南瑞继保电气有限公司 报文处理方法、报文处理装置及电子设备
CN111651282A (zh) * 2020-05-08 2020-09-11 南京南瑞继保电气有限公司 报文处理方法、报文处理装置及电子设备
CN112231107A (zh) * 2020-10-28 2021-01-15 新华三信息安全技术有限公司 防火墙的报文限速***、方法、设备及介质
CN112231107B (zh) * 2020-10-28 2023-06-30 新华三信息安全技术有限公司 防火墙的报文限速***、方法、设备及介质
CN113422793A (zh) * 2021-02-05 2021-09-21 阿里巴巴集团控股有限公司 数据传输方法、装置、电子设备及计算机存储介质
CN113098794B (zh) * 2021-03-30 2022-04-05 郑州信大捷安信息技术股份有限公司 利用二次分流实现隧道报文对称rss处理的方法及***
CN113079077B (zh) * 2021-03-30 2022-04-08 郑州信大捷安信息技术股份有限公司 基于队列实现的dpdk架构下隧道报文对称rss处理方法及***
CN113098794A (zh) * 2021-03-30 2021-07-09 郑州信大捷安信息技术股份有限公司 利用二次分流实现隧道报文对称rss处理的方法及***
CN113079077A (zh) * 2021-03-30 2021-07-06 郑州信大捷安信息技术股份有限公司 基于队列实现的dpdk架构下隧道报文对称rss处理方法及***
CN113312605A (zh) * 2021-04-15 2021-08-27 北京交通大学 一种数据传输方法、装置、电子设备及存储介质
WO2023036194A1 (zh) * 2021-09-08 2023-03-16 长城汽车股份有限公司 数据传输方法、电子***及存储介质

Also Published As

Publication number Publication date
CN107547508B (zh) 2021-07-30

Similar Documents

Publication Publication Date Title
CN107547508A (zh) 一种报文发送、接收方法、装置及网络设备
CN104394148B (zh) IPv6下IPSec协议外出处理硬件实现***
DE112005000523B4 (de) Zwei parallele Maschinen für Hochgeschwindigkeitssende-IPSEC-Verarbeitung
CN106878138B (zh) 一种报文传输方法和装置
CN107682370B (zh) 创建用于嵌入的第二层数据包协议标头的方法和***
US10044841B2 (en) Methods and systems for creating protocol header for embedded layer two packets
CN109450852A (zh) 网络通信加密解密方法及电子设备
CN104954222A (zh) 基于ipsec协议的隧道模式esp硬件封装装置
CN111385259B (zh) 一种数据传输方法、装置、相关设备及存储介质
CN108011824A (zh) 一种报文处理方法以及网络设备
CN109525477A (zh) 数据中心中虚拟机之间的通信方法、装置和***
US9769116B2 (en) Encapsulating traffic while preserving packet characteristics
CN107306198A (zh) 报文转发方法、设备和***
CN106453314A (zh) 数据加解密的方法及装置
CN108683606A (zh) IPsec防重放的方法、装置、网络设备及可读存储介质
CN106161386A (zh) 一种实现IPsec分流的方法和装置
CN108989342B (zh) 一种数据传输的方法及装置
CN108924157A (zh) 一种基于IPSec VPN的报文转发方法及装置
US10256992B2 (en) Tunnel encapsulation
CN109145620A (zh) 数据流分流处理方法及装置
CN107454116A (zh) 单隧道模式下IPsec ESP协议的优化方法及装置
CN114257424A (zh) 基于电力专用芯片的数据包接收处理方法及装置
CN108259294A (zh) 报文处理方法及装置
CN107547479A (zh) IPsec的实现方法及装置
CN109905213A (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