找回密码
 注册帐号
查看: 3703|回复: 0

小白也能懂技术——nat地址转换科普

[复制链接]
发表于 2019-8-15 15:11 | 显示全部楼层 |阅读模式

IP地址只有32位,满打满算只有42.9亿个地址,还要去掉保留地址、组播地址,能用得只有36亿左右,IPv4很早就被列强瓜分完毕,感谢有NAT这项技术苦苦支撑,我们还可以继续在互联网遨游。

公司局域网、机构局域网、个人局域网可以使用私网IPv4地址(10.0.0.0/8,172.16.0.0/12,192.168.0.0/16),然后在各个局域网的边界WAN口使用一个或多个公网IPv4进行一对多的转换。

如果是一对一转换,那压根节省不了IPv4地址空间;所以一般NAT都是一对多的,即一个公网IPv4映射多个私网IPv4,那问题来了,NAT设备如何区分不同的私网IPv4 的host呢?

NAT使用基于session 转换规则:

对于TCP/UDP 使用

Host 's 私有IPv4 + Port <------> NAT 公网IPv4 + Port

对于ICMP使用

Host 's 私有IPv4 + session ID <------> NAT 公网IPv4 + session ID

规则其实非常好理解,由于session ID 在NAT设备上是独一无二的,所以NAT可以很容易区别局域网内部的不同host。

至于其它传输协议,NAT使用的也是类似session ID 的转换规则,即使用可以将不同host 轻易分辨出来的字段做键值(KEY),动态创建映射表项,做双向的地址+ KEY 的转换。

何时使用NAT?

因为NAT能够减少在网络环境中所需的公共IP地址需求,因此当两家公司重复内部地址合并时,这一技术是很有帮助的。当组织改变其Internet服务供应商(ISP),但网络管理员不想改变内部地址方案时,NAT也是一个很好用的工具。

以下是应用NAT的场景:

用户需要访问Internet但主机没有全球唯一的IP地址

用户更改ISP需要对网络重新编号

用户需要合并地址重复的内网

通常NAT应用于边界路由器。例如,下图中NAT应用于企业连接到Internet的路由器上:


                               
登录/注册后可看大图

NAT实现细节:

下图中,主机10.1.1.1将报文发送到有NAT功能的边界路由器。路由器将源IP地址识别为内部本地IP地址,在报文中转换源IP地址,并在NAT表中记录此次转换。

配有新转换源地址的报文发送到外部接口。外部主机将报文发送给目的主机并且NAT路由器通过NAT表将内部全局IP地址转换回内部本地IP地址。


                               
登录/注册后可看大图

PAT方式中,所有内部主机都转换为一个IP地址。如下图所示,除了内部本地IP地址和内部全局IP地址以外,还多了一个端口号。端口号帮助路由器识别哪一台主机应当收到返回数据。路由器使用来自各主机的源端口好来区别他们各自发出的数据。注意当报文离开路由器时有一个目标端口号80,而HTTP服务器将报文发回时目的端口号为1026。从而允许NAT转换路由器区别NAT表中的主机然后将目的IP地址转换回内部本地地址。

本例中,端口号在传输层用户识别本地主机。如果必须要使用真实全局IP地址来识别源主机,那就只能通过静态NAT,并且会用光所有地址。PAT允许我们在传输层识别主机,从而理论上一个真实IP地址可被65,000台主机共享。


                               
登录/注册后可看大图

想了解更多的小伙伴可以阅读《一文讲述NAT服务与防火墙技术https://www.xinruiyun.cn/nat/1971.html


您需要登录后才可以回帖 登录 | 注册帐号

本版积分规则

Archiver|小黑屋|手机版|外贸之家

GMT+8, 2024-12-23 23:28

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表