CN112104565A - 一种实现报文转发的方法、系统及设备 - Google Patents
一种实现报文转发的方法、系统及设备 Download PDFInfo
- Publication number
- CN112104565A CN112104565A CN202010966492.5A CN202010966492A CN112104565A CN 112104565 A CN112104565 A CN 112104565A CN 202010966492 A CN202010966492 A CN 202010966492A CN 112104565 A CN112104565 A CN 112104565A
- Authority
- CN
- China
- Prior art keywords
- address
- forwarding
- nat
- core
- source
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 76
- 238000013507 mapping Methods 0.000 claims abstract description 319
- 238000006243 chemical reaction Methods 0.000 claims abstract description 87
- 238000013519 translation Methods 0.000 claims description 105
- 238000001914 filtration Methods 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 6
- 238000012545 processing Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 5
- 230000009471 action Effects 0.000 description 3
- 230000002457 bidirectional effect Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 238000013508 migration Methods 0.000 description 2
- 230000005012 migration Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
- H04L47/125—Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/62—Queue scheduling characterised by scheduling criteria
- H04L47/625—Queue scheduling characterised by scheduling criteria for service slots or service orders
- H04L47/6255—Queue scheduling characterised by scheduling criteria for service slots or service orders queue load conditions, e.g. longest queue first
-
- 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
- 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
- H04L61/255—Maintenance or indexing of mapping tables
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
Abstract
本申请实施例公开了一种实现报文转发的方法、系统及设备,包括:转发核从第一网卡队列接收第一报文;根据第一NAT映射表对第一报文的待转换IP地址进行网络转换,并进行转发;转发核从第二网卡队列接收包括待转换IP地址的第二报文,查询第二NAT映射表是否存在待转换IP地址对应的目标IP地址;如果不存在,从局部NAT地址池获取待转换IP地址对应的目标IP地址,将第二报文的待转换IP地址转换为目标IP地址,并进行转发;将待转换IP地址与目标IP地址的映射关系添加到第二NAT映射表中;如果存在,将第二报文的待转换IP地址转换为目标IP地址,并进行转发。可以实现多核转发系统的多核并发完全无锁,提高了多核转发系统的并发性能。
Description
技术领域
本申请涉及通信技术领域,具体涉及一种实现报文转发的方法、系统及设备。
背景技术
在进行内部网络和外部网络之间的信息传输时,实现节约IP(InternetProtocol,网际互连协议)地址资源以及保护内部网络安全,需要通过NAT(NetworkAddress Translation,网络地址转换)技术进行IP地址的网络转换。
目前,在多核转发系统进行IP地址的网络地址转换过程中,涉及到共享资源的多核竞争。为了保证各个转发核有序使用资源,多核转发系统在进行IP地址转换的过程中对所要使用的资源进行频繁的加锁,导致多核转发系统的并发性能较差。
发明内容
有鉴于此,本申请实施例提供一种实现报文转发的方法、系统及设备,以解决现有技术中多核转发系统并发能力差的问题,提升多核转发系统的并发性能。
为解决上述问题,本申请实施例提供的技术方案如下:
一种实现报文转发的方法,所述方法应用于多核转发系统,所述多核转发系统包括多个转发核,所述方法包括:
所述转发核从第一网卡队列接收第一报文;
如果所述第一报文包括待转换IP地址,所述转发核根据第一NAT映射表对所述第一报文的待转换IP地址进行网络转换,并对转换后的第一报文进行转发;所述第一NAT映射表包括源IP地址与转换IP地址的一一映射关系,且所述第一NAT映射表为每核资源;
所述转发核从第二网卡队列接收包括待转换IP地址的第二报文,查询第二NAT映射表是否存在所述待转换IP地址对应的目标IP地址;所述第二NAT映射表为每核资源;
如果所述第二NAT映射表不存在所述待转换IP地址对应的目标IP地址,所述转发核从局部NAT地址池获取所述待转换IP地址对应的目标IP地址,将所述第二报文的待转换IP地址转换为所述目标IP地址,并对转换后的第二报文进行转发;所述局部NAT地址池包括转换IP地址与至少一个源IP地址的映射关系,所述局部NAT地址池为与当前转发核对应的每核资源;
所述转发核将所述待转换IP地址与所述目标IP地址的映射关系添加到所述第二NAT映射表中;
如果所述第二NAT映射表存在所述待转换IP地址对应的目标IP地址,所述转发核将所述第二报文的待转换IP地址转换为所述目标IP地址,并对转换后的第二报文进行转发。
在一种可能的实现方式中,所述多核转发系统还包括配置核,所述方法还包括:
所述配置核获取网络地址转换NAT策略;
当所述NAT策略中源IP地址的数量小于或等于转换IP地址的数量,所述配置核建立第一NAT映射表;
所述配置核将所述第一NAT映射表发送给每个所述转发核。
在一种可能的实现方式中,所述方法还包括:
当所述NAT策略中源IP地址的数量大于转换IP地址的数量,所述配置核建立NAT地址池,所述NAT地址池包括转换IP地址与至少一个源IP地址的映射关系;
所述配置核将所述NAT地址池划分为P份局部NAT地址池,不同的局部NAT地址池中的转换IP地址不同;P为小于或等于N的正整数,N为所述转发核的数量;
所述配置核将P份所述局部NAT地址池发送给P个所述转发核,一个所述转发核对应一份所述局部NAT地址池;
收到所述局部NAT地址池的转发核为对应的第二网卡队列设置过滤条件,以使收到所述局部NAT地址池的转发核从所述第二网卡队列接收包括第一源IP地址的报文和/或包括第一目的地址的报文,所述第一源IP地址属于在对应的局部NAT地址池中的源IP地址,所述第一目的地址属于在对应的局部NAT地址池中的转换IP地址。
在一种可能的实现方式中,所述如果所述第一报文包括待转换IP地址,所述转发核根据第一NAT映射表对所述第一报文的待转换IP地址进行网络转换,并对转换后的第一报文进行转发,包括:
如果所述第一报文的第二源IP地址属于第一NAT映射表中的源IP地址,所述转发核从所述第一NAT映射表中获取所述第二源IP地址对应的第一转换IP地址,将所述第一报文的第二源IP地址转换为所述第一转换IP地址,并对转换后的第一报文进行转发;
如果所述第一报文的第二目的IP地址属于第一NAT映射表中的转换IP地址,所述转发核从所述第一NAT映射表中获取所述第二目的IP地址对应的第三源IP地址,将所述第一报文的第二目的IP地址转换为所述第三源IP地址,并对转换后的第一报文进行转发。
在一种可能的实现方式中,所述转发核从第二网卡队列接收包括待转换IP地址的第二报文,查询第二NAT映射表是否存在所述待转换IP地址对应的目标IP地址,包括:
所述转发核从第二网卡队列接收包括第一源IP地址的第二报文,查询第二NAT映射表是否存在所述第一源IP地址对应的第二转换IP地址;所述第一源IP地址属于在局部NAT地址池中的源IP地址;
所述如果所述第二NAT映射表不存在所述待转换IP地址对应的目标IP地址,所述转发核从局部NAT地址池获取所述待转换IP地址对应的目标IP地址,将所述第二报文的待转换IP地址转换为所述目标IP地址,并对转换后的第二报文进行转发,包括:
如果所述第二NAT映射表不存在所述第一源IP地址对应的第二转换IP地址,所述转发核从局部NAT地址池获取所述第一源IP地址对应的至少一个转换IP地址,从所述第一源IP地址对应的至少一个转换IP地址中确定所述第一源IP地址对应的第二转换IP地址,将所述第二报文的第一源IP地址转换为所述第二转换IP地址,并对转换后的第二报文进行转发;
所述转发核将所述待转换IP地址与所述目标IP地址的映射关系添加到所述第二NAT映射表中,包括:
所述转发核将所述第一源IP地址与所述第二转换IP地址的映射关系添加到所述第二NAT映射表中;
所述如果所述第二NAT映射表存在所述待转换IP地址对应的目标IP地址,所述转发核将所述第二报文的待转换IP地址转换为所述目标IP地址,并对转换后的第二报文进行转发,包括:
如果所述第二NAT映射表存在所述第一源IP地址对应的第二转换IP地址,所述转发核将所述第二报文的第一源IP地址转换为所述第二转换IP地址,并对转换后的第二报文进行转发。
在一种可能的实现方式中,所述从所述第一源IP地址对应的至少一个转换IP地址中确定所述第一源IP地址对应的第二转换IP地址,包括:
从所述第一源IP地址对应的至少一个转换IP地址中选择使用次数最少的转换IP地址作为所述第一源IP地址对应的第二转换IP地址。
在一种可能的实现方式中,所述转发核从第二网卡队列接收包括待转换IP地址的第二报文,查询第二NAT映射表是否存在所述待转换IP地址对应的目标IP地址,包括:
所述转发核从第二网卡队列接收包括第一目的IP地址以及目的端口号的第二报文,查询第二NAT映射表是否存在所述第一目的IP地址以及所述目的端口号对应的第四源IP地址;所述第一目的IP地址属于在局部NAT地址池中的转换IP地址;
所述如果所述第二NAT映射表存在所述待转换IP地址对应的目标IP地址,所述转发核将所述第二报文的待转换IP地址转换为所述目标IP地址,并对转换后的第二报文进行转发,包括:
如果所述第二NAT映射表存在所述第一目的IP地址以及所述目的端口号对应的第四源IP地址,所述转发核将所述第二报文的第一目的IP地址转换为所述第四源IP地址,并对转换后的第二报文进行转发。
在一种可能的实现方式中,所述方法还包括:
当所述转发核的负载参数达到预设阈值,所述转发核确定目标转发核;
所述转发核将当前转发核对应的第二网卡队列迁移到所述目标转发核;
所述转发核将当前转发核的第二NAT映射表中的表项发送给所述目标转发核,以将所述当前转发核的第二NAT映射表中的表项添加到所述目标转发核中的第二NAT映射表中;
所述转发核将当前转发核的局部NAT地址池发送给所述目标转发核,以将所述当前转发核的局部NAT地址池与所述目标转发核中的局部NAT地址池进行合并,更新所述目标转发核中的局部NAT地址池;
所述目标转发核重新为对应的第二网卡队列设置过滤条件,以使所述目标转发核从所述第二网卡队列接收包括第一源IP地址的报文和/或包括第一目的地址的报文,所述第一源IP地址属于在对应的局部NAT地址池中的源IP地址,所述第一目的地址属于在对应的局部NAT地址池中的转换IP地址。
一种实现报文转发的系统,所述系统包括多个转发核,所述转发核包括:
接收单元,用于从第一网卡队列接收第一报文;
第一转发单元,用于如果所述第一报文包括待转换IP地址,根据第一NAT映射表对所述第一报文的待转换IP地址进行网络转换,并对转换后的第一报文进行转发;所述第一NAT映射表包括源IP地址与转换IP地址的一一映射关系,且所述第一NAT映射表为每核资源;
查询单元,用于从第二网卡队列接收包括待转换IP地址的第二报文,查询第二NAT映射表是否存在所述待转换IP地址对应的目标IP地址;所述第二NAT映射表为每核资源;
第二转发单元,用于如果所述第二NAT映射表不存在所述待转换IP地址对应的目标IP地址,从局部NAT地址池获取所述待转换IP地址对应的目标IP地址,将所述第二报文的待转换IP地址转换为所述目标IP地址,并对转换后的第二报文进行转发;所述局部NAT地址池包括转换IP地址与至少一个源IP地址的映射关系,所述局部NAT地址池为与当前转发核对应的每核资源;
添加单元,用于将所述待转换IP地址与所述目标IP地址的映射关系添加到所述第二NAT映射表中;
第三转发单元,用于如果所述第二NAT映射表存在所述待转换IP地址对应的目标IP地址,将所述第二报文的待转换IP地址转换为所述目标IP地址,并对转换后的第二报文进行转发。
一种实现报文转发的设备,包括:存储器,处理器,及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现所述的实现报文转发的方法。
一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备执行所述的实现报文转发的方法。
由此可见,本申请实施例具有如下有益效果:
本申请实施例提供的实现报文转发的方法中,转发核从第一网卡队列接收第一报文;如果第一报文包括待转换IP地址,转发核根据第一NAT映射表对第一报文的待转换IP地址进行网络转换,并进行转发。第一NAT映射表包括源IP地址与转换IP地址的一一映射关系,并且第一NAT映射表为每核资源,使得各个转发核可以根据自身的第一NAT映射表进行第一报文的待转换IP地址的转换。在查询的过程中,第一NAT映射表无需进行加锁处理。转发核从第二网卡队列接收包括待转换IP地址的第二报文,首先查询第二NAT映射表是否存在待转换IP地址对应的目标IP地址。如果不存在,转发核从局部NAT地址池获取待转换IP地址对应的目标IP地址,将第二报文的待转换IP地址转换为目标IP地址,并在转换后进行转发,将待转换IP地址与目标IP地址的映射关系添加到第二NAT映射表中。如果存在,将第二报文的待转换IP地址转换为目标IP地址,在转换后进行转发。其中,第二NAT映射表和局部NAT地址池均为每核资源,转发核在进行第二NAT映射表的查询以及从局部NAT地址池获取目标IP地址时无需加锁,也不会与其他转发核进行资源竞争,提高了多核转发系统的并发性能。
由此可见,本申请实施例提供的实现报文转发的方法,将接收的报文划分为从第一网卡队列接收的第一报文和从第二网卡队列接收的包括待转换IP地址的第二报文。根据每核资源中固定的第一NAT映射表对第一报文中包括的待转换IP地址进行转换。根据每核资源中动态的第二NAT映射表或者根据局部NAT地址池对第二报文中的待转换IP地址进行转换。通过根据每核资源中的IP地址的映射关系实现待转换IP地址的转换,可以防止各个转发核之间竞争共享资源,无需对每核资源中的第一NAT映射表、第二NAT映射表以及局部NAT地址池进行加锁处理,可以实现多核转发系统的多核并发完全无锁,提高了多核转发系统的并发性能。
附图说明
图1为本申请实施例提供的示例性应用场景的框架示意图;
图2为本申请实施例提供的一种转发核配置方法的流程图;
图3为本申请实施例提供的另一种转发核配置方法的流程图;
图4为本申请实施例提供的一种实现报文转发的方法的流程图
图5为本申请实施例提供的另一种实现报文转发的方法的流程图;
图6为本申请实施例提供的另一种实现报文转发的方法的流程图;
图7为本申请实施例提供的一种实现报文转发的系统的结构示意图。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请实施例作进一步详细的说明。
为便于理解本申请提供的技术方案,下面将先对本申请涉及的背景技术进行说明。
发明人在对传统的多核转发系统的网络地址转换方法进行研究后发现,传统的多核转发系统中具有一个IP地址映射表以及一个IP地址资源池。IP地址映射表中具有已经确定的IP地址的对应关系,在转发核利用IP地址映射表进行查询时,需要对IP地址映射表进行加锁,防止其他转发核使用。当转发核在IP地址资源池中选取IP地址时,也会与其他转发核的产生资源竞争。这导致多核转发系统的并发性能较差,不能使得多核转发系统的并发性能与转发核的数量相对应。
基于此,本申请实施例提供了一种实现报文转发的方法,将接收的报文划分为从第一网卡队列接收的第一报文和从第二网卡队列接收的包括待转换IP地址的第二报文。根据每核资源中固定的第一NAT映射表对第一报文中包括的待转换IP地址进行转换。根据每核资源中动态的第二NAT映射表或者根据局部NAT地址池对第二报文中的待转换IP地址进行转换。通过根据每核资源中的IP地址的映射关系实现待转换IP地址的转换,可以防止各个转发核之间竞争共享资源,无需对每核资源中的第一NAT映射表、第二NAT映射表以及局部NAT地址池进行加锁处理,可以实现多核转发系统的多核并发完全无锁,提高了多核转发系统的并发性能。
为了便于理解本申请实施例提供的实现报文转发的方法,下面结合图1所示的场景示例进行说明。参见图1,该图为本申请实施例提供的示例性应用场景的框架示意图。其中,本申请实施例提供的实现报文转发的方法可以应用于多核转发系统101,多核转发系统101中包括多个转发核1011。
内部网络102和外部网络103之间通过多核转发系统101连接,网卡队列104用于获取内部网络102与外部网络103之间传输的报文,并将报文发送至指定的转发核1011。
在实际应用时,网卡队列104获取内部网络102向外部网络103发送的报文以及外部网络103向内部网络102发送的报文,根据待转换IP地址将报文分为通过第一网卡队列向指定的转发核1011发送的第一报文和通过第二网卡队列向指定的转发核1011发送的第二报文。转发核1011从第一网卡队列接收第一报文。如果第一报文包括待转换IP地址,转发核1011根据第一NAT映射表将待转换IP地址进行网络转换,并将转换后的第一报文进行转发,转发至对应的外部网络103或者内部网络102。转发核1011从第二网卡队列接收第二报文,如果第二报文包括待转换IP地址,转发核1011查询第二NAT映射表判断是否存在待转换IP地址对应的目标IP地址,若存在,则根据目标IP地址进行转换;若不存在,通过局部NAT地址池获取目标IP地址,再利用目标IP地址进行转换。将转换后的第二报文进行转发,转发至对应的外部网络103或者内部网络102。
本领域技术人员可以理解,图1所示的框架示意图仅是本申请的实施方式可以在其中得以实现的一个示例。本申请实施方式的适用范围不受到该框架任何方面的限制。
需要注意的是,本申请实施例中多核转发系统101可以是现有的、正在研发的或将来研发的、能够实现报文转发的多核转发系统的一个示例。本申请的实施方式在此方面不受任何限制。
基于上述说明,下面将结合附图对本申请提供的实现报文转发的方法进行详细说明。
在对本申请实施例提供的实现报文转发的方法进行说明之前,首先先对本申请实施例提供的多核转发系统的配置方法进行说明。
多核转发系统中还可以具有配置核,配置核可以用于对各个转发核进行配置。参见图2,该图为本申请实施例提供的一种转发核配置方法的流程图,如图2所示,方法应用于多核转发系统,多核转发系统包括多个转发核和配置核。所述方法可以包括S201-S203:
S201:配置核获取网络地址转换NAT策略。
可以理解的是,NAT技术是用于进行IP地址的网络转换的,通过NAT技术可以将内部网络地址转换为对应的外部网络地址,也可以将外部网络地址转换为对应的内部网络地址。
为了实现转发核对于报文的转发,预先配置网络地址转换NAT策略。每条NAT策略中具有一定数量的源IP地址与一定数量的转换IP地址,可以根据NAT策略中的源IP地址和转换IP地址建立IP地址的网络转换的映射关系。其中,源IP地址可以为内部网络中的IP地址,转换IP地址可以为外部网络中的IP地址。
各个NAT策略中的源IP地址是各自独立的,不具有重复的源IP地址,如此可以防止IP地址网络转换的混乱。
例如,在一条NAT策略中,源IP地址为1.1.1.1-1.1.1.5,转换IP地址为2.1.1.1-2.1.1.5。而在另一条NAT策略中,源IP地址为1.1.2.1-1.1.2.4,转换IP地址为3.1.1.1-3.1.1.2。
配置核获取NAT策略,根据NAT策略对各个转发核的IP地址转换的映射关系进行配置。
具体的,可以根据NAT策略中的源IP地址的数量与转换IP地址的数量之间的大小关系进行配置。NAT策略中的源IP地址的数量与转换IP地址的数量并不具有对应的关系,源IP地址的数量可以大于转换IP地址的数量,或者等于转换IP地址的数量,还或者小于转换IP地址的数量。
S202:当NAT策略中源IP地址的数量小于或等于转换IP地址的数量,配置核建立第一NAT映射表。
当源IP地址的数量小于或者等于转换IP地址的数量时,源IP地址可以与转换IP地址建立一一映射关系。
当NAT策略中的源IP地址的数量与转换IP地址的数量相等时,比如,源IP地址为1.1.1.1-1.1.1.5,转换IP地址为2.1.1.1-2.1.1.5,源IP地址与转换IP地址之间可以建立一一映射关系。
本申请实施例不限定源IP地址与转换IP地址具体的映射方式。例如,可以按照源IP地址和转换IP地址的顺序依次建立映射关系。以上述NAT策略为例,源IP地址1.1.1.1与转换IP地址2.1.1.1建立映射关系,源IP地址1.1.1.2与转换IP地址2.1.1.2建立映射关系,并以此类推。还可以随机建立源IP地址与转换IP地址之间的一一映射关系。
当NAT策略中的源IP地址的数量小于转换IP地址的数量时,比如,源IP地址为1.1.2.1-1.1.2.5,转换IP地址为2.1.2.1-2.1.2.7。可以从转换IP地址中选取与源IP地址数量相同的转换IP地址,将源IP地址与选取出的转换IP地址建立一一映射关系。
配置核根据建立的映射关系建立第一NAT映射表。第一NAT映射表中,具有源IP地址的数量小于或等于转换IP地址的数量的NAT策略中源IP地址与转换IP地址之间的一一映射关系。
S203:配置核将第一NAT映射表发送给每个转发核。
配置核将第一NAT映射表发送至每个转发核,每个转发核中的第一NAT映射表是相同的并且是固定的。第一NAT映射表与NAT策略相关,不会随着转发核执行转发任务而变动。
在本申请实施例中,当NAT策略中源IP地址的数量小于或等于转换IP地址的数量时,利用NAT策略建立源IP地址与转换IP地址之间的一一映射关系,并生成第一NAT映射表,发送至每个转发核。每个转发核中具有相同的第一NAT映射表,在进行第一报文的转发时,通过查询第一NAT映射表可以实现对于第一报文的待转换IP地址的转换,无需在获取第一报文后再对待转换IP地址对应的IP地址进行分配,优化了待转换IP地址的转换性能。第一NAT映射表是每核资源,转发核在进行第一NAT映射表的查询时不涉及到资源的竞争,无需对第一NAT映射表进行加锁,提高了各个转发核的并发性能。
当NAT策略中源IP地址的数量大于转换IP地址的数量时,转换IP地址的资源有限,不能确定源IP地址与转换IP地址之间的一一映射关系。
进一步的,参见图3,该图为本申请实施例提供的另一种转发核配置方法的流程图,所述方法除上述S201-S203以外,还包括S204-S207:
S204:当NAT策略中源IP地址的数量大于转换IP地址的数量,配置核建立NAT地址池,NAT地址池包括转换IP地址与至少一个源IP地址的映射关系。
当NAT策略中源IP地址的数量大于转换IP地址的数量时,转换IP地址的数量有限,不能分别与一个源IP地址建立一一映射关系。
配置核利用NAT策略中的源IP地址与转换IP地址建立NAT地址池。NAT地址池中具有转换IP地址与至少一个源IP地址的映射关系。
例如,当NAT策略中的源IP地址为1.1.3.1-1.1.3.5,转换IP地址为2.1.3.1-2.1.3.2时,NAT地址池中具有转换IP地址2.1.3.1与源IP地址1.1.3.1-1.1.3.5的映射关系,转换IP地址2.1.3.2与源IP地址1.1.3.1-1.1.3.4的映射关系。
需要说明的是,NAT地址池中的转换IP地址与至少一个源IP地址的映射关系是用于转发核在进行第二报文的转发时选取的,是网络转换时可以选择使用的资源。转发核可以根据待转换IP地址的网络转换的需要,进行NAT地址池中转换IP地址与源IP地址映射关系的选择,确定源IP地址与转换IP地址的映射关系。
其中,为了保证地址转换的正确性,一个源IP地址仅能对应一个转换IP地址。例如,当确定转换IP地址2.1.3.1与源IP地址1.1.3.1的映射关系后,源IP地址1.1.3.1不能与转换IP地址2.1.3.2建立映射关系,不然会不能明确源IP地址对应的转换IP地址。而一个转换IP地址可以对应多个源IP地址,例如,确定转换IP地址2.1.3.1与源IP地址1.1.3.1的映射关系后,还可以确定转换IP地址2.1.3.1与源IP地址1.1.3.5的映射关系。当需要将转换IP地址转换为源IP地址时,可以根据端口号确定所要转换的对应的源IP地址。
S205:配置核将NAT地址池划分为P份局部NAT地址池,不同的局部NAT地址池中的转换IP地址不同;P为小于或等于N的正整数,N为转发核的数量。
为了实现各个转发核对于不同的第二报文的转发,可以将NAT地址池进行划分。具体的划分方式可以为根据NAT地址池中的转换IP地址进行划分。将相同的转换IP地址以及转换IP地址对应的源IP地址划分至同一个局部NAT地址池中,各个局部NAT地址池中具有不同的转换IP地址。
局部NAT地址池需要发送至转发核中,以实现转发核根据局部NAT地址池对第二报文的转发,划分后得到的局部NAT地址池的数量P小于或者等于转发核数量N。
在一种可能的实现方式中,可以对NAT地址池进行较为均匀的划分,使得转换IP地址对应的源IP地址的数量相近,并且优先使用连续的源IP地址的网段,以使各个转发核执行的第二报文的转发任务较为均衡。
S206:配置核将P份局部NAT地址池发送给P个转发核,一个转发核对应一份局部NAT地址池。
配置核将P份局部NAT地址池发送至P个转发核。当P等于N时,多核转发系统中的每个转发核对应一份局部NAT地址池。当P小于N时,一个转发核对应一份局部NAT地址池。
需要说明的是,局部NAT地址池是每核资源,并且在初始状态时每个转发核对应的局部NAT地址池不相同。
通过将划分后的局部NAT地址池分配至P个转发核,可以实现转发核的利用率。
S207:收到局部NAT地址池的转发核为对应的第二网卡队列设置过滤条件,以使收到局部NAT地址池的转发核从第二网卡队列接收包括第一源IP地址的报文和/或包括第一目的地址的报文,第一源IP地址属于在对应的局部NAT地址池中的源IP地址,第一目的地址属于在对应的局部NAT地址池中的转换IP地址。
为了转发核通过网卡队列接收需要进行处理的报文,在接收到NAT地址池后,转发核需要在第二网卡队列中设置对应的过滤条件。通过对对应的第二网卡队列的过滤规则进行设置,可以将具有第一源IP地址的报文,或者是具有第一目的地址的报文,或者是具有第一源IP地址和第一目的地址的报文发送至对应的转发核。其中,第一源IP地址为转发核对应的局部NAT地址池中的源IP地址,第一目的地址为转发核对应的局部NAT地址池中的转换IP地址。转发核可以根据局部NAT地址池对第二网卡队列发送的报文进行地址转换处理。
在具体实现时,可以通过网卡硬件filter set实现第一源IP地址和/或第一目的地址与转发核的绑定,对于网卡的配置较少,节省硬件判断的次数,提升整体性能。转发核与第二网卡队列建立连接关系,为第二网卡队列设置过滤条件,使得第二网卡队列接收第一源IP地址的报文和/或包括第一目的地址的报文,并将其发送至对应的转发核。
第二网卡队列的个数可以与局部NAT地址池的数量相同。例如,当局部NAT地址池具有P份时,每个网卡的第二网卡队列可以为P个,分别对应于具有P个局部NAT地址池的转发核。
在本申请实施例中,配置核利用源IP地址的数量大于转换IP地址数量的NAT策略中的源IP地址与转换IP地址,建立NAT地址池。并且对NAT地址池进行划分,将划分后的局部NAT地址池发送至转发核中,转发核利用局部NAT地址池可以实现对于第二报文中的地址转换。通过向转发核分配局部NAT地址池,可以实现转发核的局部资源的分配,转发核可以根据自身对应的局部NAT地址池进行源IP地址与转换IP地址的一一映射关系的选择,无需与其他转发核进行资源竞争,提高了多核转发系统的并发性能。
在对多核转发系统中的转发核进行配置后,可以使用配置后的多核转发系统进行报文的转发。
参见图4,该图为本申请实施例提供的一种实现报文转发的方法的流程图,如图4所示,所述方法应用于多核转发系统,多核转发系统包括多个转发核,所述方法可以包括S401-S406:
S401:转发核从第一网卡队列接收第一报文。
首先需要说明的是,网卡队列可以将网卡接收到的报文发送至对应的转发核,转发核从网卡队列中接收报文进行处理。通常转发核与每个网卡之间具有一个网卡队列,而在本申实施例中,转发核与每个网卡之间可以具有两类网卡队列,分为第一网卡队列与第二网卡队列。
第一网卡队列用于将第一报文发送至转发核。第一网卡队列的个数可以与转发核的数量相同。例如,当具有N个转发核时,每个网卡的第一网卡队列为N个,分别对应于每个转发核。而转发核可以从每个网卡的第一网卡队列接收第一报文。
第一报文中可能包括待转换IP地址,待转换IP地址是与第一NAT映射表中的源IP地址或者转换IP地址相关的IP地址。
本申请实施例不限定第一网卡队列确定转发核的方法,可以根据转发核的顺序依次将第一报文发送至转发核,也可以根据转发核当前的负载进行转发核的确定。
S402:如果第一报文包括待转换IP地址,转发核根据第一NAT映射表对第一报文的待转换IP地址进行网络转换,并对转换后的第一报文进行转发;第一NAT映射表包括源IP地址与转换IP地址的一一映射关系,且第一NAT映射表为每核资源。
如果第一报文包括待转换IP地址,则先需要对第一报文中的待转换IP地址进行转换,再将待转换IP地址转换后的第一报文进行转发。
第一NAT映射表为每核资源,各个转发核中的第一NAT映射表相同。第一NAT映射表中包括源IP地址与转换IP地址之间的一一映射关系,转发核可以根据第一NAT映射表确定待转换IP地址对应的IP地址,对待转换IP地址进行网络转换。
需要说明的是,第一报文中包括的待转换IP地址可以对应于第一NAT映射表中的源IP地址或者是转换IP地址。对应于不同种类的待转换IP地址,本申请实施例还提供了S402的一种实施方式,请参见下文具体实施方式。
S403:转发核从第二网卡队列接收包括待转换IP地址的第二报文,查询第二NAT映射表是否存在待转换IP地址对应的目标IP地址;第二NAT映射表为每核资源。
转发核还可以对第二报文进行转发处理。第二报文中的待转换IP地址与第一报文中可能具有的待转换IP地址的种类不同。
转发核从每个网卡的第二网卡队列接收到包括待转换IP地址的第二报文。第二报文中的待转换IP地址,是属于转发核对应的局部NAT地址池中的源IP地址或者转换IP地址。第二网卡队列将具有与局部NAT地址池中的源IP地址或者转换IP地址的待转换IP地址的第二报文发送至对应的转发核,以便转发核进行网络转换。
转发核先查询第二NAT映射表中是否存在待转换IP地址对应的目标IP地址。
其中,第二NAT映射表是由转发核建立的,是每核资源。第二NAT映射表用于将从局部NAT地址池中选择的源IP地址与转换IP地址的映射关系记录为表项,以便根据第二NAT映射表中储存的源IP地址与转换IP地址的映射关系进行后续的网络转换。第二NAT映射表是转发核根据对应的局部NAT地址池中的源IP地址与转换IP地址的映射关系建立的,各个转发核的第二NAT映射表不同。
如果第二NAT映射表中存在待转换IP地址对应的目标IP地址,执行S406;如果不存在,执行S404-S405。
S404:如果第二NAT映射表不存在待转换IP地址对应的目标IP地址,转发核从局部NAT地址池获取待转换IP地址对应的目标IP地址,将第二报文的待转换IP地址转换为目标IP地址,并对转换后的第二报文进行转发;局部NAT地址池包括转换IP地址与至少一个源IP地址的映射关系,局部NAT地址池为与当前转发核对应的每核资源。
如果第二NAT映射表中不存在待转换IP地址对应的目标IP地址,则转发核之前并未对待转换IP地址进行网络转换,需要从局部NAT地址池中选择待转换IP地址对应的目标IP地址。局部NAT地址池是当前转发核具有的每核资源,各个转发核具有的局部NAT地址池不同。局部NAT地址池中包括转换IP地址与至少一个源IP地址的映射关系。
转发核根据局部NAT地址池中获取的目标IP地址,将待转换IP地址转换为目标IP地址,并将转换后的第二报文进行转发。
S405:转发核将待转换IP地址与目标IP地址的映射关系添加到第二NAT映射表中。
在转发核确定待转换IP地址与目标IP地址的映射关系后,将待转换IP地址与目标IP地址的映射关系添加至第二NAT映射表中。在后续转发核接收到具有待转换IP地址或者目标IP地址的第二报文时,转发核可以根据添加至第二NAT映射表中的待转换IP地址与目标IP地址的映射关系进行网络转换。
第二NAT映射表是根据转发核在转发第二报文中获取的待转换IP地址和目标IP地址的映射关系建立的,第二NAT映射表是随着转发核执行对第二报文的转发任务动态更新的。
S406:如果第二NAT映射表存在待转换IP地址对应的目标IP地址,转发核将第二报文的待转换IP地址转换为目标IP地址,并对转换后的第二报文进行转发。
如果第二NAT映射表中存在待转换IP地址对应的目标IP地址,则转发核已经获取待转换IP地址对应的目标IP地址。为了保证网络转换的一致性,转发核将第二报文的待转换IP地址转换为目标IP地址,并将转换后的第二报文进行转发。
类似的,第二报文中包括的待转换IP地址可以为第二NAT映射表中或者局部NAT地址池中的源IP地址,在此种情况下,本申请实施例还提供了S403-S406的一种具体实施方式,具体请参见下文。
另外,待转换IP地址还可以为第二NAT映射表中的转换IP地址,在此种情况下,本申请实施例还提供了S403和S406的另一种具体实施方式,具体也请参见下文。
基于上述S401-S406的相关内容可知,本申请实施例提供的实现报文转发的方法将报文分为第一报文和第二报文。转发核采用每核资源中的第一NAT映射表进行对第一报文的网络转换,采用每核资源中的局部NAT地址池或者是采用每核资源中的第二NAT映射表进行对第二报文的网络转换。在进行报文的转发时,均是采用转发核的每核资源,各个转发核之间无需进行资源竞争。每核资源均无需加锁,可以实现多核并发、完全无锁,从而提高了多核转发系统的并发性能,多核转发系统的性能可以随着转发核的数量增加而线性增长。
需要说明的是,多核转发系统可以实现双向的报文转发,在对待转换IP地址进行网络转换时,需要根据报文的发送方向确定待转换IP地址所对应的IP地址。
对于第一报文而言,第一报文中的待转换IP地址是根据第一NAT映射表中的源IP地址和转换IP地址的一一映射关系进行转换的,待转换IP地址的转换方式是较为固定的。
如果第一报文包括待转换IP地址,转发核根据第一NAT映射表对第一报文的待转换IP地址进行网络转换,并对转换后的第一报文进行转发,包括以下两种方式:
在一种可能的实现方式中,如果第一报文的第二源IP地址属于第一NAT映射表中的源IP地址,转发核从第一NAT映射表中获取第二源IP地址对应的第一转换IP地址,将第一报文的第二源IP地址转换为第一转换IP地址,并对转换后的第一报文进行转发。
第一NAT映射表中具有源IP地址和转换IP地址的一一映射关系。如果第一报文中的待转换IP地址为第二源IP地址,并且第二源IP地址属于第一NAT映射表中的源IP地址,则可以利用第一NAT映射表进行第二源IP地址对应的转换IP地址,也就是第一转换IP地址的查询。
利用第一NAT映射表中查询得到第一转换IP地址,将第二源IP地址转换为第一转换IP地址,并将转换后的第一报文进行转发。
在另一种可能的实现方式中,如果第一报文的第二目的IP地址属于第一NAT映射表中的转换IP地址,转发核从第一NAT映射表中获取第二目的IP地址对应的第三源IP地址,将第一报文的第二目的IP地址转换为第三源IP地址,并对转换后的第一报文进行转发。
如果待转换IP地址为第二目的IP地址,属于第一NAT映射表中的转换IP地址,则根据第一NAT映射表中的源IP地址和转换IP地址的一一映射关系,查询第二目的IP地址对应的源IP地址,也就是第三源IP地址。
利用查询到的第三源IP地址,将第一报文中的第二目的地址转换为第三源IP地址,并将转换后的第一报文进行转发。
在本申请实施例中,通过确定第一报文中的待转换IP地址为第二源IP地址或者第二目的IP地址,根据第一NAT映射表中源IP地址和转换IP地址的一一映射关系,确定第二源IP地址对应的第一转换IP地址,或者确定第二目的IP地址对应的第三源IP地址。通过每核资源中的第一NAT映射表,可以实现对于第一报文中的待转换IP地址的转换,实现第一报文的双向传输的转发。
对于第二报文而言,第二报文中待转换IP地址的网络转换是根据局部NAT地址池中转换IP地址与至少一个源IP地址的映射关系确定的。当第二报文中的待转换IP地址为源IP地址时,可以通过第二NAT映射表或者是局部NAT地址池确定对应的转换IP地址。
在一种可能的实现方式中,本申请实施例提供了另一种实现报文转发的方法。参见图5,该图为本申请实施例提供的另一种实现报文转发的方法的流程图,如图5所示,方法可以包括S501-S504:
S501:转发核从第二网卡队列接收包括第一源IP地址的第二报文,查询第二NAT映射表是否存在第一源IP地址对应的第二转换IP地址;第一源IP地址属于在局部NAT地址池中的源IP地址。
当第二报文中的待转换IP地址为转发核中局部NAT地址池中的源IP地址,也就是第一源IP地址时,为了确保网络转换的一致性,先从第二NAT映射表中查询是否存在第一源IP地址对应的第二转换IP地址。
若第二NAT映射表中存在第一源IP地址对应的第二转换IP地址时,则转发核获取到第一源IP地址对应的第二转换IP地址,执行S504。
若第二NAT映射表中不存在第一源IP地址对应的第二转换IP地址时,需要根据局部NAT地址池确定第一源IP地址对应的第二转换IP地址,对应的执行S502至S503。
S502:如果第二NAT映射表不存在第一源IP地址对应的第二转换IP地址,转发核从局部NAT地址池获取第一源IP地址对应的至少一个转换IP地址,从第一源IP地址对应的至少一个转换IP地址中确定第一源IP地址对应的第二转换IP地址,将第二报文的第一源IP地址转换为第二转换IP地址,并对转换后的第二报文进行转发。
当第二NAT映射表中不存在第一源IP地址对应的第二转换IP地址时,转发核从局部NAT地址池中确定第二转换IP地址。
具体为,局部NAT地址池中具有转换IP地址与至少一个源IP地址的映射关系,同一个源IP地址可以具有与多个转换IP地址的映射关系。先从局部NAT地址池中获取第一源IP地址对应的至少一个转换IP地址,从获取到的第一源IP地址对应的转换IP地址中选取一个转换IP地址,作为与第一源IP地址对应的第二转换IP地址。
例如,当转发核对应的局部NAT地址池中具有源IP地址2.1.2.1、2.1.2.2和2.1.2.3,转换IP地址为3.4.2.1和3.4.2.2时,转换IP地址可以与至少一个源IP地址建立映射关系。局部NAT地址池中具有的映射关系包括:2.1.2.1和3.4.2.1、2.1.2.1和3.4.2.2、2.1.2.2和3.4.2.1、2.1.2.2和3.4.2.2、2.1.2.3和3.4.2.1以及2.1.2.3和3.4.2.2。当第一源IP地址为2.1.2.1时,局部NAT地址池中获取到的第一源IP地址对应的转换IP地址为3.4.2.1和3.4.2.2,从转换IP地址3.4.2.1和3.4.2.2中选取一个转换IP地址作为与第一源IP地址2.1.2.1对应的第二转换IP地址。
在一种可能的实现方式中,可以选用选择次数较少的转换IP地址作为第二转换IP地址,可以实现较为均衡的转换IP地址的资源的使用。
从第一源IP地址对应的至少一个转换IP地址中确定第一源IP地址对应的第二转换IP地址,包括:
从第一源IP地址对应的至少一个转换IP地址中选择使用次数最少的转换IP地址作为第一源IP地址对应的第二转换IP地址。
局部NAT地址池中的转换IP地址与至少一个源IP地址可以建立映射关系,同一个转换IP地址可以被选择和多个源IP地址建立映射关系。为了使得转换IP地址较为均衡的使用,可以选择第一源IP地址对应的至少一个转换IP地址中使用次数较少的转换IP地址作为第二转换IP地址。其中,使用次数较少的转换IP地址为被选择与其他源IP地址建立映射关系次数较少的转换IP地址。在进行第二转换IP地址的选择时,可以将与第一源IP地址对应的转换IP地址的使用次数进行比较,从而确定是用次数较少的转换IP地址。
以上述局部NAT地址池为例,转换IP地址3.4.2.1分别与源IP地址2.1.2.2和2.1.2.3确定映射关系。在进行确定第一源IP地址2.1.2.1对应的第二转换IP地址时,转换IP地址3.4.2.1的使用次数为2次,而转换IP地址3.4.2.2的使用次数为0次,可以选择使用次数较少的转换IP地址3.4.2.2作为第二转换IP地址。
在确定第二转换IP地址之后,将第二报文的第一源IP地址转换为第二转换IP地址,将转换后的第二报文进行转发。
S503:转发核将第一源IP地址与第二转换IP地址的映射关系添加到第二NAT映射表中。
在确定第一源IP地址对应的第二转换IP地址后,将第一源IP地址与第二转换IP地址的映射关系,添加至第二NAT映射表中。在后续接收到具有第一源IP地址或者第二转换IP地址的第二报文后,根据第二NAT映射表中的第一源IP地址与第二转换IP地址的映射关系进行网络转换。
由于第二NAT映射表是每核资源,在将第一源IP地址与第二转换IP地址的映射关系添加至第二NAT映射表的过程中无需对第二NAT映射表进行加锁处理,使得多核转发系统在对第二报文进行转发时的速度提升。
第二NAT映射表是动态的,第二NAT映射表中的映射关系是不断更新的。但是,第二NAT映射表中的表项是有限的,为此,可以将第二NAT映射表中的表项可以挂入LRU(LeastRecently Used,最近最少使用)表中。当第二NAT映射表中的表项不足时,将第二NAT映射表中具有的最早的映射关系的表项进行替换。将第二NAT映射表中最早记录的映射关系的表项进行替换,释放表项,无需设置定时器,并且保证较近确定的映射关系不丢失,确保转发核对第二报文的网络转换。
S504:如果第二NAT映射表存在第一源IP地址对应的第二转换IP地址,转发核将第二报文的第一源IP地址转换为第二转换IP地址,并对转换后的第二报文进行转发。
如果第二NAT映射表中存在第一源IP地址对应的第二转换IP地址时,则将第二报文的第一源IP地址转换为第二转换IP地址,将转换后的第二报文进行转发。
基于上述S501至S504的相关内容可知,本申请实施例提供的另一种实现报文转发的方法,可以通过从第二NAT映射表获取第二转换IP地址或者是从局部NAT地址池中确定第二转换IP地址,实现对第二报文的第一源IP地址的转换。并且,第二NAT映射表和局部NAT地址池均是每核资源,不会涉及到多个转发核的资源竞争,转发核之间互不影响。对第二报文进行转发时无需对第二NAT映射表和局部NAT地址池进行加锁处理,提高了多核转发系统的并发性能。
对于第二报文而言,第二报文中待转换IP地址还可以属于转换IP地址,此时可以通过第二NAT映射表确定对应的源IP地址。
在一种可能的实现方式中,本申请实施例提供了另一种实现报文转发的方法,所述方法可以包括以下两个步骤:
A1:转发核从第二网卡队列接收包括第一目的IP地址以及目的端口号的第二报文,查询第二NAT映射表是否存在第一目的IP地址以及目的端口号对应的第四源IP地址;第一目的IP地址属于在局部NAT地址池中的转换IP地址。
转发核从第二网卡队列中接收第一目的IP地址以及目的端口号的第二报文。其中,第一目的IP地址属于在局部NAT地址池中的转换IP地址。由于转换IP地址可用于与至少一个源IP地址确定映射关系,所以仅获取第二报文中的第一目的IP地址不能确定对应的源IP地址,还需要获取第二报文中的目的端口号。目的端口号可以用于确定具体的源IP地址,通过第一目的IP地址和目的端口号可以确定第一目的IP地址对应的第四源IP地址。
需要说明的是,第二报文中的转换IP地址是转发核根据局部NAT地址池中具有的源IP地址和转换IP地址的映射关系确定使用的,第二报文中不会出现未使用过的转换IP地址。在接收到具有第一目的IP地址以及目的端口号的第二报文后,从第二NAT映射表中查询是否存在第一目的IP地址以及目的端口号对应的第四源IP地址。
A2:如果第二NAT映射表存在第一目的IP地址以及目的端口号对应的第四源IP地址,转发核将第二报文的第一目的IP地址转换为第四源IP地址,并对转换后的第二报文进行转发。
如果第二NAT映射表中存在第一目的IP地址以及目的端口号对应的第四源IP地址,将第一目的IP地址转换为第四源IP地址,并对转换后的第二报文进行转发。
基于上述两个步骤可知,当转发核从第二网卡队列接收包括第一目的IP地址以及目的端口号的第二报文时,通过查询第二NAT映射表可以确定第一目的IP地址以及目的端口号对应第四源IP地址。转发核可以通过每核资源中的第二NAT映射表实现对于具有第一目的IP地址的第二报文的网络转换,实现第二报文的双向转发,提高了多核转发系统的并发性能。
多核转发系统中具有至少一个转发核,在进行报文的转发过程中,可能会出现部分转发核负载较多的情况。
基于上述问题,进一步的,本申请实施例提供了另一种实现报文转发的方法,参见图6,该图为本申请实施例提供的另一种实现报文转发的方法的流程图,所述方法还包括S601-S605:
S601:当转发核的负载参数达到预设阈值,转发核确定目标转发核。
为了防止部分转发核的负载过多,获取转发核的负载参数,并对转发核的负载参数与预设阈值进行比较。
若转发核的负载参数达到预设阈值,则该转发核的负载过多。转发核可以进一步确定负载参数较小的,也就是负载较少的转发核作为目标转发核,将转发核的部分转发任务转移至目标转发核中,实现资源的最大化利用。
S602:转发核将当前转发核对应的第二网卡队列迁移到目标转发核。
第二网卡队列用于将第二报文发送至对应的转发核中,以便对应的转发核进行网络转换和第二报文的转发。
当转发核的负载较多时,可以将转发核对应的第二网卡队列迁移至目标转发核中,使得将转发核执行的第二报文的转发任务由目标转发核执行,减少转发核的负载。
需要说明的是,转发核将第二网卡队列迁移至目标转发核中,并不影响转发核对应的第一网卡队列向转发核发送第一报文。第一网卡队列向转发核发送第一报文与第二网卡队列向转发核发送第二报文并不相互影响。
S603:转发核将当前转发核的第二NAT映射表中的表项发送给目标转发核,以将当前转发核的第二NAT映射表中的表项添加到目标转发核中的第二NAT映射表中。
对应于第二网卡队列的迁移,目标转发核需要对转发核负责转发的第二报文进行转发。当前转发核将第二NAT映射表中的表项发送至目标转发核,目标转发核将接收到的当前转发核的第二NAT映射表中的表项添加至每核资源中对应的第二NAT映射表中。
通过添加当前转发核的第二NAT映射表中的表项,目标转发核可以获取当前转发核确定的源IP地址与转换IP地址的映射关系,并利用添加表项后的第二NAT映射表进行第二报文的网络转换与转发。
S604:转发核将当前转发核的局部NAT地址池发送给目标转发核,以将当前转发核的局部NAT地址池与目标转发核中的局部NAT地址池进行合并,更新目标转发核中的局部NAT地址池。
对应的,转发核将当前转发核的局部NAT地址池发送至目标转发核。目标转发核可以将当前转发核的局部NAT地址池和目标转发核的局部NAT地址池进行合并,得到更新后的局部NAT地址池。目标转发核可以利用更新后的局部NAT地址池,进行迁移后目标转发核对应的第二网卡队列发送的第二报文的网络转换和转发。
S605:目标转发核重新为对应的第二网卡队列设置过滤条件,以使目标转发核从第二网卡队列接收包括第一源IP地址的报文和/或包括第一目的地址的报文,第一源IP地址属于在对应的局部NAT地址池中的源IP地址,第一目的地址属于在对应的局部NAT地址池中的转换IP地址。
当目标转发核的第二NAT映射表和局部NAT地址池更新后,目标转发核可以进行网络转换的第二报文的范围扩大。目标转发核需要重新为对应的第二网卡队列设置过滤条件,使得目标转发核可以从第二网卡队列中接收到包括第一源IP地址的报文和/或包括第一目的地址的报文。其中,第一源IP地址属于在对应的局部NAT地址池中的源IP地址,第一目的地址属于在对应的局部NAT地址池中的转换IP地址,对应的局部NAT地址池是更新后的局部NAT地址池。
通过目标转发核对对应的第二网卡队列进行过滤条件的重新设置,使得目标转发核可以在对具有原有的局部NAT地址池中的源IP地址和/或转换IP地址的第二报文进行转发的基础上,进一步增加了对当前转发核对应的局部NAT地址池中的源IP地址和/或转换IP地址的第二报文的转发。
在本申请实施例中,通过将负载较多的转发核对应的第二网卡队列迁移至目标转发核,并且对应的将目标转发核的第二NAT映射表和局部NAT地址池进行更新。可以实现将当前转发核的部分转发任务转移至目标转发核,减小了当前转发核的负载,达到对多核转发系统的转发资源的均衡利用。
基于上述方法实施例提供的实现报文转发的方法,本申请实施例还提供了一种实现报文转发的系统,下面将结合附图对该实现报文转发的系统进行说明。
参见图7,该图为本申请实施例提供的一种实现报文转发的系统的结构示意图。如图7所示,该实现报文转发的系统包括多个转发核,所述转发核包括:
接收单元701,用于从第一网卡队列接收第一报文;
第一转发单元702,用于如果所述第一报文包括待转换IP地址,根据第一NAT映射表对所述第一报文的待转换IP地址进行网络转换,并对转换后的第一报文进行转发;所述第一NAT映射表包括源IP地址与转换IP地址的一一映射关系,且所述第一NAT映射表为每核资源;
查询单元703,用于从第二网卡队列接收包括待转换IP地址的第二报文,查询第二NAT映射表是否存在所述待转换IP地址对应的目标IP地址;所述第二NAT映射表为每核资源;
第二转发单元704,用于如果所述第二NAT映射表不存在所述待转换IP地址对应的目标IP地址,从局部NAT地址池获取所述待转换IP地址对应的目标IP地址,将所述第二报文的待转换IP地址转换为所述目标IP地址,并对转换后的第二报文进行转发;所述局部NAT地址池包括转换IP地址与至少一个源IP地址的映射关系,所述局部NAT地址池为与当前转发核对应的每核资源;
添加单元705,用于将所述待转换IP地址与所述目标IP地址的映射关系添加到所述第二NAT映射表中;
第三转发单元706,用于如果所述第二NAT映射表存在所述待转换IP地址对应的目标IP地址,将所述第二报文的待转换IP地址转换为所述目标IP地址,并对转换后的第二报文进行转发。
可选的,所述多核转发系统还包括配置核,所述配置核包括:
获取单元,用于获取网络地址转换NAT策略;
第一建立单元,用于当所述NAT策略中源IP地址的数量小于或等于转换IP地址的数量,建立第一NAT映射表;
第一发送单元,用于将所述第一NAT映射表发送给每个所述转发核。
可选的,所述配置核还包括:
第二建立单元,用于当所述NAT策略中源IP地址的数量大于转换IP地址的数量,建立NAT地址池,所述NAT地址池包括转换IP地址与至少一个源IP地址的映射关系;
划分单元,用于将所述NAT地址池划分为P份局部NAT地址池,不同的局部NAT地址池中的转换IP地址不同;P为小于或等于N的正整数,N为所述转发核的数量;
第二发送单元,用于将P份所述局部NAT地址池发送给P个所述转发核,一个所述转发核对应一份所述局部NAT地址池;
所述转发核还包括:
第一设置单元,用于收到所述局部NAT地址池的转发核为对应的第二网卡队列设置过滤条件,以使收到所述局部NAT地址池的转发核从所述第二网卡队列接收包括第一源IP地址的报文和/或包括第一目的地址的报文,所述第一源IP地址属于在对应的局部NAT地址池中的源IP地址,所述第一目的地址属于在对应的局部NAT地址池中的转换IP地址。
可选的,所述第一转发单元702,包括:
第一转发子单元,用于如果所述第一报文的第二源IP地址属于第一NAT映射表中的源IP地址,所述转发核从所述第一NAT映射表中获取所述第二源IP地址对应的第一转换IP地址,将所述第一报文的第二源IP地址转换为所述第一转换IP地址,并对转换后的第一报文进行转发;
第二转发子单元,用于如果所述第一报文的第二目的IP地址属于第一NAT映射表中的转换IP地址,所述转发核从所述第一NAT映射表中获取所述第二目的IP地址对应的第三源IP地址,将所述第一报文的第二目的IP地址转换为所述第三源IP地址,并对转换后的第一报文进行转发。
可选的,所述查询单元703,包括:
第一查询子单元,用于从第二网卡队列接收包括第一源IP地址的第二报文,查询第二NAT映射表是否存在所述第一源IP地址对应的第二转换IP地址;所述第一源IP地址属于在局部NAT地址池中的源IP地址;
第一获取子单元,用于所述如果所述第二NAT映射表不存在所述待转换IP地址对应的目标IP地址,所述转发核从局部NAT地址池获取所述待转换IP地址对应的目标IP地址,将所述第二报文的待转换IP地址转换为所述目标IP地址,并对转换后的第二报文进行转发,包括:
第二获取子单元,用于如果所述第二NAT映射表不存在所述第一源IP地址对应的第二转换IP地址,从局部NAT地址池获取所述第一源IP地址对应的至少一个转换IP地址,从所述第一源IP地址对应的至少一个转换IP地址中确定所述第一源IP地址对应的第二转换IP地址,将所述第二报文的第一源IP地址转换为所述第二转换IP地址,并对转换后的第二报文进行转发;
所述添加单元705,具体用于将所述第一源IP地址与所述第二转换IP地址的映射关系添加到所述第二NAT映射表中;
所述第三转发单元706,具体用于如果所述第二NAT映射表存在所述第一源IP地址对应的第二转换IP地址,将所述第二报文的第一源IP地址转换为所述第二转换IP地址,并对转换后的第二报文进行转发。
可选的,所述第二获取子单元,具体用于从所述第一源IP地址对应的至少一个转换IP地址中选择使用次数最少的转换IP地址作为所述第一源IP地址对应的第二转换IP地址。
可选的,所述查询单元703,包括:
第二查询子单元,用于从第二网卡队列接收包括第一目的IP地址以及目的端口号的第二报文,查询第二NAT映射表是否存在所述第一目的IP地址以及所述目的端口号对应的第四源IP地址;所述第一目的IP地址属于在局部NAT地址池中的转换IP地址;
所述第三转发单元706,具体用于如果所述第二NAT映射表存在所述第一目的IP地址以及所述目的端口号对应的第四源IP地址,将所述第二报文的第一目的IP地址转换为所述第四源IP地址,并对转换后的第二报文进行转发。
所述转发核还包括:
确定单元,用于当所述转发核的负载参数达到预设阈值,所述转发核确定目标转发核;
迁移单元,用于所述转发核将当前转发核对应的第二网卡队列迁移到所述目标转发核;
表项发送单元,用于所述转发核将当前转发核的第二NAT映射表中的表项发送给所述目标转发核,以将所述当前转发核的第二NAT映射表中的表项添加到所述目标转发核中的第二NAT映射表中;
地址池发送单元,用于将当前转发核的局部NAT地址池发送给所述目标转发核,以将所述当前转发核的局部NAT地址池与所述目标转发核中的局部NAT地址池进行合并,更新所述目标转发核中的局部NAT地址池;
第二设置单元,用于所述目标转发核重新为对应的第二网卡队列设置过滤条件,以使所述目标转发核从所述第二网卡队列接收包括第一源IP地址的报文和/或包括第一目的地址的报文,所述第一源IP地址属于在对应的局部NAT地址池中的源IP地址,所述第一目的地址属于在对应的局部NAT地址池中的转换IP地址。
另外,本申请实施例还提供了一种实现报文转发的设备,包括:存储器,处理器,及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现如上述实施例所述的实现报文转发的方法。
另外,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在设备上运行时,使得所述设备执行如上述实施例所述的实现报文转发的方法。
本申请实施例中,将接收的报文划分为从第一网卡队列接收的第一报文和从第二网卡队列接收的包括待转换IP地址的第二报文。根据每核资源中固定的第一NAT映射表对第一报文中包括的待转换IP地址进行转换。根据每核资源中动态的第二NAT映射表或者根据局部NAT地址池对第二报文中的待转换IP地址进行转换。通过根据每核资源中的IP地址的映射关系实现待转换IP地址的转换,可以防止各个转发核之间竞争共享资源,无需对每核资源中的第一NAT映射表、第二NAT映射表以及局部NAT地址池进行加锁处理,可以实现多核转发系统的多核并发完全无锁,提高了多核转发系统的并发性能。
需要说明的是,本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统或装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种实现报文转发的方法,其特征在于,所述方法应用于多核转发系统,所述多核转发系统包括多个转发核,所述方法包括:
所述转发核从第一网卡队列接收第一报文;
如果所述第一报文包括待转换IP地址,所述转发核根据第一NAT映射表对所述第一报文的待转换IP地址进行网络转换,并对转换后的第一报文进行转发;所述第一NAT映射表包括源IP地址与转换IP地址的一一映射关系,且所述第一NAT映射表为每核资源;
所述转发核从第二网卡队列接收包括待转换IP地址的第二报文,查询第二NAT映射表是否存在所述待转换IP地址对应的目标IP地址;所述第二NAT映射表为每核资源;
如果所述第二NAT映射表不存在所述待转换IP地址对应的目标IP地址,所述转发核从局部NAT地址池获取所述待转换IP地址对应的目标IP地址,将所述第二报文的待转换IP地址转换为所述目标IP地址,并对转换后的第二报文进行转发;所述局部NAT地址池包括转换IP地址与至少一个源IP地址的映射关系,所述局部NAT地址池为与当前转发核对应的每核资源;
所述转发核将所述待转换IP地址与所述目标IP地址的映射关系添加到所述第二NAT映射表中;
如果所述第二NAT映射表存在所述待转换IP地址对应的目标IP地址,所述转发核将所述第二报文的待转换IP地址转换为所述目标IP地址,并对转换后的第二报文进行转发。
2.根据权利要求1所述的方法,其特征在于,所述多核转发系统还包括配置核,所述方法还包括:
所述配置核获取网络地址转换NAT策略;
当所述NAT策略中源IP地址的数量小于或等于转换IP地址的数量,所述配置核建立第一NAT映射表;
所述配置核将所述第一NAT映射表发送给每个所述转发核。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
当所述NAT策略中源IP地址的数量大于转换IP地址的数量,所述配置核建立NAT地址池,所述NAT地址池包括转换IP地址与至少一个源IP地址的映射关系;
所述配置核将所述NAT地址池划分为P份局部NAT地址池,不同的局部NAT地址池中的转换IP地址不同;P为小于或等于N的正整数,N为所述转发核的数量;
所述配置核将P份所述局部NAT地址池发送给P个所述转发核,一个所述转发核对应一份所述局部NAT地址池;
收到所述局部NAT地址池的转发核为对应的第二网卡队列设置过滤条件,以使收到所述局部NAT地址池的转发核从所述第二网卡队列接收包括第一源IP地址的报文和/或包括第一目的地址的报文,所述第一源IP地址属于在对应的局部NAT地址池中的源IP地址,所述第一目的地址属于在对应的局部NAT地址池中的转换IP地址。
4.根据权利要求1所述的方法,其特征在于,所述如果所述第一报文包括待转换IP地址,所述转发核根据第一NAT映射表对所述第一报文的待转换IP地址进行网络转换,并对转换后的第一报文进行转发,包括:
如果所述第一报文的第二源IP地址属于第一NAT映射表中的源IP地址,所述转发核从所述第一NAT映射表中获取所述第二源IP地址对应的第一转换IP地址,将所述第一报文的第二源IP地址转换为所述第一转换IP地址,并对转换后的第一报文进行转发;
如果所述第一报文的第二目的IP地址属于第一NAT映射表中的转换IP地址,所述转发核从所述第一NAT映射表中获取所述第二目的IP地址对应的第三源IP地址,将所述第一报文的第二目的IP地址转换为所述第三源IP地址,并对转换后的第一报文进行转发。
5.根据权利要求1所述的方法,其特征在于,
所述转发核从第二网卡队列接收包括待转换IP地址的第二报文,查询第二NAT映射表是否存在所述待转换IP地址对应的目标IP地址,包括:
所述转发核从第二网卡队列接收包括第一源IP地址的第二报文,查询第二NAT映射表是否存在所述第一源IP地址对应的第二转换IP地址;所述第一源IP地址属于在局部NAT地址池中的源IP地址;
所述如果所述第二NAT映射表不存在所述待转换IP地址对应的目标IP地址,所述转发核从局部NAT地址池获取所述待转换IP地址对应的目标IP地址,将所述第二报文的待转换IP地址转换为所述目标IP地址,并对转换后的第二报文进行转发,包括:
如果所述第二NAT映射表不存在所述第一源IP地址对应的第二转换IP地址,所述转发核从局部NAT地址池获取所述第一源IP地址对应的至少一个转换IP地址,从所述第一源IP地址对应的至少一个转换IP地址中确定所述第一源IP地址对应的第二转换IP地址,将所述第二报文的第一源IP地址转换为所述第二转换IP地址,并对转换后的第二报文进行转发;
所述转发核将所述待转换IP地址与所述目标IP地址的映射关系添加到所述第二NAT映射表中,包括:
所述转发核将所述第一源IP地址与所述第二转换IP地址的映射关系添加到所述第二NAT映射表中;
所述如果所述第二NAT映射表存在所述待转换IP地址对应的目标IP地址,所述转发核将所述第二报文的待转换IP地址转换为所述目标IP地址,并对转换后的第二报文进行转发,包括:
如果所述第二NAT映射表存在所述第一源IP地址对应的第二转换IP地址,所述转发核将所述第二报文的第一源IP地址转换为所述第二转换IP地址,并对转换后的第二报文进行转发。
6.根据权利要求5所述的方法,其特征在于,所述从所述第一源IP地址对应的至少一个转换IP地址中确定所述第一源IP地址对应的第二转换IP地址,包括:
从所述第一源IP地址对应的至少一个转换IP地址中选择使用次数最少的转换IP地址作为所述第一源IP地址对应的第二转换IP地址。
7.根据权利要求1所述的方法,其特征在于,
所述转发核从第二网卡队列接收包括待转换IP地址的第二报文,查询第二NAT映射表是否存在所述待转换IP地址对应的目标IP地址,包括:
所述转发核从第二网卡队列接收包括第一目的IP地址以及目的端口号的第二报文,查询第二NAT映射表是否存在所述第一目的IP地址以及所述目的端口号对应的第四源IP地址;所述第一目的IP地址属于在局部NAT地址池中的转换IP地址;
所述如果所述第二NAT映射表存在所述待转换IP地址对应的目标IP地址,所述转发核将所述第二报文的待转换IP地址转换为所述目标IP地址,并对转换后的第二报文进行转发,包括:
如果所述第二NAT映射表存在所述第一目的IP地址以及所述目的端口号对应的第四源IP地址,所述转发核将所述第二报文的第一目的IP地址转换为所述第四源IP地址,并对转换后的第二报文进行转发。
8.一种实现报文转发的系统,其特征在于,所述系统包括多个转发核,所述转发核包括:
接收单元,用于从第一网卡队列接收第一报文;
第一转发单元,用于如果所述第一报文包括待转换IP地址,根据第一NAT映射表对所述第一报文的待转换IP地址进行网络转换,并对转换后的第一报文进行转发;所述第一NAT映射表包括源IP地址与转换IP地址的一一映射关系,且所述第一NAT映射表为每核资源;
查询单元,用于从第二网卡队列接收包括待转换IP地址的第二报文,查询第二NAT映射表是否存在所述待转换IP地址对应的目标IP地址;所述第二NAT映射表为每核资源;
第二转发单元,用于如果所述第二NAT映射表不存在所述待转换IP地址对应的目标IP地址,从局部NAT地址池获取所述待转换IP地址对应的目标IP地址,将所述第二报文的待转换IP地址转换为所述目标IP地址,并对转换后的第二报文进行转发;所述局部NAT地址池包括转换IP地址与至少一个源IP地址的映射关系,所述局部NAT地址池为与当前转发核对应的每核资源;
添加单元,用于将所述待转换IP地址与所述目标IP地址的映射关系添加到所述第二NAT映射表中;
第三转发单元,用于如果所述第二NAT映射表存在所述待转换IP地址对应的目标IP地址,将所述第二报文的待转换IP地址转换为所述目标IP地址,并对转换后的第二报文进行转发。
9.一种实现报文转发的设备,其特征在于,包括:存储器,处理器,及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现如权利要求1-7任一项所述的实现报文转发的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备执行如权利要求1-7任一项所述的实现报文转发的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010966492.5A CN112104565B (zh) | 2020-09-15 | 2020-09-15 | 一种实现报文转发的方法、系统及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010966492.5A CN112104565B (zh) | 2020-09-15 | 2020-09-15 | 一种实现报文转发的方法、系统及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112104565A true CN112104565A (zh) | 2020-12-18 |
CN112104565B CN112104565B (zh) | 2024-03-29 |
Family
ID=73758754
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010966492.5A Active CN112104565B (zh) | 2020-09-15 | 2020-09-15 | 一种实现报文转发的方法、系统及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112104565B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113507532A (zh) * | 2021-08-24 | 2021-10-15 | 优刻得科技股份有限公司 | 网络地址转换的方法及相应服务器、存储介质和电子设备 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103117947A (zh) * | 2013-01-28 | 2013-05-22 | 中兴通讯股份有限公司 | 一种负载分担方法及装置 |
CN106131244A (zh) * | 2016-08-29 | 2016-11-16 | 北京神州绿盟信息安全科技股份有限公司 | 一种报文传送方法及装置 |
CN106331196A (zh) * | 2015-06-26 | 2017-01-11 | 中兴通讯股份有限公司 | 一种实现nat的方法和装置 |
CN106657439A (zh) * | 2016-12-06 | 2017-05-10 | 东软集团股份有限公司 | 网络地址转换映射表的操作方法及装置 |
CN106789666A (zh) * | 2016-11-22 | 2017-05-31 | 东软集团股份有限公司 | 一种确定转换后端口的方法和装置 |
CN107566549A (zh) * | 2017-09-30 | 2018-01-09 | 东软集团股份有限公司 | 一种网络地址转换映射表的处理方法、装置及设备 |
CN107809495A (zh) * | 2016-09-09 | 2018-03-16 | 华为技术有限公司 | 地址管理方法及装置 |
CN109067935A (zh) * | 2018-08-16 | 2018-12-21 | 深圳市风云实业有限公司 | 分片报文处理方法及多核处理器系统 |
US20190334863A1 (en) * | 2019-04-25 | 2019-10-31 | Intel Corporation | Lockless stateful network address translation |
-
2020
- 2020-09-15 CN CN202010966492.5A patent/CN112104565B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103117947A (zh) * | 2013-01-28 | 2013-05-22 | 中兴通讯股份有限公司 | 一种负载分担方法及装置 |
CN106331196A (zh) * | 2015-06-26 | 2017-01-11 | 中兴通讯股份有限公司 | 一种实现nat的方法和装置 |
CN106131244A (zh) * | 2016-08-29 | 2016-11-16 | 北京神州绿盟信息安全科技股份有限公司 | 一种报文传送方法及装置 |
CN107809495A (zh) * | 2016-09-09 | 2018-03-16 | 华为技术有限公司 | 地址管理方法及装置 |
CN106789666A (zh) * | 2016-11-22 | 2017-05-31 | 东软集团股份有限公司 | 一种确定转换后端口的方法和装置 |
CN106657439A (zh) * | 2016-12-06 | 2017-05-10 | 东软集团股份有限公司 | 网络地址转换映射表的操作方法及装置 |
CN107566549A (zh) * | 2017-09-30 | 2018-01-09 | 东软集团股份有限公司 | 一种网络地址转换映射表的处理方法、装置及设备 |
CN109067935A (zh) * | 2018-08-16 | 2018-12-21 | 深圳市风云实业有限公司 | 分片报文处理方法及多核处理器系统 |
US20190334863A1 (en) * | 2019-04-25 | 2019-10-31 | Intel Corporation | Lockless stateful network address translation |
Non-Patent Citations (1)
Title |
---|
牛朵朵;: "NAT-PT中地址映射表查找算法的研究与改进", 硅谷, no. 06 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113507532A (zh) * | 2021-08-24 | 2021-10-15 | 优刻得科技股份有限公司 | 网络地址转换的方法及相应服务器、存储介质和电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN112104565B (zh) | 2024-03-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10419531B2 (en) | Method for setting gateway device identity, and management gateway device | |
CN111193773B (zh) | 负载均衡方法、装置、设备及存储介质 | |
CN108494623B (zh) | 一种网络转发设备的性能测试方法及设备 | |
US20190222656A1 (en) | Communication Method and Apparatus | |
US20150295785A1 (en) | Resource Subscription Method and Device | |
US10693785B2 (en) | Method and system for forwarding data, virtual load balancer, and readable storage medium | |
WO2013104172A1 (zh) | 实现负载均衡的方法、dns服务器和客户端 | |
CN105991660B (zh) | 一种多云存储系统间资源共享的系统 | |
CN109525684B (zh) | 报文转发方法和装置 | |
US11202252B2 (en) | Inclusion of a message proxy in a service based architecture | |
CN112968965B (zh) | Nfv网络节点的元数据服务方法、服务器及存储介质 | |
CN112650704B (zh) | 分布式多板分流下nat处理方法、装置及电子设备 | |
CN112104640B (zh) | 网关的数据处理方法、装置、设备及可读存储介质 | |
CN114338603A (zh) | 边缘应用服务器的发现方法、设备、区块链系统及介质 | |
CN112104565A (zh) | 一种实现报文转发的方法、系统及设备 | |
JP2008541632A (ja) | 動的アドレスマッピング | |
CN107547690B (zh) | Nat中的端口分配方法、装置、nat设备及存储介质 | |
CN111294285B (zh) | 一种网络数据的分发方法及负载均衡器 | |
KR101996337B1 (ko) | 교환기 처리 방법, 제어기, 교환기 및 교환기 처리 시스템 | |
US8837323B2 (en) | Method for transmitting a message, network node and network | |
CN114338832B (zh) | 一种容器云平台的网络协议转换方法及系统 | |
KR102526770B1 (ko) | 추가의 네트워크 주소 변환 테이블을 참조하여 빠른 패킷 포워딩을 제공하는 전자 장치 | |
US20220350748A1 (en) | Consistent hashing for communication devices | |
CN110753043B (zh) | 一种通信方法、装置、服务器及介质 | |
JP2017184195A (ja) | 通信管理装置、通信管理方法及びプログラム |
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 |