2009-05-29 14 views
2

對於可以創建多少個連接(套接字)並將其用於數據傳輸有不同的限制嗎?如果存在家庭路由器或商用級路由器,這有什麼關係?如何創建太多的套接字影響甚至崩潰路由器?

例如,不同的用戶對Linksys,D-link或Netgear路由器有不同的使用經驗。有些設備可能更容易出現故障或「卡住」,特別是當它們運行網絡密集型程序時(需要拔下電源線到路由器並再次插入)。是由於太多插座的創造,或者是由於路由器可以支持太多的資源?

回答

6

路由器本身並不關心套接字,除非它們是有狀態的路由器,例如NAT網關。

如果它是一個有狀態的路由器,那麼每個連接都會在路由器的RAM中佔用一些空間,而當RAM耗盡時,它必須刪除舊記錄(或者它崩潰了,如果幸運的話,重新啓動,取決於它是什麼廠商......)

IP連接是一個TCP會話(它由源IP,源端口,目標IP,目標端口和序列號協議)。 UDP或ICMP和朋友本身沒有「連接」,但有狀態的路由器/防火牆通常假定源IP,源端口,目的IP,目的端口元組是一個「連接」,並且有一些超時。當一段時間沒有在該連接上看到流量時,它被假定爲死亡。根據防火牆/路由器的不同,該超時可能會設置在30秒到一天之間。

是的,一般來說商業路由器/防火牆更強大,因此可以在有狀態時跟蹤更多連接。你可以得到的最好的路由器通常是一個400美元的Linux或XBSD x86盒帶有一個RAM或兩個閃存盤和一個小型閃存盤來啓動...

+0

所以我不知道它是60美元的Linksys無線路由器(或D -Link或NetGear),他們通常有多少內存? – 2009-05-29 20:17:52

4

執行Network Address Translation的路由器需要維護每個處於活動狀態的連接的內部IP地址/端口號和外部端口號之間的映射。如果這些連接的表格變滿,則可能會導致崩潰,現有連接中斷或無法建立新連接等問題。

不執行NAT的路由器(並且所有核心互聯網路由器都不執行NAT)通常不會受此影響,因爲它們不知道連接是通過哪些連接並分別處理每個數據包。