概述
- 为了解决IPv4地址不足的问题,提出了私有地址,而私有地址只能在内部网络内使用,当要与外界进行通信的时候,需要转换为公有IP。
- NAT技术的作用:将私有地址转换成公网地址。
专业术语
- 内部本地网络:连接到属于私有路由器接口的网络。对内部网络中主机发送到外部的分组,必须对私有IP地址进行转换。
- 外部全局网络:与外部路由器相连的网络,无法识别私有IP地址。
- 内部本地地址:私有IP地址,仅在内部网络内有效。这类IP地址离开内部本地网路前,必须转换成公有IP。
- 内部全局地址:外部网络看到的内部主机IP地址,是转换后的IP地址。
- 外部本地地址:本地网络发送分组时使用的地址,通常与外部全局地址相同。
- 外部全局地址:发送分组时实际使用的公有IP地址。
实现方式
静态转换
又称静态NET,私网和公网是一对一的且静态。
一个公网IP只会分配给唯一且固定的内网主机。
动态转换
又称动态NET,私网和公网是一对一的且是动态的。
基于地址池来实现的。分配的公网地址是动态的。
端口多路复用NAPT
允许多个内部地址映射到同个公有地址的不同端口。
同一个公有地址的不同内部地址用端口号来进行区分(端口号是传输层。)
可以最大限度地节约IP地址资源。
总结
优点:
- 节省了公网地址,也可保证网络互通,缓解了IP地址不足的问题。
- 能够有效避免来自网络外部的攻击,隐藏内部网络的结构,保护内部。
缺点:
- 违反了IP的体系结构(IP规定一个IP地址对应一个网络接口)
- 将Internet的无连接服务变成有连接服务(NET必须包含所有经过它的信息)
- 违反了网络分层原则(使用端口多路复用会在网络层用了传输层的端口号),导致以下问题:
3.1 如果IP包的载荷不是TCP或UDP,则NET无法工作
(因为其他协议的信息中不包含源端口号)
3.2 在有些应用中NET可能会出错(若源IP地址嵌在消息中,而NET不作处理)
注意:外网主机无法先发起通信,因为使用私有地址的主机不能直接充当因特网服务器。对于一些P2P网络应用,需要外网主动与内网通信,需要网络应用自己使用一些特殊的NAT穿越技术解决问题。
学习自湖南科技大学-计算机网络微课堂:https://www.bilibili.com/video/BV1c4411d7jb
参考链接:https://baike.baidu.com/item/nat