CN101132424A - 网络地址转换的方法及装置 - Google Patents
网络地址转换的方法及装置 Download PDFInfo
- Publication number
- CN101132424A CN101132424A CNA2007101754275A CN200710175427A CN101132424A CN 101132424 A CN101132424 A CN 101132424A CN A2007101754275 A CNA2007101754275 A CN A2007101754275A CN 200710175427 A CN200710175427 A CN 200710175427A CN 101132424 A CN101132424 A CN 101132424A
- Authority
- CN
- China
- Prior art keywords
- nat
- address
- source
- reverse
- list
- 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
Landscapes
- Small-Scale Networks (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种方法,其根据接收到的反向数据包查询反向NAT会话表,如果在反向NAT会话表没有查到所述反向数据包所携带的反向IP五元组时,进一步查询NAT行为表,并根据该行为表中相应表项中记录的信息执行网络地址的转换。本发明还公开了一种装置,包括:用于根据接收到的反向数据包查询反向NAT会话表的第一单元,用于查询NAT行为表的第二单元,用于根据第一单元或者第二单元的查询结果执行网络地址的转换的第三单元,以及存储单元。采用前述方案,可灵活改变NAT行为方式,使组网方案在灵活性和安全性之间获得均衡;采用统一的IP五元组使之与现有技术相比实现简单,转发的效率得到提高;NAT的模式得到了控制。
Description
技术领域
本发明涉及一种网络地址转换(Network Address Translation,以下简称:NAT)的方法,特别是一种可以同时支持不同的网络地址转换规则,实现高速网络地址转换的方法,属于网络技术领域。
背景技术
目前的全球因特网所采用的协议族是传输控制协议(Transfer ControlProtocol,以下简称:TCP)/网际协议(Internet Protocol,以下简称:IP地址)协议族。IP地址是TCP/IP地址协议族中网络层的协议,是TCP/IP地址协议族的核心协议。目前IP地址协议的版本号是4(简称为IP地址v4),其发展至今已经使用了30多年。
IPv4的地址位数为32位,也就是最多有2的32次方的电脑可以联到Internet上。近十年来由于互联网的蓬勃发展,IP地址的需求量愈来愈大,使得IPv4地址的发放愈趋严格,各项资料显示全球IPv4地址可能未来几年间全部发完。随着互联网的高速发展,IPv4的地址由于其分配的不合理,其地址资源逐步枯竭已经不可回避。
网络地址转换(Network Address Translation,以下简称:NAT)技术的诞生,从一定意义上缓解了前述IPv4地址逐渐枯竭的趋势。NAT协议是互联网工程任务组(Internet Engineering Task Force,以下简称:IETF)制定的一个标准,它允许一个整体机构以一个公用IP地址出现在互联网上。顾名思义,它是一种把一个网络内部私有的网络地址(IP地址)翻译成互联网络IP地址的技术。
简单地说,NAT就是在局域网内部网络中使用内部地址,而当内部节点要与外部网络进行通信时,就在网关处将内部地址替换成公用地址,从而在外部公网上正常使用。
采用NAT技术,可以使多台计算机共享Internet连接,这一功能很好地解决了IPv4地址紧缺的问题。通过这种地址转换技术,可以只申请一个公网的IP地址,就把整个局域网中的计算机接入到Internet中。这时,NAT技术屏蔽了内部网络,所有内部网的计算机对于公共网络来说是不可见的,而内部网计算机用户通常不会意识到NAT的存在。
能够唯一识别一个TCP/UDP数据流的信息是IP五元组,所谓IP五元组包括:前述TCP/UDP数据流的源IP地址(以下简称:源IP地址)、源端口、协议类型、目的IP地址以及目的端口信息。为了记录一个TCP/UDP数据流的NAT变换关系,需要建立一个正、反向流表,又称NAT会话表,这样只要符合这个流表的正、反向TCP/UDP数据就可以按照统一的方式进行地址转换,这个建立正、反向流表的过程叫做NAT建流。
NAT技术允许重复实现IP地址,用户组网可以使用自己的私网地址,访问公网时通过NAT转换,转换成一个公网地址访问公网的主机,而私网内部的访问则直接使用私网地址。由于私网地址可以自己分配和管理,无需任何费用,而公网地址需要申请,有一定的费用。所以一般企业组网都是使用私网地址组网,然后向运营商租用专线和少量公网地址,然后通过NAT设备连接互联网。
尽管NAT技术可以解决IPv4地址不足的问题,同时也大大方便了组网,但也存在一些问题。最突出的问题是:一些应用不能“穿过”NAT设备,这导致某些应用在使用NAT转换的网络中不能使用。如果要想前述的应用在使用NAT转换的网络中也能使用,目前一般都是采用应用层网关技术,对这些应用进行识别,然后通过特殊的软件处理,使得这部分原本不能够“穿过”NAT设备的应用能够“穿过”NAT设备,正常运行。
NAT的方式有如下4种:
1、对称方式:通过NAT进行收发访问的双方需要IP五元组一致才能互相发数据交流。例如,参见图1,IP地址1的内网主机经由80号端口发起对IP地址2的外网主机800端口的访问,该IP地址2的外网主机可以经由800端口访问IP地址1的内网主机的80号端口,但该IP地址2的外网主机不能经由801端口访问IP地址1的内网主机的80号端口。
对于对称方式的NAT,一般使用转换后的源IP地址、源端口号、协议类型、目的IP地址以及目的端口号,同时将目的和源交换后,作为前述流表的关键字,以转换前的源IP地址、源端口号、协议类型、目的IP地址以及目的端口号,同时将目的和源交换后,作为结果来建立反向的NAT会话表,这样只有作为关键字的IP五元组完全相同才能匹配NAT会话,完成反向NAT变换。
这种对称方式下的NAT具有很好的安全性,因为只有被内网主机访问的外网主机才能访问该内网主机,而且只能通过被访问的端口访问该内网主机。但这种方式对前述应用的兼容性不好。例如:如果内网主机的一个应用需要经由两个端口与前述的外网主机通信时,该外网主机未被访问的端口就无法与该内网主机建立通信。
2、限制圆锥方式:内网主机通过NAT向外网主机的一个端口发起数据通信,该外网主机除该端口之外,该外网主机的其他端口也可以同时与该内网主机的端口发起通信。例如,参见图2,IP地址1的内网主机经由其80号端口向IP地址2的外网主机的800号端口发起访问,不仅该IP地址2的外网主机的800号端口可以访问IP地址1的内网主机的80号端口,而且,该IP地址2的外网主机的其他任意端口也能够访问IP地址1的内网主机的80号端口。
对于限制圆锥方式,则采取如下方式来建立NAT会话:一般使用转换后的源IP地址、协议类型、目的IP地址和目的端口号,同时将目的和源交换后,为流表的关键字,以转换前的源IP地址、协议类型、目的IP地址和目的端口号,同时将目的和源交换后,作为结果来建立反向的NAT会话表。这样即使与作为关键字的IP五元组中源端口不同的数据包也能和内网主机建立通信。
这种方式的安全性略低于前述的对称方式,只有被内网主机发起访问的外网主机才能访问该内网主机,但是,该外网主机可以经由起任何端口访问该内网主机,而不受限制。因此,这种方式对前述应用的兼容性要好于前述的对称方式。例如:如果内网主机的一个应用需要经由两个端口与前述外网主机通信,按照限制圆锥方式,该两个端口都可以与该内网主机建立通信。但是,如果需要另外一台外网主机与该内网主机建立通信时,使用这种限制圆锥方式则不能实现。
3、全圆锥方式:内网主机通过NAT向外网中的一台主机的端口发起数据通信,外网中所有的主机都可以与该内网主机的相应端口发起通信。例如,IP地址1的内网主机经由其80号端口向IP地址2的外网主机的800号端口发起访问,在该种方式下,不仅该IP地址2的外网主机的任意端口均被允许访问IP地址1的内网主机的80号端口,而且外网的其他IP地址的外网主机可以经由其任意端口访问IP地址1的内网主机的80号端口。
对于全圆锥方式,则采取如下方式来建立NAT会话:一般使用转换后的协议类型、目的IP地址和目的端口,同时将目的和源交换后,为流表的关键字,以转换前的协议类型、目的IP地址和目的端口,同时将目的和源交换后,作为结果来建立反向NAT会话表。这样任意IP地址都可以发起通信。
这种全圆锥方式下的安全性相比于前两种方式而言是最低的,只要被内网主机发起访问到外网主机,则该外网中任意主机都可以与该内网主机的相应端口通信。尽管安全性较低,但这种方式对应用的兼容性最好。例如,如果内网中的一个主机的一个应用需要与两个外网主机通信,在内网主机发起通信后,两个外网主机就可以与内网主机相应的端口进行通信。
4、圆锥端口方式:内网主机通过NAT向外网的一个主机的一个端口发起数据通信,外网的所有主机与该被发起通信的那个外网主机的相应端口号相同的端口都可以与相应内网主机发起通信的端口通信。例如,参见图4,IP地址1的内网主机经由其80号端口发起对IP地址2的外网主机的800号端口的访问,该外网中任意IP地址的其他主机均可以通过相应的800号端口访问IP地址1的内网主机的80号端口。
对于圆锥端口方式,则采取如下方式来建立NAT会话:一般使用转换后的源端口号、协议类型、目的IP地址和目的端口,同时将目的和源交换后,为流表的关键字,以转换前的协议类型、源端口号、目的IP地址和目的端口号,同时将目的和源交换后,作为结果来建立反向NAT会话表。这样外网主机的任意IP地址中被指定的端口都可以向内网主机发起通信。这种圆锥端口方式下,通信的安全性和兼容性居中。
目前NAT的实现都只能选择上述4种方式中的一种方式来实现。
如前所述,由于采用不同的建流方式,很难在一台设备中支持多种NAT变换的方式,特别是使一台设备同时支持这4种NAT行为方式,流表的管理也非常复杂。
发明内容
本发明的目的是通过一些实施例提供一种网络地址转换的方法和装置,以支持不同的网络地址转换规则,实现高速的网络地址转换。
实现本发明前述目的的一些技术方案包括:根据接收到的反向数据包查询反向NAT会话表,如果在反向NAT会话表没有查到所述反向数据包所携带的反向IP五元组时,进一步查询NAT行为表,并根据该行为表中相应表项中记录的信息执行网络地址的转换;在该NAT行为表中,正向转换后的源IP地址为目的IP地址、源端口为目的端口、协议类型、目的IP地址为源IP地址和目的端口为源端口,(也就是交换目的和源IP和端口),为关键字,该关键字与正向转换前的源IP地址、源端口、协议类型、目的IP地址和目的端口,同时交换目的和源的IP和端口后,构成表项结果,并且设有用于屏蔽所述表项中被忽略的任一元素,或者其任意元素组合的掩码位(注本文指的掩码位,表示关键字的该位为任何值都能匹配表项)。
实现本发明前述目的的另一些技术方案包括:
第一单元,用于根据接收到的反向数据包查询反向NAT会话表;
第二单元,用于查询NAT行为表;
第三单元,用于根据第一单元或者第二单元的查询结果执行网络地址的转换;以及
存储单元,用于存储以正向转换后源IP地址、源端口、协议类型、目的IP地址和目的端口,同时交换目的和源的IP和端口后,为关键字,正向转换前的源IP地址、源端口、协议类型、目的IP地址和目的端口,同时交换目的和源的IP和端口后,构成的结果表项,并且记录用于屏蔽转换后的源IP地址、源端口、协议类型、目的IP地址和目的端口所构成的表项中被忽略的任一元素,或者其任意元素组合的掩码位。
采用前述的技术方案,可以根据具体的组网需要而灵活地改变NAT的行为方式,使得组网方案在灵活性和安全性之间获得很好的均衡;由于采用了统一的IP五元组来建立会话表方式,与现有技术相比实现起来简单,转发的效率可以得到提高;通过进一步使用NAT行为表,NAT的模式或者方式得到了控制。
下面通过具体的实施方式,对本发明的内容做进一步的详细描述。
附图说明
图1为现有技术中对称方式NAT的数据转发流程示意图;
图2为现有技术中对称方式NAT的数据转发流程示意图;
图3为现有技术中对称方式NAT的数据转发流程示意图;
图4为现有技术中对称方式NAT的数据转发流程示意图;
图5为本发明一个实施例中在首包转发过程建立NAT会话表的流程示意图;
图6为本发明一个实施例中反向首包转发的流程示意图;
图7为本发明一个实施例中一般数据包转发的流程示意图;
图8为本发明一个装置实施例的结构示意图。
具体实施方式
首先需要说明的是:在后述的各个实施例中,正向数据包和反向数据包均基于完整的IP五元组进行相应的NAT。
参见图7,本发明的一个实施例包括如下的操作:根据接收到的反向数据包查询反向NAT会话表,如果在反向NAT会话表没有查到与该反向数据包所携带的反向IP五元组相匹配的IP五元组时,进一步查询NAT行为表,并根据该行为表中相应表项中记录的信息执行网络地址转换。
在上述的NAT行为表中,正向NAT转换后的源IP地址、源端口、协议类型、目的IP地址和目的端口,同时交换目的和源的IP和端口后,为关键字,该关键字与正向转换前的源IP地址、源端口、协议类型、目的IP地址和目的端口,同时交换目的和源的IP和端口后,所构成的表项相对应,并且设有用于屏蔽该表项中被忽略的任一元素,或者其任意元素组合的掩码位,这些掩码位用于在进行NAT时,将前述表项中相应元素以反向数据包中的IP五元组中相应的元素替代。
参见图2、3、4,具体的网络地址转换可以是如下的几种情况:
1、当获得的查询结果中,NAT行为表中作为关键字的IP五元组的源端口被设置掩码时,表明该NAT的方式为限制圆锥方式,即反向发起报文的IP五元组中源端口不受限制。同时转换的结果中的相应源端口使用数据包中的源端口;如果源IP设置掩码,即反向发起报文的IP五元组中源IP不受限制,则表明转换的结果中的相应源IP使用数据包中的源IP,这样就有4种组合对应四种掩码方式,也就对应4种行为方式。因此可以通过同时在结果区中增加2个标志位来对应掩码位,表明源IP地址、源端口2个结果元素的有效性。
2、当获得的查询结果中,NAT行为表中作为关键字的IP五元组的源IP地址和源端口都被设置掩码时,表明该NAT的方式为全圆锥方式,即反向发起报文IP五元组中源IP地址和源端口都不受限制。
3、当获得的查询结果中,NAT行为表中作为关键字的IP五元组的源IP地址被设置掩码时,表明该NAT的方式为圆锥端口方式,即反向发起报文IP五元组中源IP地址不受限制。
基于上述的NAT行为表中的设置进行转换,可以简单地实现多种NAT方式的NAT。它可以同时支持不同的NAT行为规则,可以方便地通过网络处理器实现,提供了高速的NAT变换。
参见图1、图6和图7,对于对称方式的情况,依照前述的实施例,由于可以根据接收到的反向数据包查询反向NAT会话表,并在反向NAT会话表查到与该反向数据包所携带的反向IP五元组相匹配的IP五元组(即:命中),因此而直接进行NAT,则不会执行到前述的步骤。
为了能够实现前述兼容多种方式的NAT,需要建立一个NAT行为表,用以指示对于收到的反向数据包采用何种方式来进行NAT操作。具体建立该NAT行为表可以采用如下的步骤:
建一个以正向NAT转换后源IP地址、源端口、协议类型、目的IP地址和目的端口,交换目的和源的IP和端口后,为关键字,正向转换前的源IP地址、源端口、协议类型、目的IP地址和目的端口,交换目的和源的IP和端口后,为表项(查询结果信息)的树表,该树表也可存在于3态内容可寻址存储器(TCAM)中,该树表即为NAT行为表。在该树表中,无论关键字还是查询结果信息,都是以IP五元组的形式建立,只是,在前述作为关键字的IP五元组中,可以对任何元素设置掩码位,例如:如果希望进行反向NAT时,忽略源端口,则可以在表项的源端口处设置掩码,这样,在进行反向NAT时,则反向数据包的源IP地址+协议类型与NAT行为表的一样,则无论该反向数据包来自任何源端口都能够查到该表项,并建立NAT会话表实现转发。
另外,可以在NAT配置表中,增加一个NAT行为参数,该参数具体可以是一个状态字或者状态位,也可以是其他用以表示NAT行为设置的信息。这样一个NAT配置表的用途是通过NAT行为参数设置NAT变换的条件,或者NAT规则,使得只有符合参数规定的NAT规则的数据包才能进行相应类型的NAT,并选则匹配的地址池。换句话说,设置该NAT行为参数之后,则在反向NAT时,根据该NAT行为参数指定的行为方式进行NAT。例如:设置NAT行为参数为“1”、“2”、“3”,分别对应前述除全对称方式的NAT行为。当接收到反向数据包时,根据NAT配置表中设置的NAT行为参数,执行相应方式的NAT,而不执行其他方式的NAT;这样做的好处就是可以通过设置NAT行为参数,而灵活地选择NAT的方式。
由于将NAT会话表设置为标准的IP五元组形式,对于采用全对称方式的NAT,无需进行任何设置,当反向数据包到来时,只要数据包中的IP五元组与NAT会话表的IP五元组匹配,即可实现相应的NAT。而对于其他方式的NAT,由于在NAT会话表找不到相应的关键字,所以会按照如下的方式进行匹配和NAT:
以收到的反向数据包中IP五元组为关键字,与NAT行为表中的关键字进行匹配,NAT行为表中作为关键字的IP五元组存在源端口为掩码的IP五元组,则说明该种NAT的方式是限制圆锥方式,因此以该关键字对应的表项进行后续的NAT。而NAT的结果信息为:转换后的源IP地址、源端口、协议类型、目的IP地址和目的端口,对应于源端口无效的情况,则使用反向数据报文的源端口。
以收到的反向数据包中IP五元组为关键字,与NAT行为表中的关键字进行匹配,NAT行为表中作为关键字的IP五元组存在源IP地址和源端口都为掩码的IP五元组,则说明该种NAT的方式是全圆锥方式,因此以该关键字对应的表项进行后续的NAT。而NAT的结果信息为:转换后的源IP地址、源端口、协议类型、目的IP地址和目的端口,对应源IP和源端口无效的情况,则使用反向数据报文的源IP和源端口。
以收到的反向数据包中IP五元组为关键字,与NAT行为表中的关键字进行匹配,NAT行为表中作为关键字的IP五元组存在源IP地址为掩码的IP五元组,则说明该种NAT的方式是圆锥端口方式,因此以该关键字对应的表项进行后续的NAT。而NAT的结果信息为:转换后的源IP地址、源端口、协议类型、目的IP地址和目的端口。同样,对应源IP无效的情况,直接使用反向数据报文中的源IP。
实际上,前述NAT行为表通常是在对NAT首包进行处理时建立的,参见图5和图6,具体的建立过程是:对于NAT的首包,查询NAT配置表,获得其中记载的NAT变换行为参数和地址池等NAT变换信息;按IP五元组建立正、反向NAT会话表(注:通过交互源IP地址+源端口和目的IP地址+目的端口来建反向NAT会话表,这是常用的NAT技术),这个会话表称为父会话表。然后,依据具体的行为方式进行设置。
例如:对于限制圆锥方式,以正向的转换后的源IP地址、源端口和协议类型等,交换目的和源的IP和端口后,为关键字,正向转换前的源IP地址、源端口、协议类型、目的IP地址和目的端口,交换目的和源的IP和端口后,为表项(即查询结果信息)。对作为关键字的源端口进行掩码,记录到树表中。这种方式下,表项中的源端口在转换时不起作用。另外,可以通过在结果信息中增加2个标志位以表示源IP地址、源端口2个结果元素的有效性。
又例如:对于全圆锥方式,以正向的转换后的源IP地址、源端口,加上协议类型等,交换目的和源的IP和端口后,为关键字,正向转换前的源IP地址、源端口、协议类型、目的IP地址和目的端口,交换目的和源的IP和端口后,为查询结果信息,对作为关键字的源IP地址、源端口进行掩码,记录到树表中。这种方式下,结果信息中的源IP地址和源端口在转换时不起作用。
再例如:对于圆锥端口方式,以正向的转换后的源IP地址,加上源端口,协议类型等,交换目的和源的IP和端口后,为关键字,正向转换前的源IP地址、源端口、协议类型、目的IP地址和目的端口,交换目的和源的IP和端口后,为查询结果信息,对作为关键字的源IP地址进行掩码,记录到树表中。这种方式下,结果信息中的源IP地址在转换时不起作用。
然后,使前述的父会话表与该NAT行为表中的相应表项建立联系就可以在数据报文的NAT过程中使用了。事实上,父会话表中存在的IP五元组与在NAT行为表也有相对应的表项,其本身就是一种联系关系;当然,也可以在父会话表中增加一个字段,用于记录与IP五元组对应的NAT行为表中相应的表项。
在具体的NAT过程中,如果根据反向数据不能在反向NAT会话表中找到相应的表项,则查询NAT行为表,如果命中,则从该数据报文中获得IP五元组为NAT会话表的关键字,以从行为表中查到的表项为NAT会话表的结果,如果该结果中存在无效元素,则以收到的数据报文中IP五元组中相应元素填充。依据前述的关键字及对应的表项记录建立新的正、反向会话表,完成NAT变换。如果能够命中NAT会话表,则按NAT会话表的结果继续NAT变换。
为了能够节省用于存储NAT会话表或者NAT行为表的空间,减少NAT设备的数据冗余,还可以检测前述正向NAT会话表和反向NAT会话表是否存在,如果该正向NAT会话表和反向NAT会话表已经被删除,则应当相应地删除对应的NAT行为表项。另外,基于相同的目的,对于前述的正向NAT会话表和反向NAT会话表在一个预先设定的时间内没有被用于NAT,或者相应的TCP数据流被删除时,则也应当相应地删除对应的NAT行为表项。
以下是一些基于前述各个实施例进行NAT的实例:
参见图5,以源IP地址为IP1,端口号为80,访问IP地址为IP2,访问端口号为800端口的TCP应用为例进行转换说明:
经过NAT变换后生成流表为:
正向IP地址1:80+TCP+IP地址2:800->IP地址1’:80+TCP+IP地址2:800
反向IP地址2:800+TCP+IP地址1’:80->IP地址2:800+TCP+IP地址1:80。
对称方式下,不下传NAT行为表,则外网主机中只有IP地址2:800能够访问IP地址1:80的内网主机。
限制圆锥方式下,下发NAT行为表IP地址2+IP地址1’:80->IP地址2+IP地址1:80,
IP五元组的源端口使用掩码,这就意味着:只要源IP地址为IP地址2,目的IP地址+端口为IP地址1’:80,就能建立新的会话。
发起IP地址2:200端口访问IP地址1:80端口的TCP连接时,按照上述的会话设置,则会命中NAT行为表,进而建立如下NAT会话:
正向:IP地址2:200+TCP+IP地址1’+80->IP地址2:200+TCP+IP地址1:80;
反向:IP地址1:80+TCP+IP地址2:200->IP地址1’+80+TCP+IP地址2:200。
全圆锥方式下,下发NAT行为表IP地址1’:80->IP地址1:80,
IP五元组的源IP和源端口项使用掩码,这就意味着:只要目的IP地址+端口为IP地址1’:80,就能建立新的会话。
发起IP地址3:200端口访问IP地址1:80端口的TCP连接时,会命中NAT行为表,进而建立如下NAT会话:
正向:IP地址3:200+TCP+IP地址1’+80->IP地址3:200+TCP+IP地址1:80;
反向:IP地址1:80+TCP+IP地址3:200->IP地址1’+80+TCP+IP地址3:200。
限制圆锥端口方式下,下发NAT行为表800+IP地址1’:80->800+IP地址1:80,
IP五元组的源IP使用掩码,这就意味着:只要源端口为800,目的IP地址+端口为IP地址1’:80,就能建立新的会话。
当发起IP地址3:800端口访问IP地址1:80端口的TCP连接时,会命中NAT行为表,进而会建立如下NAT会话:
正向:IP地址3:800+TCP+IP地址1’+80->IP地址3:800+TCP+IP地址1:80;
反向:IP地址1:80+TCP+IP地址3:800->IP地址1’+80+TCP+IP地址3:800。
基于上述的各个实施例,本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:静态存储器(ROM)、动态存储器(RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
参见图8,本发明另外一些实施例涉及如下的一些网络地址转换的装置,该装置包括:
用于根据接收到的反向数据包查询反向NAT会话表的第一单元,和用于查询NAT行为表的第二单元;设置第三单元,用于根据第一单元或者第二单元的查询结果执行网络地址的转换;此外,还设有一存储单元,用于存储以正向转换后源IP地址、源端口、协议类型、目的IP地址和目的端口,交换目的和源的IP和端口后,为关键字,以正向转换前的源IP地址、源端口、协议类型、目的IP地址和目的端口,交换目的和源的IP和端口后,构成的表项,并且记录用于屏蔽该表中被忽略的任一元素,或者其任意元素组合的掩码位。前述装置执行NAT的具体操作,参见前述方法的实施例,在此不再赘述。
为了能够从反向数据包取出对应的信息替换NAT行为表中的无效元素,以增加相应的前述的关键字及对应的表项记录,前述的装置还可以设置一实现该功能的第四单元。
为了能够查询NAT配置表,获得NAT变换行为标识信息和地址池NAT变换信息,并建立正向NAT会话表和反向NAT会话表,以及对应的NAT行为表项,前述的装置还可以设置一实现该功能的第五单元。有关第四单元、第五单元执行相应功能的操作,请参见前述本发明方法的实施例。
最后应说明的是:以上各个实施例仅用以说明本发明的技术方案而非对本发明进行限制,尽管参照上述各个实施例对本发明的主要技术方案进行了详细说明,本领域的普通技术人员应当理解:其依然可以在本发明前述各个实施例的技术方案基础上进行修改或者等同替换;而这些修改或者等同替换并不脱离本发明各个实施例所揭示的技术方案的精神和范围。
Claims (11)
1.一种网络地址转换的方法,其特征在于:根据接收到的反向数据包查询反向NAT会话表,如果在反向NAT会话表没有查到所述反向数据包所携带的反向IP五元组时,进一步查询NAT行为表,并根据该行为表中相应表项中记录的信息执行网络地址的转换;所述NAT行为表中,正向转换后的源IP地址为目的IP地址、源端口为目的端口、协议类型、目的IP地址为源IP地址和目的端口为源端口为关键字,该关键字与正向转换前的源IP地址为目的IP、源端口为目的端口、协议类型、目的IP地址为源IP地址和目的端口为源端口所构成的结果表项相对应,并且设有用于屏蔽所述表项中被忽略的任一元素,或者其任意元素组合的掩码位。
2.根据权利要求1所述的方法,其特征在于,还包括:进一步查询该NAT行为表中相应表项中记录的信息中是否存在无效元素,且当存在时,从所述反向数据包取出对应的信息替换该等无效元素,在NAT会话表中生成新的NAT正、反向会话表项。
3.根据权利要求1所述的方法,其特征在于:在所述根据接收到的反向数据包查询反向NAT会话表之前,还包括:当收到第一个NAT数据包时,查询NAT配置表,获得NAT变换行为标识信息和地址池NAT变换信息,并按照IP五元组建立正向NAT会话表和反向NAT会话表;并建立对应的NAT行为表项。
4.根据权利要求1或2或3所述的方法,其特征在于:所述NAT行为表通过如下步骤建立:
以正向转换后的源IP地址为目的IP地址、源端口为目的端口、协议类型、目的IP地址为源IP地址和目的端口为源端口为关键字,该关键字与正向转换前的源IP地址为目的IP、源端口为目的端口、协议类型、目的IP地址为源IP地址和目的端口为源端口所构成的结果表项相对应,记录到NAT行为表中。
5.根据权利要求4所述的方法,其特征在于,建立所述NAT行为表还包括如下设置该NAT行为表的步骤:
设置NAT行为表的IP五元组关键字中的源端口对应的掩码;和/或
设置NAT行为表的IP五元组关键字中的源IP地址以及源端口对应的掩码;和/或
设置NAT行为表的IP五元组关键字中的源IP地址对应的掩码。
6.根据权利要求1或2或3所述的方法,其特征在于,建立所述NAT行为表还包括:在所述NAT配置表中,设置用于标识NAT变换条件的NAT行为参数,用于指示对符合所述NAT变换条件的数据包进行相应的NAT。
7.根据权利要求1或2或3所述的方法,其特征在于,还包括:检测所述的正向NAT会话表和反向NAT会话表是否存在,且当该正向NAT会话表和反向NAT会话表不存在时,删除对应的NAT行为表项。
8.根据权利要求1或2或3所述的方法,其特征在于,还包括:当所述的正向NAT会话表和反向NAT会话表在已设定的时间内没有被用于NAT,或者相应的TCP数据流被删除时,删除对应的NAT行为表项。
9.一种网络地址转换的装置,其特征在于,包括:
第一单元,用于根据接收到的反向数据包查询反向NAT会话表;
第二单元,用于查询NAT行为表;
第三单元,用于根据第一单元或者第二单元的查询结果执行网络地址的转换;以及
存储单元,用于存储以正向转换后的源IP地址为目的IP地址、源端口为目的端口、协议类型、目的IP地址为源IP地址和目的端口为源端口为关键字,该关键字与正向转换前的源IP地址为目的IP、源端口为目的端口、协议类型、目的IP地址为源IP地址和目的端口为源端口所构成的结果表项,并且记录用于屏蔽转换后的源IP地址、源端口、协议类型、目的IP地址和目的端口所构成的表项中被忽略的任一元素,或者其任意元素组合的掩码位。
10.根据权利要求9所述的装置,其特征在于,还包括:
第四单元,用于根据NAT行为表中的无效元素,从反向数据包取出对应的信息替换该等无效元素,在相应的NAT会话表中增加所述NAT行为表中相应关键字对应的表项。
11.根据权利要求9所述的装置,其特征在于:还包括:
第五单元,用于查询NAT配置表,获得NAT变换行为标识信息和地址池NAT变换信息,并建立正向NAT会话表和反向NAT会话表,以及记录对应的NAT行为表项。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007101754275A CN101132424B (zh) | 2007-09-29 | 2007-09-29 | 网络地址转换的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007101754275A CN101132424B (zh) | 2007-09-29 | 2007-09-29 | 网络地址转换的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101132424A true CN101132424A (zh) | 2008-02-27 |
CN101132424B CN101132424B (zh) | 2011-08-31 |
Family
ID=39129544
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2007101754275A Active CN101132424B (zh) | 2007-09-29 | 2007-09-29 | 网络地址转换的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101132424B (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101335770B (zh) * | 2008-08-06 | 2011-04-20 | 杭州华三通信技术有限公司 | 一种网络地址端口转换方法和装置 |
CN102111331A (zh) * | 2010-12-17 | 2011-06-29 | 曙光信息产业(北京)有限公司 | 一种基于hash表实现的带掩码五元组规则的匹配方法 |
CN101610296B (zh) * | 2009-07-21 | 2011-12-28 | 杭州华三通信技术有限公司 | 一种网络地址转换出接口均衡方法和装置 |
CN104488240A (zh) * | 2013-06-17 | 2015-04-01 | 华为技术有限公司 | 一种会话管理方法、地址管理方法及相关装置 |
CN104579939A (zh) * | 2014-12-29 | 2015-04-29 | 网神信息技术(北京)股份有限公司 | 网关的保护方法和装置 |
CN106331196A (zh) * | 2015-06-26 | 2017-01-11 | 中兴通讯股份有限公司 | 一种实现nat的方法和装置 |
CN106559509A (zh) * | 2015-09-30 | 2017-04-05 | 中国电信股份有限公司 | 登记服务器、cgn设备、服务提供系统及索引、转发方法 |
CN108173982A (zh) * | 2018-03-26 | 2018-06-15 | 深圳市风云实业有限公司 | 跨板报文的nat处理方法及装置 |
CN109688238A (zh) * | 2018-03-26 | 2019-04-26 | 新华三技术有限公司 | 一种nat转换方法、装置及nat设备 |
CN109819070A (zh) * | 2019-04-12 | 2019-05-28 | 苏州浪潮智能科技有限公司 | 一种网络地址转换方法 |
CN113132242A (zh) * | 2021-03-19 | 2021-07-16 | 翱捷科技股份有限公司 | 一种网络设备及其共享发送和接收缓存的方法 |
CN117812039A (zh) * | 2024-02-24 | 2024-04-02 | 深圳赋乐科技集团有限公司 | 一种网络地址转换日志记录方法、系统、设备及介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6058431A (en) * | 1998-04-23 | 2000-05-02 | Lucent Technologies Remote Access Business Unit | System and method for network address translation as an external service in the access server of a service provider |
US6661799B1 (en) * | 2000-09-13 | 2003-12-09 | Alcatel Usa Sourcing, L.P. | Method and apparatus for facilitating peer-to-peer application communication |
US7899932B2 (en) * | 2003-01-15 | 2011-03-01 | Panasonic Corporation | Relayed network address translator (NAT) traversal |
CN1317874C (zh) * | 2003-09-27 | 2007-05-23 | 财团法人资讯工业策进会 | 提供虚拟主机服务快速查询置换的网络地址端口转换网关器与方法 |
CN1809033A (zh) * | 2006-02-16 | 2006-07-26 | 四川南山之桥微电子有限公司 | 网络地址转换的硬件实现方法 |
-
2007
- 2007-09-29 CN CN2007101754275A patent/CN101132424B/zh active Active
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101335770B (zh) * | 2008-08-06 | 2011-04-20 | 杭州华三通信技术有限公司 | 一种网络地址端口转换方法和装置 |
CN101610296B (zh) * | 2009-07-21 | 2011-12-28 | 杭州华三通信技术有限公司 | 一种网络地址转换出接口均衡方法和装置 |
CN102111331B (zh) * | 2010-12-17 | 2015-04-01 | 曙光信息产业(北京)有限公司 | 一种基于hash表实现的带掩码五元组规则的匹配方法 |
CN102111331A (zh) * | 2010-12-17 | 2011-06-29 | 曙光信息产业(北京)有限公司 | 一种基于hash表实现的带掩码五元组规则的匹配方法 |
CN104488240B (zh) * | 2013-06-17 | 2017-04-26 | 华为技术有限公司 | 一种会话管理方法、地址管理方法及相关装置 |
CN104488240A (zh) * | 2013-06-17 | 2015-04-01 | 华为技术有限公司 | 一种会话管理方法、地址管理方法及相关装置 |
CN104579939A (zh) * | 2014-12-29 | 2015-04-29 | 网神信息技术(北京)股份有限公司 | 网关的保护方法和装置 |
CN106331196A (zh) * | 2015-06-26 | 2017-01-11 | 中兴通讯股份有限公司 | 一种实现nat的方法和装置 |
CN106559509B (zh) * | 2015-09-30 | 2019-10-22 | 中国电信股份有限公司 | 登记服务器、cgn设备、服务提供系统及索引、转发方法 |
CN106559509A (zh) * | 2015-09-30 | 2017-04-05 | 中国电信股份有限公司 | 登记服务器、cgn设备、服务提供系统及索引、转发方法 |
US10965642B2 (en) | 2018-03-26 | 2021-03-30 | New H3C Technologies Co., Ltd. | Network address translation |
CN109688238A (zh) * | 2018-03-26 | 2019-04-26 | 新华三技术有限公司 | 一种nat转换方法、装置及nat设备 |
CN108173982A (zh) * | 2018-03-26 | 2018-06-15 | 深圳市风云实业有限公司 | 跨板报文的nat处理方法及装置 |
CN109819070A (zh) * | 2019-04-12 | 2019-05-28 | 苏州浪潮智能科技有限公司 | 一种网络地址转换方法 |
CN109819070B (zh) * | 2019-04-12 | 2020-07-07 | 苏州浪潮智能科技有限公司 | 一种网络地址转换方法 |
CN113132242A (zh) * | 2021-03-19 | 2021-07-16 | 翱捷科技股份有限公司 | 一种网络设备及其共享发送和接收缓存的方法 |
CN117812039A (zh) * | 2024-02-24 | 2024-04-02 | 深圳赋乐科技集团有限公司 | 一种网络地址转换日志记录方法、系统、设备及介质 |
CN117812039B (zh) * | 2024-02-24 | 2024-05-14 | 深圳赋乐科技集团有限公司 | 一种网络地址转换日志记录方法、系统、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN101132424B (zh) | 2011-08-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101132424B (zh) | 网络地址转换的方法及装置 | |
JP5817299B2 (ja) | アドレス変換装置、通信システム及びアドレス変換方法 | |
US7339895B2 (en) | Gateway device and control method for communication with IP and IPV6 protocols | |
CN101488904B (zh) | Gre隧道穿越网络地址转换设备的方法和网络地址转换设备 | |
CN101465889B (zh) | 网络地址转换设备及其响应地址解析协议请求的方法 | |
CN102170380B (zh) | 内网访问外网的方法和设备 | |
RU2427894C2 (ru) | Обнаружение сетевых узлов и маршрутизируемых адресов | |
US20100174811A1 (en) | Network isolation and identity management of cloned virtual machines | |
CN101325580B (zh) | 基于nat-pt的ftp应用层网关的实现方法 | |
US20090296706A1 (en) | Method, system and processor for processing network address translation service | |
CN102394947B (zh) | IPv4与IPv6的地址翻译方法、装置、系统及ALG设备 | |
CN104243631A (zh) | 一种IPv4地址与IPv6地址有状态转换的方法及设备 | |
CN101771732A (zh) | 报文处理方法、装置和网络设备 | |
JP2007074172A (ja) | プライベートネットワーク間接続システム及びアドレス変換装置 | |
CN111277676A (zh) | 一种基于http协议的双栈统一接入方法与系统 | |
CN102035899A (zh) | 基于IPv6的局域网内的地址确定方法与装置 | |
KR100896438B1 (ko) | IPv6를 IPv4네트워크망으로 터널링하기 위한 시스템및 IPv6패킷 변환방법 | |
CN100459572C (zh) | 由IPv4到IPv6网络的基于端口的报文转换实现方法 | |
JP4251148B2 (ja) | グループ内通信方法、システム及び記録媒体 | |
JP2011061541A (ja) | アドレス変換・プロトコル変換システム、並びに、トランスレータ装置及びトランスレータプログラム | |
CN103051544A (zh) | 实现IPv4私网接入IPv6网络的方法及接入设备 | |
CN101729367B (zh) | 实现网络地址转换的方法、设备及系统 | |
KR100336998B1 (ko) | 발신지 주소에 의한 네트워크 주소 변환 방법 | |
CN104994186A (zh) | 媒体访问控制地址的查询方法、处理器及装置 | |
JPH10154994A (ja) | アドレス変換システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address | ||
CP03 | Change of name, title or address |
Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No. Patentee after: Xinhua three Technology Co., Ltd. Address before: 310053 Hangzhou hi tech Industrial Development Zone, Zhejiang province science and Technology Industrial Park, No. 310 and No. six road, HUAWEI, Hangzhou production base Patentee before: Huasan Communication Technology Co., Ltd. |