在拒绝数据包之前,NAT路由器通常允许来自先前打开的TCP流的传入数据包多长时间?我正在开发一个P2P应用程序,而不是保持与中央服务器的开放连接和中继数据包。相反,我想让客户端轮询中央服务器,保存这些IP和端口号,然后从服务器返回到每个客户端,以便稍后启动P2P连接。如果NAT允许数据包长时间存在,这是可行的。如果这不可能有人知道其他P2P应用程序如何建立NAT Transveral / Connections?
答案 0 :(得分:2)
这不太可行。典型的家庭路由器将跟踪TCP连接的状态,并且不会在已经关闭的连接上转发流量。
即使对于活动的 TCP连接,路由器保留打开但不发送任何数据的连接的时间量也会有很大差异 - 我已经看到了一分钟到一分钟之间的所有内容周。您需要保持连接打开,并定期发送保持连接,以可靠地保持连接。
某些路由器还支持NAT Port Mapping Protocol将端口转发到路由器后面的设备。但是,这并不是普遍支持的。特别是,它几乎从未在商业路由器中得到支持。