Networking
如果公共 IP 固定到單個 AS,BGP 任播如何工作?
據我了解,公共 IP 塊是從IANA分配的,它將子塊分配給RIR,將子塊分配給 ISP,將子塊分配給各個AS,如以下問題所述:IP 地址是如何實際分配的?
這(以及此頁面之類的資源)似乎暗示了 1 個公共 IP 到 1 個 AS 的映射。
但是,任播似乎通過從多個位置通告相同的公共 IP 地址來工作,為該 IP 提供不同的路徑。例如:
- https://stackoverflow.com/questions/210901/how-do-you-scale-http-server-like-google
- https://umbrella.cisco.com/blog/blog/2013/01/10/high-availability-with-anycast-routing/
- https://blog.cloudflare.com/cloudflares-architecture-eliminating-single-p/
如果公共 ip 應該解析為單個 AS,那麼任播如何工作?
前綴的 IP 地址或 Internet 路由不要求來自單個 AS。ASN 分配給組織,地址也分配給組織。像 ARIN 這樣的註冊商不會將我的地址分配連結到我的 ASN 分配。即使在像資源公鑰基礎設施這樣的新系統中,它仍然允許多個 AS 發起到網路的路由。 Team Cymru 頁面在常見問題解答中這樣說:
在某些情況下,網路前綴將由多個但不同的網路或自治系統宣布。最可能的原因是所謂的“多宿主”。這是完全正常的。根據您對 Internet 拓撲和源網路策略的看法,這些源網路之一將是使用相關網路塊發送和接收流量的首選路徑。
這是目前從多個 AS 通告的網路的(長)列表。
至於它如何到達目的地:使用BGP 路徑選擇算法選擇路由,該算法根據流量通過的每個路由器所知道的資訊來選擇路徑。Internet 上的每個路由器都有自己的路由表視圖,因此 Internet 一部分中的流量可能最終到達與 Internet 另一部分中的流量不同的位置和 AS。甚至不需要讓流中的每個數據包都到同一個地方,這顯然可以在任播或多宿主的情況下使事情變得有趣。