天天看點

BGP邊界網關協定概述

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選項是獨立的。