关于 NAT 的问题

网络工程 纳特
2022-02-20 03:05:53

我知道 ISP 使用 NAT 为家庭用户提供公共 IP。如果多个设备使用同一个路由器连接到互联网,那么由于 NAT,所有设备都将具有不同的私有 IP 地址但相似的公共 IP 地址。我想知道,那么,数据流量如何理解在哪个设备上播放(比如 youtube)以及在哪个设备上显示 Gmail?我的兄弟正在使用 Gmail,我想看 youtube。实际发生了什么?

1个回答

NAT 代表网络地址转换,用于保存公共 IP 地址。标准在RFC 1631中定义并在RFC 3022中扩展

NAT 与连接到公共(互联网服务提供商电缆)和专用(LAN)网络的路由器一起使用。路由器的主要工作是将来自专用网络的数据包传送到公共 IP 地址。

路由器创建一个 NAT 表,假设路由器公共 IP 地址为 200.20.20.20,私有 IP 地址为 192.168.1.1

你的电脑本地IP地址是192.168.1.2 你兄弟的电脑本地IP地址是192.168.1.3

现在路由器为您的计算机创建一个唯一的端口地址,称为 PAT。还会创建一个 SNAT 表并为您提供公共 IP 地址,但端口号相同。所以现在你的电脑 PAT 地址是 192.168.1.2:45000 而 SNAT 地址是 200.20.20.20:45000

当您请求访问 youtube 时,路由器会检查该表并找到您的本地 IP 端口地址。使用公共 IP 地址 + 您的端口号将请求发送到 ISP。当答案与端口号一起返回时,路由器知道它会转到 45000 并发送回给您。