所以我一直在学习 NAT,以及它如何允许我们通过使用 NAT 表来重用 IPv4 地址,并将私有 IP 基本上别名为公共 IP,反之亦然,同时存储端口。但我无法理解的是,如果同时发送的数据包将使用相同的公共 IP 地址,路由器如何知道将数据发送到哪个设备?它使用 MAC 地址吗?它使用端口号吗?
(如果这篇文章不属于这里,请告诉我应该在哪个 StackExchange 网站上发布这篇文章)
答案1
每个 TCP/UDP 连接/关联都由三元组 (源地址、源端口、目标地址、目标端口) 唯一标识。因此,任何连接/关联 (最终出现在 NAT 跟踪表中) 都可以唯一标识,即使存在到同一主机:端口的多个连接 (同一主机或多个主机)。
不涉及 MAC 地址,因为 LAN 主机可能位于不同的第 2 层网络段。