假设我有一个 IP 为 42.98.1.70 的路由器,连接了 2 个 NiC,IP 为 192.168.1.200 和 192.168.1.300。路由器在端口 10433 上进行端口转发,以将数据包重定向到 192.168.1.200。路由器内网IP为192.168.1.100。
当网卡 192.168.1.300 向套接字 42.98.1.70:10433 发送数据包时。主机 192.168.1.200 从套接字 192.168.1.100:48900 获取数据包,据我所知,这看起来像是路由器设置的打孔套接字。
所以理论上,如果主机 192.168.1.200 向套接字 192.168.1.100:48900 回复一个数据包,该数据包最终应该返回到主机 192.168.1.300,因为路由器应该通过其内部表映射桥接两者,也就是“UDP 打孔” '。
但是,从 192.168.1.200 发回 192.168.1.100:48900 的数据包永远不会到达 192.168.1.300。
我怀疑可能发生的情况是 UDP 打孔在同一网络上的 NIC 之间不起作用。它仅适用于网络外部的来源和网络内部的来源。是这样吗?