CN112217919B - 一种用于实现网络地址转换的方法及系统 - Google Patents
一种用于实现网络地址转换的方法及系统 Download PDFInfo
- Publication number
- CN112217919B CN112217919B CN202011450497.9A CN202011450497A CN112217919B CN 112217919 B CN112217919 B CN 112217919B CN 202011450497 A CN202011450497 A CN 202011450497A CN 112217919 B CN112217919 B CN 112217919B
- Authority
- CN
- China
- Prior art keywords
- thread
- information
- message
- flow
- flow table
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
- H04L63/1458—Denial of Service
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种用于实现网络地址转换的方法,方法包括:配置用于处理网络地址转换的控制过程的第一线程;配置用于处理网络地址转换的转发过程的第二线程;根据远程管理系统下发的策略指令,通过第一线程和第二线程完成报文的读取;其中,第一线程和第二线程为在不同的逻辑核心进行处理的线程。根据本发明公开的方法可以以最大限度的读取网卡的报文,避免在新建流表冗长的操作流程影响已有用户的客户体验,同时可以有效地抵御住一部分DDOS的攻击。
Description
技术领域
本发明涉及报文通信技术领域,尤其涉及一种用于实现网络地址转换的方法及系统。
背景技术
NAT(Network Address Translation,网络地址转换)技术主要通过修改通信报文的源IP地址(Source IP Address)、目的IP地址、源IP地址实现内网与外网之间的通信。通常有两种实现方法:
1、基于Linux协议栈通过iptable(一种网络防火墙,在LINUX下使用)的转发规则表实现IP地址的转换,实现把报文转发到源站服务器。
2、基于Linux数据平面开发套件,利用DPDK(Data Plane Development Kit,DPDK)的应用接口完成IP地址的转换,然后把报文转发到源站服务器。
在实际应用中,前端通过互联网下发策略到后端,后端接收到数据发送给NAT线程,然后NAT线程处理策略相关配置,同时NAT线程逐一处理数据流的报文,如上文所述,处理这些报文有两种情况,一种是同一个源、目的IP的流信息已经在NAT线程的链表上命中的情况下直接更新新的流表信息发送报文,另外一种是没命中的情况下,则需要读取规则、计算新的流表信息、探测新流表信息可用性、建立与删除流表信息等操作,这会耗费大量CPU的执行时间,在处理大流量数据时,影响已有链表的执行,甚至由于来不及读取网卡报文,导致丢包而影响客户体验。
发明内容
本发明所要解决的技术问题在于,提供一种用于实现网络地址转换的方法,能够以最大限度的读取网卡的报文,避免在新建流表冗长的操作流程影响已有用户的客户体验,同时可以有效地抵御住一部分DDOS的攻击。
为了解决上述技术问题,本发明第一方面公开了一种用于实现网络地址转换的方法,所述方法包括:配置用于处理网络地址转换的控制过程的第一线程;配置用于处理网络地址转换的转发过程的第二线程;根据远程管理系统下发的策略指令,通过所述第一线程和所述第二线程完成报文的读取;其中,所述第一线程和所述第二线程为在不同的逻辑核心进行处理的线程。
在一些实施方式中,根据所述远程管理系统下发的策略指令,通过所述第一线程和所述第二线程完成报文的读取,之前还包括:当未检测到所述远程管理系统下发的策略指令,通过所述第二线程读取新报文;所述第二线程读取所述新报文的流表信息上报给所述第一线程,并将所述新报文丢弃;所述第一线程在接收到所述流表信息后,根据预置的策略表项判断所述流表信息是否存储于所述预置的策略表选项;若所述流表信息未存储于所述预置的策略表项,则忽略所述流表信息对应的新报文。
在一些实施方式中,根据所述远程管理系统下发的策略指令,通过所述第一线程和所述第二线程完成报文的读取,包括:获取所述远程管理下发的策略指令,通过所述第一线程接收所述策略指令包含的策略信息;所述第二线程读取报文,判断所述报文是否为新报文;若所述报文为新报文,则提取所述新报文的流信息传输至所述第一线程;所述第一线程根据所述流信息和所述策略信息生成请求方向和回源方向的流信息,并发送至所述第二线程;所述第二线程根据所述请求方向和回源方向的流信息更新线程的流表信息。
在一些实施方式中,第二线程根据所述请求方向和回源方向的流信息更新线程的流表信息,之后还包括:通过所述第二线程读取报文,若所述报文为同一个流的报文,则查找所述流表信息;通过所述流表信息修改报文信息并转发报文。
在一些实施方式中,所述远程管理系统下发的策略指令,通过所述第一线程和所述第二线程完成报文的读取,包括:
当所述远程管理系统下发的策略指令为删除策略,第一线程收到所述删除策略指令时,将所述删除策略指令及删除策略的请求方向和回源方向的流信息发送至第一线程;第一线程根据所述删除策略查找流表信息,删除与所述流表信息对应的流表项;第二线程读取报文,查找所述报文是否存储于所述流表信息,若所述报文未存储于所述流表信息,则提取流信息,并向所述第一线程上报,并丢弃所述报文;第一线程接收所述流信息,根据预置的策略表项判断所述流信息是否存储于所述预置的策略表选项,若所述流信息未存储于所述策略表选项,则忽略所述流信息。
根据本发明的第二个方面提供了一种用于实现网络地址转换的系统,所述系统包括:第一线程,用于处理网络地址转换的控制过程;第二线程,用于处理网络地址转换的转发过程;处理模块,用于根据远程管理系统下发的策略指令,通过所述第一线程和所述第二线程完成报文的读取;其中,所述第一线程和所述第二线程为在不同的逻辑核心进行处理的线程。
在一些实施方式中,用于实现网络地址转换的系统,还包括:预处理模块,用于当未检测到所述远程管理系统下发的策略指令,通过所述第二线程读取新报文;所述第二线程读取所述新报文的流表信息上报给所述第一线程,并将所述新报文丢弃;所述第一线程在接收到所述流表信息后,根据预置的策略表项判断所述流表信息是否存储于所述预置的策略表选项;若所述流表信息未存储于所述预置的策略表项,则忽略所述流表信息对应的新报文。
在一些实施方式中,处理模块包括:下发策略处理单元,用于获取所述远程管理下发的策略指令,通过所述第一线程接收所述策略指令包含的策略信息;所述第二线程读取报文,判断所述报文是否为新报文;若所述报文为新报文,则提取所述新报文的流信息传输至所述第一线程;所述第一线程根据所述流信息和所述策略信息生成请求方向和回源方向的流信息,并发送至所述第二线程;所述第二线程根据所述请求方向和回源方向的流信息更新线程的流表信息。
在一些实施方式中,所述处理模块包括:删除策略处理单元,用于在当所述远程管理系统下发的策略指令为删除策略,第一线程收到所述删除策略指令时,将所述删除策略指令及删除策略的请求方向和回源方向的流信息发送至第一线程;第一线程根据所述删除策略查找流表信息,删除与所述流表信息对应的流表项;第二线程读取报文,查找所述报文是否存储于所述流表信息,若所述报文未存储于所述流表信息,则提取流信息,并向所述第一线程上报,并丢弃所述报文;第一线程接收所述流信息,根据预置的策略表项判断所述流信息是否存储于所述预置的策略表选项,若所述流信息未存储于所述策略表选项,则忽略所述流信息。
根据本发明的第三个方面,提供了一种用于实现网络地址转换的装置,所述装置包括:存储有可执行程序代码的存储器;与所述存储器耦合的处理器;所述处理器调用所述存储器中存储的所述可执行程序代码,执行如上述的用于实现网络地址转换的方法
与现有技术相比,本发明的有益效果在于:
实施本发明能够通过借鉴SDN思想,把控制过程和转发过程分离,以最大限度的读取网卡的报文,由此可以避免在新建流表冗长的操作流程影响已有用户的客户体验,同时可以有效地抵御住一部分DDOS的攻击。相比现有的基于DPDK的传统处理方法来说,更快速、更稳定。
附图说明
图1为本发明实施例公开的一种现有技术的用于实现网络地址转换的的流程示意图;
图2为本发明实施例公开的一种用于实现网络地址转换的方法流程示意图;
图3为本发明实施例公开的又一种用于实现网络地址转换的方法流程示意图;
图4为本发明实施例公开的又一种用于实现网络地址转换的方法流程示意图;
图5为本发明实施例公开的又一种用于实现网络地址转换的方法流程示意图;
图6为本发明实施例公开的一种用于实现网络地址转换的系统示意图;
图7为本发明实施例公开的一种用于实现网络地址转换的交互装置结构示意图。
具体实施方式
为了更好地理解和实施,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例的术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或模块的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或模块,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或模块。
现有的NAT(Network Address Translation,网络地址转换)技术主要通过修改通信报文的源IP地址(Source IP Address)、目的ip地址Destination IP Address实现内网与外网之间的通信。通常有两种实现方法:
1、基于Linux协议栈通过iptable的转发规则表实现IP地址的转换,实现把报文转发到源站服务器;
2、基于Linux数据平面开发套件(Data Plane Development Kit,DPDK),利用DPDK的应用接口完成IP地址的转换,然后把报文转发到源站服务器。
在性能要求较高的场景下,通常使用上述第2种方法(基于DPDK的方法),利用DPDK的特性,每一个线程绑定一个CPU的逻辑核心,这个线程的大致处理流程如下:
1、通过调用DPDK读取网卡报文的api接口,获取网卡模块的数据包;
2、对读取到的数据包进行识别;
a) 如果报文是第一次请求数据,则查找转发规则表,如果命中根据查找到的转换规则,将数据包进行相应的NAT转换,并记录请求和会员方面信息,添加到新建的链表中,否则丢弃报文;
b) 如果报文不是第一个请求数据,通过读取链表中的信息进行相应的NAT转化;
c) 如果报文是应答报文,则查找链表信息,完成NAT逆转换。
3、跳回步骤1,处理下一数据包。
如图1所示为当前的架构大体结构,前端通过Internet下发策略到后端,后端接收到数据发送给NAT线程,然后NAT线程处理策略相关配置,同时NAT线程逐一处理数据流的报文,如上文所述,处理这些报文有两种情况,一种是同一个源、目的IP的流信息已经在NAT线程的链表上命中的情况下直接更新新的流表信息发送报文,另外一种是没命中的情况下,则需要读取规则、计算新的流表信息、探测新流表信息可用性、建立与删除流表信息等操作,这会耗费大量CPU的执行时间,在处理大流量数据时,影响已有链表的执行,甚至由于来不及读取网卡报文,导致丢包而影响客户体验。
另外,NAT处理线程除了处理NAT转发相关的工作,还需要定时检测接收模块是否有新的策略下发,同时需要刷新链表信息,多项工作混杂在一起,影响转发性能,甚至有可能因为性能问题,导致丢包而影响客户体验。
针对上述缺点,本文解决方法来源于SDN(Software Defined Network),通过把NAT处理流程分为控制过程和转发过程两部分:控制过程部分在CPU的一个逻辑核心上处理,处理读取规则、计算新的流表信息、探测新流表信息可用性、建立与删除流表信息、检测规则更新等控制相关的操作;同样,转发过程部分CPU的另外一个逻辑核心处理。这样实现控制相关操作与转发相关操作的解耦。转发线程所在核心处理更加简单,实现报文快速转发,由于转发性能基本上能把网卡的报文处理完毕,尽管在强大的DDOS攻击之下,也不会影响已有的连接,因此,本方法比简单的基于DPDK的传统处理方法更快速、更稳定、更健壮。
实施例一
请参阅图2,图2为本发明实施例公开的一种用于实现网络地址转换的方法的流程示意图。其中,该用于实现网络地址转换的方法可以应用在报文通信系统,对于该报文通信系统本发明实施例不做限制。如图2所示,该用于实现网络地址转换的方法可以包括以下操作:
101、配置用于处理网络地址转换的控制过程的第一线程。
对于第一线程的配置,将其配置在所运行报文通信的CPU的一个逻辑核心上进行处理,其处理的报文通信部分可包括读取规则、计算新的流表信息、探测新流表信息可用性、建立与删除流表信息、检测规则更新等控制相关的操作。
102、配置用于处理网络地址转换的转发过程的第二线程。
对于第二线程的配置,将其日子在所运行的CPU的另外一个逻辑核心处理上进行处理,其处理的报文通信部分可包括上发报文、转发报文等转发相关的操作。
103、根据远程管理系统下发的策略指令,通过第一线程和第二线程完成报文的读取。
其中,第一线程和第二线程为在不同的逻辑核心进行处理的线程。主要是借鉴了SDN思想,提出一种把控制过程和转发过程分离,以最大限度的读取网卡的报文,可以避免在新建流表冗长的操作流程影响已有用户的客户体验,同时可以有效地抵御住一部分DDOS的攻击。
示例性地,作为一种实施方式,如图3所示,根据远程管理系统下发的策略指令,通过第一线程(如图所示的NAT控制线程)和第二线程(如图所示的NAT转发线程)完成报文的读取之前还包括:当未检测到远程管理系统下发的策略指令,也就是远程管理系统并没有相应的策略,或是在第一线程收到策略下发之前,报文先到达,因此在第一线程中找不到相关的报文策略。那么就通过第二线程读取新报文,读取的方式可以通过所在的网卡中读取新报文。
进一步地,第二线程读取新报文的流表信息上报给第一线程,并将新报文丢弃,等待报文重新上传。第一线程在接收到该流表信息后,就根据预置的策略表项判断该流表信息是否存储于预置的策略表选项,若流表信息未存储于预置的策略表项,则代表没有发现对应的策略表选项,忽略流表信息对应的新报文。
示例性地,作为一种实施方式,如图4所示,根据远程管理系统下发的策略指令,通过第一线程和所述第二线程完成报文的读取,包括:获取远程管理下发的策略指令,下发的方式可以是通过互联网下发新的策略或者更新策略的指令。
进一步地,还包括有本地接收信息模块,本地接收信息模块收到远程管理系统的指令后,解析该指令并按照本地约定的格式将策略信息传送给第一线程。
第一线程接收策略指令包含的策略信息并保存。由第二线程读取报文,判断报文是否为新报文;若报文为新报文,则提取新报文的流信息传输至第一线程;第一线程根据流信息和策略信息生成请求方向和回源方向的流信息,并发送至第二线程,第二线程根据请求方向和回源方向的流信息更新线程的流表信息。
进一步地,作为一种优选实施方式,对于同一个流后面的报文可以采用如下实施方式,即在第二线程根据请求方向和回源方向的流信息更新线程的流表信息,之后还包括:通过第二线程读取报文,若报文为同一个流的报文,则查找流表信息;通过流表信息修改报文信息并转发报文。根据应用可得一个CPU的逻辑核可以把10GE的网卡的报文处理完而不丢包。
示例性地,作为一种实施方式,如图5所示,在策略被删除之前,报文还在正常转发,当下发了删除策略之后,报文就会被丢弃。第二线程从网卡读取报文,当报文在本地链表命中时,则修改报文内容,再将修改后的报文内容发送至第一线程。当远程管理系统下发的策略指令为删除策略,第一线程收到删除策略指令时,将删除策略指令及删除策略的请求方向和回源方向的流信息发送至第一线程,第一线程根据删除策略查找流表信息,删除与流表信息对应的流表项;第二线程读取报文,查找报文是否存储于流表信息,若报文未存储于流表信息,则提取流信息,并向第一线程上报,并丢弃报文;第一线程接收流信息,根据预置的策略表项判断流信息是否存储于预置的策略表选项,若流信息未存储于策略表选项,则忽略流信息。
在第二线程(转发线程)收到报文后,如果在本地流表中没有命中,那么这个报文首先会被丢弃,这实际上就实现了抗DDOS攻击的首包丢弃功能,因此转发线程可以抵抗住一部分的DDOS攻击,尽管遭受大流量的DDOS,转发线程也可以把每一个报文处理好,不会影响已连接的用户的体验。
根据本实施例提供的方法,能够通过借鉴SDN思想,把控制过程和转发过程分离,以最大限度的读取网卡的报文,由此可以避免在新建流表冗长的操作流程影响已有用户的客户体验,同时可以有效地抵御住一部分DDOS的攻击。相比现有的基于DPDK的传统处理方法来说,更快速、更稳定。
实施例二
请参阅图6,图6为本发明实施例公开的一种用于实现网络地址转换的系统,该用于实现网络地址转换的系统包括:
第一线程1,用于处理网络地址转换的控制过程。对于第一线程的配置,将其配置在所运行报文通信的CPU的一个逻辑核心上进行处理,其处理的报文通信部分可包括读取规则、计算新的流表信息、探测新流表信息可用性、建立与删除流表信息、检测规则更新等控制相关的操作。
第二线程2,用于处理网络地址转换的转发过程。对于第二线程的配置,将其日子在所运行的CPU的另外一个逻辑核心处理上进行处理,其处理的报文通信部分可包括上发报文、转发报文等转发相关的操作。
其中,第一线程1和第二线程2为在不同的逻辑核心进行处理的线程。主要是借鉴了SDN思想,提出一种把控制过程和转发过程分离,以最大限度的读取网卡的报文,可以避免在新建流表冗长的操作流程影响已有用户的客户体验,同时可以有效地抵御住一部分DDOS的攻击。
处理模块3,用于根据远程管理系统下发的策略指令,通过第一线程和第二线程完成报文的读取;其中,第一线程和所述第二线程为在不同的逻辑核心进行处理的线程。
预处理模块4,用于当未检测到远程管理系统下发的策略指令,通过第二线程读取新报文,第二线程读取所述新报文的流表信息上报给第一线程,并将新报文丢弃,第一线程在接收到流表信息后,根据预置的策略表项判断流表信息是否存储于预置的策略表选项。若流表信息未存储于预置的策略表项,则忽略流表信息对应的新报文。具体实现为:根据远程管理系统下发的策略指令,通过第一线程、和第二线程完成报文的读取之前还包括:当未检测到远程管理系统下发的策略指令,也就是远程管理系统并没有相应的策略,或是在第一线程收到策略下发之前,报文先到达,因此在第一线程中找不到相关的报文策略。那么就通过第二线程读取新报文,读取的方式可以通过所在的网卡中读取新报文。
进一步地,第二线程读取新报文的流表信息上报给第一线程,并将新报文丢弃,等待报文重新上传。第一线程在接收到该流表信息后,就根据预置的策略表项判断该流表信息是否存储于预置的策略表选项,若流表信息未存储于预置的策略表项,则代表没有发现对应的策略表选项,忽略流表信息对应的新报文。
其中,处理模块3包括:下发策略处理单元301,用于获取远程管理下发的策略指令,通过第一线程接收所述策略指令包含的策略信息;第二线程读取报文,判断报文是否为新报文;若报文为新报文,则提取新报文的流信息传输至第一线程1;第一线程1根据流信息和所述策略信息生成请求方向和回源方向的流信息,并发送至第二线程2,第二线程2根据请求方向和回源方向的流信息更新线程的流表信息。
进一步地,处理模块3还包括:删除策略处理单元302,用于在当远程管理系统下发的策略指令为删除策略,第一线程收到删除策略指令时,将删除策略指令及删除策略的请求方向和回源方向的流信息发送至第一线程;第一线程根据所述删除策略查找流表信息,删除与流表信息对应的流表项;第二线程读取报文,查找报文是否存储于所述流表信息,若报文未存储于流表信息,则提取流信息,并向第一线程上报,并丢弃报文;第一线程接收流信息,根据预置的策略表项判断流信息是否存储于所述预置的策略表选项,若流信息未存储于策略表选项,则忽略流信息。
根据本实施例提供的系统,能够通过借鉴SDN思想,把控制过程和转发过程分离,以最大限度的读取网卡的报文,由此可以避免在新建流表冗长的操作流程影响已有用户的客户体验,同时可以有效地抵御住一部分DDOS的攻击。相比现有的基于DPDK的传统处理方法来说,更快速、更稳定。
实施例三
请参阅图7,图7是本发明实施例公开的一种用于实现网络地址转换的装置的结构示意图。其中,图7所描述的用于实现网络地址转换的装置可以应用在报文通信系统,对于该用于实现网络地址转换的应用系统本发明实施例不做限制。如图7所示,该装置可以包括:
存储有可执行程序代码的存储器601;
与存储器601耦合的处理器602;
处理器602调用存储器601中存储的可执行程序代码,用于执行实施例一所描述的用于实现网络地址转换的方法。
实施例四
本发明实施例公开了一种计算机可读存储介质,其存储用于电子数据交换的计算机程序,其中,该计算机程序使得计算机执行实施例一所描述的用于实现网络地址转换的方法。
实施例五
本发明实施例公开了一种计算机程序产品,该计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,且该计算机程序可操作来使计算机执行实施例一所描述的用于实现网络地址转换的方法。
以上所描述的实施例仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施例的具体描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,存储介质包括只读存储器(Read-Only Memory,ROM)、随机存储器(Random Access Memory,RAM)、可编程只读存储器(Programmable Read-only Memory,PROM)、可擦除可编程只读存储器(ErasableProgrammable Read Only Memory,EPROM)、一次可编程只读存储器(One-timeProgrammable Read-Only Memory,OTPROM)、电子抹除式可复写只读存储器(Electrically-Erasable Programmable Read-Only Memory,EEPROM)、只读光盘(CompactDisc Read-Only Memory,CD-ROM)或其他光盘存储器、磁盘存储器、磁带存储器、或者能够用于携带或存储数据的计算机可读的任何其他介质。
最后应说明的是:本发明实施例公开的一种用于实现网络地址转换的方法及系统所揭露的仅为本发明较佳实施例而已,仅用于说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解;其依然可以对前述各项实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或替换,并不使相应的技术方案的本质脱离本发明各项实施例技术方案的精神和范围。
Claims (8)
1.一种用于实现网络地址转换的方法,其特征在于,所述方法包括:
配置用于处理网络地址转换的控制过程的第一线程;
配置用于处理网络地址转换的转发过程的第二线程;
根据远程管理系统下发的策略指令,通过所述第一线程和所述第二线程完成报文的读取;
当未检测到所述远程管理系统下发的策略指令,通过所述第二线程读取新报文;
所述第二线程读取所述新报文的流表信息上报给所述第一线程,并将所述新报文丢弃;
所述第一线程在接收到所述流表信息后,根据预置的策略表项判断所述流表信息是否存储于所述预置的策略表选项;
若所述流表信息未存储于所述预置的策略表项,则忽略所述流表信息对应的新报文;
其中,所述第一线程和所述第二线程为在不同的逻辑核心进行处理的线程。
2.根据权利要求1所述的用于实现网络地址转换的方法,其特征在于,所述根据远程管理系统下发的策略指令,通过所述第一线程和所述第二线程完成报文的读取,包括:
获取所述远程管理下发的策略指令,通过所述第一线程接收所述策略指令包含的策略信息;
所述第二线程读取报文,判断所述报文是否为新报文;
若所述报文为新报文,则提取所述新报文的流信息传输至所述第一线程;
所述第一线程根据所述流信息和所述策略信息生成请求方向和回源方向的流信息,并发送至所述第二线程;
所述第二线程根据所述请求方向和回源方向的流信息更新线程的流表信息。
3.根据权利要求2所述的用于实现网络地址转换的方法,其特征在于,第二线程根据所述请求方向和回源方向的流信息更新线程的流表信息,之后还包括:
通过所述第二线程读取报文,若所述报文为同一个流的报文,则查找所述流表信息;
通过所述流表信息修改报文信息并转发报文。
4.根据权利要求1所述的用于实现网络地址转换的方法,其特征在于,根据所述远程管理系统下发的策略指令,通过所述第一线程和所述第二线程完成报文的读取,包括:
当所述远程管理系统下发的策略指令为删除策略,第一线程收到所述删除策略指令时,将所述删除策略指令及删除策略的请求方向和回源方向的流信息发送至第一线程;
第一线程根据所述删除策略查找流表信息,删除与所述流表信息对应的流表项;
第二线程读取报文,查找所述报文是否存储于所述流表信息,若所述报文未存储于所述流表信息,则提取流信息,并向所述第一线程上报,并丢弃所述报文;
第一线程接收所述流信息,根据预置的策略表项判断所述流信息是否存储于所述预置的策略表选项,若所述流信息未存储于所述策略表选项,则忽略所述流信息。
5.一种用于实现网络地址转换的系统,其特征在于,所述系统包括:
第一线程,用于处理网络地址转换的控制过程;
第二线程,用于处理网络地址转换的转发过程;
处理模块,用于根据远程管理系统下发的策略指令,通过所述第一线程和所述第二线程完成报文的读取;
预处理模块,用于当未检测到所述远程管理系统下发的策略指令,通过所述第二线程读取新报文;所述第二线程读取所述新报文的流表信息上报给所述第一线程,并将所述新报文丢弃;所述第一线程在接收到所述流表信息后,根据预置的策略表项判断所述流表信息是否存储于所述预置的策略表选项;若所述流表信息未存储于所述预置的策略表项,则忽略所述流表信息对应的新报文;
其中,所述第一线程和所述第二线程为在不同的逻辑核心进行处理的线程。
6.根据权利要求5所述的用于实现网络地址转换的系统,其特征在于,所述处理模块包括:
下发策略处理单元,用于获取所述远程管理下发的策略指令,通过所述第一线程接收所述策略指令包含的策略信息;所述第二线程读取报文,判断所述报文是否为新报文;若所述报文为新报文,则提取所述新报文的流信息传输至所述第一线程;所述第一线程根据所述流信息和所述策略信息生成请求方向和回源方向的流信息,并发送至所述第二线程;所述第二线程根据所述请求方向和回源方向的流信息更新线程的流表信息。
7.根据权利要求6所述的用于实现网络地址转换的系统,其特征在于,所述处理模块包括:
删除策略处理单元,用于在当所述远程管理系统下发的策略指令为删除策略,第一线程收到所述删除策略指令时,将所述删除策略指令及删除策略的请求方向和回源方向的流信息发送至第一线程;第一线程根据所述删除策略查找流表信息,删除与所述流表信息对应的流表项;第二线程读取报文,查找所述报文是否存储于所述流表信息,若所述报文未存储于所述流表信息,则提取流信息,并向所述第一线程上报,并丢弃所述报文;第一线程接收所述流信息,根据预置的策略表项判断所述流信息是否存储于所述预置的策略表选项,若所述流信息未存储于所述策略表选项,则忽略所述流信息。
8.一种用于实现网络地址转换的装置,其特征在于,所述装置包括:
存储有可执行程序代码的存储器;
与所述存储器耦合的处理器;
所述处理器调用所述存储器中存储的所述可执行程序代码,执行如权利要求1-4任一项所述的用于实现网络地址转换的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011450497.9A CN112217919B (zh) | 2020-12-11 | 2020-12-11 | 一种用于实现网络地址转换的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011450497.9A CN112217919B (zh) | 2020-12-11 | 2020-12-11 | 一种用于实现网络地址转换的方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112217919A CN112217919A (zh) | 2021-01-12 |
CN112217919B true CN112217919B (zh) | 2021-03-23 |
Family
ID=74067994
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011450497.9A Active CN112217919B (zh) | 2020-12-11 | 2020-12-11 | 一种用于实现网络地址转换的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112217919B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102981800A (zh) * | 2006-06-29 | 2013-03-20 | 英特尔公司 | 处理异构资源的地址转换和异常 |
CN108600120A (zh) * | 2018-05-04 | 2018-09-28 | 广东唯网络科技有限公司 | 一种基于dpdk下实现nat的方法 |
CN109787912A (zh) * | 2019-03-04 | 2019-05-21 | 南京邮电大学 | 一种dpdk环境下基于nat的负载均衡方法 |
CN110677397A (zh) * | 2019-09-18 | 2020-01-10 | 广东网堤信息安全技术有限公司 | 基于dpdk下的nat转发数据的方法 |
CN111669318A (zh) * | 2020-05-06 | 2020-09-15 | 深圳震有科技股份有限公司 | 一种Linux系统下数据包转发的方法及装置 |
CN111831403A (zh) * | 2019-04-23 | 2020-10-27 | 中兴通讯股份有限公司 | 一种业务处理方法和装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105991552B (zh) * | 2015-02-03 | 2018-11-30 | 阿里巴巴集团控股有限公司 | 对流表和nat会话表进行老化的方法和装置 |
CN104821890A (zh) * | 2015-03-27 | 2015-08-05 | 上海博达数据通信有限公司 | 一种基于普通交换芯片的OpenFlow多级流表的实现方法 |
-
2020
- 2020-12-11 CN CN202011450497.9A patent/CN112217919B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102981800A (zh) * | 2006-06-29 | 2013-03-20 | 英特尔公司 | 处理异构资源的地址转换和异常 |
CN108600120A (zh) * | 2018-05-04 | 2018-09-28 | 广东唯网络科技有限公司 | 一种基于dpdk下实现nat的方法 |
CN109787912A (zh) * | 2019-03-04 | 2019-05-21 | 南京邮电大学 | 一种dpdk环境下基于nat的负载均衡方法 |
CN111831403A (zh) * | 2019-04-23 | 2020-10-27 | 中兴通讯股份有限公司 | 一种业务处理方法和装置 |
CN110677397A (zh) * | 2019-09-18 | 2020-01-10 | 广东网堤信息安全技术有限公司 | 基于dpdk下的nat转发数据的方法 |
CN111669318A (zh) * | 2020-05-06 | 2020-09-15 | 深圳震有科技股份有限公司 | 一种Linux系统下数据包转发的方法及装置 |
Non-Patent Citations (1)
Title |
---|
基于DPDK的高性能DDoS攻击防御系统设计与实现;杨佑君;《中国优秀硕士学位论文全文数据库(信息科技辑)》;20190131;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112217919A (zh) | 2021-01-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11855967B2 (en) | Method for identifying application information in network traffic, and apparatus | |
US9742667B2 (en) | Packet processing method, device and system | |
CN114500633B (zh) | 数据转发方法、相关装置、程序产品及数据传输系统 | |
CN105589744A (zh) | 一种虚拟机迁移方法及装置 | |
CN109525495B (zh) | 一种数据处理装置、方法和fpga板卡 | |
WO2024060408A1 (zh) | 网络攻击检测方法和装置、设备及存储介质 | |
CN107770092A (zh) | 一种数据传输方法、装置、移动终端和存储介质 | |
CN114422437A (zh) | 一种异构报文的转发方法及装置 | |
US11012542B2 (en) | Data processing method and apparatus | |
CN117997802B (zh) | 一种网络抖动检测方法、装置、设备及介质 | |
CN112532714B (zh) | 一种数据处理方法、处理装置、服务器及存储介质 | |
CN112217919B (zh) | 一种用于实现网络地址转换的方法及系统 | |
CN108924061A (zh) | 一种应用识别及管理方法、系统及相关装置 | |
JP2015164295A (ja) | 情報伝送システム、情報通信装置、情報伝送装置、及びプログラム | |
CN116599839A (zh) | 云网关系统、数据处理方法、设备及存储介质 | |
CN116015796A (zh) | 一种流表更新方法、装置、防火墙设备及存储介质 | |
CN114978897B (zh) | 基于eBPF和应用识别技术的网络控制方法和系统 | |
CN114567589B (zh) | 路由上报的识别方法及装置 | |
CN116192761A (zh) | 报文转发方法、转发层设备、系统、电子设备及存储介质 | |
CN114598645A (zh) | 流表项的控制方法以及装置 | |
CN109710423B (zh) | 一种用于虚拟机间通信的方法及设备 | |
WO2020168521A1 (zh) | 报文解析的方法、数据发送端、数据接收端和系统 | |
WO2016183732A1 (zh) | 一种数据包转发方法和网络设备 | |
CN114978563A (zh) | 一种封堵ip地址的方法及装置 | |
CN112769748A (zh) | 一种基于dpdk的acl包过滤方法 |
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 |