Zhonghui

每个不曾起舞的日子,都是对生命的辜负

User Tools

Site Tools


程序:计算机网络:nat

NAT 网络地址转换

IP协议中是没有端口的,因为IP协议是主机和主机之间的连接,而端口是为了区分程序
PAT需要访问到端口,所以它至少是工作在运输层(TCP/UDP)的

AI:
端口是由 NAT 服务器(或 NAT 网关)动态分配的,并且会在连接断开或超时后被释放。
NAT 服务器(或 NAT 网关)必须“感知”并“处理”运输层的信息,尤其是 TCP 或 UDP 的报头。NAT 必须查看和处理运输层(TCP/UDP)头部内容,包括源/目标端口、连接状态等信息。这不是“监听内容”,但确实是读取和修改报文头部的关键操作,否则 NAT 映射表无法建立或清除。


请详细解释NAT(网络地址转换)【AI】

当然!NAT(网络地址转换Network Address Translation)是一种广泛应用于网络中的技术,它的主要作用是在私有网络(如家庭或公司局域网)与公网(如互联网)之间进行IP地址转换,从而实现多个内部主机通过一个或少量公网IP访问互联网。

一、NAT的基本原理

NAT的核心功能就是在IP数据包经过路由器时修改其源IP地址或目标IP地址。这允许:

  • 私有网络中的多个设备共享一个公网IP上网;
  • 在一定程度上隐藏内部网络结构,起到安全保护作用
  • 缓解IPv4地址不足问题。

二、NAT的主要类型

1. 静态NAT(Static NAT)

  • 一一映射:一个内部私有IP地址绑定到一个固定的公网IP地址。
  • 应用场景:内部服务器需要对外提供服务(如Web服务器、邮件服务器)。

例子

内部IP 192.168.1.10 ↔ 公网IP 203.0.113.10

2. 动态NAT(Dynamic NAT)

  • 多对多映射:从一个公网IP池中动态分配地址给内部设备。
  • 内部设备访问外部网络时,临时使用可用公网IP。

特点

  • 不是每个内部设备都能同时访问公网,受限于公网IP数量。

3. PAT(端口地址转换)或“NAPT”:最常见

  • 多对一映射(也叫“端口复用”):多个内部IP共享一个公网IP,通过不同端口号区分会话

例子

内部主机A(192.168.1.2:1234)访问网站 → 公网IP:30001
内部主机B(192.168.1.3:2345)访问网站 → 公网IP:30002

在公网看来,两者都来自同一个IP,但端口不同,路由器根据端口还原到正确内部主机。

三、NAT的工作流程(以PAT为例)

  1. 内部主机发起请求,源IP是私有地址;
  2. NAT设备(如家用路由器)记录映射关系(私有IP+端口 → 公网IP+端口);
  3. 修改数据包源IP和端口为公网IP和新端口,并发送到互联网;
  4. 返回数据到达路由器时,根据映射还原为原始私有IP和端口;
  5. 转发到正确的内部主机。

四、NAT的优缺点

优点:

  • 节省公网IP资源;
  • 提高内网安全性(外部设备无法主动访问内网);
  • 灵活管理和控制网络通信。

缺点:

  • 会破坏端到端的通信模型;
  • 某些协议(如VoIP、P2P)需要额外处理才能在NAT后正常通信;
  • 不支持直接外部访问内部设备,需配置端口映射或使用UPnP。

五、NAT和IPv6的关系

IPv6提供了极大的地址空间(2¹²⁸),理论上不再需要NAT,每个设备都可以拥有一个公网地址。但是由于安全、部署等原因,NAT仍在某些IPv6场景中保留使用(如NAT66)。

总结一句话:

NAT是将私有IP与公网IP之间进行转换的一种技术,使得多个内部主机可以共享公网IP访问互联网,同时提供一定的安全隔离。

/var/www/DokuWikiStick/dokuwiki/data/pages/程序/计算机网络/nat.txt · Last modified: 2025/07/07 09:43 by zhonghui