Network
網路如何處理不斷變化的 IP?
據我了解,當一個節點第一次上線時,它會從它的所有對等點請求一個已知 IP 的列表。我假設通過這樣做,它與所有對等方共享自己的 ip,然後將其保存到他們的列表中。此時,網路處於同步狀態。
我的問題是,當相關節點更改 IP 時會發生什麼?
這是一個很好的問題,但沒有真正實質性的變化。
該節點將重新連接到一個對等點(其 IP 地址保持不變),並將該節點的新 IP 地址添加到可用對等點列表中。舊的 IP 地址仍保留在列表中,但最終會在它變老時被刪除:對等列表還跟踪它最後一次看到該節點的時間。
它與所有對等方共享自己的 IP
實際上並非如此,您連接的節點會告訴您您的 IP 地址是什麼。(我對此不是 100% 確定)
如果列表中滿是舊 IP 怎麼辦?
嗯,這就是為什麼網路上有活躍的“種子節點”。他們經常使用域名,這些域名被解析為 IP 地址(因此他們可以更改)。它們僅用於分發對等列表。在比特幣核心中,您連接到種子節點並在大約一分鐘後斷開連接。從那時起,您的對等列表中應該有足夠的 IP 以保持與網路的連接。