NAT原理及基本应用
NAT(Network Address Translator)
网络地址转换,即改变IP报文中的源或目的地址的一种处理方式;
使一个局域网中的多台主机使用少数的合法地址访问外部资源,也可以按照要求设定内部的WWW、FTP、TELNET的服务提供给外部网络使用;
有效的隐藏了内部局域网的主机IP地址,起到了安全保护的作用。
公有地址和私有地址
私有地址是指内部网络(局域网内部)的主机地址,而公有地址是局域网的外部地址(在因特网上的全球唯一的IP地址)。因特网地址分配组织规定以下的三个网络地址保留用做私有地址:
10.0.0.0 – 10.255.255.255
172.16.0.0 – 172.31.255.255
192.168.0.0 – 192.168.255.255
地址池
地址池是由一些外部地址(全球唯一的IP地址)组合而成的,我们称这样的一个地址集合为地址池。在内部网络的数据包通过地址转换达到外部网络时,将会选择地址池中的某个地址作为转换后的源地址,这样可以有效利用用户的外部地址,提高内部网络访问外部网络的能力。
转换关联
转换关联就是将一个地址池和一个访问列表关联起来,这种关联指定了“具有某些特征的IP报文”是使用“这样的地址池中的地址”,而另一些可能是使用另外一个地址池中的地址。在地址转换时,是根据这样的对应进行地址转换的。当一个内部网络的数据包文发往外部网络时,首先根据访问列表判定是否是允许的数据包,然后根据转换的关联找到于之相对应的地址池,我们就可以把源地址转换成这个地址池中的某一个地址,完成地址转换。
内部服务器映射表
内部服务器映射表是由NAT SERVER命令配置的,允许用户依照自己的需要提供内部服务。在转换时,根据用户的配置查找外部数据包的目的地址,如果是访问内部的服务器,则转换成相应的内部服务器的目的地址和端口,达到访问内部服务器的目的。还原时对源地址进行查找,判断是否是从内部服务器出去的报文,如果是将源地址转换成相应的外部地址。
NAT在系统中的位置
在IP层的出口处调用NAT
在IP层的入口处调用NAT
透明的地址分配
静态的地址分配指一个特定的主机使用固定的地址访问外部的网络。
动态的地址分配是指NAT在一些地址中挑选一个地址,做为内部网络的主机访问外部网络的IP地址。无论是那种,地址的分配应该对用户来说是透明的。
NAT的基本工作方式
NAT-一对一的地址转换
PAT-多对一的地址转换
NPAT-多对多的地址转换
NAT方式
在出方向上转换IP报文头中的源IP地址,而不对端口进行转换。
在私有网络地址和外部网络地址之间建立一对一映射,实现比较简单
只转换IP报文头中的IP地址,所以适用于所有IP报文转换
PAT方式
PAT(Port Address Translation)方式的地址转换利用了TCP/UDP协议的端口号,进行地址转换。
PAT方式的地址转换是采用了“地址+端口”的映射方式,因此可以使内部局域网的许多主机共享一个IP地址访问Internet。在私有网络地址和外部网络地址之间建立多对一映射。
不同的内部网地址,转换时采用相同的公网地址,并依靠不同的端口号来区分每一个内部网主机。
NPAT方式
NPAT(Nat & Port Address Translation)方式的地址转换也是利用了TCP/UDP协议的端口号,进行地址转换。
私网地址和公网地址之间建立了多对多的映射关系。
NPAT方式也是采用“地址+端口”的映射关系,因此可以使内部局域网的多个主机共享多个IP地址访问Internet。
内部服务器
内部服务器是一种反相的地址转换。
地址转换屏蔽了内部网络中的主机,而内部服务器可以提供外部网络访问内部网络的服务。可以配置WWW、FTP、Telnet等服务。
内部服务器映射表是由NAT SERVER命令配置的,在转换时,根据用户的配置查找外部数据包的目的地址,如果是访问内部的服务器,则转换成相应的内部服务器的目的地址和端口,达到访问内部服务器的目的。还原时对源地址进行查找,判断是否是从内部服务器出去的报文,如果是将源地址转换成相应的外部地址。