BGP邊界網關協議
- 一、BGP邊界網關協議概述
- 二、BGP的特點及與IGP的區別
- 三、BGP的路由屬性
- 四、BGP協議中使用的報文
一、BGP邊界網關協議概述
1、BGP,Border Gateway Protocol,即邊界網關協議,是一種在自治系統(AS)之間交換網絡層可達性信息的路由選擇協議。每個AS通常由一個或多個網絡組成,并由單一的技術管理機構管理,使用相同的選路策略。BGP協議運行在TCP之上,端口號為179,保證了協議的可靠性。
2、BGP路由器之間建立TCP連接,并通過四次握手的流程建立BGP會話,一旦會話建立,路由器就開始交換路由信息。
3、BGP的路由更新是觸發式的,只有在路由發生變化時才發送。BGP路由器維護兩張重要的表格:鄰居表和路由表。鄰居表記錄了與哪些其他BGP路由器建立了會話,而路由表則包含了從鄰居學習到的所有路由信息。
二、BGP的特點及與IGP的區別
特點
1、適用范圍:BGP用于AS之間,而IGP用于AS內部。
2、路由更新機制:BGP使用觸發更新,只在路由發生變化時發送更新,而IGP通常使用周期性更新。
3、路由選擇依據:BGP依賴于一系列復雜的路徑屬性進行路由選擇,而IGP通常使用成本或度量值。
4、策略控制能力:BGP提供了豐富的策略控制功能,而IGP通常不具備這樣的能力。
BGP與IGP的區別
交換不同自治系統間的路由信息,它不同于內部網關協議(IGP),如RIP或OSPF,后者主要關注單個自治系統內的路由選擇。BGP的設計使其能夠處理像因特網這樣規模的網絡,能夠妥善處理不相關路由域間的多路連接問題。
三、BGP的路由屬性
BGP路由屬性提供了關于路由信息的額外信息,幫助路由器在復雜的自治系統(AS)間環境中做出更為精確的路由決策。通過配置BGP路由屬性來實現對路由控制的細化。
BGP屬性可分為四大類:公認必遵屬性、公認可遵屬性、可選傳遞屬性和可選非傳遞屬性。
公認必遵屬性
公認必遵屬性是所有BGP路由器都必須識別并在Update消息中必須存在的屬性,包括Origin、AS_Path和Next_Hop三個屬性。
1、Origin屬性:Origin屬性用來定義路徑信息的來源,它有三種類型:IGP、EGP和Incomplete。IGP具有最高的優先級,代表通過network命令注入到BGP路由表的路由信息;EGP次之,代表通過EGP得到的路由信息;Incomplete優先級最低,代表通過其他方式學習到的路由信息。
2、AS_Path屬性:AS_Path屬性記錄了路由到達目的地所經過的所有AS號碼的序列。BGP使用AS_Path屬性作為路由更新的一個重要部分,以確保在Internet上的路由沒有環路,AS_Path越短的路由,其優先級越高。
2、Next_Hop屬性:Next_Hop屬性是指定路由的下一跳地址,它指明了數據包應該投遞到的下一個IP地址。在EBGP會話中,BGP會將Next_Hop設為自身的IP地址,而在IBGP會話中,Next_Hop通常保持不變。
公認可遵屬性
公認可遵屬性是所有路由器都能識別,但不一定在所有BGP路由器中都必須遵守的屬性。這類屬性包括Local_Pref和Atomic_Aggregate。
1、Local_Pref屬性:Local_Pref屬性表示本地偏好,用于在同等條件下,優先選擇本地生成的路由。Local_Pref的值越大,就越優先。
2、Atomic_Aggregate屬性:Atomic_Aggregate屬性用于告知下游路由器,由于路由聚合,某些路徑信息已經丟失。
可選傳遞屬性
可選傳遞屬性是所有BGP路由器都能識別,并且所有BGP路由器都應該在接收到這些屬性時保留并傳遞給其他BGP路由器的屬性。這類屬性包括Community和Aggregator。
1、Community屬性:Community屬性用于標記具有共同特征的路由,可用于路由策略的實現。
2、Aggregator屬性:Aggregator屬性用于標識聚合路由的發起者和聚合的范圍。
可選非傳遞屬性
可選非傳遞屬性是只有部分BGP路由器能識別,且不會被所有BGP路由器接收或傳遞的屬性。這類屬性包括MED、Cluster_List和Originator_ID。
1、MED屬性:MED屬性用于在AS之間傳遞路由選擇信息,它代表了路由的成本或優先級。MED值越小,路由越優先。
2、Cluster_List和Originator_ID屬性:Cluster_List屬性記錄了路由經過的反射器簇ID,而Originator_ID屬性表示路由的發起者的Router ID。這兩個屬性在路由反射器場景中特別有用。
四、BGP協議中使用的報文
1、OPEN:用于建立BGP會話。
2、UPDATE:用于發送網絡可達性信息。
3、KEEPALIVE:用于保持BGP會話的活動狀態。
4、NOTIFICATION:用于報告錯誤情況。
5、ROUTE-REFRESH:用于請求重新發送路由信息。
1、路徑矢量協議:BGP在發送路由更新時,會攜帶沿途的AS信息,形成AS路徑。
2、路由聚合:BGP支持路由聚合,可以合并多個網絡前綴到一個聚合的路由中,減少路由表的大小。
3、路由衰減:BGP提供了防止路由振蕩的機制,當一段時間未收到某個鄰居的路由更新時,會逐漸降低對該鄰居的依賴。
4、策略控制:BGP允許網絡管理員通過一系列屬性來控制路由的選擇和傳播,如AS_PATH、LOCAL_PREF、MED等。
5、支持多種自治系統:BGP不僅支持IPv4單播路由,還支持IPv6等多種協議。