如何模拟网络延迟/人为添加网络延迟

本文关键字:网络 延迟 人为 添加 何模拟 模拟 | 更新日期: 2024-10-20 10:39:21

我需要使用.NET、C、C#制作一个Windows程序,该程序会为网络上通过该计算机的数据移动增加延迟。基本上,如果我有一个满是电脑的房间,我想用这个程序把一台电脑变成一个节点,延迟通过它的信息,就好像信息从一台电脑传到500英里外的另一台电脑一样。这是在实验室中测试程序,就好像它们正在互联网上使用一样。该程序必须处理udp、tcp、ipv4、ipv6和pim多播连接。

我一直在深入研究.NET System.NET API,试图找出哪些API工具会有所帮助,但我真的不确定从哪里开始。我需要制作一个客户端程序和一个服务器程序,并为tcp和udp连接使用System.Net.Sockets,为ipv4和ipv6使用ip端点吗?

如果可能的话,我想制作一个你在一台计算机上运行的程序,它会给运行它的所有东西增加延迟。这可能/可行吗?

我希望我能有更多的东西来得到更具体的答案,但我只是不确定从哪里开始。

如何模拟网络延迟/人为添加网络延迟

有很多产品已经做到了这一点:它们位于堆栈中,允许您调整线路速度、延迟、数据包丢失、数据包复制等

dummynet项目

SoftPerfect连接模拟器