Protocol
為什麼主線客戶端限制出站連接數為8?
主線比特幣客戶端將出站連接數限制為 8 個,但總連接數最多允許 125 個。要實現超過 8 個連接(由於出站限制),需要使用 uPnp 或埠轉發,以便客戶端可以接受入站連接。
為什麼有 8 個連接的限制並且僅限於出站連接?為什麼不允許客戶端創建 20 或 125 個出站連接?
這是一個遺留問題。
當網路首次實施時,能夠可靠地接受入站連接的伺服器嚴重短缺。許多人開始在 NAT 後面執行客戶端,但他們無法接受任何入站連接。同時,他們正在消耗可以接受它們的數量有限的機器的可用入站連接容量。客戶端現在預設啟用 uPNP 遍歷。
其次,客戶端程式碼存在問題,導致它無法支持盡可能多的連接。許多節點甚至無法支持預設的 125 個連接,即使它們的 CPU 和網路使用率遠未達到最大值。
這些天,它只是有點卡住了。我的“集線器模式”更新檔使客戶端可以輕鬆支持 1,500 個連接。但他們幾乎從來沒有看到超過 200 個客戶端,因為網路容量限制早已不復存在。
您需要一定數量的出站連接,因為惡意對手可以通過從各種 IP 地址反复連接到您並保持連接來消耗您的所有入站連接槽。比特幣客戶端實際上有程式碼嘗試在其出站連接中獲得 IP 多樣性,以防止某些實體創建一百萬台伺服器並很有可能獲得所有 8 個出站插槽。
如果你是偏執狂,把它打開。如果您還可以添加至少 64 個入站連接插槽作為交換,您仍然可以配置 32 個出站連接。你將幫助網路。您可以使用我的集線器模式更新檔來執行此操作。