networking - 如何模拟不同的NAT行为

标签 networking network-programming udp nat hole-punching

我正在使用UDP和UDT进行打孔。对于最终测试,我需要在不同的NAT类型(对称,全锥,受限锥,端口受限NAT)上测试应用程序。

有什么方法可以模拟这些?我在这里期望的是某种虚拟箱设置。我可以将PC用作路由器,以便可以根据需要进行配置吗?

通常,我们如何针对不同的网络条件测试应用程序?

最佳答案

我认为您已经回答了自己的问题,请使用VirtualBox(或VMware,Xen等。)。

通过设置VM的小型局域网,我已经成功地做到了这一点。如果您正在寻找在VM中充当路由器的软件,那么我将从http://www.pfsense.org/开始,看看是否满足您的需求。这是一个FreeBSD发行版,专门设计为易于安装的路由器/防火墙,并具有良好的Web管理UI以及所有其他功能。

如果pfsense不能满足您的需求,那么还有很多其他针对此类内容而定制的linux / bsd发行版,您可以将其安装在VM中:http://en.wikipedia.org/wiki/List_of_router_or_firewall_distributions以获得一个不错的列表:)(我已经也听说过有关OpenWRT和ClearOS的好消息。)

关于networking - 如何模拟不同的NAT行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11719572/

相关文章:

asynchronous - 客户端和服务器之间的同步和异步数据传输

java - 我可以用 Java 进行低级网络编程吗?

windows - 如何获得精确的 ping 测量值

networking - float IP 在 Digital Ocean 上的使用

java - 通过不稳定的网络同步本地数据库和远程应用程序

c - recvfrom() 中的 addrlen 字段是做什么用的?

javascript - 在 javascript/HTML5 中建立直接的 udp 连接

networking - Twisted Python、Ruby 的 Eventmachine、Java 的 NIO 等的 Lua 等价物是什么?

java - 如何在java网络中广播

linux - 在 ubuntu 中使用互联网设置 NTP 服务器