假设端口转发是在路由器上完成的,如果数据来自本地机器而不是远程机器,路由器是否可以转发。
例如:发送方目标 IP 如:88.251.xxx.xxx,端口 8999。接收方监听该端口。路由器将 8999 转发给接收方。
它们都在本地网络上。
应该运行良好吧?
答案1
假设一个简单的 soho 设置,那么您不需要触摸路由器上的任何东西,两个盒子应该直接互相通话。
答案2
是的,这很常见,而且应该运行良好。最常用的术语是“发夹式 NAT”。NAT 网关在某种意义上对数据包执行出站 NAT,然后将其转回来对同一数据包执行入站 NAT。
早期的 NAT 实现并不总是执行发夹式连接,但它是现代 NAT 实现中相当常见的功能。NAT 网关验证测试套件(如 QACafe 的 CDRouter)具有内置的发夹式连接测试用例。
答案3
您应该注意到发夹式流量会对性能造成影响。影响的大小取决于特定的 NAT 设备、流量负载、路由器 CPU 等。
如果节点位于内部,最好让它们直接相互通信。如果可能,我建议使用 DNS 或主机文件魔法将内部客户端定向到内部 IP 地址,将外部客户端定向到公共 IP。