邊界網關協議(BGP)是運行於 TCP 上的一種自治系統的路由協議。 BGP 是惟一一個用來處理像因特網大小的網絡的協議,也是惟一可以妥善處理好不相關路由域間的多路鏈接的協議。 BGP 構建在 EGP 的經驗之上。 BGP 系統的主要功能是和其餘的 BGP 系統交換網絡可達信息。網絡可達信息包括列出的自治系統(AS)的信息。這些信息有效地構造了 AS 互聯的拓樸圖並由此清除了路由環路,同時在 AS 級別上可實施策略決策
釋義
(BGP/BGP4:Border Gateway Protocol,邊界網關協議)
BGP-4 提供了一套新的機制以支持無類域間路由。這些機制包括支持網絡前綴的通告、取消 BGP 網絡中 「 類 」 的概念。 BGP-4 也引入機制支持路由聚合,包括 AS 路徑的集合。這些改變爲提議的超網方案提供了支持。BGP-4 採用了路由向量路由協議,在配置BGP時,每個自治系統的管理員要選擇至少一個路由器做爲該自治系統的「BGP發言人」。
1989年發佈了主要的外部網關協議:邊界路由協議(BGP),新版本BGP-4 是在1995年發佈的。
BGP路由選擇協議執行中使用4種分組:打開分組(open)、更新分組(update)、存活分組(keepalive)、通告分組(notification)。
BGP的結構和功能
BGP用於在不一樣的自治系統(AS)之間交換路由信息。當兩個AS須要交換路由信息時,每一個AS都必須指定一個運行BGP的節點,來表明AS與其餘的AS交換路由信息。這個節點能夠是一個主機。但一般是路由器來執行BGP。兩個AS中利用BGP交換信息的路由器也被稱爲邊界網關(Border Gateway)或邊界路由器(Border Router) [1] 。
因爲可能與不一樣的AS相連,在一個AS內部可能存在多個運行BGP的邊界路由器。同一個自治系統(AS)中的兩個或多個對等實體之間運行的BGP 被稱爲 IBGP(Internal/Interior BGP)。歸屬不一樣的AS的對等實體之間運行的BGP稱爲EBGP (External/Exterior BGP)。在AS邊界上與其餘AS交換信息的路由器被稱做邊界路由器(border/edge router)。在互聯網操做系統(Cisco IOS)中,IBGP通告的路由的距離爲200,優先級比EBGP和任何內部網關協議(IGP)通告的路由都低。其餘的路由器實現中,優先級順序也是EBGP高於IGP,而IGP又高於IBGP。
BGP屬於外部網關路由協議,能夠實現自治系統間無環路的域間路由。BGP是溝通Internet廣域網的主用路由協議,例如不一樣省份、不一樣國家之間的路由大多要依靠BGP協議。BGP可分爲IBGP(Internal BGP)和EBGP(External BGP)。BGP的鄰居關係(或稱通訊對端/對等實體)是經過人工配置實現的,對等實體之間經過TCP(端口179)會話交互數據。BGP路由器會週期地發送19字節的保持存活keep-alive消息來維護鏈接(默認週期爲30秒)。在路由協議中,只有BGP使用TCP做爲傳輸層協議。
IETF前後爲BGP制定了多個建議,分別爲:
RFC 4271:當前正使用的BGP協議版本,稱之爲BGP4。
RFC 1654:BGP4協議的第一個規範。
RFC 110五、RFC 116三、RFC 126七、RFC1771:BGP4以前的BGP版本。
特色
BGP屬於外部或域間路由協議。BGP的主要目標是爲處於不一樣AS中的路由器之間進行路由信息通訊提供保障。BGP既不是純粹的矢量距離協議,也不是純粹的鏈路狀態協議,一般被稱爲通路向量路由協議。這是由於BGP在發佈到一個目的網絡的可達性的同時,包含了在IP分組到達目的網絡過程當中所必須通過的AS的列表。通路向量信息時十分有用的,由於只要簡單地查找一下BGP路由更新的AS編號就能有效地避免環路的出現。BGP對網絡拓撲結構沒有限制,其特色包括:
(1)實現自治系統間通訊,傳播網絡的可達信息。BGP 是一個外部網關協議,容許一個AS與另外一個AS進行通訊。BGP容許一個AS向其餘AS通告其內部的網絡的可達性信息,或者是經過該AS可達的其餘網絡的路由信息。同時,AS也可以從另外一個AS中瞭解這些信息。與距離向量選路協議相似,BGP爲每一個目的網絡提供的是下一跳(next-hop)結點的信息。
(2)多個BGP路由器之間的協調。若是在一個自治系統內部有多個路由器分別使用BGP與其餘自治系統中對等路由器進行通訊,BGP能夠協調者一系列路由器,使這些路由器保持路由信息的一致性。
(3)BGP支持基於策略的選路(policy-base routing)。通常的距離向量選路協議確切通告本地選路中的路由。而BGP則能夠實現由本地管理員選擇的策略。BGP路由器能夠爲域內和域間的網絡可達性配置不一樣的策略。
(4)可靠的傳輸。BGP路由信息的傳輸採用了可靠地TCP協議。
(5)路徑信息。在BGP通告目的網絡的可達性信息時,處理指定目的網絡的下一跳信息以外,通告中還包括了通路向量(path vector),即去往該目的網絡時須要通過的AS的列表,使接受者可以瞭解去往目的網絡的通路信息。
(6)增量更新。BGP不須要再全部路由更新報文中傳送完整的路由數據庫信息,只須要在啓動時交換一次完整信息。後續的路由更新報文只通告網絡的變化信息。這種網絡變化的信息稱爲增量(delta)。
(7)BGP支持無類型編制(CIDR)及VLSM方式。通告的全部網絡都以網絡前綴加子網掩碼的方式表示。
(8)路由彙集。BGP容許發送方把路由信息彙集在一塊兒,用一個條目來表示多個相關的目的網絡,以節約網絡帶寬。
(9)BGP還容許接收方對報文進行鑑別和認證,以驗證發送方的身份。數據庫