CN109067935A - 分片报文处理方法及多核处理器系统 - Google Patents

分片报文处理方法及多核处理器系统 Download PDF

Info

Publication number
CN109067935A
CN109067935A CN201810935409.0A CN201810935409A CN109067935A CN 109067935 A CN109067935 A CN 109067935A CN 201810935409 A CN201810935409 A CN 201810935409A CN 109067935 A CN109067935 A CN 109067935A
Authority
CN
China
Prior art keywords
processor
processed
mark
fragment message
message
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
CN201810935409.0A
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.)
Shenzhen Forward Industrial Co Ltd
Original Assignee
Shenzhen Forward Industrial 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 Shenzhen Forward Industrial Co Ltd filed Critical Shenzhen Forward Industrial Co Ltd
Priority to CN201810935409.0A priority Critical patent/CN109067935A/zh
Publication of CN109067935A publication Critical patent/CN109067935A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/256NAT traversal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0006Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission format
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Quality & Reliability (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供一种分片报文处理方法及多核处理器系统,涉及数据通信和网络安全技术领域。该方法应用于多核处理器系统,所述系统包括多个处理器;所述方法包括:第一处理器接收待处理分片报文,提取待处理分片报文的标识,根据待处理分片报文的标识计算第二处理器的标识,根据第二处理器的标识向第二处理器发送待处理分片报文的地址,第二处理器根据待处理分片报文的地址获取待处理分片报文,根据待处理分片报文的标识以及网络信息计算第三处理器的标识,根据第三处理器的标识向第三处理器发送待处理分片报文的地址,第三处理器获取待处理分片报文确定待处理分片报文进行NAT转换处理。该方法有效提高分片报文在多核处理器系统中的NAT处理效率。

Description

分片报文处理方法及多核处理器系统
技术领域
本发明涉及数据通信和网络安全技术领域,特别涉及一种分片报文处理方法及多核处理器系统。
背景技术
随着互联网技术的迅猛发展,越来越多的用户进入互联网获取各种信息,包括当前热门的物联网技术也离不开互联网的支撑。但是传统互联网协议第四版(InternetProtocol4,简称IPv4)网络的地址仅有32比特(bit),只能分配给有限的用户,网络地址转换(Network Address Translation,简称NAT)就是为了解决IPv4网络中地址资源不充足问题而诞生的技术,该技术能将多个私网地址映射到一个或多个公网地址,实现网络地址的高度重用,解决地址资源不充足问题。另外,互联网协议(Internet Protocol,简称IP)分片是网络上传输IP报文的一种技术手段,可以理解为通过IP协议传输数据包时,将数据报文分为若干分片进行传输,并在目标系统中进行重组。通常在要传输的IP报文的大小超过最大传输单位(Maximum Transmission Unit,简称MTU)时就会产生IP分片情况。
现有技术中,网络通信设备中已广泛使用了多核处理器进行网络报文转发,转发性能大大提高。但是,在现有技术中,涉及到对多核处理器系统中分片报文进行NAT转换时,有些是采用单独的NAT业务板卡,这种板卡采用独立于多核系统的处理器,其本身的效率就有可能比不上多核处理器的性能,而有些使用多核处理器的方案中,同一个报文的分片使用不同中央处理器(Central Processing Unit,简称CPU)进行处理,多CPU之间的资源互斥、加锁等操作耗费时间,影响效率。
发明内容
本发明的目的在于,针对上述现有技术中的不足,提供一种分片报文处理方法及多核处理器系统,该方法有效提高分片报文在多核处理器系统中的NAT处理效率。
为实现上述目的,本发明实施例采用的技术方案如下:
第一方面,本发明实施例提供了一种分片报文处理方法,包括:所述方法应用于多核处理器系统,所述系统包括:多个处理器;所述方法包括:
第一处理器接收待处理分片报文,并提取所述待处理分片报文的标识,根据所述待处理分片报文的标识计算第二处理器的标识;所述第一处理器根据所述第二处理器的标识,向所述第二处理器发送所述待处理分片报文的地址;所述第二处理器根据所述待处理分片报文的地址,获取所述待处理分片报文,并根据所述待处理分片报文的标识、以及网络信息计算第三处理器的标识,其中,所述待处理分片报文包括:所述网络信息和所述待处理分片报文的标识;所述第二处理器根据所述第三处理器的标识向所述第三处理器发送所述待处理分片报文的地址;所述第三处理器根据所述待处理分片报文的地址获取所述待处理分片报文,若所述第三处理器根据所述网络信息确定进行网络地址转换NAT,则将所述待处理分片报文进行NAT转换处理。
进一步地,所述第一处理器接收所述待处理分片报文,并提取所述待处理分片报文的标识,根据所述待处理分片报文的标识计算第二处理器的标识,包括:所述第一处理器接收所述待处理分片报文,并提取所述待处理分片报文的标识;所述第一处理器根据所述待处理分片报文的标识,采用预设哈希算法计算所述第二处理器的标识。
进一步地,所述多个处理器为N个处理器,其中N为大于1的整数;所述第一处理器根据所述待处理分片报文的标识,采用所述预设哈希算法计算所述第二处理器的标识,包括:所述第一处理器将所述预设哈希算法中的哈希桶个数设为N个,得到设定后的哈希算法;所述第一处理器根据所述待处理分片报文的标识,采用所述设定后的哈希算法计算所述第二处理器的标识。
进一步地,所述第二处理器根据所述待处理分片报文的标识、以及所述网络信息计算第三处理器的标识,并根据所述第三处理器的标识向所述第三处理器发送所述待处理分片报文之前,还包括:所述第二处理器判断是否获取到所述待处理分片报文的首片报文,其中,所述首片报文携带所述网络信息;所述第二处理器若未获取到所述待处理分片报文的所述首片报文,则所述第二处理器将已获取到的所述待处理分片报文的其他分片写入缓存队列;
所述第二处理器根据所述待处理分片报文的地址,获取所述待处理分片报文,并根据所述待处理分片报文的标识、以及所述网络信息计算第三处理器的标识,包括:所述第二处理器根据所述待处理分片报文的地址,在确定获取到所述首片报文之后,根据所述待处理分片报文的标识、以及所述网络信息计算所述第三处理器的标识。
进一步地,若所述第三处理器根据所述网络信息确定进行网络地址转换NAT,则将所述待处理分片报文进行NAT转换处理,包括:所述第三处理器根据所述网络信息查询是否存在预设NAT规则,若存在,则所述第三处理器确定进行网络地址转换NAT;所述第三处理器将所述待处理分片报文进行NAT转换处理。
第二方面,本发明实施例还提供了一种多核处理器系统,包括:多个处理器;
第一处理器,用于接收待处理分片报文,并提取所述待处理分片报文的标识,根据所述分片报文的标识计算第二处理器的标识;根据所述第二处理器的标识,向所述第二处理器发送所述待处理分片报文的地址;所述第二处理器,用于根据所述待处理分片报文的地址,获取所述待处理分片报文,并根据所述待处理分片报文的标识、以及网络信息计算第三处理器的标识,并根据所述第三处理器的标识向所述第三处理器发送所述待处理分片报文的地址,其中,所述待处理分片报文包括:所述网络信息和所述待处理分片报文的标识;所述第三处理器,用于根据所述待处理分片报文的地址获取所述待处理分片报文,并在根据所述网络信息确定进行网络地址转换NAT时,将所述待处理分片报文进行NAT转换处理。
进一步地,所述第一处理器,具体用于接收所述待处理分片报文,并提取所述待处理分片报文的标识;根据所述待处理分片报文的标识,采用预设哈希算法计算所述第二处理器的标识。
进一步地,所述多个处理器为N个处理器,其中N为大于1的整数;所述第一处理器,具体用于将所述预设哈希算法中的哈希桶个数设为N个,得到设定后的哈希算法;根据所述待处理分片报文的标识,采用所述设定后的哈希算法计算所述第二处理器的标识。
进一步地,所述第二处理器,还用于在根据所述待处理分片报文的标识、以及所述网络信息计算第三处理器的标识,并根据所述第三处理器的标识向所述第三处理器发送所述待处理分片报文之前,判断是否获取到所述待处理分片报文的首片报文,其中,所述首片报文携带所述网络信息;若未获取到所述待处理分片报文的所述首片报文,则所述第二处理器将已获取到的所述待处理分片报文的其他分片写入缓存队列;
相应的,所述第二处理器,具体用于根据所述待处理分片报文的地址,在确定获取到所述首片报文之后,根据所述待处理分片报文的标识、以及所述网络信息计算第三处理器的标识。
进一步地,所述第三处理器,具体用于根据所述网络信息查询是否存在预设NAT规则,若存在,则所述第三处理器确定进行网络地址转换NAT;将所述待处理分片报文进行NAT转换处理。
本发明的有益效果是:
本发明实施例提供的分片报文处理方法及多核处理系统中,通过提取待处理分片报文的标识,根据分片报文的标识计算第二处理器的标识,可以实现同一个报文的各个分片由第二处理器获取后进行转发处理,避免了多核处理器之间的资源竞争,有效提升分片报文的处理效率。
附图说明
为了更清楚的说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单的介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本发明一实施例提供的多核处理器系统结构示意图;
图2为本发明一实施例提供的分片报文处理方法流程示意图;
图3为本发明另一实施例提供的分片报文处理方法流程示意图;
图4为本发明又一实施例提供的分片报文处理方法流程示意图;
图5为本发明又一实施例提供的多核处理器系统结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
图1为本发明一实施例提供的多核处理器系统结构示意图。如图1所示,该多核处理器系统包括:控制板卡20、业务板卡30和业务子卡40。每张业务板卡30都是多CPU系统,多个CPU同时参与业务报文的转发。其中,控制板卡20下发转发表项和NAT规则,业务板卡30可以连接不同类型的业务子卡40。其中,NAT规则表示在路由器上手动配置命令生成的一种我们希望设备对报文做NAT转换的一种规则,需要进行NAT处理的报文要首先查找这些规则,如果报文类型符合这些规则,才进行后续的NAT处理,这个规则也就是NAT策略规则。
通常,对于需要进行NAT处理的分片报文的处理流程如下:当具备NAT功能的网络设备收到需要做NAT转换的报文流的第一个报文时,提取出报文中的IP五元组信息(源IP地址、源端口、目的IP地址、目的端口和传输层协议标识),根据NAT转换规则对IP五元组信息中的源IP地址、源端口、目的IP地址、目的端口和传输层协议标识建立转换表项,再进行转换,也称为NAT会话表。其中,NAT转换规则表示经过NAT规则的查询,并且报文的类型与此规则匹配,则需要对报文进行特定的转换,比如替换目的IP,或者替换源IP等,这种特定的转换动作,就是NAT转换规则。通常,通过NAT规则来判断报文是否需要进行NAT处理,又通过NAT转换规则,对报文实施最终的特定转换。
图2为本发明一实施例提供的分片报文处理方法流程示意图。所述方法应用于上述多核处理器系统,所述系统包括:多个处理器10,这多个处理器功能相同,根据不同的任务执行不同的处理。下述实施例中以任意3个处理器:第一处理器、第二处理器、第三处理器为例进行说明,其中,第一、第二和第三只是对分片报文处理顺序的说明,并不是限定每个处理器自身的功能。
如图2所示,所述方法的步骤包括:
S201、第一处理器接收待处理分片报文,并提取待处理分片报文的标识,根据该待处理分片报文的标识计算第二处理器的标识。
上述待处理分片报文可以由上述控制板卡下发到业务板卡的第一处理器上。具体地,待处理分片报文的分片可能会发送到不同的第一处理器,即由多个处理器来处理待处理分片报文的分片,以进一步确定用于转发的第二处理器。
可选地,上述待处理分片报文的标识可以是待处理分片报文中ID关键字(Identification,简称ID)信息,进而采用预设的算法、根据ID关键字信息计算第二处理器的标识。
S202、第一处理器根据第二处理器的标识,向第二处理器发送待处理分片报文的地址。
S203、第二处理器根据待处理分片报文的地址,获取待处理分片报文,并根据待处理分片报文的标识、以及网络信息计算第三处理器的标识。
其中,待处理分片报文可以包括:网络信息和待处理分片报文的标识。
可选地,上述网络信息可以是待处理分片报文的IP五元组信息、或者IP三元组信息等。
S204、第二处理器根据第三处理器的标识向第三处理器发送待处理分片报文的地址。
举例说明,第二处理器通过IP三元组信息计算出第三处理器的标识。
其中,三元组信息包括源IP地址、目的IP地址以及传输层协议标识,具体网络信息类型不限于上述所述,视具体情况而定。
第三处理器可以根据待处理分片报文的分片进行会话创建。
S205、第三处理器根据待处理分片报文的地址获取待处理分片报文,若第三处理器根据网络信息确定进行网络地址转换NAT,则将待处理分片报文进行NAT转换处理。
本实施例中,通过提取待处理分片报文的标识,根据分片报文的标识计算第二处理器的标识,可以实现同一个报文的各个分片由同一个第二处理器获取后进行转发处理,避免了多核处理器之间的资源竞争,有效提升分片报文的处理效率。
进一步地,第一处理器接收待处理分片报文,并提取待处理分片报文的标识,根据待处理分片报文的标识计算第二处理器的标识,包括:第一处理器接收待处理分片报文,并提取待处理分片报文的标识;第一处理器根据待处理分片报文的标识,采用预设哈希算法计算第二处理器的标识。
一种实施方式中,第一处理器从使能了NAT功能的接口上接收待做NAT处理的上述待处理分片报文,对接收到的上述待处理分片报文,进一步解析头部信息,从中提取出上述待处理分片报文的标识。其中,待处理分片报文的标识可以是待处理分片报文的ID字段信息。
将提取出来待处理分片报文的ID字段信息作为预设哈希算法的输入关键字,可得到一个输出结果,该输出结果表示一个第二处理器的标识。该第二处理器的标识直接对应多核处理器系统中的一个真实CPU,这个CPU就作为转发CPU。其中,第二处理器的标识可以是CPU的编号,例如,业务板卡上的多个CPU依次进行编号,每个CPU的编号唯一,将这个唯一的编号作为CPU的标识。
这里hash算法根据技术人员自身业务特点进行选择。第一处理器根据第二处理器的标识,将分片报文传递给第二处理器做进一步处理。
进一步地,多个处理器为N个处理器,其中N为大于1的整数。第一处理器根据待处理分片报文的标识,采用预设哈希算法计算第二处理器的标识,包括:第一处理器将预设哈希算法中的哈希桶个数设为N个,得到设定后的哈希算法;第一处理器根据待处理分片报文的标识,采用设定后的哈希算法计算第二处理器的标识。
也就是本实施例中,hash桶的大小为多核处理器系统中参与NAT报文转发的CPU个数。这样可以更好地发挥多核处理器中多个处理器并行工作的优势。
另一实施例中,待处理分片报文在转发过程中,由首片报文来携带网络信息。
相应的,上述第二处理器根据待处理分片报文的标识、以及网络信息计算第三处理器的标识,并根据第三处理器的标识向第三处理器发送待处理分片报文之前,还包括:第二处理器判断是否获取到待处理分片报文的首片报文,其中,首片报文携带网络信息。
第二处理器若未获取到待处理分片报文的首片报文,则第二处理器将已获取到的待处理分片报文的其他分片写入缓存队列;直到第二处理器获取到首片报文后,也就是获取了待处理分片报文的网络信息后,再根据待处理分片报文的地址,获取待处理分片报文,并根据待处理分片报文的标识、以及网络信息计算第三处理器的标识。
那么,上述第二处理器根据待处理分片报文的地址,获取待处理分片报文,并根据待处理分片报文的标识、以及网络信息计算第三处理器的标识,包括:第二处理器根据待处理分片报文的地址,在确定收到首片报文之后,根据待处理分片报文的标识、以及网络信息计算第三处理器的标识。
可选地,第二处理器在转发待处理分片报文时,每收到待处理分片报文的一个分片后,根据待处理分片报文中的网络信息进行会话查询及NAT转换处理,如果未查询到会话,对该分片进行缓存直到首片到达。
本实施例中,网络信息可以是IP五元组信息,但是具体网络信息类型不限于此,视具体情况而定。
进一步地,第三处理器根据网络信息确定进行网络地址转换NAT,则将待处理分片报文进行NAT转换处理,包括:第三处理器根据网络信息查询是否存在预设NAT规则,若存在,则第三处理器确定进行网络地址转换NAT;第三处理器将待处理分片报文进行NAT转换处理。
图3为本发明另一实施例提供的分片报文处理方法流程示意图。在上述实施例的基础上,以图3为例说明一具体实施方式。
如图3所示,该方法包括:
S301、第一处理器接收待处理分片报文,并提取待处理分片报文的标识,根据待处理分片报文的标识计算第二处理器的标识。
S302、第一处理器根据第二处理器的标识,向第二处理器发送待处理分片报文的地址。
S303、第二处理器根据待处理分片报文的地址,获取待处理分片报文。
S304、第二处理器判断获取到的分片是否有对应的缓存队列。
若没有,则执行S305、若有,则执行S306。
S305、第二处理器创建该分片对应的缓存队列。之后继续执行S306。
S306、第二处理器判断获取到的分片是否是上述待处理分片报文的首片报文。
若是,则执行S307,若否,则执行S308~S310。
S307、第二处理器从待处理分片报文的首片报文中提取待处理分片报文的网络信息,并将待处理分片报文的首片报文存入上述缓存队列。
执行完S307后,执行S311。
S308、第二处理器将获取到的分片存入上述缓存队列。
S309、第二处理器判断缓存队列中是否已存在待处理分片报文的首片报文。
若是,则执行S310,若否,等待处理分片报文的首片报文到达第二处理器后执行S311。
S310、第二处理器根据待处理分片报文的首片报文提取待处理分片报文的网络信息。
S311、第二处理器根据待处理分片报文中的网络信息查询是否存在NAT会话。
若是,执行S312,若否,则执行S313~S314。
需要说明的是,NAT会话是存储在共享内存中,处理器可以通过访问共享内存查询是否存在NAT会话。
S312、第二处理器将缓存队列中,待处理分片报文的分片进行NAT转换,将转换后的分片进行转发。也就是说,不需要另外创建会话了。
可选地,第二处理器将上述待处理分片报文转发给下一跳目的地,例如相连的路由器或者主机等下一个设备。
需要说明的是,如果是非首片报文,在做NAT转换时仅需对IP地址进行转换即可;如果是首片报文,则需要对IP地址及端口信息同时进行转换。
可选地,如果上述分片是待处理分片报文的最后一个分片,可以将该分片从上述缓存队列中删除。
S313、第二处理器根据待处理分片报文的标识、以及网络信息计算第三处理器的标识。
具体实现过程中,第二处理器根据待处理分片报文的标识、以及网络信息,也可以采用hash算法计算第三处理器的标识。
一种实施方式中,第二处理器将待处理分片报文的网络信息作为hash算法的输入,hash桶的大小可以设置为业务板卡上参与NAT转发的CPU个数进而可以输出一个处理器的标识,即第三处理器的标识,例如可以是一个CPU的编号。其中,业务板卡上参与会话创建的处理器的个数可以小于或等于N。本实施例中,网络信息可以是三元组信息。
S314、第二处理器根据第三处理器的标识向第三处理器发送上述缓存队列中待处理分片报文的地址。
具体地,待处理分片报文的首片和其他分片的地址都发送给第三处理器进行会话创建。
图4为本发明又一实施例提供的分片报文处理方法流程示意图。在上述实施例的基础上,以图4为例说明一具体实施方式。
如图4所示,第三处理器执行的方法可以包括:
S401、第三处理器根据待处理分片报文的地址获取待处理分片报文。
S402、第三处理器根据获取到的上述待处理分片报文判断是否需要创建会话。
若是,则执行S404~S407,若否,则执行S403。
S403、第三处理器将上述待处理分片报文进行NAT转换处理并转发。
可选地,第三处理器将上述待处理分片报文转发给下一跳目的地,例如相连的路由器或者主机等。
S404、第三处理器从待处理分片报文的首片报文中提取待处理分片报文的网络信息。
可选地,这里网络信息为待处理分片报文的IP五元组信息。
S405、第三处理器根据上述待处理分片报文的网络信息查询是否存在预设NAT规则。
若是,则执行S407,若否则执行S406。
S406、第三处理器将上述待处理分片报文直接转发。
S407、第三处理器根据NAT规则创建上述待处理分片报文的网络信息的NAT会话。之后继续执行S403。
同样需要说明的是,如果是非首片报文,在做NAT转换时仅需对IP地址进行转换即可;如果是首片报文,则需要对IP地址及端口信息同时进行转换。
图5为本发明又一实施例提供的多核处理器系统结构示意图。图5示出的系统主要包括图1中集成在业务板卡的部分,该系统包括:多个处理器10。业务板卡30的多个处理器10可以根据不同的需要担任不同的角色,例如其中一个处理器可能成为第一处理器11,也可能成为第二处理器12,或者还可能是第三处理器13。这样可以更好地体现多核处理器系统的优势。具体的:
第一处理器11,用于接收待处理分片报文,并提取待处理分片报文的标识,根据待处理分片报文的标识计算第二处理器12的标识;根据第二处理器12的标识,向第二处理器12发送待处理分片报文的地址。
第二处理器12,用于根据待处理分片报文的地址,获取待处理分片报文,并根据待处理分片报文的标识、以及网络信息计算第三处理器13的标识,并根据第三处理器13的标识向第三处理器13发送待处理分片报文的地址,其中,待处理分片报文包括:网络信息和待处理分片报文的标识。
第三处理器13,用于根据待处理分片报文的地址获取待处理分片报文,并在根据网络信息确定进行网络地址转换NAT时,将待处理分片报文进行NAT转换处理。
上述待处理分片报文可以由控制板卡20下发到业务板卡30的第一处理器11上。具体地,待处理分片报文的分片可能会发送到不同的第一处理器11,即由多个处理器10来处理待处理分片报文的分片,以进一步确定用于转发的第二处理器12。
可选地,上述待处理分片报文的标识可以是待处理分片报文中ID关键字信息,进而采用预设的算法、根据ID关键字信息计算第二处理器12的标识。
可选地,上述网络信息可以是待处理分片报文的IP五元组信息、或者IP三元组信息等。
举例说明,第二处理器12通过IP三元组信息计算出第三处理器13的标识。
其中,三元组信息包括源IP地址、目的IP地址以及传输层协议标识,具体网络信息类型不限于上述所述,视具体情况而定。
第三处理器13可以根据待处理分片报文的分片进行会话创建。
本实施例中,通过提取待处理分片报文的标识,根据分片报文的标识计算第二处理器12的标识,可以实现同一个报文的各个分片被同一个第二处理器12获取后进行转发处理,避免了多核处理器之间的资源竞争,有效提升分片报文的处理效率。
进一步地,第一处理器11,具体用于接收待处理分片报文,并提取待处理分片报文的标识;根据待处理分片报文的标识,采用预设哈希算法计算第二处理器12的标识。
一种实施方式中,第一处理器11从使能了NAT功能的接口接收待做NAT处理的上述待处理分片报文,对接收到的上述待处理分片报文,进一步解析头部信息,从中提取出上述待处理分片报文的标识。其中,待处理分片报文的标识可以是待处理分片报文的ID字段信息。
将提取出来待处理分片报文的ID字段信息作为预设hash算法的输入关键字,可得到一个输出结果,该输出结果表示一个第二处理器12的标识,该第二处理器12的标识直接对应多核处理器系统中的一个真实CPU,这个CPU就作为转发CPU。其中,第二处理器12的标识可以是CPU的编号,例如,业务板卡30上的多个CPU依次进行编号,每个CPU的编号唯一,将这个唯一的编号作为CPU的标识。
这里hash算法根据技术人员自身业务特点进行选择。第一处理器11根据第二处理器12的标识,将分片报文传递给第二处理器12做进一步处理。
进一步地,多个处理器10为N个处理器,其中N为大于1的整数;第一处理器11,具体用于将预设哈希算法中的哈希桶个数设为N个,得到设定后的哈希算法;根据待处理分片报文的标识,采用设定后的哈希算法计算第二处理器12的标识。
也就是本实施例中,hash桶的大小为多核处理器系统中参与NAT报文转发的CPU个数。这样可以更好地发挥多核处理器中多个处理器10并行工作的优势。
另一实施例中,待处理分片报文在转发过程中,由首片报文来携带网络信息。
相应的,上述第二处理器12,还用于在根据待处理分片报文的标识、以及网络信息计算第三处理器13的标识,并根据第三处理器13的标识向第三处理器13发送待处理分片报文之前,判断是否获取到待处理分片报文的首片报文,其中,首片报文携带网络信息;若未获取到待处理分片报文的首片报文,则第二处理器12将已获取到的待处理分片报文的其他分片写入缓存队列;直到第二处理器12获取到首片报文后,也就是获取了待处理分片报文的网络信息后,再根据待处理分片报文的地址,获取待处理分片报文,并根据待处理分片报文的标识、以及网络信息计算第三处理器13的标识,。
那么,上述第二处理器12具体用于根据待处理分片报文的地址,获取待处理分片报文,并根据待处理分片报文的标识、以及网络信息计算第三处理器13的标识,包括:第二处理器12根据待处理分片报文的地址,在确定收到首片报文之后,根据待处理分片报文的标识、以及网络信息计算第三处理器13的标识。
可选地,第二处理器12在转发待处理分片报文时,每收到待处理分片报文的一个分片后,根据待处理分片报文中的网络信息进行会话查询及NAT转换处理,如果未查询到会话,对该分片进行缓存直到首片到达。
本实施例中,网络信息可以是IP五元组信息,但是具体网络信息类型不限于此,视具体情况而定。
进一步地,第三处理器13,具体用于根据网络信息查询是否存在预设NAT规则,若存在,则第三处理器13确定进行网络地址转换NAT;将待处理分片报文进行NAT转换处理。
该多核处理器系统用于执行前述方法实施例,其实现原理和技术效果类似,在此不再赘述。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种分片报文处理方法,其特征在于,所述方法应用于多核处理器系统,所述系统包括:多个处理器;
所述方法包括:
第一处理器接收待处理分片报文,并提取所述待处理分片报文的标识,根据所述待处理分片报文的标识计算第二处理器的标识;
所述第一处理器根据所述第二处理器的标识,向所述第二处理器发送所述待处理分片报文的地址;
所述第二处理器根据所述待处理分片报文的地址,获取所述待处理分片报文,并根据所述待处理分片报文的标识、以及网络信息计算第三处理器的标识,其中,所述待处理分片报文包括:所述网络信息和所述待处理分片报文的标识;
所述第二处理器根据所述第三处理器的标识向所述第三处理器发送所述待处理分片报文的地址;
所述第三处理器根据所述待处理分片报文的地址获取所述待处理分片报文,若所述第三处理器根据所述网络信息确定进行网络地址转换NAT,则将所述待处理分片报文进行NAT转换处理。
2.根据权利要求1所述的方法,其特征在于,所述第一处理器接收所述待处理分片报文,并提取所述待处理分片报文的标识,根据所述待处理分片报文的标识计算所述第二处理器的标识,包括:
所述第一处理器接收所述待处理分片报文,并提取所述待处理分片报文的标识;
所述第一处理器根据所述待处理分片报文的标识,采用预设哈希算法计算所述第二处理器的标识。
3.根据权利要求2所述的方法,其特征在于,所述多个处理器为N个处理器,其中N为大于1的整数;
所述第一处理器根据所述待处理分片报文的标识,采用所述预设哈希算法计算所述第二处理器的标识,包括:
所述第一处理器将所述预设哈希算法中的哈希桶个数设为N个,得到设定后的哈希算法;
所述第一处理器根据所述待处理分片报文的标识,采用所述设定后的哈希算法计算所述第二处理器的标识。
4.根据权利要求1所述的方法,其特征在于,所述第二处理器根据所述待处理分片报文的标识、以及所述网络信息计算所述第三处理器的标识,并根据所述第三处理器的标识向所述第三处理器发送所述待处理分片报文之前,还包括:
所述第二处理器判断是否获取到所述待处理分片报文的首片报文,其中,所述首片报文携带所述网络信息;
所述第二处理器若未获取到所述待处理分片报文的所述首片报文,则所述第二处理器将已获取到的所述待处理分片报文的其他分片写入缓存队列;
所述第二处理器根据所述待处理分片报文的地址,获取所述待处理分片报文,并根据所述待处理分片报文的标识、以及所述网络信息计算第三处理器的标识,包括:
所述第二处理器根据所述待处理分片报文的地址,在确定获取到所述首片报文之后,根据所述待处理分片报文的标识、以及所述网络信息计算所述第三处理器的标识。
5.根据权利要求1所述的方法,其特征在于,若所述第三处理器根据所述网络信息确定进行网络地址转换NAT,则将所述待处理分片报文进行NAT转换处理,包括:
所述第三处理器根据所述网络信息查询是否存在预设NAT规则,若存在,则所述第三处理器确定进行网络地址转换NAT;
所述第三处理器将所述待处理分片报文进行NAT转换处理。
6.一种多核处理器系统,其特征在于,包括:多个处理器;
第一处理器,用于接收待处理分片报文,并提取所述待处理分片报文的标识,根据所述分片报文的标识计算第二处理器的标识;根据所述第二处理器的标识,向所述第二处理器发送所述待处理分片报文的地址;
所述第二处理器,用于根据所述待处理分片报文的地址,获取所述待处理分片报文,并根据所述待处理分片报文的标识、以及网络信息计算第三处理器的标识,并根据所述第三处理器的标识向所述第三处理器发送所述待处理分片报文的地址,其中,所述待处理分片报文包括:所述网络信息和所述待处理分片报文的标识;
所述第三处理器,用于根据所述待处理分片报文的地址获取所述待处理分片报文,并在根据所述网络信息确定进行网络地址转换NAT时,将所述待处理分片报文进行NAT转换处理。
7.根据权利要求6所述的多核处理器系统,其特征在于,所述第一处理器,具体用于接收所述待处理分片报文,并提取所述待处理分片报文的标识;根据所述待处理分片报文的标识,采用预设哈希算法计算所述第二处理器的标识。
8.根据权利要求7所述的多核处理器系统,其特征在于,所述多个处理器为N个处理器,其中N为大于1的整数;
所述第一处理器,具体用于将所述预设哈希算法中的哈希桶个数设为N个,得到设定后的哈希算法;根据所述待处理分片报文的标识,采用所述设定后的哈希算法计算所述第二处理器的标识。
9.根据权利要求6所述的多核处理器系统,其特征在于,所述第二处理器,还用于在根据所述待处理分片报文的标识、以及所述网络信息计算第三处理器的标识,并根据所述第三处理器的标识向所述第三处理器发送所述待处理分片报文之前,判断是否获取到所述待处理分片报文的首片报文,其中,所述首片报文携带所述网络信息;若未获取到所述待处理分片报文的所述首片报文,则所述第二处理器将已获取到的所述待处理分片报文的其他分片写入缓存队列;
相应的,所述第二处理器,具体用于根据所述待处理分片报文的地址,在确定获取到所述首片报文之后,根据所述待处理分片报文的标识、以及所述网络信息计算第三处理器的标识。
10.根据权利要求6所述的多核处理器系统,其特征在于,所述第三处理器,具体用于根据所述网络信息查询是否存在预设NAT规则,若存在,则所述第三处理器确定进行网络地址转换NAT;将所述待处理分片报文进行NAT转换处理。
CN201810935409.0A 2018-08-16 2018-08-16 分片报文处理方法及多核处理器系统 Pending CN109067935A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810935409.0A CN109067935A (zh) 2018-08-16 2018-08-16 分片报文处理方法及多核处理器系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810935409.0A CN109067935A (zh) 2018-08-16 2018-08-16 分片报文处理方法及多核处理器系统

Publications (1)

Publication Number Publication Date
CN109067935A true CN109067935A (zh) 2018-12-21

Family

ID=64687062

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810935409.0A Pending CN109067935A (zh) 2018-08-16 2018-08-16 分片报文处理方法及多核处理器系统

Country Status (1)

Country Link
CN (1) CN109067935A (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111953807A (zh) * 2020-07-30 2020-11-17 新华三信息安全技术有限公司 一种报文标识处理方法、装置及存储介质
CN112104565A (zh) * 2020-09-15 2020-12-18 东软集团股份有限公司 一种实现报文转发的方法、系统及设备
CN112671941A (zh) * 2020-11-20 2021-04-16 北京东土军悦科技有限公司 报文处理方法、装置、设备及介质
CN113114522A (zh) * 2021-03-03 2021-07-13 杭州迪普信息技术有限公司 流量监控设备
CN113542131A (zh) * 2021-05-25 2021-10-22 新华三信息安全技术有限公司 一种报文转发方法及装置
CN114553938A (zh) * 2022-02-25 2022-05-27 苏州浪潮智能科技有限公司 一种通信报文的处理方法、装置、电子设备及存储介质
CN115022423A (zh) * 2022-06-22 2022-09-06 上海弘积信息科技有限公司 一种负载均衡设备中IPv4标识分配方法
CN116248590A (zh) * 2022-12-16 2023-06-09 中国联合网络通信集团有限公司 数据转发方法、装置、设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102624611A (zh) * 2011-12-31 2012-08-01 成都市华为赛门铁克科技有限公司 报文分流方法、装置、处理器和网络设备
US8416688B2 (en) * 2004-10-18 2013-04-09 Qualcomm Incorporated Automatic adaptive network traffic prioritization and shaping
CN103475586A (zh) * 2013-08-22 2013-12-25 东软集团股份有限公司 网络数据报文的转发方法、装置及系统
CN103731356A (zh) * 2013-12-09 2014-04-16 福建星网锐捷网络有限公司 报文处理方法及装置
CN106790556A (zh) * 2016-12-26 2017-05-31 深圳市风云实业有限公司 一种基于分布式系统的nat会话管理方法
CN107888710A (zh) * 2017-12-26 2018-04-06 新华三信息安全技术有限公司 一种报文转发方法及装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8416688B2 (en) * 2004-10-18 2013-04-09 Qualcomm Incorporated Automatic adaptive network traffic prioritization and shaping
CN102624611A (zh) * 2011-12-31 2012-08-01 成都市华为赛门铁克科技有限公司 报文分流方法、装置、处理器和网络设备
CN103475586A (zh) * 2013-08-22 2013-12-25 东软集团股份有限公司 网络数据报文的转发方法、装置及系统
CN103731356A (zh) * 2013-12-09 2014-04-16 福建星网锐捷网络有限公司 报文处理方法及装置
CN106790556A (zh) * 2016-12-26 2017-05-31 深圳市风云实业有限公司 一种基于分布式系统的nat会话管理方法
CN107888710A (zh) * 2017-12-26 2018-04-06 新华三信息安全技术有限公司 一种报文转发方法及装置

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111953807B (zh) * 2020-07-30 2022-02-22 新华三信息安全技术有限公司 一种报文标识处理方法、装置及存储介质
CN111953807A (zh) * 2020-07-30 2020-11-17 新华三信息安全技术有限公司 一种报文标识处理方法、装置及存储介质
CN112104565A (zh) * 2020-09-15 2020-12-18 东软集团股份有限公司 一种实现报文转发的方法、系统及设备
CN112104565B (zh) * 2020-09-15 2024-03-29 东软集团股份有限公司 一种实现报文转发的方法、系统及设备
CN112671941A (zh) * 2020-11-20 2021-04-16 北京东土军悦科技有限公司 报文处理方法、装置、设备及介质
CN113114522A (zh) * 2021-03-03 2021-07-13 杭州迪普信息技术有限公司 流量监控设备
CN113114522B (zh) * 2021-03-03 2022-07-01 杭州迪普信息技术有限公司 流量监控设备
CN113542131B (zh) * 2021-05-25 2023-08-22 新华三信息安全技术有限公司 一种报文转发方法及装置
CN113542131A (zh) * 2021-05-25 2021-10-22 新华三信息安全技术有限公司 一种报文转发方法及装置
CN114553938A (zh) * 2022-02-25 2022-05-27 苏州浪潮智能科技有限公司 一种通信报文的处理方法、装置、电子设备及存储介质
CN114553938B (zh) * 2022-02-25 2023-08-15 苏州浪潮智能科技有限公司 一种通信报文的处理方法、装置、电子设备及存储介质
CN115022423A (zh) * 2022-06-22 2022-09-06 上海弘积信息科技有限公司 一种负载均衡设备中IPv4标识分配方法
CN116248590A (zh) * 2022-12-16 2023-06-09 中国联合网络通信集团有限公司 数据转发方法、装置、设备及存储介质
CN116248590B (zh) * 2022-12-16 2024-05-10 中国联合网络通信集团有限公司 数据转发方法、装置、设备及存储介质

Similar Documents

Publication Publication Date Title
CN109067935A (zh) 分片报文处理方法及多核处理器系统
CN101217464B (zh) 一种udp数据包的传输方法
CN104270379B (zh) 基于传输控制协议的https 代理转发方法及装置
CN101296238B (zh) 一种保持安全套接层会话持续性的方法及设备
CN101217493B (zh) 一种tcp数据包的传输方法
CN106657637B (zh) 能够在保持手持服务功能集的同时提供数据网络共享服务的手持设备
CN100521663C (zh) 点对点通信中穿越网络地址转换的方法
JP2004364141A (ja) Ipアドレス変換装置およびパケット転送装置
WO2018094743A1 (zh) 处理报文的方法和计算机设备
CN106790556A (zh) 一种基于分布式系统的nat会话管理方法
CN101150502A (zh) 一种nat-pt设备及其负荷分担方法
US10397111B2 (en) Communication device, communication system, and communication method
TWI661698B (zh) 轉發乙太網路封包的方法和裝置
CN102821036A (zh) 一种实现报文转发的方法及设备
JP2006287932A (ja) ネットワーク接続テーブルを提供するための方法および装置
WO2014139481A1 (zh) 报文处理方法及设备
JP2009532919A5 (zh)
US8761156B2 (en) Socket-based internet protocol for wireless networks
CN105556916A (zh) 网络流的信息统计方法和装置
CN105991755B (zh) 业务报文分发方法及装置
CN107888710A (zh) 一种报文转发方法及装置
CN103763195B (zh) 一种传输报文的方法及装置
TW201715873A (zh) 穿透網路位置轉換器之方法及通訊裝置
CN105933235B (zh) 数据通信方法及装置
CN104581977B (zh) Wlan用户管理方法、装置及系统

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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20181221