2006-06-20
一、背景
路由包括兩個基本的動作:確定最佳路徑和資訊群(通常稱為分組)通過網路的傳輸。通過網路傳輸分組相對較簡單, 而路徑的確定可以分複雜。bgp就是當今網路中實現路徑選擇的一種協議。本文簡述bgp的基本操作,並提供其協議元件的描述。
bgp在tcp/ip網中實現域間路由。bgp是一種外部閘道器協議(egp),即它在多個自治系統或域間執行路由、 與其它bgp系統交換路由和可達性資訊。>
bgp設計用以代替其前身(現在已不用了)外部閘道器協議(egp)作為全球網際網路的標準外部閘道器路由協議。 bgp解決了egp的嚴重問題,能更有效地適應網際網路的飛速發展。
注:egp是外部閘道器協議(也叫egp)的一種,這二者不要混淆。
下面是核心路由器用bgp在as間路由資料的示意圖。
bgp在多個rfc中規定:
rfc1771 - 描述了bgp4,即bgp的當前版本。
rfc1654 - 描述了第乙個bgp4規範。
rfc1105,rfc1163和rfc1267 - 描述了bgp4之前的bgp版本。
二、bgp操作
bgp執行三類路由:as間路由、as內部路由和貫穿as路由。
as間路由發生在不同as的兩個或多個bgp路由器之間,這些系統的對等路由器使用bgp來維護一致的網路拓撲檢視, as間通訊的bgp鄰居必須處於相同的物理網路。網際網路就是使用這種路由的例項,因為它由多個as(或稱管理域)構成, 許多域為構成網際網路的研究機構、公司和實體。bgp經常用於為網際網路內提供最佳路徑而做路由選擇。 as內路由發生在同一as內的兩個或多個bgp路由器間,同一as內的對等路由器用bgp來維護一致的系統拓撲檢視。 bgp也用於決定哪個路由器作為外部as的連線點。再次重申,網際網路提供了as間路由的例項。乙個組織,如大學, 可以利用bgp在其自己的管理域(或稱as)內提供最佳路由。bgp協議既可以提供as間也可以提供as內部路由。
貫穿(pass-through)as路由發生在通過不執行bgp的as交換資料的兩個或多個bgp對等路由器間。在貫穿as環境中, bgp通訊既不源自as內,目的也不在該as內的節點,bgp必須與as內使用的路由協議互動以成功地通過該as傳輸bgp通訊, 下圖所示為貫穿as環境:
三、bgp路由
與其它路由協議一樣,bgp維護路由表、傳送路由更新資訊且基於路由metric決定路由。 bgp系統的主要功能是交換其它bgp系統的網路可達資訊,包括as路徑的列表資訊,此資訊可用於建立as系統連線圖, 以消除路由環,及執行as級策略確定。
每個bgp路由器維護到特定網路的所有可用路徑構成的路由表,但是它並不清除路由表, 它維持從對等路由器收到的路由資訊直到收到增值(incremental)更新。
bgp裝置在初始資料交換和增值更新後交換路由資訊。當路由器第一次連線到網路時,bgp路由器交換它們的整個bgp路由表, 類似的,當路由表改變時,路由器傳送路由表中改變的部分。bgp路由器並不週期性傳送路由更新, 且bgp路由更新只包含到某網路的最佳路徑。
bgp用單一的路由metric決定到給定網路的最佳路徑。這一metric含有指定鏈路優先順序的任意單元值, bgp的metric通常由網管賦給每條鏈路。賦給一條鏈路的值可以基於任意數目的尺度, 包括途經的as數目、穩定性、速率、延遲或代價等。
四、bgp訊息型別
rfc1771中規定了四種bgp訊息型別:初始(open)訊息,更新訊息、通知訊息和keep-alive訊息。
初始訊息在對等路由器間開啟乙個bgp通訊會話,是建立傳輸協議後傳送的第乙個訊息, 初始訊息由對等裝置傳送的keep-alive訊息確認,且必須得到確認後才可以交換更新、通知和keep-alive訊息。
更新訊息用於提供到其它bgp系統的路由更新,使路由器可以建立網路拓撲的一致檢視。更新用tcp傳送以保證傳輸的可靠性。 更新訊息可以從路由表中清除一條或多條失效路由,同時發布若干路由。
通知訊息在檢查到有錯誤時傳送。通知訊息用於關閉一條活動的會話,並通知其它路由器為何關閉該會話。
keep-alive訊息通知對等bgp路由器該裝置仍然alive。keep-alive訊息發布足夠頻繁以防止會話過期。
五、bgp分組格式
本節簡述bgp初始、更新、通知和keep-alive訊息型別及基本的bgp信頭格式。
1、信頭格式
所有的bgp訊息型別都使用基本的分組信頭。初始、更新和通知訊息有附加的域,而keep-alive訊息只使用基本的分組信頭。
下圖為bgp信頭使用的域:
每個bgp分組都包含信頭,其主要目的是標識該分組的功能。下面簡述信頭中的每個域。
標記 - 含有認證值。
長度 - 指示訊息的總長度,以位元組計。
型別 - 標識訊息型別為下列型別之一:
初始
更新
通知
keep-alive
資料:為可選域,含有上層資訊。
2、初始訊息格式
bgp初始訊息由bgp信頭和附加域構成,下圖為bgp初始訊息的附加域:
在信頭的型別域中標識為bgp初始訊息的bgp分組包含下列各域,這些域為兩個bgp路由器建立對等關係提供了交換方案:
版本 - 提供bgp版本號,使接收者可以確認它是否與傳送者執行同一版本協議。
自治系統 - 提供傳送者的as號。
保持時間(hold-time) - 在傳送者被認為失效前最長的不接收訊息的秒數。
bgp標識 - 提供傳送者的標識(ip位址),在啟動時決定,對所有本地介面和所有對等bgp路由器而言都是相同的。
可選引數長度 - 標識可選引數域的長度(如果存在的話)。
可選引數 - 包含一組可選引數。目前只定義了乙個可選引數型別:認證資訊。認證資訊含有下列兩個域:
認證碼:標識使用的認證型別。
認證資料:包含由認證機制使用的資料。
3、更新訊息格式
bgp更新訊息由bgp信頭和附加域構成,下圖為bgp更新訊息的附加域:
收到更新訊息分組後,路由器就可以從其路由表中增加或刪除指定的表項以保證路由的準確性。更新訊息包含下列域:
失效路由長度 - 標識失效路由域的總長度或該域不存在。
失效路由 - 包含一組失效路由的ip位址字首。
總路徑屬性長度 - 標識路徑屬性域的總長度或該域不存在。
路徑屬性 - 描述發布路徑的屬性,可能的值如下:
源:必選屬性,定義路徑資訊的**。
as路徑:必選屬性,由一系列as路徑段組成。
下一跳:必選屬性,定義了在網路層可達資訊域中列出的應用作到目的地下一跳的邊緣路由器的ip位址。
多重出口區分:可選屬性,用於在到相鄰as的多個出口間進行區分。
本地優先權:可選屬性,用以指定發布路由的優先權等級。
原子聚合:可選屬性,用於發布路由選擇資訊。
聚合:可選屬性,包含聚合路由資訊。
網路層可達資訊 - 包含一組發布路由的ip位址字首。
4、通知訊息格式:
下圖為bgp通知訊息使用的附加域:
通知訊息分組用於給對等路由器通知某種錯誤情況。
錯誤碼 - 標識發生的錯誤型別。下面為定義的錯誤型別:
訊息頭錯:指出訊息頭出了問題,如不可接受的訊息長度、標記值或訊息型別。
初始訊息錯:指出初始訊息出了問題,如不支援的版本號,不可接受的as號或ip位址或不支援的認證碼。
更新訊息錯:指出更新訊息出了問題,如屬性列表殘缺、屬性列表錯誤或無效的下一跳屬性。
保持時間過期:指出保持時間已過期,這之後bgp節點就被認為已失效。
有限狀態機錯:指示期望之外的事件。
終止:發生嚴重錯誤時根據bgp裝置的請求關閉bgp連線。
錯誤子碼 - 提供關於報告的錯誤的更具體的資訊。
錯誤資料 - 包含基於錯誤碼和錯誤子碼域的資料,用於檢測通知訊息傳送的原因。
BGP 邊界閘道器協議
1為自治系統號 neighbor 192.168.2.2 remote as 2 2為鄰居自治系統號 neighbor 192.168.1.2 remote as 4 network 192.168.1.0 mask 255.255.255.0 network 192.168.2.0 mask 25...
BGP(邊界閘道器協議)
建立對等體注意點 配置bgp 自治系統 as 指的是在同乙個組織管理下 使用相同策略的裝置的集合。不同as通過as號區分,as號取值範圍1 65535,其中64512 65535是私有as號。iana負責as號的分發。中國電信163 as號 4134 中國電信cn2 as號 4809 中國網通as號...
BGP 邊界閘道器協議
一.基本概念 二.bgp特點 三.bgp分類 四.bgp的工作原理 一 bgp的報文 bgp對等體間通過一萬五種報文進行互動,其中keepalive報文為週期性傳送,其餘報文為接觸式傳送 二 bgp狀態機 二 九個原則 三 bgp的命令 bgp 100 router id 1.1 1.1 peer ...