修复子网上的 UDP 问题

修复子网上的 UDP 问题

我目前有一个具有以下地形的网络:地形

网络很好,一切运行良好,除了一件事:UDP 似乎在子网 192.168.3 和 192.168.4.0 上不稳定/不起作用。设置这些子网的方式是我的 Windows Server 实例有两个(虚拟)NIC,它们充当其指定子网的网关。这些子网在 dd-wrt ​​中静态路由如下: 静态路由

我似乎无法弄清楚为什么 UDP 在这些子网上如此不可靠,而在主网(192.168.2)上运行良好。

任何关于为什么会发生这种情况的帮助或解释都将不胜感激!

编辑:

如果有人想知道,这是丢包测试,如图所示,一旦发送了 50 个数据包,所有后续流量都会被切断:在此处输入图片描述

答案1

静态路由没问题 - 否则 TCP 测试用例将无法工作。我的意思是动态路由:

  • 客户端 192.168.4.111 向 8.8.8.8 发送 UDP 数据包
  • 在Windows服务器上,源IP被转换为192.168.2.2,并分配了动态源端口。
  • 该端口上的任何响应都被路由回客户端。

这个过程称为伪装 - 并且这种动态路由具有超时 - 如果在一定时间内未在该源端口上收到任何响应,则动态端口将关闭。通常,此超时设置是可配置的。并且:此超时设置与 TCP 不同,因为 UDP 不知道任何连接。我不知道在 Windows 上在哪里设置此超时... 如果我是你,我会在你的 Windows 服务器上安装 wireshark。如果你的 wireshark 看到你的客户端未收到的响应,你就知道这个超时是原因。

相关内容