BGP

邊界網關協議(BGP)是運行於 TCP 上的一種自治系統的路由協議。 BGP 是唯一一個用來處理像因特網大小的網絡的協議,也是唯一能夠妥善處理好不相關路由域間的多路連接的協議。 BGP 構建在 EGP 的經驗之上。 BGP 系統的主要功能是和其他的 BGP 系統交換網絡可達信息。網絡可達信息包括列出的自治系統(AS)的信息。這些信息有效地構造了 AS 互聯的拓樸圖並由此清除了路由環路,同時在 AS 級別上可實施策略決策

簡介

BGP的結構和功能

BGP用於在不同的自治系統(AS)之間交換路由信息。當兩個AS需要交換路由信息時,每個AS都必須指定一個運行BGP的節點,來代表AS與其他的AS交換路由信息。這個節點可以是一個主機。但通常是路由器來執行BGP。兩個AS中利用BGP交換信息的路由器也被稱爲邊界網關(Border Gateway)或邊界路由器(Border Router) 。
BGP屬於外部網關路由協議,可以實現自治系統間無環路的域間路由。BGP是溝通Internet廣域網的主用路由協議,例如不同省份、不同國家之間的路由大多要依靠BGP協議。BGP可分爲IBGP(Internal BGP)和EBGP(External BGP)。BGP的鄰居關係(或稱通信對端/對等實體)是通過人工配置實現的,對等實體之間通過TCP(端口179)會話交互數據。BGP路由器會週期地發送19字節的保持存活keep-alive消息來維護連接(默認週期爲30秒)。在路由協議中,只有BGP使用TCP作爲傳輸層協議

特點

(1)實現自治系統間通信,傳播網絡的可達信息。
(2)多個BGP路由器之間的協調。
(3)BGP支持基於策略的選路(policy-base routing)。
(4)可靠的傳輸。BGP路由信息的傳輸採用了可靠地TCP協議。
(5)路徑信息。
(6)增量更新。
(7)BGP支持無類型編制(CIDR)及VLSM方式。
(8)路由聚集。
(9)BGP還允許接收方對報文進行鑑別和認證,以驗證發送方的身份。

BGP路由通告原則

BGP在進行路由通告的時候,需要遵循以下原則:
多條路徑時,BGP Speaker只選最優的給自己使用(負載均衡和FRR除外)。
BGP Speaker只把自己使用的路由(最優路由)通告給相鄰體。
BGP Speaker從EBGP獲得的路由會向自己所有BGP相鄰體通告(包括EBGP和IBGP)。
BGP Speaker從IBGP獲得的路由不向自己的IBGP相鄰體通告(反射器除外)。
BGP Speaker從IBGP獲得的路由是否通告給自己的EBGP相鄰體要根據IGP和BGP同步的情況來決定。
當收到對端的refresh報文並且本端鄰居支持refresh能力,BGP Speaker將把自己所 有BGP路由通告給對等體。
GR過程中,主備倒換方在GR結束時BGP Speaker會把自己所有BGP路由通告給對等體。

BGP屬性

路由器發送關於目標網絡的BGP更新消息,更新的度量值被稱爲路徑屬性。屬性可以是公認的或可選的、強制的或自由決定的、傳遞的或非傳遞的。屬性也可以是部分的。並非組織的和有組合的都是合法的,路徑屬性分爲4類:公認必遵、公認自決、可選過渡、可選非過渡。
公認屬性:
是公認所有BGP實現都必須識別的屬性,這些屬性被傳遞給BGP鄰居。
公認強制屬性必須出現在路由描述中,公認自由決定屬性可以不出現在路由描述中。
可選屬性:
非公認屬性被稱爲可選的,可選屬性可以是傳遞的或非傳遞的。
可選屬性不要求所有的BGP實現都支持。
對於不支持的可選傳遞屬性,路由器將其原封不動的傳遞給其他BGP路由器,在這種情況下,屬性被標記爲部分的。
對於可選非傳遞屬性,路由器必須將其刪除,而不將其傳遞給其他BGP路由器。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章