Bgp
任播會在我的情況下對我有幫助嗎?如何實施?
我有幾台具有不同 IP 的伺服器,部署在不同的數據中心(大部分在地理位置上靠近我們的使用者)。讓我們假設這是簡單的 Web 伺服器。
我想要的是伺服器的單個 IP 地址,因此所有使用者都可以簡單地使用它,它將客戶端路由到最近的伺服器。
我認為使用任播地址可能會對我有所幫助。我不明白的是
- 如我所見,任播(僅)用於 DNS 伺服器。我相信這是由於非常簡單(無狀態)的 DNS 協議性質。任播是否適用於網路伺服器?路由到一台伺服器的會話是否會保持連接到唯一的伺服器(例如,所有保持連接請求都被路由到同一台伺服器),還是每個請求都可能轉到不同的伺服器?
- 如何在實踐中實施任播?我知道我需要一個自治系統(好的,我有一個),然後我需要一些伺服器狀態感知 BGP 播音員(因此只有當/當伺服器能夠應答時它才會宣布我的任播地址) - 我不知道用什麼。
有人對任播部署有任何經驗嗎?這個想法很簡單,但我發現關於它的實際實現的資訊太少了。
先感謝您!
您需要有一個 ASN。您不能真正宣布少於 /25 的網路。不能保證任何會話都會經過相同的路由,但大多數可能會使用相同的路徑。
然而,這與應用程序會話無關,因為路由器不知道會話 - 它們只是轉發數據包而不考慮狀態/類型/標誌。任播用於所有類型的服務。
使用者最終會在擁有 IP 的伺服器(或負載均衡器)上,這與它最終在哪個伺服器上無關。如果客戶端 1.1.1.1 與伺服器 2.2.2.2 通信,客戶端將始終與 2.2.2.2 通信,無論它是如何在 Internet 或 Intranet 上路由的。
路由器不是“伺服器狀態感知”,它宣佈網路 - 而不是單個 IP。它不會知道或關心伺服器是否能夠響應,我認為您將它與負載均衡器(如 IPVS、HAproxy)混淆了。
如果您沒有混淆它,那麼您需要多個公佈您的網路(或其中的一部分,至少 /25)的運輸提供商。如果您在同一地點,您可以簡單地要求您的提供商宣布您的網路。我認為宣布客戶 ASN 的功能是通過 AS-SET 資訊,但我對此有點不確定。