我们正在研究创建网络效果服务器的方法。我的意思是一个中央服务器,它将检查网络上的所有数据包并根据实际网络之外的因素(例如天气和视线)应用逻辑(丢弃、延迟、更改等)。
这与运行多个现实世界实体的模拟有关:网络中的物理节点将代表 3D 虚拟世界中的 3D 移动实体。正如我所提到的,将根据节点的“虚拟世界位置”之间的视线、距离、干扰等计算效果。
我知道其他工具可以让您执行此类效果(例如 OPNET,我们可能会将其用作解决方案的一部分),但它们通常要求您将数据直接路由到它们进行处理。它们也不处理 UDP 或 TCP。
我需要一种方法来透明地运行我们的服务器并应用效果,而无需为 UDP 和 TCP 更改任何现有软件(无论如何有些软件无法更改)。
在这种情况下,我们正在考虑使用 ARP 中毒(或欺骗,无论您喜欢如何称呼它)来强制所有流量通过这些服务器中的一个(或潜在的多个用于负载平衡)来执行数据包整形。
这是一种可行的方法吗?(不想在意识到有太多障碍或完全不可能之前花费数周时间进行开发)
如果可行,RFC826(加上5227和5494)是 ARP 的最新文档吗?那里有更好的文件吗?
当某些网络节点是虚拟机(它们可能被桥接或 NAT'ed)时,这会起作用吗?
是否有任何库可以让您在 C# 中执行此操作?
(我们对我们使用的语言持开放态度,但可能更喜欢基于 C# 或 Qt 的解决方案)