BGP路由介紹

BGP (Border Gateway Protocol,邊界閘道通訊協定) 是網路路由協定 (Routing Protocol) 的一種,一般使用在路由不同的自主系統(Autonomous System) 之間或之內,是為TCP/IP網路設計的外部閘道通訊協定,用於多個自治域之間。

BGP是Bellman-Ford距離向量路由演算法的一個實例。該演算法允許連接設備(BGP speakers)的集合各自學習連接網路的相關拓撲。

這種演算法的基本方法非常簡單:每個BGP speaker當新的學習資訊改變了區域網路的視圖,則告訴所有其他鄰居其已經學習了什麼。這很像一個社交謠言網路,每個聽到新的謠言的人都會馬上通知所有的朋友。

BGP以非常相似的方式工作:每當鄰居通知BGP speaker有關IP地址前綴的可達性時,BGP speaker將這個新的可達資訊與從其他鄰居先前公告中獲得的存儲知識進行比較。如果這個新的資訊提供了一個更好的前綴路徑,那麼本地BGP speaker將這個前綴和相關的next hop轉發決定一起寫入到本地轉發表,並通知所有新的路徑前綴中的直接鄰居,引用它自己作為next hop。

此外,BGP還有一個收回機制,若BGP speaker認為對於一個給定的前綴不再有一個可行的路徑,在這種情況下,它會對所有的鄰居宣布“撤銷”。當一個BGP speaker收到一個撤銷通知,它會對這個鄰居儲存為撤銷狀態。

如果撤銷的鄰居碰巧是這個前綴路徑優先的next hop,那麼BGP speaker將檢查其每個鄰居提供的數據確定哪個儲存的宣告代表了現存的最佳路徑。如果找到這樣的替代路徑,便把它複製到本地轉發表中,並將這個新的首選路徑通告給其所有BGP鄰居。如果沒有這樣的替代路徑,它會向鄰居宣布退出,表明它不再能夠達到這個前綴。

有關2017 IPv4和IPv6 BGP路由表統計、預測及穩定性的完整介紹,請參考BGP in 2017完整原文網頁

Scroll to Top