CN109639580B - 一种报文转发方法及装置 - Google Patents
一种报文转发方法及装置 Download PDFInfo
- Publication number
- CN109639580B CN109639580B CN201910108699.6A CN201910108699A CN109639580B CN 109639580 B CN109639580 B CN 109639580B CN 201910108699 A CN201910108699 A CN 201910108699A CN 109639580 B CN109639580 B CN 109639580B
- Authority
- CN
- China
- Prior art keywords
- address
- nat
- priority
- pool
- preset
- 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
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
-
- 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
-
- 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/50—Address allocation
- H04L61/5053—Lease time; Renewal aspects
-
- 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/50—Address allocation
- H04L61/5061—Pools of addresses
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设备分别以NAT地址池中的各地址为源地址,向预设服务器发送探测报文;NAT地址池中的各地址的优先级均为预设优先级;针对NAT地址池中的每一地址,根据第一个数和第二个数,更新该地址的优先级,第一个数为发送的源地址为该地址的探测报文的个数,第二个数为预设服务器反馈的目的地址为该地址的探测响应报文的个数;当接收到用户设备发送的数据报文时,从NAT地址池中选择优先级最高的一个地址,作为目标地址;将数据报文的源地址转换为目标地址,并转发。应用本申请实施例提供的技术方案,能够减少丢失的报文,并实现充分利用NAT地址池中的地址资源。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种报文转发方法及装置。
背景技术
为适应内部网络大量用户访问外部网络的组网环境,网络地址转换(NAT,NetworkAddress Translation)设备上存储有NAT地址池。当用户访问外部网络时,NAT设备从地址池中随机的选取一个地址,将数据报文的源地址转换为选取的地址。然而,若NAT地址池中一地址被外部网络的服务器屏蔽,NAT设备将内部网络用户发送的报文的源地址转换为该地址,并发送给外部网络的该服务器,该服务器将丢弃该报文,进而导致内部网络用户无法使用该地址进行正常访问外部网络的服务器。
为保证内部网络用户正常访问外部网络的服务器,NAT设备周期性探测NAT地址池中的各地址,即周期性发送针对NAT地址池中的各地址的探测报文。对于一地址,若未接收到对应的探测响应报文,则NAT设备将该地址从NAT地址池中排除,暂时禁止该地址的使用。
然而,内部网络的用户可以使用NAT地址池中一个地址访问多个外部网络的服务器。若这多个服务器中一个服务器屏蔽了该地址,那么内部网络的用户也将无法使用该地址访问其他服务器,无法充分利用NAT地址池中的地址资源。
发明内容
本申请实施例的目的在于提供一种报文转发方法及装置,以减少丢失的报文,并实现充分利用NAT地址池中的地址资源。具体技术方案如下:
在第一方面,本申请实施例提供了一种报文转发方法,应用于NAT设备,所述方法包括:
分别以NAT地址池中的各地址为源地址,向预设服务器发送探测报文;所述NAT地址池中的各地址的优先级均为预设优先级;
针对所述NAT地址池中的每一地址,根据第一个数和第二个数,更新该地址的优先级,所述第一个数为发送的源地址为该地址的探测报文的个数,所述第二个数为所述预设服务器反馈的目的地址为该地址的探测响应报文的个数;
当接收到用户设备发送的数据报文时,从所述NAT地址池中选择优先级最高的一个地址,作为目标地址;
将所述数据报文的源地址转换为所述目标地址,并转发。
在第二方面,本申请实施例提供了一种报文转发装置,应用于NAT设备,所述装置包括:
发送单元,用于分别以NAT地址池中的各地址为源地址,向预设服务器发送探测报文;所述NAT地址池中的各地址的优先级均为预设优先级;
更新单元,用于针对所述NAT地址池中的每一地址,根据第一个数和第二个数,更新该地址的优先级,所述第一个数为发送的源地址为该地址的探测报文的个数,所述第二个数为所述预设服务器反馈的目的地址为该地址的探测响应报文的个数;
选择单元,用于当接收到用户设备发送的数据报文时,从所述NAT地址池中选择优先级最高的一个地址,作为目标地址;
转发单元,用于将所述数据报文的源地址转换为所述目标地址,并转发。
在第三方面,本申请实施例提供了一种NAT设备,包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器被所述机器可执行指令促使:实现上述报文转发方法的任一步骤。
在第四方面,本申请实施例提供了一种机器可读存储介质,存储有机器可执行指令,在被处理器调用和执行时,所述机器可执行指令促使所述处理器:实现上述报文转发方法的任一步骤。
本申请实施例提供的报文转发方法及装置中,为NAT地址池中的各地址设置了优先级。NAT设备对NAT地址池中的各地址进行探测时,针对NAT地址池中的每一地址,根据发送的源地址为该地址的探测报文的第一个数,以及预设服务器反馈的目的地址为该地址的探测响应报文的第二个数,更新该地址的优先级。当NAT设备接收到用户设备发送的数据报文时,根据NAT地址池中的各地址的优先级,从NAT地址池中选择一个地址,作为目标地址,将数据报文的源地址转换为目标地址,并转发,而不是直接将存在预设服务器未反馈对应的探测响应报文的地址,设置为禁止使用,在减少了报文丢失的情况下,实现了充分利用NAT地址池中的地址资源。当然,实施本申请的任一产品或方法必不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为网络架构的一种结构示意图;
图2为本申请实施例提供的报文转发方法的一种流程示意图;
图3为本申请实施例提供的报文转发装置的一种结构示意图;
图4为本申请实施例提供的NAT设备的一种结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
如图1所示的网络架构,包括内部网络的用户设备101-103、NAT设备104和外部网络的服务器105-107。下述实施例中,以NAT设备104的NAT地址池中包括IP地址1-5为例进行说明。
在一种情况中,若源地址转换为NAT地址池中的IP地址1的报文太多,即IP地址1被使用的次数太多,则IP地址1可能会被外部网络的服务器105-107屏蔽;
在另一种情况中,如果用户设备101-103中存在用户设备在经NAT设备104进行IP地址转换,将源地址转换为IP地址1,并对外部网络的服务器105进行了非法操作,则服务器105会屏蔽了IP地址1。NAT设备104将IP地址1从NAT地址池中排除,暂时禁止IP地址1的使用。此时,服务器106-107并未屏蔽IP地址1,但用户设备101-103却无法使用IP地址1访问服务器106-107,无法充分利用NAT地址池中的地址资源。
为减少丢失的报文,并实现充分利用NAT地址池中的地址资源,本申请实施例提供了一种报文转发方法。该方法应用于NAT设备。NAT设备为对接收到的报文的源地址进行转换的设备,可以为网关设备、路由器等。
本申请实施例提供的报文转发方法中,为NAT地址池中的各地址设置了优先级。NAT设备对NAT地址池中的各地址进行探测时,针对NAT地址池中的每一地址,根据发送的源地址为该地址的探测报文的第一个数,以及预设服务器反馈的目的地址为该地址的探测响应报文的第二个数,更新该地址的优先级。也就是,针对NAT地址池中的每一地址,根据以该地址为源地址进行探测时探测失败的服务器的数量,更新该地址的优先级。而不是将该地址设置为禁止使用,能够较大程度的利用NAT地址池中的地址资源,保证服务的可用性。
另外,当NAT设备接收到用户设备发送的数据报文时,根据NAT地址池中的各地址的优先级,从NAT地址池中选择一个地址,作为目标地址,在一种实施方式中,若该目标地址为探测失败的服务器的数量较少的地址。NAT设备将数据报文的源地址转换为目标地址,并转发,可以降低报文丢失的概率。
下面通过具体实施例,对本申请进行说明。
参考图2,图2为本申请实施例提供的报文转发方法的一种流程示意图。该方法应用于NAT设备,包括如下步骤。
步骤201,分别以NAT地址池中的各地址为源地址,向预设服务器发送探测报文。NAT地址池中的各地址的优先级均为预设优先级。
本申请实施例中,NAT设备可周期性地分别以NAT地址池中的各地址为源地址,向预设服务器发送探测报文,对NAT地址池中的各地址进行探测。其中,每次对NAT地址池中的各地址进行探测时,均可以设置NAT地址池中各地址的优先级为预设优先级。预设服务器可以为一个或多个。
例如,周期时长为10分钟,预设优先级为M,NAT地址池中包括IP地址1-5。当前时间为10:00,NAT设备设置IP地址1-5的优先级为M,并分别以IP地址1-5为源地址,向预设服务器发送探测报文。当10:10时,NAT设备重新设置IP地址1-5的优先级为M,并分别以IP地址1-5为源地址,向预设服务器发送探测报文。之后以此类推,此处不再赘述。
本申请实施例中,可采用表格的形式,对NAT地址池中各IP地址的优先级进行管理,以便于后续更新NAT地址池中各IP地址的优先级,如表1所示。
表1
NAT地址池中的地址 | 优先级 | 探测的服务器的个数 |
IP<sub>1</sub> | M<sub>1</sub> | n |
IP<sub>2</sub> | M<sub>2</sub> | n |
… | … | … |
IP<sub>n</sub> | M<sub>n</sub> | n |
步骤202,针对NAT地址池中的每一地址,根据第一个数和第二个数,更新该地址的优先级。第一个数为发送的源地址为该地址的探测报文的个数,第二个数为预设服务器反馈的目的地址为该地址的探测响应报文的个数。
本申请实施例中,一地址对应的第一个数即为:以该地址为源地址发送的探测报文的个数。一地址对应的第二个数即为:接收到以该地址为目的地址的探测响应报文的个数。
针对NAT地址池中的每一地址,NAT设备根据第一个数和第二个数,更新该地址的优先级。
本申请实施例中,以NAT地址池中的地址A,预设服务器B为例进行说明。针对NAT地址池中的地址A,NAT设备以地址A为源地址,向预设服务器B发送的探测报文。若预设服务器B屏蔽了该地址,则不会向NAT设备反馈的目的地址为地址A的探测响应报文,也就是,以地址A为源地址进行探测时预设服务器B为探测失败的服务器。NAT设备根据地址A对应的第一个数和地址A对应的第二个数,可确定以地址A为源地址进行探测时探测失败的服务器的数量,进而基于探测失败的服务器的数量更新地址A的优先级。
一个可选的实施例中,为了提高NAT地址池中地址探测的灵活性,NAT设备在对NAT地址池中地址进行探测时,可以检测预设服务器的数量是否大于预设阈值;
其中,若预设服务器的数量大于预设阈值,则NAT设备针对NAT地址池中的每一地址,根据第一个数和第二个数,更新该地址的优先级;
若预设服务器的数量不大于预设阈值,则NAT设备针对NAT地址池中的每一地址,可以检测第一个数是否大于第二个数。若第一个数大于第二个数,则NAT设备可以确定存在服务器屏蔽了该地址,设置该地址为禁止使用状态。若第一个数不大于第二个数,则NAT设备可以保持该地址仍为使用状态,继续使用该地址向服务器发送报文。其中,对于禁止使用状态的地址,在本次探测的周期内,禁止将用户设备发送的报文的源地址转换为该地址。对于使用状态的地址,在本次探测的周期内,可将用户设备发送的报文的源地址转换为该地址。
例如,预设阈值为1。以NAT地址池中的IP地址1为例。NAT设备在对IP地址1进行探测时,检测预设服务器的数量是否大于1;
若大于1,则NAT设备根据IP地址1对应的第一个数和IP地址1对应的第二个数,更新IP地址1对应的的优先级;
若等于1,则NAT设备检测预设服务器是否反馈了目的地址为IP地址1的探测响应报文。若NAT设备检测到预设服务器未反馈目的地址为IP地址1的探测响应报文,则可确定IP地址1对应的第一个数大于IP地址1对应的第二个数,设置IP地址1为禁止使用状态。
一个可选的实施例中,NAT设备可以针对NAT地址池中的每一地址,利用以下公式,更新该地址的优先级:
M'=M-(N1-N2);
其中,M'为更新后的该地址的优先级,M为预设优先级,N1为第一个数,N2为第二个数。N1-N2为以该地址为源地址进行探测时探测失败的服务器的数量。这里,M'的数值越高,说明优先级越高。
例如,NAT地址池中包括IP地址1-5。预设优先级为10。预设服务器为5个。以IP地址1为例,NAT设备以IP地址1为源地址,向5个服务器发送探测报文,即IP地址1对应的第一个数N1为5。若接收到以IP地址1为目的地址的探测响应报文为4个,即IP地址1对应的第二个数N2为4,则NAT设备可根据IP地址1对应的第一个数N1,以及IP地址1对应的第二个数N2,可确定探测失败的服务器的数量为5-4=1,更新IP地址1的优先级为:MIP1'=10-(5-4)=9。对于其他IP地址2-5,更新后的各IP地址的优先级如表2所示。
表2
NAT地址池中的地址 | 优先级 | 探测的服务器的个数 |
IP地址1 | 9 | 5 |
IP地址2 | 9 | 5 |
IP地址3 | 8 | 5 |
IP地址4 | 7 | 5 |
IP地址5 | 7 | 5 |
另一个可选的实施例中,NAT设备可以针对NAT地址池中的每一地址,利用以下公式,更新该地址的优先级:
M'=M+(N1-N2);
其中,M'为更新后的该地址的优先级,M为预设优先级,N1为第一个数,N2为第二个数。N1-N2为以该地址为源地址进行探测时探测失败的服务器的数量。这里,M'的数值越小,说明优先级越高。
本申请实施例中,还可以采用其他方式更新NAT地址池中每一地址的优先级,只要保证,一个地址对应的第一个数与第二个数的差值越大,该地址的优先级越小即可。
步骤203,当接收到用户设备发送的数据报文时,从NAT地址池中选择优先级最高的一个地址,作为目标地址。
本申请实施例中,当接收到用户设备发送的数据报文时,NAT设备可从NAT地址池中,选择优先级最高的一个地址,作为目标地址。具体的,若NAT地址池中优先级最高的地址只有一个,则NAT设备可将该地址作为目标地址。若NAT地址池中优先级最高的地址有多个,则NAT设备可从这多个地址中随机的选择一个地址作为目标地址。
例如,表2所示,当接收到用户设备发送的数据报文1时,NAT设备可从优先级最高的IP地址1和IP地址2中选择一个地址,例如选择IP地址1,则将IP地址1作为目标地址。
步骤204,将数据报文的源地址转换为目标地址,并转发。
上述用户设备为内部网络的设备,服务器为外部网络的设备。
本申请实施例提供的技术方案中,针对NAT地址池中的每一地址,根据以该地址为源地址进行探测时探测失败的服务器的数量,更新该地址的优先级。也就是,对于NAT地址池中一个地址,若有探测失败的服务器,会更新该地址的优先级,而不是将该地址设置为禁止使用,能够较大程度的利用NAT地址池中的地址资源,保证服务的可用性。另外,本申请实施例提供的技术方案中,根据NAT地址池中地址的优先级,优先在优先级高的地址中选择地址,对报文进行NAT。一地址的优先级高,说明以该地址为源地址进行进行探测时探测失败的服务器的数量少,利用优先级高的地址对报文进行NAT,降低了报文丢失的概率。
与上述报文转发方法实施例对应,本申请实施例还提供了一种报文转发装置。参考图3,图3为本申请实施例提供的报文转发装置的一种结构示意图。该装置应用于NAT设备,包括:发送单元301、更新单元302、选择单元303和转发单元304。
发送单元301,用于分别以NAT地址池中的各地址为源地址,向预设服务器发送探测报文;NAT地址池中的各地址的优先级均为预设优先级;
更新单元302,用于针对NAT地址池中的每一地址,根据第一个数和第二个数,更新该地址的优先级,第一个数为发送的源地址为该地址的探测报文的个数,第二个数为预设服务器反馈的目的地址为该地址的探测响应报文的个数;
选择单元303,用于当接收到用户设备发送的数据报文时,从NAT地址池中选择优先级最高的一个地址,作为目标地址;
转发单元304,用于将数据报文的源地址转换为目标地址,并转发。
一个可选的实施例中,上述报文转发装置还可以包括:
检测单元,用于检测预设服务器的数量是否大于预设阈值,得到检测结果;
更新单元302,还可以用于若检测结果为是,则针对NAT地址池中的每一地址,根据第一个数和第二个数,更新该地址的优先级。
一个可选的实施例中,更新单元302,还可以用于若检测结果为否,则针对NAT地址池中的每一地址,检测第一个数是否大于第二个数;若第一个数大于第二个数,则设置该地址为禁止使用状态。
一个可选的实施例中,更新单元302,具体可以用于:
针对NAT地址池中的每一地址,利用以下公式,更新该地址的优先级:
M'=M-(N1-N2);
其中,M'为更新后的该地址的优先级,M为预设优先级,N1为第一个数,N2为第二个数。
本申请实施例提供的技术方案中,针对NAT地址池中的每一地址,根据以该地址为源地址进行探测时探测失败的服务器的数量,更新该地址的优先级。也就是,对于NAT地址池中一个地址,若有探测失败的服务器,会更新该地址的优先级,而不是将该地址设置为禁止使用,能够较大程度的利用NAT地址池中的地址资源,保证服务的可用性。另外,本申请实施例提供的技术方案中,根据NAT地址池中地址的优先级,优先在优先级高的地址中选择地址,对报文进行NAT。一地址的优先级高,说明以该地址为源地址进行进行探测时探测失败的服务器的数量少,利用优先级高的地址对报文进行NAT,降低了报文丢失的概率。
与上述报文转发方法实施例对应,本申请实施例还提供了一种NAT设备,如图4所示,包括处理器401和机器可读存储介质402,机器可读存储介质402存储有能够被处理器401执行的机器可执行指令。处理器被机器可执行指令促使实现上述报文转发方法。该报文转发方法包括:
分别以NAT地址池中的各地址为源地址,向预设服务器发送探测报文;NAT地址池中的各地址的优先级均为预设优先级;
针对NAT地址池中的每一地址,根据第一个数和第二个数,更新该地址的优先级,第一个数为发送的源地址为该地址的探测报文的个数,第二个数为预设服务器反馈的目的地址为该地址的探测响应报文的个数;
当接收到用户设备发送的数据报文时,从NAT地址池中选择优先级最高的一个地址,作为目标地址;
将数据报文的源地址转换为目标地址,并转发。
本申请实施例提供的技术方案中,针对NAT地址池中的每一地址,根据以该地址为源地址进行探测时探测失败的服务器的数量,更新该地址的优先级。也就是,对于NAT地址池中一个地址,若有探测失败的服务器,会更新该地址的优先级,而不是将该地址设置为禁止使用,能够较大程度的利用NAT地址池中的地址资源,保证服务的可用性。另外,本申请实施例提供的技术方案中,根据NAT地址池中地址的优先级,优先在优先级高的地址中选择地址,对报文进行NAT。一地址的优先级高,说明以该地址为源地址进行进行探测时探测失败的服务器的数量少,利用优先级高的地址对报文进行NAT,降低了报文丢失的概率。
一个可选的实施例中,如图4所示,NAT设备还可以包括:通信接口43和通信总线404;其中,处理器401、机器可读存储介质402、通信接口403通过通信总线404完成相互间的通信,通信接口403用于上述NAT设备与其他设备之间的通信。
上述通信总线404可以是PCI(Peripheral Component Interconnect,外设部件互连标准)总线或EISA(Extended Industry Standard Architecture,扩展工业标准结构)总线等。该通信总线404可以分为地址总线、数据总线、控制总线等。为便于表示,图4中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
机器可读存储介质402可以包括RAM(Random Access Memory,随机存取存储器),也可以包括NVM(Non-Volatile Memory,非易失性存储器),例如至少一个磁盘存储器。另外,机器可读存储介质402还可以是至少一个位于远离前述处理器的存储装置。
上述处理器401可以是通用处理器,包括CPU(Central Processing Unit,中央处理器)、NP(Network Processor,网络处理器)等;还可以是DSP(Digital SignalProcessing,数字信号处理器)、ASIC(Application Specific Integrated Circuit,专用集成电路)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)或其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
与上述报文转发方法实施例对应,本申请实施例还提供了一种机器可读存储介质,存储有机器可执行指令,在被处理器调用和执行时,机器可执行指令促使处理器实现上述报文转发方法。该报文转发方法包括:
分别以NAT地址池中的各地址为源地址,向预设服务器发送探测报文;NAT地址池中的各地址的优先级均为预设优先级;
针对NAT地址池中的每一地址,根据第一个数和第二个数,更新该地址的优先级,第一个数为发送的源地址为该地址的探测报文的个数,第二个数为预设服务器反馈的目的地址为该地址的探测响应报文的个数;
当接收到用户设备发送的数据报文时,从NAT地址池中选择优先级最高的一个地址,作为目标地址;
将数据报文的源地址转换为目标地址,并转发。
本申请实施例提供的技术方案中,针对NAT地址池中的每一地址,根据以该地址为源地址进行探测时探测失败的服务器的数量,更新该地址的优先级。也就是,对于NAT地址池中一个地址,若有探测失败的服务器,会更新该地址的优先级,而不是将该地址设置为禁止使用,能够较大程度的利用NAT地址池中的地址资源,保证服务的可用性。另外,本申请实施例提供的技术方案中,根据NAT地址池中地址的优先级,优先在优先级高的地址中选择地址,对报文进行NAT。一地址的优先级高,说明以该地址为源地址进行进行探测时探测失败的服务器的数量少,利用优先级高的地址对报文进行NAT,降低了报文丢失的概率。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于报文转发装置、NAT设备、机器可读存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本申请的保护范围内。
Claims (10)
1.一种报文转发方法,其特征在于,应用于网络地址转换NAT设备,所述方法包括:
分别以NAT地址池中的各地址为源地址,向预设服务器发送探测报文;所述NAT地址池中的各地址的优先级均为预设优先级;
针对所述NAT地址池中的每一地址,根据第一个数和第二个数,更新该地址的优先级,所述第一个数为向所述预设服务器中每个服务器均发送一个且发送的源地址为该地址的探测报文的个数,所述第二个数为所述预设服务器反馈的目的地址为该地址的探测响应报文的个数;
当接收到用户设备发送的数据报文时,从所述NAT地址池中选择优先级最高的一个地址,作为目标地址;
将所述数据报文的源地址转换为所述目标地址,并转发。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
检测所述预设服务器的数量是否大于预设阈值,得到检测结果;
所述针对所述NAT地址池中的每一地址,根据第一个数和第二个数,更新该地址的优先级的步骤,包括:
若所述检测结果为是,则针对所述NAT地址池中的每一地址,根据第一个数和第二个数,更新该地址的优先级。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
若所述检测结果为否,则针对所述NAT地址池中的每一地址,检测所述第一个数是否大于所述第二个数;
若所述第一个数大于所述第二个数,则设置该地址为禁止使用状态。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述针对所述NAT地址池中的每一地址,根据第一个数和第二个数,更新该地址的优先级的步骤,包括:
针对所述NAT地址池中的每一地址,利用以下公式,更新该地址的优先级:
M'=M-(N1-N2);
其中,M'为更新后的该地址的优先级,M为所述预设优先级,N1为第一个数,N2为第二个数。
5.一种报文转发装置,其特征在于,应用于网络地址转换NAT设备,所述装置包括:
发送单元,用于分别以NAT地址池中的各地址为源地址,向预设服务器发送探测报文;所述NAT地址池中的各地址的优先级均为预设优先级;
更新单元,用于针对所述NAT地址池中的每一地址,根据第一个数和第二个数,更新该地址的优先级,所述第一个数为向所述预设服务器中每个服务器均发送一个且发送的源地址为该地址的探测报文的个数,所述第二个数为所述预设服务器反馈的目的地址为该地址的探测响应报文的个数;
选择单元,用于当接收到用户设备发送的数据报文时,从所述NAT地址池中选择优先级最高的一个地址,作为目标地址;
转发单元,用于将所述数据报文的源地址转换为所述目标地址,并转发。
6.根据权利要求5所述的装置,其特征在于,所述装置还包括:
检测单元,用于检测所述预设服务器的数量是否大于预设阈值,得到检测结果;
所述更新单元,还用于若所述检测结果为是,则针对所述NAT地址池中的每一地址,根据第一个数和第二个数,更新该地址的优先级。
7.根据权利要求6所述的装置,其特征在于,所述更新单元,还用于若所述检测结果为否,则针对所述NAT地址池中的每一地址,检测所述第一个数是否大于所述第二个数;若所述第一个数大于所述第二个数,则设置该地址为禁止使用状态。
8.根据权利要求5-7任一项所述的装置,其特征在于,所述更新单元,具体用于:
针对所述NAT地址池中的每一地址,利用以下公式,更新该地址的优先级:
M'=M-(N1-N2);
其中,M'为更新后的该地址的优先级,M为所述预设优先级,N1为第一个数,N2为第二个数。
9.一种网络地址转换NAT设备,其特征在于,包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器被所述机器可执行指令促使:实现权利要求1-4任一所述的方法步骤。
10.一种机器可读存储介质,其特征在于,存储有机器可执行指令,在被处理器调用和执行时,所述机器可执行指令促使所述处理器:实现权利要求1-4任一所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910108699.6A CN109639580B (zh) | 2019-02-03 | 2019-02-03 | 一种报文转发方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910108699.6A CN109639580B (zh) | 2019-02-03 | 2019-02-03 | 一种报文转发方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109639580A CN109639580A (zh) | 2019-04-16 |
CN109639580B true CN109639580B (zh) | 2021-05-14 |
Family
ID=66064997
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910108699.6A Active CN109639580B (zh) | 2019-02-03 | 2019-02-03 | 一种报文转发方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109639580B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110099139B (zh) * | 2019-04-26 | 2021-09-10 | 新华三信息安全技术有限公司 | 一种地址探测方法及装置 |
CN111479308B (zh) * | 2020-04-09 | 2022-07-26 | 杭州涂鸦信息技术有限公司 | 一种路由更新方法、装置、设备及介质 |
CN112040018B (zh) * | 2020-07-17 | 2022-11-15 | 北京天融信网络安全技术有限公司 | 一种双向nat转换方法、装置、电子设备和存储介质 |
CN111988445B (zh) * | 2020-08-19 | 2022-12-20 | 北京天融信网络安全技术有限公司 | 一种报文转发方法、装置、存储介质和电子设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105491171A (zh) * | 2014-09-17 | 2016-04-13 | 中兴通讯股份有限公司 | 网络地址转换nat资源的分配方法及装置 |
CN105991647A (zh) * | 2016-01-21 | 2016-10-05 | 李明 | 一种数据传输的方法 |
CN107547296A (zh) * | 2017-05-10 | 2018-01-05 | 新华三信息安全技术有限公司 | 一种信息处理方法及装置 |
CN107682470A (zh) * | 2017-10-16 | 2018-02-09 | 杭州迪普科技股份有限公司 | 一种检测nat地址池中公网ip可用性的方法及装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110082941A1 (en) * | 2009-10-06 | 2011-04-07 | Electronics And Telecommunications Research Institute | Method of providing direct communication in internet protocol network |
CN103117947B (zh) * | 2013-01-28 | 2016-06-29 | 中兴通讯股份有限公司 | 一种负载分担方法及装置 |
-
2019
- 2019-02-03 CN CN201910108699.6A patent/CN109639580B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105491171A (zh) * | 2014-09-17 | 2016-04-13 | 中兴通讯股份有限公司 | 网络地址转换nat资源的分配方法及装置 |
CN105991647A (zh) * | 2016-01-21 | 2016-10-05 | 李明 | 一种数据传输的方法 |
CN107547296A (zh) * | 2017-05-10 | 2018-01-05 | 新华三信息安全技术有限公司 | 一种信息处理方法及装置 |
CN107682470A (zh) * | 2017-10-16 | 2018-02-09 | 杭州迪普科技股份有限公司 | 一种检测nat地址池中公网ip可用性的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN109639580A (zh) | 2019-04-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109639580B (zh) | 一种报文转发方法及装置 | |
US10659359B2 (en) | Method and device for checking forwarding tables of network routers | |
CN111460460B (zh) | 任务访问方法、装置、代理服务器及机器可读存储介质 | |
CN109257279B (zh) | 一种报文转发方法及装置 | |
CN111262938A (zh) | 一种dns服务器选择方法和代理服务器 | |
CN108768879B (zh) | 一种策略优先级调整方法和装置 | |
CN109040243B (zh) | 一种报文处理方法及装置 | |
CN106850432B (zh) | 一种报文转发的方法及装置 | |
CN109495369B (zh) | 一种报文转发方法及装置 | |
US9712393B2 (en) | Network loop prevention | |
CN109041086B (zh) | 一种OpenFlow实例的配置方法及装置 | |
CN112929241A (zh) | 一种网络测试方法及装置 | |
CN112866435A (zh) | Mac地址老化处理方法及设备 | |
CN108173979B (zh) | 一种报文处理方法、装置、设备及存储介质 | |
CN107682446B (zh) | 一种报文镜像方法、装置及电子设备 | |
CN106899706B (zh) | 一种泛洪抑制方法及装置 | |
CN108156247B (zh) | 一种数据通信方法、装置、系统、终端和可读存储介质 | |
US20150089047A1 (en) | Cut-through packet management | |
CN109617817B (zh) | 一种mlag组网的转发表项的生成方法及装置 | |
WO2017219816A1 (zh) | 一种数据传输方法、网络地址转换设备 | |
US20220124194A1 (en) | Enum server and congestion control method | |
CN105007233B (zh) | 一种基于dhcp服务器集群负载分配地址的方法 | |
JP6524813B2 (ja) | 監視装置 | |
CN114257545B (zh) | 一种报文转发方法及装置 | |
CN112217918B (zh) | 一种SDN网络中IPv6地址冲突检测方法及装置 |
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 |