BGP是一種不同自治系統的路由器之間進行通信的外部網關協議。BGP是ARPANET所使用的老EGP的取代品。RFC1267[LougheedandRekhter1991]對第3版的BGP進行了描述。
RFC1268[RekhterandGross1991]描述了如何在Internet中使用BGP。下面對于BGP的大部分描述都來自于這兩個RFC文檔。同時,1993年開發第4版的BGP(見RFC1467[Topolcic1993]),以支持我們將在10.8節描述的CIDR。
BGP系統與其他BGP系統之間交換網絡可到達信息。這些信息包括數據到達這些網絡所必須經過的自治系統AS中的所有路徑。這些信息足以構造一幅自治系統連接圖。然后,可以根據連接圖刪除選路環,制訂選路策略。
首先,我們將一個自治系統中的ip數據報分成本地流量和通過流量。在自治系統中,本地流量是起始或終止于該自治系統的流量。也就是說,其信源IP地址或信宿IP地址所指定的主機位于該自治系統中。其他的流量則稱為通過流量。在Internet中使用BGP的一個目的就是減少通過流量。
可以將自治系統分為以下幾種類型:
1)殘樁自治系統(stubAS),它與其他自治系統只有單個連接。stubAS只有本地流量。
2)多接口自治系統(multihomedAS),它與其他自治系統有多個連接,但拒絕傳送通過流量。
3)轉送自治系統(transitAS),它與其他自治系統有多個連接,在一些策略準則之下,它可以傳送本地流量和通過流量。
這樣,可以將Internet的總拓撲結構看成是由一些殘樁自治系統、多接口自治系統以及轉送自治系統的任意互連。殘樁自治系統和多接口自治系統不需要使用BGP——它們通過運行EGP在自治系統之間交換可到達信息。
BGP答應使用基于策略的選路。由自治系統治理員制訂策略,并通過配置文件將策略指定給BGP。制訂策略并不是協議的一部分,但指定策略答應BGP實現在存在多個可選路徑時選擇路徑,并控制信息的重發送。選路策略與政治、安全或經濟因素有關。
BGP與RIP和OSPF的不同之處在于BGP使用TCP作為其傳輸層協議。兩個運行BGP的系統之間建立一條TCP連接,然后交換整個BGP路由表。從這個時候開始,在路由表發生變化時,再發送更新信號。
BGP是一個距離向量協議,但是與(通告到目的地址跳數的)RIP不同的是,BGP列舉了到每個目的地址的路由(自治系統到達目的地址的序列號)。這樣就排除了一些距離向量協議的問題。采用16bit數字表示自治系統標識。
BGP通過定期發送keepalive報文給其鄰站來檢測TCP連接對端的鏈路或主機失敗。兩個報文之間的時間間隔建議值為30秒。應用層的keepalive報文與TCP的keepalive選項是獨立的。
新聞熱點
疑難解答