0

如果所有机器都使用相同的端口,我正在尝试确定 NAT 后面的多台机器如何/是否有可能与同一个远程 IP 地址建立唯一的 TCP/IP 连接。在这种情况下,我的理解是用于标识每个 TCP 连接的 5 元组实际上在单个远程计算机上看起来是相同的 - 因为它由以下部分组成:

  1. 协议
  2. 远程IP
  3. 远程端口
  4. 本地IP
  5. 本地端口

那么在这种情况下,如果它们都使用端口 80,那么单个远程计算机如何区分来自 NAT 计算机 A 和 NAT 计算机 B 的连接?我假设这是可能的,因为 NAT 后面的计算机能够同时在相同端口上执行相同的操作而不会出现问题......我只是没有看到远程机器如何正确处理这个问题。

谢谢!

4

2 回答 2

2

如果机器使用不同的源端口 - 问题解决了。远程 TCP 使用它来识别它们。如果多台机器使用相同的源端口,NAT 会处理并更改它。

于 2012-01-30T17:51:47.940 回答
0

您还应该记住,NAT 路由器可以调整 IP/端口对以避免冲突。这就是诸如端口转发之类的事情的完成方式。即使它们设法来自同一个源端口,路由器也会将流识别为唯一的,因为源本地 IP 将不同。

于 2012-01-30T18:07:03.667 回答