对于可以创建并使用它进行数据传输的连接(套接字)数量,是否存在不同的限制?是否存在家用路由器或商用路由器有关系?
例如,不同的用户对Linksys、D-link或Netgear路由器有不同的使用体验。有些可能更容易宕机或“卡住”,特别是当他们正在运行网络密集型程序时(需要拔下路由器的电源线,然后重新插入)。是因为创建了太多套接字,还是因为使用了太多路由器可以支持的资源?
发布于 2009-05-29 04:26:08
路由器本身并不关心套接字,除非它们是有状态路由器,例如NAT网关。
如果它是一个有状态路由器,那么每个连接都将占用路由器RAM中的一些空间,当RAM耗尽时,它必须丢弃旧记录(否则它会崩溃,如果幸运的话,还会重新启动,这取决于它是什么供应商……)
IP术语中的“连接”是TCP会话(由源IP、源端口、目的IP、目的端口和序列号协议标识)。UDP或ICMP及其朋友本身没有“连接”,但有状态路由器/防火墙通常通过假设源IP、源端口、目标IP、目标端口元组是一个带有超时的“连接”来伪造它。当在该连接上有一段时间看不到流量时,它被认为是死的。根据防火墙/路由器的不同,该超时时间可以设置在30秒和一天之间。
是的,一般来说,商业路由器/防火墙更强大,因此可以在有状态时跟踪更多的连接。你能得到的最好的路由器通常是一个400美元的Linux或xBSD x86盒子,有一两to的内存和一个小的闪存盘可以启动...
发布于 2009-05-29 04:21:57
执行Network Address Translation的路由器需要维护内部IP地址/端口号与每个活动连接的外部端口号之间的映射。如果这些连接的表已满,可能会导致崩溃、现有连接中断或无法建立新连接等问题。
不执行NAT的路由器-以及所有不执行NAT的核心Internet路由器-通常不受此影响,因为它们不知道通过它们的是什么连接,并单独处理每个数据包。
https://stackoverflow.com/questions/924359
复制相似问题