CN112738290A - 一种nat转换方法、装置及设备 - Google Patents
一种nat转换方法、装置及设备 Download PDFInfo
- Publication number
- CN112738290A CN112738290A CN202011566753.0A CN202011566753A CN112738290A CN 112738290 A CN112738290 A CN 112738290A CN 202011566753 A CN202011566753 A CN 202011566753A CN 112738290 A CN112738290 A CN 112738290A
- Authority
- CN
- China
- Prior art keywords
- port
- service board
- message
- hardware service
- packet
- 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
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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请实施例公开了一种NAT转换方法、装置和设备。在本申请中依据接收的第一报文的目的端口和指定掩码确定用于处理第一报文的第一硬件业务板卡,并在第一报文被传输至第一硬件业务板卡时,若识别第一报文为正向报文,则从第一硬件业务板卡上被指定的用于进行NAT转换的所有端口中选择一个端口作为目标转换端口,以将第一报文的源端口转换为目标转换端口。本申请中由于反向报文的目的端口即第一报文对应的目标转换端口,而依据目标转换端口与指定掩码确定的第二硬件业务板卡与依据第一报文的目的端口和指定掩码确定的第一硬件业务板卡相同,从而可以实现同一流量的正反向报文可以被传输到同一块硬件业务板卡上处理,避免业务板卡异常。
Description
技术领域
本申请涉及通信领域,特别涉及一种NAT转换方法、装置及设备。
背景技术
当局域网内部网络中的客户端要与外部网络进行通讯时,需要在网关处通过NAT(Network Address Translation,网络地址转换)将客户端发送的报文中封装的客户端的内部地址替换成可以访问外部网络的外部地址,从而使内部网络中的客户端可以访问外部网络。而在实际部署NAT时,为了适应网络中多应用功能或者超大报文处理,往往会存在多块硬件业务板卡扩展的堆叠部署方式。
在部署了多块硬件业务板卡以实现NAT的情况下,需要将经过硬件业务板卡的正向报文和其对应的反方向报文分流到同一块业务板卡处理,以避免正反向报文被分流至不同业务板卡导致的业务板卡异常。因此,需要一种能够将正反向报文分流到同一块业务板卡的NAT转换方法,以保证业务板卡正常。
发明内容
本申请公开了一种基于硬件业务板卡的NAT转换方法、装置及设备,以实现将正反向报文分流到同一块业务板卡,避免业务板卡异常。
根据本申请实施例的第一方面,提供一种NAT转换方法,该方法应用于网络设备,所述网络设备至少包括至少两块硬件业务板卡,包括:
依据接收的第一报文的目的端口和预先指定的指定掩码执行第一指定操作,以确定用于处理所述第一报文的第一硬件业务板卡;
在所述第一报文被传输至所述第一硬件业务板卡时,若识别所述第一报文为从内部网络中客户端发向外部网络的正向报文,则从第一硬件业务板卡上被指定的用于进行NAT转换的所有端口中选择一个端口作为目标转换端口;其中,依据所述目标转换端口与所述指定掩码执行第一指定操作确定的第二硬件业务板卡与依据所述第一报文的目的端口和所述指定掩码执行第一指定操作确定的第一硬件业务板卡相同;所述用于进行NAT转换的所有端口的端口号与2n进行第二指定操作得到的结果相同,所述2n为所述指定掩码与指定值之和;
将所述第一报文的源端口转换为目标转换端口,并将所述第一报文的源IP地址转换为所述第一硬件业务板卡的外部网络IP地址,得到第二报文,通过第一硬件业务板卡转发所述第二报文。
根据本申请实施例的第二方面,提供一种NAT转换装置,该装置应用于网络设备,所述网络设备至少包括至少两块硬件业务板卡,包括:
板卡确定单元,用于依据接收的第一报文的目的端口和预先指定的指定掩码执行第一指定操作,以确定用于处理所述第一报文的第一硬件业务板卡;
端口选择单元,用于在所述第一报文被传输至所述第一硬件业务板卡时,若识别所述第一报文为从内部网络中客户端发向外部网络的正向报文,则从第一硬件业务板卡上被指定的用于进行NAT转换的所有端口中选择一个端口作为目标转换端口;其中,依据所述目标转换端口与所述指定掩码执行第一指定操作确定的第二硬件业务板卡与依据所述第一报文的目的端口和所述指定掩码执行第一指定操作确定的第一硬件业务板卡相同;所述用于进行NAT转换的所有端口的端口号与2n进行第二指定操作得到的结果相同,所述2n为所述指定掩码与指定值之和;
报文转换单元,用于将所述第一报文的源端口转换为目标转换端口,并将所述第一报文的源IP地址转换为所述第一硬件业务板卡的外部网络IP地址,得到第二报文,通过第一硬件业务板卡转发所述第二报文。
根据本申请实施例的第三方面,提供一种电子设备,该电子设备包括:处理器和存储器;
所述存储器,用于存储机器可执行指令;
所述处理器,用于读取并执行所述存储器存储的机器可执行指令,以实现如上所述的NAT转换方法。
本申请的实施例提供的技术方案可以包括以下有益效果:
由以上技术方案可知,本申请提供的方案可以在接收到报文(记为第一报文)时,依据接收的第一报文的目的端口和预先指定的指定掩码执行第一指定操作,以确定用于处理第一报文的第一硬件业务板卡,并在第一报文被传输至第一硬件业务板卡时,若识别第一报文为从内部网络中客户端发向外部网络的正向报文,则从第一硬件业务板卡上被指定的用于进行NAT转换的所有端口中选择一个端口作为目标转换端口,然后依据目标转换端口和第一硬件业务板卡的外部网络IP地址对所述第一报文进行转换得到第二报文,并通过第一硬件业务板卡转发所述第二报文。
本申请中由于反向报文的目的端口即第一报文对应的目标转换端口,而依据目标转换端口与指定掩码确定的第二硬件业务板卡与依据第一报文的目的端口和指定掩码确定的第一硬件业务板卡相同,从而可以实现正向报文和其对应的反向报文可以都被传输到同一块硬件业务板卡上处理,避免业务板卡异常。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本说明书的实施例,并与说明书一起用于解释本说明书的原理。
图1是本申请实施例提供的实现NAT转换的方法流程图;
图2是本申请实施例提供的一种确定目标转换端口的方法流程图;
图3是本申请实施例提供的实现NAT转换的装置示意图;
图4是本申请实施例提供的一种用于实现NAT转换方法的电子设备的硬件结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
为了使本领域技术人员更好地理解本申请实施例提供的技术方案,并使本申请实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图对本申请实施例中技术方案作进一步详细的说明。
首先需要说明的是,为了实现本申请实施例,可以按照如下所示的流程配置本申请实施例所应用的网络设备,该流程可包括以下步骤:
步骤a,计算当前网络设备上硬件业务板卡槽位的数目m,并设置用于标识各槽位的槽号slot_num分别为0~(m-1)。
可选的,本申请实施例中各个业务板卡槽位的槽号即各个硬件业务板卡的唯一标识。本步骤a中的m为大于0的整数,比如当m为4时,表示当前框式设备上用于插拔硬件业务板卡的槽位共有4个,即当前网络设备最多可以插入4块硬件业务板卡,并且当前网络设备上4个槽位的对应的槽号slot_num分别为0、1、2、3。
步骤b,获得网络设备的硬件业务板卡槽位的槽号最多占用的bit位数n。
比如将步骤101中举例的4个槽位的槽号转换为二进制时分别为0,1,10,11,可以看出,此时槽号最多占用的bit位数n=2。
可选的,获取槽号最多占用的bit位数n还可以通过当前网络设备上的硬件业务板卡槽位的数目m,需要说明的是,槽号最多占用的bit位数n与硬件业务板卡槽位的数目m之间的关系为2(n-1)<m<=2n。比如当槽位数目m为31,则16(24)<m<=32(25),则表示槽号最多占用的bit位数n为5,若槽位数目m满足8(23)<m<=16(24),则表示槽号最多占用的bit位数n为4。
步骤c,设置用于分配报文到指定硬件业务板卡的NAT ACL(Access ControlLists,访问控制列表),并给网络设备的各个硬件业务板卡下发该NAT ACL。
可选的,该NAT ACL是根据报文的目的端口对报文进行分配,具体实现过程会在介绍如图1所示的方法实施例时详解。
步骤d,给各硬件业务板卡下发转换参数,该转换参数用于确定各硬件业务板卡上用于进行NAT转换的端口。
可选的,转换参数可以包括端口偏移量(port_offset)=2n,n为步骤102中确定的槽号最多占用的bit位数,端口掩码(port_mask)=slot_num,slot_num为硬件业务板卡槽位的槽号,需要说明的是各硬件业务板卡上的port_offset都为2n,但各硬件业务板卡上的port_mask各不相同,分别为各硬件业务板卡对应的硬件业务板卡槽位的槽号。
通过以上步骤就完成了在实现本申请实施例之前需要对网络设备所做的配置,下面将结合如图1所示的流程图具体描述本申请实施例。
参见图1,图1为本申请实施例提供的方法流程图。作为一个实施例,图1所示的方法实施例应用于网络设备,并且该网络设备上至少包括至少两块硬件业务板卡,各硬件业务板卡之间在网络设备内部使用高速绑定接口连通。可选地,这里的网络设备可为框式设备、或者其他网络设备,本实施例并不具体限定。
如图1所示,该流程可以包括以下步骤:
步骤101,依据接收的第一报文的目的端口和预先指定的指定掩码执行第一指定操作,以确定用于处理所述第一报文的第一硬件业务板卡。
在本申请实施例中,可以将第一报文的目的端口和预先指定的指定掩码进行按位与计算得到的结果作为槽号,将该槽号所指示的硬件业务板卡确定为第一硬件业务板卡。这时步骤101中的第一指定操作即按位与计算,所述槽号为第一硬件业务板卡的唯一标识。
具体实现时,可以通过给硬件业务板卡下发的NAT ACL实现将第一报文的目的端口和预先指定的指定掩码进行按位与计算,指定掩码可以根据网络设备的硬件业务板卡槽位的槽号最多占用的bit位数n确定,设置指定掩码中的后n个bit为1,其他bit为0。
可选的,由于报文的目的端口一般占用的bit位数为16,所以也可以通过对数值为的1111 1111 1111 1111的二进制格式的无符号整数右移(16-n)位得到指定掩码。比如n为4时,对上述的无符号整数右移12位后得到的指定掩码为0000 0000 0000 1111。
在本申请实施例中,通过指定掩码实现了对第一报文的目的端口的后n位bit上数值的进行精确匹配,即将第一报文所封装的目的端口后n位bit上数值作为槽号,将该槽号所指示的槽位上的硬件业务板卡作为处理第一报文的目标硬件业务板卡。
步骤102,在所述第一报文被传输至所述第一硬件业务板卡时,若识别所述第一报文为从内部网络中客户端发向外部网络的正向报文,则从第一硬件业务板卡上被指定的用于进行NAT转换的所有端口中选择一个端口作为目标转换端口。
由于本网络设备通过多硬件业务板卡进行NAT转换是将多个业务板虚拟化成为一个云板卡,云板卡在逻辑上相当于一块业务板卡在工作,云板卡与内部网络和外部网络之间分别通过一个虚拟接口连接,该虚拟接口实际上是多硬件业务板卡上的一个物理接口或者是多硬件业务板卡上的多个物理接口构成的堆叠接口,所以本网络设备所接收到的报文实际上会直接通过物理接口传输到该接口所在的硬件业务板卡。
基于以上内容,可选的,在所述第一报文传输到所述第一硬件业务板卡之前,可以先判断步骤101中所确定的第一硬件业务板卡是否为接收到该第一报文的硬件业务板卡,如果是,则直接在该硬件业务板卡对第一报文进行处理,如果否,则通过硬件业务板卡之间的连接将该报文从当前所在的硬件业务板卡传输到第一硬件业务板卡。
在本申请实施例中,第一硬件业务板卡上被指定的用于进行NAT转换的所有端口可以在配置网络设备的步骤d后直接确定。具体实现可以直接通过步骤d中的转换参数确定各硬件业务板卡上用于进行NAT转换的端口。依据公式:
sport_trans%port_offset==port_mask%port_offset,
(port_offset=2n,port_mask=slot_num)
确定各硬件业务板卡上用于进行NAT转换的端口,sport_trans即硬件业务板卡上用于进行NAT转换的端口。
经以上公式确定的各硬件业务板卡上用于进行NAT转换的端口,各硬件业务板卡上的用于进行NAT转换的端口之间的差值均为port_offset的倍数,且各硬件业务板卡上的用于进行NAT转换的端口对port_offset进行取余得到的结果为该硬件业务板卡所在的槽位的槽号slot_num。
比如在本网络设备中共有4个槽位,若需要确定在槽号为1的槽位的硬件业务板卡上用于进行NAT转换的端口,这时该硬件业务板卡上的port_offset=22=4,port_mask=slot_num=1,若该硬件业务板卡共设置了10个端口用于处理业务,经过以上步骤确定该硬件业务板卡上用于进行NAT转换的端口分别为端口1、端口2和端口9,这几个端口之间的差值都是4的倍数,并且这几个端口对4取余后得到的结果都是1。以上举例只是为了便于理解,并非限定本申请。
可选的,本申请实施例中针对不同类型的正向报文,会采用不同的方式从第一硬件业务板卡上被指定的用于进行NAT转换的所有端口中选择一个端口作为目标转换端口,具体内容会在介绍完本方法实施例后进行详解,这里暂不赘述。
步骤103,将所述第一报文的源端口转换为目标转换端口,并将所述第一报文的源IP地址转换为所述第一硬件业务板卡的外部网络IP地址,得到第二报文,通过第一硬件业务板卡转发所述第二报文。
本申请实施例中,由于是通过第一报文的目的端口选择用于处理第一报文的第一硬件业务板卡,以使正反向报文在同一硬件业务板卡上处理,所以本申请实施例中不需要通过不同的外部网络IP地址区分不同的硬件业务板卡,可以采用一个外部网络IP地址配置多个硬件业务板卡,实现全局配置,本申请实施例中各硬件业务板卡的外部网络IP地址可以相同或不同。
至此,完成图1所示流程。
通过图1所示的流程可以看出,本实施例中可以在接收到报文(记为第一报文)时,依据接收的第一报文的目的端口和预先指定的指定掩码执行第一指定操作,以确定用于处理第一报文的第一硬件业务板卡,并在第一报文被传输至第一硬件业务板卡时,若识别第一报文为从内部网络中客户端发向外部网络的正向报文,则从第一硬件业务板卡上被指定的用于进行NAT转换的所有端口中选择一个端口作为目标转换端口,然后依据目标转换端口和第一硬件业务板卡的外部网络IP地址对所述第一报文进行转换得到第二报文,并通过第一硬件业务板卡转发所述第二报文。
本申请实施例中由于反向报文的目的端口即第一报文对应的目标转换端口,而依据目标转换端口与指定掩码确定的第二硬件业务板卡与依据第一报文的目的端口和指定掩码确定的第一硬件业务板卡相同,从而可以实现正向报文和其对应的反向报文可以都被传输到同一块硬件业务板卡上处理,避免业务板卡异常。
并且由于本申请实施例中通过第一报文的目的端口确定处理第一报文的第一硬件业务板卡,所以在第一硬件业务板卡配置的外部网络IP地址修改时不需要修改NAT ACL。以及本申请实施例中网络设备的各个硬件业务板卡上的NAT ACL都是相同的,不需要针对不同硬件业务板卡手动配置NAT ACL,只需配置一次NAT ACL然后下发到各硬件业务板卡,操作更加简单。
需要说明的是,为了实现正反向报文到同一块业务板卡上处理,本申请实施例中,在识别所述第一报文为从内部网络中客户端发向外部网络的正向报文时所确定的目标转换端口需要具有以下特性:依据所述目标转换端口与所述指定掩码执行第一指定操作确定的第二硬件业务板卡与依据所述第一报文的目的端口和所述指定掩码执行第一指定操作确定的第一硬件业务板卡相同。
要使目标转换端口满足以上特性,第一硬件业务板卡用于进行NAT转换的所有端口的端口号与2n进行第二指定操作得到的结果相同,所述2n为所述指定掩码与指定值之和。
在具体实现时,由于指定掩码为根据网络设备的硬件业务板卡槽位的槽号最多占用的bit位数n确定,指定掩码中的后n个bit为1,其他bit为0,这时2n为所述指定掩码与1之和,即指定值为1。
而第一硬件业务板卡上用于进行NAT转换的所有端口的端口号与2n进行取余计算得到的结果为第一硬件业务板卡所在槽位的槽号,即满足公式:
sport_trans%port_offset==port_mask%port_offset,
(port_offset=2n,port_mask=slot_num)。
假设第一硬件业务板卡所在槽位的槽号为X,指定值为1,这时指定掩码为2n-1,当第一报文的源端口为A1,目的端口为B1,对应的目标转换端口为A2时,根据以上内容可以得到A2%2n=X。在具体实现时确定第二硬件业务板卡是将目标转换端口与所述指定掩码进行按位与计算,将得到的结果作为第二硬件业务板卡所在槽位的槽号,假设A2&(2n-1)=Y,即第二硬件业务板卡所在槽位的槽号为Y,而基于按位与计算和取余计算之间的关系可以知道A2&(2n-1)=A2%2n,所以A2&(2n-1)=X,因此这里可以知道X=Y,第二硬件业务板卡就是第一硬件业务板卡。
同时因为在具体实现时确定第一硬件业务板卡就是将第一报文的目的端口与指定掩码进行按位与计算,并将得到的结果作为第一硬件业务板卡所在槽位的槽号,所以可以知道B1&(2n-1)=X,这里可以看出依据所述目标转换端口与所述指定掩码执行第一指定操作确定的第二硬件业务板卡与依据所述第一报文的目的端口和所述指定掩码执行第一指定操作确定的第一硬件业务板卡是相同的。
以及,本申请实施例中,在所述第一报文被传输至所述第一硬件业务板卡时,若识别所述第一报文为从外部网络发向内部网络中客户端的反向报文,则可以根据该反向报文的目的端口查找到使用该端口的正向报文转换前的源端口和源IP地址,将该反向报文的目的端口和目的IP地址转换为正向报文转换前的源端口和源IP地址,然后通过第一硬件业务板卡转发转换后的反向报文。
以上举例只是为了便于理解,本申请实施例并不具体限定。
下面将描述本申请实施例中识别所述第一报文为从内部网络中客户端发向外部网络的正向报文后,针对不同类型的正向报文,采用不同的方式从第一硬件业务板卡上被指定的用于进行NAT转换的所有端口中选择一个端口作为目标转换端口,具体流程如图2所示,包括以下步骤:
步骤201,识别所述第一报文为从内部网络中客户端发向外部网络的正向报文。这里可以采用相关技术中识别正向报文的方法进行识别,详细过程可以参照相关技术,这里不再赘述。
步骤202,检查该第一报文是否为正向协议报文。
具体实现时,可以检查第一报文中是否有request字段,如果有,则确定该第一报文为正向协议报文,则将执行步骤203为正向协议报文确定目标转换端口,如果没有request字段,则确定该第一报文不是正向协议报文,而是正向数据报文,则将执行步骤205为正向数据报文确定目标转换端口。
步骤203,从第一硬件业务板卡上被指定的用于进行NAT转换的端口中选择一个当前未被使用的端口作为目标转换端口。
作为一个实施例,当步骤202检查出所述第一报文为正向协议报文时,可以从第一硬件业务板卡上被指定的用于进行NAT转换的端口中选择一个当前未被使用的端口作为目标转换端口。
步骤204,记录所述正向协议报文的报文信息。
可选的,此时在为第一报文确定目标转换端口后,将记录所述正向协议报文的报文信息,所述报文信息至少包括:源IP地址、源端口、转换端口、目的IP地址、目的端口,进一步的,所述报文信息还可以包括第一报文所封装的协议。
步骤205,从已记录的报文信息中查找与第一报文匹配的报文信息。
作为另一个实施例,在通过步骤202确定所述第一报文为正向数据报文时,可以从已记录的报文信息中查找与第一报文匹配的报文信息,将查找到的报文信息中的转换端口确定为所述目标转换端口。可选的,这里从已记录的报文信息中查找与第一报文匹配的报文信息,是在报文信息中查找与该第一报文中的源IP地址、源端口、目的IP地址、目的端口一致的报文信息。
通过以上流程,实现了当第一报文为正向协议报文或者正向数据报文时,从第一硬件业务板卡上被指定的用于进行NAT转换的所有端口中选择一个端口作为目标转换端口,以根据目标转换端口对第一报文进行NAT转换。
以上对本申请实施例提供的方法进行了描述。下面对本申请实施例提供的装置进行描述:
参见图3,图3为本申请实施例提供的一种用于实现NAT转换的装置示意图,该装置实施例应用于网络设备,所述网络设备至少包括至少两块硬件业务板卡,该装置包括:
板卡确定单元301,用于依据接收的第一报文的目的端口和预先指定的指定掩码执行第一指定操作,以确定用于处理所述第一报文的第一硬件业务板卡。
可选的,所述板卡确定单元301确定第一硬件业务板卡是通过将第一报文的目的端口和预先指定的指定掩码进行按位与计算得到的结果作为槽号,将该槽号所指示的硬件业务板卡确定为第一硬件业务板卡。
端口选择单元302,用于在所述第一报文被传输至所述第一硬件业务板卡时,若识别所述第一报文为从内部网络中客户端发向外部网络的正向报文,则从第一硬件业务板卡上被指定的用于进行NAT转换的所有端口中选择一个端口作为目标转换端口;其中,依据所述目标转换端口与所述指定掩码执行第一指定操作确定的第二硬件业务板卡与依据所述第一报文的目的端口和所述指定掩码执行第一指定操作确定的第一硬件业务板卡相同;所述用于进行NAT转换的所有端口的端口号与2n进行第二指定操作得到的结果相同,所述2n为所述指定掩码与指定值之和。
可选的,当所述第一报文为正向协议报文时,端口选择单元302确定目标转换端口是从第一硬件业务板卡上被指定的用于进行NAT转换的端口中选择一个当前未被使用的端口作为目标转换端口。
可选的,端口选择单元302在为正向协议报文确定目标转换端口时,将记录所述正向协议报文的报文信息,所述报文信息至少包括:源IP地址、源端口、转换端口、目的IP地址、目的端口。当所述第一报文为正向数据报文时,端口选择单元302可以从已记录的报文信息中查找与第一报文匹配的报文信息,将查找到的报文信息中的转换端口确定为所述目标转换端口
报文转换单元303,用于将所述第一报文的源端口转换为目标转换端口,并将所述第一报文的源IP地址转换为所述第一硬件业务板卡的外部网络IP地址,得到第二报文,通过第一硬件业务板卡转发所述第二报文。
至此,完成图3所示装置实施例的结构图。
以上是对本申请实施例提供的实现NAT转换的装置实施例的描述,
对应地,本申请实施例还提供了一种电子设备的硬件结构图,具体如图4所示,该电子设备可以为上述实施NAT转换方法的电子设备。如图4所示,该硬件结构包括:处理器和存储器。
其中,所述存储器,用于存储机器可执行指令;
所述处理器,用于读取并执行所述存储器存储的机器可执行指令,以实现如上所示的NAT转换方法所对应的方法实施例。
作为一个实施例,存储器可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,存储器可以是:易失存储器、非易失性存储器或者类似的存储介质。具体地,存储器可以是RAM(Radom Access Memory,随机存取存储器)、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、DVD等),或者类似的存储介质,或者它们的组合。
至此,完成图4所示电子设备的描述。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
Claims (10)
1.一种NAT转换方法,其特征在于,该方法应用于网络设备,所述网络设备至少包括至少两块硬件业务板卡,包括:
依据接收的第一报文的目的端口和预先指定的指定掩码执行第一指定操作,以确定用于处理所述第一报文的第一硬件业务板卡;
在所述第一报文被传输至所述第一硬件业务板卡时,若识别所述第一报文为从内部网络中客户端发向外部网络的正向报文,则从第一硬件业务板卡上被指定的用于进行NAT转换的所有端口中选择一个端口作为目标转换端口;其中,依据所述目标转换端口与所述指定掩码执行第一指定操作确定的第二硬件业务板卡与依据所述第一报文的目的端口和所述指定掩码执行第一指定操作确定的第一硬件业务板卡相同;所述用于进行NAT转换的所有端口的端口号与2n进行第二指定操作得到的结果相同,所述2n为所述指定掩码与指定值之和;
将所述第一报文的源端口转换为目标转换端口,并将所述第一报文的源IP地址转换为所述第一硬件业务板卡的外部网络IP地址,得到第二报文,通过第一硬件业务板卡转发所述第二报文。
2.根据权利要求1所述的方法,其特征在于,所述依据接收的第一报文的目的端口和预先指定的指定掩码执行第一指定操作,以确定用于处理所述第一报文的第一硬件业务板卡包括:
将第一报文的目的端口和预先指定的指定掩码进行按位与计算得到的结果作为槽号,将该槽号所指示的硬件业务板卡确定为第一硬件业务板卡。
3.根据权利要求1所述的方法,其特征在于,当所述第一报文为正向协议报文时,所述从第一硬件业务板卡上被指定的用于进行NAT转换的所有端口中选择一个端口作为目标转换端口,包括:
从第一硬件业务板卡上被指定的用于进行NAT转换的所有端口中选择一个当前未被使用的端口作为目标转换端口。
4.根据权利要求3所述的方法,其特征在于,该方法进一步包括:
记录所述正向协议报文的报文信息,所述报文信息至少包括:源IP地址、源端口、转换端口、目的IP地址、目的端口;
当所述第一报文为正向数据报文时,所述从第一硬件业务板卡上被指定的用于进行NAT转换的所有端口中选择一个端口作为目标转换端口,包括:
从已记录的报文信息中查找与第一报文匹配的报文信息,将查找到的报文信息中的转换端口确定为所述目标转换端口。
5.根据权利要求1所述的方法,其特征在于,若网络设备的硬件业务板卡槽位的槽号最多占用n个bit,n大于0,所述指定掩码中的后n个bit为1,其他bit为0。
6.一种NAT转换装置,其特征在于,该装置应用于网络设备,所述网络设备至少包括至少两块硬件业务板卡,包括:
板卡确定单元,用于依据接收的第一报文的目的端口和预先指定的指定掩码执行第一指定操作,以确定用于处理所述第一报文的第一硬件业务板卡;
端口选择单元,用于在所述第一报文被传输至所述第一硬件业务板卡时,若识别所述第一报文为从内部网络中客户端发向外部网络的正向报文,则从第一硬件业务板卡上被指定的用于进行NAT转换的所有端口中选择一个端口作为目标转换端口;其中,依据所述目标转换端口与所述指定掩码执行第一指定操作确定的第二硬件业务板卡与依据所述第一报文的目的端口和所述指定掩码执行第一指定操作确定的第一硬件业务板卡相同;所述用于进行NAT转换的所有端口的端口号与2n进行第二指定操作得到的结果相同,所述2n为所述指定掩码与指定值之和;
报文转换单元,用于将所述第一报文的源端口转换为目标转换端口,并将所述第一报文的源IP地址转换为所述第一硬件业务板卡的外部网络IP地址,得到第二报文,通过第一硬件业务板卡转发所述第二报文。
7.根据权利要求1所述的装置,其特征在于,所述板卡确定单元依据接收的第一报文的目的端口和预先指定的指定掩码执行第一指定操作,以确定用于处理所述第一报文的第一硬件业务板卡包括:
将第一报文的目的端口和预先指定的指定掩码进行按位与计算得到的结果作为槽号,将该槽号所指示的硬件业务板卡确定为第一硬件业务板卡。
8.根据权利要求1所述的装置,其特征在于,当所述第一报文为正向协议报文时,所述端口选择单元从第一硬件业务板卡上被指定的用于进行NAT转换的所有端口中选择一个端口作为目标转换端口,包括:
从第一硬件业务板卡上被指定的用于进行NAT转换的所有端口中选择一个当前未被使用的端口作为目标转换端口。
9.根据权利要求8所述的装置,其特征在于,所述端口选择单元还用于:
记录所述正向协议报文的报文信息,所述报文信息至少包括:源IP地址、源端口、转换端口、目的IP地址、目的端口;
当所述第一报文为正向数据报文时,所述端口选择单元从第一硬件业务板卡上被指定的用于进行NAT转换的所有端口中选择一个端口作为目标转换端口,包括:
从已记录的报文信息中查找与第一报文匹配的报文信息,将查找到的报文信息中的转换端口确定为所述目标转换端口。
10.一种电子设备,其特征在于,该电子设备包括:处理器和存储器;
所述存储器,用于存储机器可执行指令;
所述处理器,用于读取并执行所述存储器存储的机器可执行指令,以实现如权利要求1到5任一项所述的NAT转换方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011566753.0A CN112738290B (zh) | 2020-12-25 | 2020-12-25 | 一种nat转换方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011566753.0A CN112738290B (zh) | 2020-12-25 | 2020-12-25 | 一种nat转换方法、装置及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112738290A true CN112738290A (zh) | 2021-04-30 |
CN112738290B CN112738290B (zh) | 2022-08-26 |
Family
ID=75616579
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011566753.0A Active CN112738290B (zh) | 2020-12-25 | 2020-12-25 | 一种nat转换方法、装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112738290B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113452619A (zh) * | 2021-06-29 | 2021-09-28 | 杭州迪普科技股份有限公司 | 一种基于acl的流量分流方法及装置 |
CN113783805A (zh) * | 2021-11-15 | 2021-12-10 | 北京国科天迅科技有限公司 | 一种fc交换网络的传输方法及系统 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009052668A1 (fr) * | 2007-10-22 | 2009-04-30 | Zte Corporation | Dispositif nat-pt et procédé de répartition de charge pour un dispositif nat-pt |
US20130301522A1 (en) * | 2012-05-14 | 2013-11-14 | Juniper Networks, Inc. | Inline network address translation within a mobile gateway router |
CN104065759A (zh) * | 2013-03-22 | 2014-09-24 | 杭州迪普科技有限公司 | 一种提高nat地址池资源利用效率的方法及装置 |
CN104580550A (zh) * | 2014-12-30 | 2015-04-29 | 北京天融信科技有限公司 | 分布式系统中多业务板分流时的nat处理方法及设备 |
CN107222408A (zh) * | 2017-06-01 | 2017-09-29 | 杭州迪普科技股份有限公司 | 一种分流方法及装置 |
CN107332943A (zh) * | 2017-06-27 | 2017-11-07 | 杭州迪普科技股份有限公司 | 一种报文转发方法及装置 |
CN108390954A (zh) * | 2018-03-26 | 2018-08-10 | 新华三信息安全技术有限公司 | 一种报文传输方法和设备 |
CN110086727A (zh) * | 2019-04-30 | 2019-08-02 | 新华三技术有限公司 | 一种cgn板间负载分担方法及装置 |
CN110417924A (zh) * | 2018-04-28 | 2019-11-05 | 华为技术有限公司 | 分布式设备中的报文处理方法和分布式设备 |
-
2020
- 2020-12-25 CN CN202011566753.0A patent/CN112738290B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009052668A1 (fr) * | 2007-10-22 | 2009-04-30 | Zte Corporation | Dispositif nat-pt et procédé de répartition de charge pour un dispositif nat-pt |
US20130301522A1 (en) * | 2012-05-14 | 2013-11-14 | Juniper Networks, Inc. | Inline network address translation within a mobile gateway router |
CN104065759A (zh) * | 2013-03-22 | 2014-09-24 | 杭州迪普科技有限公司 | 一种提高nat地址池资源利用效率的方法及装置 |
CN104580550A (zh) * | 2014-12-30 | 2015-04-29 | 北京天融信科技有限公司 | 分布式系统中多业务板分流时的nat处理方法及设备 |
CN107222408A (zh) * | 2017-06-01 | 2017-09-29 | 杭州迪普科技股份有限公司 | 一种分流方法及装置 |
CN107332943A (zh) * | 2017-06-27 | 2017-11-07 | 杭州迪普科技股份有限公司 | 一种报文转发方法及装置 |
CN108390954A (zh) * | 2018-03-26 | 2018-08-10 | 新华三信息安全技术有限公司 | 一种报文传输方法和设备 |
CN110417924A (zh) * | 2018-04-28 | 2019-11-05 | 华为技术有限公司 | 分布式设备中的报文处理方法和分布式设备 |
CN110086727A (zh) * | 2019-04-30 | 2019-08-02 | 新华三技术有限公司 | 一种cgn板间负载分担方法及装置 |
Non-Patent Citations (2)
Title |
---|
HSU-CHIEN WANG; CHIEN CHEN; SSU-HSUAN LU: "An SDN-based NAT Traversal Mechanism for End-to-end IoT Networking", 《2019 20TH ASIA-PACIFIC NETWORK OPERATIONS AND MANAGEMENT SYMPOSIUM (APNOMS)》 * |
郭慧: "双向NAT技术的实现", 《电脑开发与应用》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113452619A (zh) * | 2021-06-29 | 2021-09-28 | 杭州迪普科技股份有限公司 | 一种基于acl的流量分流方法及装置 |
CN113783805A (zh) * | 2021-11-15 | 2021-12-10 | 北京国科天迅科技有限公司 | 一种fc交换网络的传输方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN112738290B (zh) | 2022-08-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11924090B2 (en) | Segment routing network signaling and packet processing | |
US7496052B2 (en) | Automatic VLAN ID discovery for ethernet ports | |
CN108111432B (zh) | 报文转发方法及装置 | |
CN112738290B (zh) | 一种nat转换方法、装置及设备 | |
CN108011837B (zh) | 报文处理方法及装置 | |
US20150188802A1 (en) | System for supporting multi-tenant based on private ip address in virtual private cloud networks and operating method thereof | |
CN109714239B (zh) | 一种管理消息的下发方法、vnfm设备和服务器 | |
EP3451592B1 (en) | Packet transmission between vxlan domains | |
CN111064804B (zh) | 网络访问方法和装置 | |
CN107968749B (zh) | 实现QinQ路由终结的方法、交换芯片及交换机 | |
CN108259347A (zh) | 一种报文传输方法和装置 | |
US20230421487A1 (en) | Reflection route for link local packet processing | |
CN108337116B (zh) | 消息保序方法及装置 | |
US11895025B2 (en) | Method and system for propagating network traffic flows between end points based on service and priority policies | |
CN103731356A (zh) | 报文处理方法及装置 | |
CN113411259A (zh) | 一种报文转发方法、装置及设备 | |
CN102792651A (zh) | 在mac层应用服务路径路由选择的分组节点 | |
CN111131039A (zh) | 一种报文转发控制方法及装置 | |
CN114422218A (zh) | 一种租户隔离方法、装置及存储介质 | |
CN112367256B (zh) | 创建方法、设备及存储介质 | |
US6208662B1 (en) | Method for distributing and recovering buffer memories in an asynchronous transfer mode edge device | |
CN110932998B (zh) | 报文处理方法和装置 | |
CN111600833B (zh) | 网络操作系统及报文转发方法 | |
CN110086727B (zh) | 一种cgn板间负载分担方法及装置 | |
CN108965093B (zh) | 一种vlan分配方法及装置 |
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 |