大家好,这里是网络技术联盟站!
今天我想和大家分享一下NAT,首先,你知道我们是怎么上网的吗?
在大多数网络环境中,我们都需要通过 NAT 来访问 Internet。
NAT 是网络地址转换,这是一种协议,它为公共网络上的多台计算机提供了一种共享单个 Internet 连接的方法。
在详细了解 NAT 之前,让我们先谈谈什么是公共地址和私有地址。
公共 IP 地址和私有 IP 地址
公网是指Internet,公网IP地址是指Internet上全局规划的IP地址,网段不能重叠,互联网上的路由器可以转发目的地址为公网地址的报文。
在IP地址空间中,A类、B类、C类的一些IP地址被保留为私有IP地址,私网IP地址不能在公网上使用,只能在内网使用,Internet 上的路由器没有到私有地址的路由。
保留A类、B类、C类私有地址的范围如下:
- A类IP地址:
10.0.0.0
-10.255.255.255
。 - B类IP地址:
172.16.0.0
-172.31.255.255
。 - C类IP地址:
192.168.0.0
-192.168.255.255
。
NAT类型
静态 NAT、动态 NAT、NAPT和Easy IP使用户可以从私网访问公网。
NAT服务器实现从公网到私网的访问。
静态 NAT
在连接私网和公网的路由器上配置静态 NAT,每个私网地址都有一个固定的公网地址,即私网地址和公网地址是一一对应的,这种NAT不保存公网IP地址。
静态 NAT 支持双向通信:
如上图所示,ISP为企业分配了三个公网地址12.xx1、12.xx2、12.xx3。
可以在企业的边界路由器上配置静态NAT,将PC1的私网地址192.168.1.2映射到公网地址12.xx2。将PC2的私网地址192.168.1.3映射到公网地址12.xx3,然后在路由器上生成静态地址映射表。
PC1 和 PC2 访问 Internet 上的 Web 服务器,当数据包经过路由器时,PC1和PC2的私网IP地址被对应的公网IP地址替换。当从Web Server返回数据包时,数据包也是同样的,数据先发给路由器,然后路由器查找静态地址映射表,将公有地址转换为私有地址,最后发送将数据发送到与私有地址对应的终端设备。
PC3 无法访问 Internet,因为 PC3 上没有配置静态 NAT。
请注意,静态 NAT 以一对一的方式将私有地址映射到公共地址,因此,即使内网主机长时间离线或不发送数据,对应的公网地址仍然在使用。因此,静态 NAT 不保存 IP 地址。
动态 NAT
为避免地址浪费,动态 NAT 提出了地址池,地址池中所有可用的公共地址。
配置动态NAT后,企业的边缘路由器根据可用的公网IP地址生成一个公网IP地址池。企业PC上网时,数据包经过路由器。路由器将PC的私网IP地址替换为空闲的公网IP地址,然后访问Internet。
但是PC1、PC2、PC3上网后,公司的公网IP地址池没有空闲的公网IP地址。在这种情况下,PC4 无法访问 Internet。
使用动态NAT后,公网地址和私网地址仍然是一一对应的,无法提高公网地址的利用率。
请注意,公共地址和私有地址之间的一对一映射是临时建立的。PC通过路由器翻译出来的公网IP地址是公网地址池中一个暂时空闲的公网IP地址。因此,动态NAT只支持单向访问,只能从内网访问公网。
NAPT
从地址池中选择地址时,网络地址和端口转换 (NAPT) 不仅会转换 IP 地址,还会转换端口号。这样就实现了公有地址和私有地址的一对多映射,有效地提高了公有地址的利用率。
如上图所示,开启NAPT后,路由器会生成动态地址和端口映射表。边缘路由器的公网IP地址池只有两个公网IP地址。PC1访问Internet上的Web服务器时,数据包携带源端口、目的端口、源地址和目的地址参数到路由器。然后,路由器进行公共地址转换和源端口转换。另外,转换后的端口号和公网IP地址都记录在动态地址和端口映射表中。最后,PC1 访问 Internet。
当WEB Server返回数据时,数据包也携带这些参数到路由器。然后,路由器查询动态地址和端口映射表,将数据包发送给PC1。
NAPT翻译传输层端口号,区分内网终端,使多个私网IP地址共享一个公网IP地址,从而节省IP地址。
Easy IP
Easy IP的实现原理与NAPT相同,它同时转换 IP 地址和传输层端口。不同的是Easy IP没有地址池的概念,而是将接口地址作为公网IP地址进行NAT。
Easy IP适用于没有固定公网IP地址的场景,例如通过DHCP或PPPoE拨号获取IP地址的网络出口,获取的动态IP地址可直接用于转换。
NAT服务器
NAT 服务器是指端口映射。
当私网服务器需要为公网提供服务时,需要在路由器上配置NAT服务器,并指定【公网IP地址:端口】与【私网IP地址:端口】一一对应] 将内网服务器映射到公网。公网主机通过【公网IP地址:端口】访问内网服务器。
如上图所示,企业内网的Web Server需要被Internet上的计算机访问。为此,您需要在企业的边缘路由器上配置 NAT 服务器。
- 将 Web 服务器的 IP 地址和服务端口号 ( 192.168.0.2:80 ) 映射到边缘路由器的公共 IP 地址和端口号 ( 12.xx8:43333 )。
- 当 Internet 上的计算机访问内网的 Web 服务时,数据包的目的 IP 地址和端口号就是映射到 NAT 服务器上的 IP 地址和端口号( 12.xx8:43333 )。
- 企业边缘路由器收到报文后,查找NAT映射表,将目的IP地址和端口号翻译成Web Server的IP地址和端口号(192.168.0.2:80)。
- 这样就可以通过公网访问私有网络上的服务。
NAT的优缺点
NAT优势
1、企业内网使用私网IP地址,减少了公网IP地址的占用。NAT 一般应用于边界路由器,例如连接到 Internet 的路由器。
通过NAPT技术,企业可以使用公网IP地址从私网访问Internet,节省公网IP地址。
如果不同的企业或学校不需要相互通信,它们的私有地址可以重叠。
如果不同学校或企业的内网通过VPN或专线相互通信,不同学校或企业使用的私网地址不能重叠。
2、更换ISP后,内网地址无需更改,增强了上网的灵活性。
3、私网不能直接在Internet上访问,增强了内网的安全性。
NAT 缺点
1、在路由器上进行NAT或NAPT时,需要修改数据包的网络层和传输层,需要保留端口和地址转换的映射关系并记录在路由器中。路由数据包会造成较大的交换延迟,消耗路由器上的大量资源。
2、使用私有IP地址访问Internet。源 IP 地址被替换为公共 IP 地址。如果某学校的学生在论坛上发帖,论坛只能记录发布者的公网IP地址,无法追踪到内网IP地址。即无法进行端到端的IP追踪。IP追踪。
3、公网不能访问私网,要访问私有网络,您需要执行端口映射。
4、某些应用程序无法在 NAT 网络上运行。例如,IPSec 不允许修改中间数据包。