BGP協議的概念和網絡拓撲
在路由協議中的BGP協議,是我們下面要為大家分析的一類協議。那么由于這部分內容比較重要,我們主要分為兩部分來介紹,首先是概念上面的介紹,然后對它的拓撲結構簡單分析一下。
1、介紹
BGP是自治系統間的路由協議。BGP交換的網絡可達性信息提供了足夠的信息來檢測路由回路并根據性能優先和策略約束對路由進行決策。特別地,BGP交換包含全部AS path的網絡可達性信息,按照配置信息執行路由策略。 隨著近年來互聯網的進步和增長,它也不得不面對一些嚴重的規模問題。
B類網絡地址空間的耗盡:該問題的主要原因之一,是缺少適于中型組織的中等大小的網絡;C類網絡,最多擁有254個主機地址,實在太少,而B類網絡允許最多65534個地址,卻又太大無法充分使用。 互聯網路由器中路由表的增長使目前的軟件(和人們)無法有效管理。
32位IP地址空間的耗竭:很明顯,前兩個問題和最后一個問題可能分別在今后一兩年內和三年內變得急迫。無類別域間路由(CIDR)試圖解決這些問題,設計相應機制來降低路由表和對新IP網絡分配需求的增長速度。它并沒有解決更具長期性的第三個問題,而是努力讓近期問題推遲使得互聯網仍能有效運作,同時著手遠期的解決方案。 BGP-4對BGP-3做了擴展,支持路由信息的聚合及基于無類別域間路由體系(CIDR)的路由減少。本備忘錄論述了BGP-4在互聯網中的應用。
所有討論基于如下假設:互聯網是一些隨意連接的自治系統的集合。自治系統的經典定義是,一組路由器在統一管理之下,在AS內使用內部網關協議和統一度量來路由數據包,而通過外部網關協議將數據包路由到其他AS。該經典定義尚在發展,一些AS在其內部使用多種內部網關協議和度量。在此,強調一下自治系統在本文檔中的含義,即使它采用多種IGP和度量,它的管理區別于其他 AS,其內部路由是一致的,當路由穿越它時,視作一個節點。每個AS由一個管理機構管理,至少在外部看來它代表著該系統的路由信息。
2. BGP協議拓撲模型
當我們說一個在兩個AS之間的連接時,意味著兩件事: 物理連接:兩個AS之間存在一條共享的數據鏈路子網,并且在該子網上,每個AS至少有一臺自己的邊界網關路由器。因此,每個AS的邊界網關路由器可以轉發數據包到其他AS的邊界網關路由器,無需借助于AS內到AS間的路由。 BGP連接:在各個AS的BGP發言人之間有一個BGP會話進程,通過會話溝通路由,經過聲明的AS到達某目標網絡。
我們對構成BGP連接的BGP發言人加以額外限制:他們必須是自己直接共享數據鏈路子網。因此,相鄰AS間的BGP會話無需AS內或AS間的路由。超出本文范圍的案例可能與該限制不符。 因此,在每個連接中,每個AS擁有一個以上的BGP發言人和邊界網關路由器,這些BGP發言人和邊界網關路由器分布在共享數據鏈路子網上。
注意到, BGP協議發言人不一定是邊界網關路由器,反之亦然。一條連接上一個AS的BGP發言人聲明的路徑可以被同一個共享子網上其他AS的邊界網關路由器使用,也就是非直接的鄰居是允許的。 一個AS內的流量,要么是源于該AS,要么是終于該AS(也就是說,IP數據包的源IP或目的IP在該AS內)。符合以上描述的流量稱為"本地流量",否則稱為"過渡流量"。BGP使用的主要目的是控制過渡流量。
按照某AS如何處理過渡流量,AS可以分為以下幾類:
末端AS:只連接到一個其他AS。自然地,末端AS只運輸本地流量。
多宿主AS:連接到超過一個的其他AS,但不運輸過渡流量。
過渡AS:連接到超過一個的其他AS,可以運輸本地和過渡流量。
一個完整的AS path提供了有效和簡捷的方式來避免路由回路、消除伴隨距離向量算法的"計數到無窮"問題,因此,BGP協議沒有對AS之間的連接拓撲加以任何限制。