
圖一
3.BGP-4的基本概念BGP-4是典型的外部網關協議,是現行的因特網實施標準。它完成了在自治系統AS間的路由選擇。可以說,BGP協議是現代整個網絡的支架。BGP-4在RFC1771中作出了規定,并且還涉及其他很多的RFC文檔。在這一新版本中,BGP開始支持CIDR(Classless interdomains routing)和AS路徑聚合(Aggregation),這種新屬性的加入,可以減緩BGP表中條目的增長速度。
圖二
BGP協議是一種距離矢量(Distance vector)的路由協議,但是比起RIP等典型的距離矢量協議,又有很多增強的性能。BGP使用TCP作為傳輸協議,使用端口號179。在通信時,要先建立TCP會話,這樣數據傳輸的可靠性就由TCP協議來保證,而在BGP的協議中就不用再使用差錯控制和重傳的機制,從而簡化了復雜的程度。另外,BGP使用增量的、觸發性的路由更新,而不是一般的距離矢量協議的整個路由表的、周期性的更新,這樣節省了更新所占用的帶寬。BGP還使用“保留”信號(Keepalive)來監視TCP會話的連接。而且,BGP還有多種衡量路由路徑的度量標準(稱為路由屬性),可以更加準確的判定出最優的路徑。與傳統的內部路由協議相比,BGP還有一個有趣的特性,就是使用BGP的路由器之間,可以被未使用BGP的路由器隔開。這是因為BGP在獨立的內部路由協議之上工作,所以通過BGP會話連接的路由器能被多個運行內部路由協議的路由器分開。建立了BGP會話連接的路由器被稱作對等體(peers or neighbors),對等體的連接有兩種模式:IBGP(Internal BGP)和EBGP(External BGP)。IBGP是指單個AS內部的路由器之間的BGP連接,而EBGP則是指AS之間的路由器建立BGP會話。
圖三前面已經提到,BGP是用來完成AS之間的路由選擇的,所以對于BGP來說,每一個AS都是一個原子的跳度。那么,IBGP又起什么樣的作用呢?IBGP是用來在AS內部完成BGP更新信息的交換。雖然這種功能也可以由“再分布” (Redistribution)技術來完成——將EBGP傳送來的其他AS的路由“再分布”到IGP中,然后將其“再分布”到EBGP傳送到其他AS。但是相比之下,IBGP提供了更高的擴展性、靈活性和治理的有效性。比如,IBGP提供了選擇本地AS外出點的方式。IBGP的功能是維護AS內部連通性。BGP規定,一個IBGP的路由器不能將來自另一IBGP路由器的路由發送給第三方IBGP路由器。這也可以理解為通常所說的Split-horizon規則。當路由器通過EBGP接收到更新信息時,它會對這個更新信息進行處理,并發送到所有的IBGP及余下的EBGP對等體;而當路由器從IBGP接收到更新信息時,它會對其進行處理并僅通過EBGP傳送,而不會向IBGP傳送。所以,在AS中,BGP路由器必須要通過IBGP會話建立完全連接的網狀連接,以此來保持BGP的連通性。假如沒有在物理上實現全網狀(full meshed)的連接,就會出現連通性上的問題(這在大型網絡中會碰到擴展性的問題,將在下面“擴展性”一節中作討論。)
圖四聯盟則是將AS再劃分成子AS(sub AS),在sub AS中運行IBGP,使用全網狀結構;而在sub AS之間使用EBGP,這樣也可減少對IBGP連接的需求。聯盟同樣也存在缺陷,如路由選擇等。所以和路由反射器一樣,一般只在存在很多IBGP連接時才會使用聯盟技術。7.BGP的使用BGP的功能是在各AS之間完成路由選擇。它主要用于ISP(Internet Service Provider)之間的連接和數據交換。但是,并不是所有情況下BGP都適用。使用BGP會大大增加路由器的開銷,并且大大增加規劃和配置的復雜性。所以,使用BGP協議需要先做好需求分析。一般來說,假如本地的AS與多個外界AS建立了連接,并且有數據流從外部AS通過本地AS到達第三方的AS,那么可以考慮使用BGP來控制數據流。假如本地AS與外界只有一個連接(通常說的stub AS),而且并不需要對數據流進行嚴格控制,那就不必使用BGP協議,而可以簡單的使用靜態路由(Static route)來完成與外部AS的數據交換。另外,硬件和線路的原因也會影響到BGP的選擇。如前所說,使用BGP會加大路由器的開銷,并且BGP路由表也需要很大的存儲空間,所以當路由器的CPU或者存儲空間有限時,或者帶寬太小時,不宜使用BGP路由協議。8.總結BGP的主要功能是連接各個AS,提供AS之間的信息交換。各個BGP系統之間交換路由信息,來保證得到一個無環路的路由結構。BGP還提供了在AS的水平上的路由策略的選擇方式,以優化路由選擇。作為整個互聯網的整體支架,BGP提供了一個功能強大的連接AS的工具,但是它在使用中也存在一定的局限性,所以在決定使用之前一定要作認真分析,以確定是否使用BGP以及具體實施方案。 新聞熱點
疑難解答