### 1、NAT概要

- Network Address Translator
- 为了解决IPv4地址枯竭的问题
- 用于在本地网络中使用私有地址，在连接互联网时转而使用全局IP地址的技术
- 通常提到的NAT都是NAPT（Network Address Ports Translator）转换TCP和UDP的端口号
- 可以实现一个全局地址与多个主机通信
- 也叫IP伪装或Multi NAT

### 2、工作机制

- NAT（NAPT）路由器内部，有一张自动生成的用来转换地址的表

- 发送请求时：私有地址转换为全局的IP地址，并将端口加入到转换表

- 接收请求是：根据端口选择转发的私有地址，根据全局IP地址转换为私有地址

  >  在使用TCP或UDP通信时，需要目标地址，源地址，目标端口，源端口和协议类型一致，才会被认为是同一个连接，此时使用的是NAPT

![image-20230709180623296](https://blog-heysq-1255479807.cos.ap-beijing.myqcloud.com/blog/note/image-20230709180623296.png)

### 3、NAT-PT（NAPT-PT）

- 适用于IPv6网络的NAT技术
- 将IPv6首部转换为IPv4首部
- 只有IPv6地址的主机能够与IPv4地址的主机进行通信

![image-20230709181223860](https://blog-heysq-1255479807.cos.ap-beijing.myqcloud.com/blog/note/image-20230709181223860.png)

### 4、NAT潜在问题

- 无法从NAT的外部向内部服务器建立连接
- 转换标的生成与转换操作都需要一定开销
- NAT异常重启，所有TCP连接都将被重置
- NAT灾备，TCP连接还是会断开