Networking

NAT 網關 - 最大連接限制

  • June 16, 2020

我知道足夠的網路是危險的。NAT 的底層細節並不是我特別了解的。

我無意中發現自己在今天早些時候的一次討論中關於將我們的一堆節點放在 NAT 網關後面。(1 個公共 IP 地址和 X 個私有 LAN 地址)。我在 TCP 協議中呼叫了對源和目標埠欄位的 16 位限制,(http://www.ietf.org/rfc/rfc793.txt - 第 15 頁)並提到它會將我們限制為大約 65,000 個連接( 65536)。——我對那個答案不再那麼自信了。你能幫我提供一些細節嗎?

我知道我們這邊的傳入埠(伺服器埠)可以接受與 sourceIP x SourcePort 組合一樣多的連接。讓我們暫時忽略這些,關注源自 LAN、通過 NAT 網關並在隨機埠上的隨機主機上結束的連接。

在一個正常的

$$ Linux $$系統,傳出連接我相信每個源 IP 每個埠限制為 1 個。如果我們假設我們生活在一個簡單的世界中,每個系統只有一個 IP 地址,那麼“正常系統”將被限制為最多 65536 個連接。 1) 在 TCP 中,單源 IP 是否限制為 65536 MAX 理論上的傳出連接?

2)或者每個遠端主機的限制實際上是 65536 個連接?

2)

$$ Written another way $$:可以將相同的源埠用於不同的 remoteHostIP:RemotePort 組合嗎? 例如:(以下可以嗎?)

Source IP   |Source Port |Remote IP|Remote Port   
192.168.0.20:36500   -->    8.8.8.8:23
192.168.0.20:36500   -->    8.8.4.4:23

3) 問題 1 和 2 的答案對於…‘非正常系統’是否不同$$ Cisco router acting as a NAT Gateway $$?

例如:具有一個面向公眾的 IP 和多達約 65,000 個 LAN IP 的專用網路設備

$$ or more $$背後?是否有魔法,或者問題2的答案總是:是的?(或沒有) 4)以上問題都假設​​有狀態的TCP連接。像 UDP 這樣的無狀態連接有什麼不同嗎?

最終:

5) 我們的 LAN 是否會被限制為通過單個公共 IP 地址與外界的 65536 個(或其他一些理論上的限制)並發連接?

謝謝!:)


出於這個問題的目的,我們支持非常強大且全新的 Cisco Nexus 設備(我認為是 7000 系列)。除非可以具體量化,否則最好忽略記憶體/等限制。

如果我錯了,請糾正我,但這是我理解的方式。限制是每個客戶端/伺服器/埠。因此,鑑於此。

1) 在 TCP 中,單源 IP 是否限制為 65536 MAX 理論上的傳出連接?

不,我相信對於相同的目標 IP,理論上最大限制為 65536。

Windows 工作站(非伺服器版本)有限制,這使得這個數字要少得多。Linux 有資源限制,但一般使用者通常不會遇到這些限制,您可以輕鬆調整它們。

當您開始將數量增加到接近 64K 時,您可能會遇到其他資源限制。

由於資源有限,消費級路由器的限制可能要低得多。

2)或者每個遠端主機的限制實際上是 65536 個連接?

是的

3) 問題 1 和 2 的答案對於…‘非正常系統’是否不同$$ Cisco router acting as a NAT Gateway $$?

4)以上問題都假設​​有狀態的TCP連接。像 UDP 這樣的無狀態連接有什麼不同嗎?

UDP是無連接的。所以這與UDP並不相關。

5) 我們的 LAN 是否會被限制為通過單個公共 IP 地址與外界的 65536 個(或其他一些理論上的限制)並發連接?

不。


在跟踪連接並提供其他跟踪功能的狀態防火牆的上下文中,是的,這些模組本身可能有限制。該操作沒有說明正在使用哪個防火牆/NAT路由器,因此我們甚至無法推測它目前可能施加的限制。

引用自:https://serverfault.com/questions/541699