您可以响应来自其他服务器的UDP数据包吗?

如果服务器A接收到UDP数据包,由于UDP是无连接的,它是否可以将其转发到服务器B并让服务器B直接响应最终客户端,而无需通过服务器A来返回?

除非服务器A和服务器B具有相同的IP地址(也许可以广播?),否则我的直觉不会。

但是,如果将客户端构建为也是UDP服务器,则它在理论上可以工作,因为来自服务器B的(逻辑)响应看起来就像是一个新请求。但这实际上由于防火墙和NAT而实际上不起作用,出于同样的原因,很难在防火墙,路由器和ISP的后面托管游戏服务器。

xuzhidong 回答:您可以响应来自其他服务器的UDP数据包吗?

  

如果服务器A接收到UDP数据包,由于UDP是无连接的,它是否可以将其转发到服务器B并让服务器B直接响应最终客户端,而无需通过服务器A来返回?

是的,可以。但是,有一些警告:

  1. NAT设备,大多数客户端都在后面。有several types of NAT devices全锥 NAT可以很好地接受重定向的数据包,但是受地址限制的NAT将要求该数据包从发送到的地址返回(因此,您的任播想法将起作用,因为以及简单地让服务器B欺骗服务器A的IP)。 受端口限制对称 NAT也将需要相同的源端口(即服务器B必须从服务器A接收到的同一端口发送响应)。

  2. 其他类型的网络middleboxes,例如防火墙可能会阻止返回的数据包

  3. 应用程序-客户端应用程序会接受来自其他IP地址和端口的响应吗?

本文链接:https://www.f2er.com/3113957.html

大家都在问