![在 AWS 上使用多個靜態 IP 取得超過 65535 個連接埠](https://rvso.com/image/760974/%E5%9C%A8%20AWS%20%E4%B8%8A%E4%BD%BF%E7%94%A8%E5%A4%9A%E5%80%8B%E9%9D%9C%E6%85%8B%20IP%20%E5%8F%96%E5%BE%97%E8%B6%85%E9%81%8E%2065535%20%E5%80%8B%E9%80%A3%E6%8E%A5%E5%9F%A0.png)
我運行的服務需要超過 65535 個端口,並且我使用 AWS VPS
我在想如果我將更多靜態 IP 附加到該 VPS,每個 IP 在連接到主伺服器時是否會獲得 65535 個端口,或者它們都只是彼此的別名
答案1
TCP 元組 由目標IP和連接埠標識和來源IP和連接埠。
所以理論上2001:db8:2943:a::1
可以2001:db8:2943:a::2
每個連接到2001:db8:2943:b::3
一個目標端口443
,64K 次。事實上,可用的臨時連接埠較少,並且需要大型且經過良好調整的主機來執行任何重要的 64K 連線。
假設新增了另一個伺服器 IP 2001:db8:2943:b::4
,.每個來源IP可以連接其他到此其他目標 IP 的 64K 次,全部在目標連接埠上443
。
在實踐中你不太可能會耗盡連接埠。您可以擁有一百萬個不同的來源 IP 位址,並且 64K 限制不適用。
也許是一個負載平衡器,其中一個 IP 對一個 IP 和連接埠執行 64K 連線。這已經相當大了,但如果有必要,您可以向後端主機添加另一個 IP 並使用它。
或者,事物的 64K 個獨立實例,每個實例都會偵聽唯一的目標連接埠。這是需要運行的大量進程。可以運行更少的偵聽端口,並將複雜性轉移到應用程式層。例如,基於 HTTP 名稱的虛擬主機。