簡介
外部網關協定(Exterior Gateway Protocol,EGP)是一個在自治系統網路中兩個鄰近的網關主機(每個都有它們自己的路由)間交換路由信息的協定。EGP常常被用來在英特網的兩個主機間交換路由表信息。路由表包括已知的路由器清單、它們能到達的地址以及與每個路由的路徑相關的成本度量,以便選出最好的可用路徑。每個路由器按照一定的時間間隔,通常在120秒到480秒之間,就給它的鄰近路由傳送信息,然後鄰近路由就會將自己的完整路由表發回給它。EGP-2是EGP的最新版本。
大部分的公司和機構將它們擁有的路由器組合成一個自治系統,自治系統的本地
路由選擇信息使用RIP或者OSPF等
內部網關協定進行收集。而在這些自治系統中,通過為位於各自自治區域邊界的兩台相鄰路由器提供交換路由選擇信息的方法,選擇一台或者多台路由器使用
EGP(外部網關協定,Exterior Gateway Protocol)與其他自治區域通信。EGP路由器只向其自治區域邊界上的路由器轉發
路由選擇表信息來獲得對方自治系統的路由信息,從而為
IP數據報選擇最佳路由。因此,EGP協定應具有以下三個基本功能:
1. 支持鄰站獲取機制,即允許一個路由器請求另一個路由器同意交換可達路由信息。
3. EGP鄰站周期性地傳送路由更新報文來交換網路可達路由信息。
EGP協定為了實現以上三個基本功能,定義了在該協定實現過程中使用的10種報文類型,如表1所示。
表1 EGP協定報文類型
報文類型 | 報文描述 |
獲取請求(Acquisition Request) | 請求路由器建立外部鄰站關係 |
獲取確認(Acquisition Confirm) | 對獲取請求報文的肯定回響 |
獲取拒絕(Acquisition Refuse) | 對獲取請求報文的否定回響 |
中止請求(Cease Request) | 請求路由器中止外部鄰站關係 |
中止確認(Cease Confirm) | 對中止請求報文的肯定回響 |
你好(Hello) | 請求外部鄰站回答是否活躍 |
已聽到(I Heard You) | 對Hello報文的回答 |
| 請求更新網路路由信息 |
路由更新(Routing Update) | 更新網路可達信息 |
差錯報文(Error) | 對不正確報文的回響 |
在
EGP協定中,所有的EGP報文都有其固定的報頭用於說明報文類型。EGP報文的報頭格式如圖1所示。
圖1 EGP報文頭格式
從圖1可以看出,版本欄位取整數值,指出該報文使用的
EGP協定版本號。以便接收方通過檢測來確認雙方是否使用相同版本的EGP協定。類型欄位指出EGP報文的類型,代碼欄位給出了報文的子類型。狀態欄位包含了與該報文有關的狀態信息。
校驗和欄位用來確認報文的正確到達,自治系統編號欄位表示傳送該報文路由器所在的自治系統編號。序號欄位用於收發雙方進行聯繫,路由器請求鄰站時賦值一個初始序號,以後每傳送一個報文,序號將增加1。鄰站回送最近收到的序號值,傳送方將回送值與傳送時的值做比較,以確保報文傳輸的正確性。
EGP建立外部路由器間通信的第一步是執行鄰居探測。在鄰居探測過程中,一個外部路由器向另一個外部路由器發出請求,要求同意它們共享
路由選擇表信息。在通信建立之後,路由器繼續測試
EGP鄰居是否正在回響。路由選擇表信息使用路由更新信息,按照120~480秒的間隔在EGP鄰居之間進行交換。鄰居通過傳送其完全路由選擇表做出回響。
EGP允許外部網關只通告在網關自治系統內完全可到達的目的網路,從而對外部網關加以限制。因此,外部網關使用EGP將信息傳遞到它的EGP鄰居,而不是在自治系統外部將其自己通告給路由器。
EGP有一個主要的局限:表示特定目的地的距離並不指定通往目的地的成本。EGP只報告目的地是否可到達。由於這種局限,EGP只能用於
樹型網路。所有的
路由選擇協定域必須連線到相同的中心網路。
由於所有的路由選擇協定域必須連線到相同的中心網路,所以EGP不支持循環的拓撲結構。EGP只能向給定網路通告一條路由。對於給定的任何兩台機器之間的通信量,不能分擔有效負載,並且當某種通信量狀況導致選擇路由中出現擁塞時,數據包可能選擇非最佳路由。因此,如果主路由失效,EGP很難切換到另一條備用路由。
當前形勢
當前國際網際網路含有大量智慧型網關和很多無智慧型的網關。智慧型網關使用網間
連線協定(
GGP)[3]動態地交換它們自身間的
路由選擇信息。無智慧型的網關不能動態地交換路由選擇信息。無智慧型的網關必須登記在智慧型網關
路由表上,而且智慧型網關列表中的無智慧型的網關狀態(例如,增加新無智慧型的網關)改變時需要人工干預。
在智慧型網關間路由通信量的量取決於智慧型網關的數目和網路的總數。因為無智慧型的網關典型情況下連線位於國際網際網路邊緣的單個網路,典型地在路由表中為每個無智慧型的網關存在一個或者多個網路。連線國際網際網路邊緣的單個網路的網關多半稱作"支線"網關。當前用於智慧型網關的
GGP程式有容量的限制。急切地需要對這個程式進行重大改進。這很難完成,因為智慧型網關由若干不同的團體維護,而且很難分離出這些網關的一個子集用於測試新程式。
將來形勢
在將來,根據情況看將有大量的平等的網關獨立系統。為了維護
路由選擇信息每個將擁有專用內部程式,也許通過一個
內部網關協定(
IGP)。網關的
智慧型化將導致被用於網關參予的
自治系統的IGP的智慧型化。每個自治系統的有些網關將通過一個外部網關協定(
EGP)[2]與其他的自治系統的一些網關交換路由選擇信息。
受原有
智慧型網關進入大量自治系統之內的影響答應更靈活的為了改善路由選擇過程進行開發和測試。不同的自治系統內部可以採用不同的路由選擇過程,只要他們通過EGP和其他的自治系統通訊。
過渡狀況
從當前形勢過渡到將來形勢的第一步是用至少實現了
EGP的一個子集的網關淘汰全部無智慧型的網關。
這些子集被稱作“支線外部網關協定”,並且在RFC0[1]中被描述。
第二步是將現存智慧型網關納入到
自治系統之中去。由不同的團體維護和編製程序的網關將變成不同的自治系統。照目前情況來看,這將導致一個十分龐大的自治系統和三個或四個小的自治系統。在這個階段大規模地自治系統可能稱為"核心"自治系統。全部其他的自治系統將要成為通過EGP附著於這個核心的支線。
第三步將規定完整的EGP協定,而且在平等的
自治系統間提供
作用
外部網關協定用於在非核心的相鄰網關之間傳輸信息。非核心網關包含網際網路上所有與其直接相鄰的網關的
路由信息及其所連機器信息,但是它們不包含Internet上其他網關的信息。對絕大多數
EGP而言,只限制維護其服務的區域網路或
廣域網信息。這樣可以防止過多的路由信息在區域網路或廣域網之間傳輸。EGP強制在非核心網關之間交流路由信息。
由於核心網關使用
GGP,非核心網關使用EGP,而二者都套用在Internet上,所以必須有某些方法使二者彼此之間能夠通信。Internet使任何自治(非核心)網關給其他系統傳送“可達”信息,這些信息至少要送到一個核心網關。如果有一個更大的自治網路,常常認為有一個網關來處理這些可達信息。
和GGP一樣,
EGP使用一個查詢過程來讓網關清楚它的相鄰網關並不斷地與其相鄰者交換
路由和狀態信息。EGP是狀態驅動的協定,意思是說它依賴於一個反映網關情況的狀態表和一組當狀態表項變化時必須執行的一組操作。