在大多数网络环境中,我们都需要通过 NAT 来访问 Internet。

NAT 是网络地址转换,这是一种协议,它为公共网络上的多台计算机提供了一种共享单个 Internet 连接的方法。

NAT类型

Android NAT 网络配置开发 nat类型 安卓_Android NAT 网络配置开发

静态 NAT、动态 NAT、NAPT和Easy IP使用户可以从私网访问公网。

NAT服务器实现从公网到私网的访问。

1. 静态 NAT

在连接私网和公网的路由器上配置静态 NAT,每个私网地址都有一个固定的公网地址,即私网地址和公网地址是一一对应的,这种NAT不保存公网IP地址。

静态 NAT 支持双向通信:

Android NAT 网络配置开发 nat类型 安卓_网络协议_02

如上图所示,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 地址

2. 动态 NAT

为避免地址浪费,动态 NAT 提出了地址池,地址池中所有可用的公共地址。

Android NAT 网络配置开发 nat类型 安卓_网络_03

配置动态NAT后,企业的边缘路由器根据可用的公网IP地址生成一个公网IP地址池。企业PC上网时,数据包经过路由器。路由器将PC的私网IP地址替换为空闲的公网IP地址,然后访问Internet。

但是PC1、PC2、PC3上网后,公司的公网IP地址池没有空闲的公网IP地址。在这种情况下,PC4 无法访问 Internet。

使用动态NAT后,公网地址和私网地址仍然是一一对应的,无法提高公网地址的利用率。

请注意,公共地址和私有地址之间的一对一映射是临时建立的。PC通过路由器翻译出来的公网IP地址是公网地址池中一个暂时空闲的公网IP地址。因此,动态NAT只支持单向访问,只能从内网访问公网

3. NAPT

从地址池中选择地址时,网络地址和端口转换 (NAPT) 不仅会转换 IP 地址,还会转换端口号。这样就实现了公有地址和私有地址的一对多映射,有效地提高了公有地址的利用率。

Android NAT 网络配置开发 nat类型 安卓_Android NAT 网络配置开发_04

如上图所示,开启NAPT后,路由器会生成动态地址和端口映射表。边缘路由器的公网IP地址池只有两个公网IP地址。PC1访问Internet上的Web服务器时,数据包携带源端口、目的端口、源地址和目的地址参数到路由器。然后,路由器进行公共地址转换和源端口转换。另外,转换后的端口号和公网IP地址都记录在动态地址和端口映射表中。最后,PC1 访问 Internet。

当WEB Server返回数据时,数据包也携带这些参数到路由器。然后,路由器查询动态地址和端口映射表,将数据包发送给PC1。

NAPT翻译传输层端口号,区分内网终端,使多个私网IP地址共享一个公网IP地址,从而节省IP地址

4. Easy IP

Easy IP的实现原理与NAPT相同,它同时转换 IP 地址和传输层端口。不同的是Easy IP没有地址池的概念,而是将出接口地址作为公网IP地址进行NAT。

Android NAT 网络配置开发 nat类型 安卓_网络_05

Easy IP适用于没有固定公网IP地址的场景,例如通过DHCP或PPPoE拨号获取IP地址的网络出口,获取的动态出接口IP地址(公网)可直接用于NAT转换。

5. NAT服务器

NAT 服务器是指端口映射

当私网服务器需要为公网提供服务时,需要在路由器上配置NAT服务器,并指定【公网IP地址:端口】与【私网IP地址:端口】一一对应] 将内网服务器映射到公网。公网主机通过【公网IP地址:端口】访问内网服务器。

Android NAT 网络配置开发 nat类型 安卓_Android NAT 网络配置开发_06

如上图所示,企业内网的Web Server需要被Internet上的计算机访问。为此,您需要在企业的边缘路由器上配置 NAT 服务器。

  1. 将 Web 服务器的 IP 地址和服务端口号 ( 192.168.0.2:80 ) 映射到边缘路由器的公共 IP 地址和端口号 ( 12.xx8:43333 )。
  2. 当 Internet 上的计算机访问内网的 Web 服务时,数据包的目的 IP 地址和端口号就是映射到 NAT 服务器上的 IP 地址和端口号( 12.xx8:43333 )。
  3. 企业边缘路由器收到报文后,查找NAT映射表,将目的IP地址和端口号翻译成Web Server的IP地址和端口号(192.168.0.2:80)。
  4. 这样就可以通过公网访问私有网络上的服务。

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 不允许修改中间数据包。