?? rfc911.txt
字號:
組織:中國互動出版網(http://www.china-pub.com/)
RFC文檔中文翻譯計劃(http://www.china-pub.com/compters/emook/aboutemook.htm)
E-mail:ouyang@china-pub.com
譯者:15222775@61.(15222775@61. hbzzx2001@yahoo.com.cn )
譯文發布時間:2002-1-18
版權:本中文翻譯文檔版權歸中國互動出版網所有。可以用于非商業用途自由轉載,但必須
保留本文檔的翻譯及版權信息。
BERKELEY UNIX 4.2下的EGP網關
(RFC911——EGP GATEWAY UNDER BERKELEY UNIX 4.2)
PAUL KIRTON
南加州大學信息科學學會
為來自澳大利亞電信研究實驗室的訪問研究員
22 August 1984
摘要
本報告描述了運行在 4.2BSD Unix操作系統上的外部網關協議的實現。 還對某些與局域
網配置相關的問題也進行了論述。
這個備忘錄情況∶
此備忘錄描述了外部網關協議(EGP)的實現(在這個意義上它是一個狀態報告)。備忘錄
也論述了某些可能的延伸和設計問題(在這個意義上它是更進一步討論的請柬)。這個備忘
錄的分發是不受限制的。
這個研究的基金基金是由國防高級研究項目管理局和澳大利亞電信公司供應的。
目錄
1. 介紹 2
1.1開發動機 3
1.2外部網關協議綜述 4
2. 網關設計 4
2.1路由表 5
2.1.1輸入更新 5
2.1.2輸出更新 6
2.2鄰居獲取 7
2.3 Hello和Poll輪詢間隔 7
2.4鄰居中止 8
2.5鄰居可達性 8
2.6序號 9
2.7過多命令的處理 9
2.8不適當的Messages 9
2.9缺省網關 10
⒊測試 10
⒋將來的改進 11
4.1多獨立系統 11
4.2接口監控 11
4.3網絡級狀態信息 11
4.4內部網關協議接口 12
⒌拓撲問題 12
5.1拓撲約束和路由回路 12
5.1.1背景 12
5.1.2現行政策 13
5.2當前ISI配置 14
5.2.1 EGP越過阿帕網 16
5.2.2 EGP越過ISI - NET 17
5.2.3潛在路由回路 17
5.3可能的未來配置 18
5.3.1去往UCI - ICS的網關 18
5.3.2動態轉到備份網關 18
5.3.2.1常用的操作 18
5.3.2.2主機初始化 19
5.3.2.3什么時候原始而且備份兩者都停機 19
5.3.2.4 Unix 4.2 BSD 19
⒍致謝 20
⒎參考資料 20
1. 介紹
外部網關協議(外部網關協議)[ Rosen 82;Seamonson & Rosen 84; Mills 84a]
已經允許不同的網關體系的自主開發雖然國際互聯網絡路由選擇信息仍然保持全球性分布。
EGP為不同的自治網關系統交換經由他們可以達到的網絡的信息提供一些方法。。
本報告主要敘述在一VAX計算機上運行的Berkeley Unix 4.2操作系統上的當做一個用戶進
程工作的EGP的實現。
還對某些涉及局域自治系統配置相關的問題也進行了論述。
該EGP實現是試驗性的而不是Unix 4.2 BSD的一部分。 可以預料伯克來將來可能加入一
個EGP版本。
該程序是由C語言編寫。 EGP部分是以Liza Martin在麻省理工學院寫成的C - Gateway程
序代碼為基礎,而且路由管理部分以Unix 4.2 BSD路由管理守護進程" routed "為基礎。
除非特別聲明,該EGP功能與[ Mills 84a]的規范一致。
假定已具有在[ Seamonson & Rosen 84; Mills 84a]敘述的EGP知識。。
本章論述該工程的動機,第2章敘述網關設計,第3章為測試,第四章建議一些改進并且第5
章論述拓撲結構問題。
關于運行該EGP程序和該軟件說明的詳細資料刊登于ISI研究報告ISI/RR - 84 - 145 [ Kirton
84]。
該EGP程序的copies和文本的請求應該發送給Joyce Reynolds ( JKReynolds@_USC -
ISIF.ARPA)。沒有提供軟件支持。
1.1開發動機
與EGP的介紹相一致,internet網關被分成由Bolt, Beranek和Newman ( BBN)維護的"核心"
自治系統( AS)和許多由不同的組織維護的最少具有一個與一個核心AS網關共有的網絡的
"stub " AS。
該核心AS可能充當傳遞路由選擇信息的集線器
_______________
*
Unix is a trade mark of AT&T
* *
VAX是Digital Equipment Corporation的商標
不同的stub AS ' s以便它僅僅需要stub AS能與核心網關一起執行EGP。 更進一步的細節
在[ Rosen 82]中給出。
在本工程中,在internet中曾有28個" non - routing "網關。 Non - routing網關不能交換路
由選擇信息,但是需要在核心網關路由選擇表中的靜態的記錄。 1984年八月1日以后,
這些靜態表目已經刪除并且先前地non - routing網關被要求動態地經由EGP [ Postel 84]傳達
本消息給核心網關。
在該USC信息科學研究所( ISI)曾有一個non - routing網關去往處于Irvine網絡( UCI - ICS)
上的加利福尼亞大學。 由于從核心網關列表中消除了non - routing網關,必須通知該路由
到UCI - ICS的核心ISI網關使用EGP。
還有,萬一該核心ISI網關當機的話我們想要在ISI - NET和ARPANET之間具備一個備份網
關。 如此以來,網關可能需要經由EGP運輸路由選擇信息。 ISI網絡配置的細節在5.2節
進行論述。
Of the 28 non-routing gateways 23 were implemented by Unix systems, including
ISI's. 還有, ISI的被提議的備份網關是UNIX操作系統。因此存在局部和普遍的需要外部網
關協議實現運行在 Unix下面。 當前包括Department of Defense ( DoD)協議的UNIX操作系
統的版本是Berkeley Unix 4.2 ,所以它中選。
1.2外部網關協議綜述
本報告假定了解外部網關協議,然而為完整起見這里給出一個簡短概觀。為了解EGP背景詳
情請查閱[ Rosen 82], [ Seamonson & Rosen 84]提供了非正式的描述,并且[ Mills 84a]提供了
進一步格式說明和實現細節。
EGP通常在不同AS中的且具有有一個公用網絡的網關即鄰居網關之間傳輸。
公用網絡即鄰居網關。
EGP包含三個程序,鄰居獲得,鄰居可達性和網絡可達性。
鄰居獲得是一次雙向握手,在此過程中網關對通過交換請求和確認報文(包括最少Hello和
Poll間隔值)來進行傳導達成一致。 通過交換停止和停止確認報文終止獲取過程。
鄰居可達性是一個Hello commands和確保各網關正在運行的I - H -U ( I heard you)回應周期
式交換。。 當前30秒最小間隔被用于越過ARPANET。 只有一個網關必須發送一些命令,
其他的網關可以利用這些命令判斷可達性。
正發送可達性命令的網關叫做處于主動態,而正回答的網關叫做處于被動態。
網絡可達性由周期地發送Poll commands和接受表明該網絡經由一或多個在共享網絡上的網
關可以達到的更新應答來判斷。 當前2分鐘最小間隔被用于越過ARPANET。
2. 網關設計
EGP是一種具有松散定時約束的polling協議。 因此,唯一要求具有較高性能的功能是包轉
發。 Unix 4.2已經將包轉發技術嵌入到內核內核內部,在那里可以達到最佳性能。
在編寫Unix 4.2的時候,沒有為誤編路由的包發送ICMP ( Internet控制消息協議)重定向報
文。
這是一個必要ofinternet網關并且Berkeley以后將加入。
EGP和路由更新功能作為一個用戶進程實現。 因為只有微小的更改需要加入Unix內核,
這簡化了開發和分配。 這個方法與基于Xerox NS路由信息協議( Routing Information
Protocol [ Xerox 81])的Unix路由分配程序" routed " [ Berkeley 83]的方法是類似的。
2.1路由表
一個路由由一個目的網絡號組成,相鄰網關的地址用在直接相連的網絡上,而且用到達目的
網絡的網關站數作為距離的公制。
存在兩組路由表,內核列表(被用于包轉發技術)和EGP進程表。 該內核已經為主機和網
絡目的地設立了獨立的列表。 EGP進程僅維護網絡路由表。 當接到EGP更新報文時EGP
列表被更新。 當一個路由被更改時核心網絡列表通過SIOCADDRT和SIOCDELRT ioctl
系統調用被更新。 在初始化時為了保持一致性,內核網絡路由表由內核存儲映象文件
/dev/kmem讀取并被拷貝到EGP列表中。
此EGP的實現被設計成在網關(也是一個主機)上運行。
因為用polling獲得路由更新相對較慢,在通過EGP通知EGP進程之前主機通過ICMP重
定向收到路由變更的通告是可能的. 重定向直接更新內核列表。 EGP進程在一個生疏的插
座上偵聽重定向報文并且更新它的路由表以維護它們與內核的一致性。
EGP進程和路由表被當做兩個單獨的列表進行維護,一個為外部路由( via different AS網關)
而一個為內部路由(通過此AS的網關)。 外部路由表通過EGP更新報文更新。 內部路由
表當前是靜態的并且在初始化時設定。 它包括全部直接連接的網絡,通過SIOCGIFCONF
ioctl系統調用和任何內部非routing網關讀自外部網關協議初始化文件, EGPINITFILE來確
定。 將來內部路由表可以被內部網關協議( IGP)動態地更新.
為外部和內部路由維護單獨的列表簡化了僅包含內部路由選擇信息[ Mills 84b]的傳出更新
報文的準備。 在內部路由失敗情況下,還允許選擇作為內部路由備份保存的外部路由進行
替換。
候選路由標記以RTS_NOTINSTALL從而表明該內核路由將不會被更新。 在當前的實現中
候選路由不被使用。
2.1.1輸入更新
EGP更新用來更新外部路由表,如果滿足下列中的一個:
-不存在目的網絡的路由表項而且公制表明該路由是可以達到的。
-被報告的網關與當前路由相同。
-被報告的距離公制小于當前公制。
當前路由比全部已經獲取的EGP鄰居極限輪詢間隔舊。 簡而言之,該路由被來自上次
的更新所忽略。
除了省缺路由之外,如果任一外部路由表項在4分鐘或3次最大輪詢間隔(任何一個較大的)
時間內沒有被EGP更新,該外部路由表項被刪除。
如果獲得了多個EGP鄰居,對來源于他們的更新報文按照接收的先后順序做相同的處理。
在最壞的情況中,即一個路由變成時間比較久的路由而且該較舊的路由最初沒有被公布為不
可達時,可以使用兩個輪詢間隔去更新一個路由。 With the current poll interval this could be 4
minutes. 在Unix 4.2 BSD下,TCP連接(傳輸控制協議)在空閑6分鐘之后被自動地關閉。 所
以最壞的情況也不會導致TCP連接自動結束。o
2.1.2輸出更新
輸出更新包括來自內部路由表的直接地和靜態網絡,除了與 EGP鄰居共享的網絡之外。。
允許在更新中被通知的網絡可以在初始化時用EGPINITFILE規定。 這些允許精確的路由以
排除來自(可能的)路由回路情況下的外部更新。 其它必須有這個選項的情況是,非路由網
關屬于一個不同的AS而這個AS還沒有實現EGP時。 它的路由可能需要被歸入核心路由
表但是他們沒有被允許在輸出更新中被告知。
如果內部路由表包括其他的在與 EGP鄰居共享的網絡上的內部網關,它們將被作為他們所
連網絡的合適初站而包含在更新中。
到網絡的距離按照內部路由表進行設置,除非路由標志為down,而在這樣情況下距離設置
為255。 目前路由僅在輸出接口當機時才被標記為down。 為了給各輸出更新做準備,預
先用SIOCGIFFLAGS ioctl系統調用校驗所有接口的狀態。
未經請求的更新不予發送。
2.2鄰居獲取
EGPINITFILE列出了可信賴的EGP鄰居網關的地址,在初始化時讀取。 這些通常是核心
網關,因為只有核心網關提供完整的internet路由選擇信息。 編寫的時候在阿帕網上存在
三個核心網關支持EGP CSS - GATEWAY, ISI - GATEWAY和PURDUE - CS - GW,而且兩個
在MILNET, BBN - MINET - A - GW和AERONET - GW上。
EGPINITFILE還包含每次所能獲得的網關的最大值。 期望值通常為一。 如果這個網關被
宣布為down,另一個列表中的網關于是在充分的時間內將被自動地獲取以確保當前路由不
超時。
該網關將僅接受來自在可信賴列表中鄰居的獲取,而且如果它已經獲得它的最大量限額就不
會接受他們。 這個防止接受來自可能不可靠的來源的更新。
因為不是所有核心網關都運行EGP,所以不包含獲得核心網關不在信任列表中的但是已經
通過更新報文間接地獲悉的核心網關的功能。
新的獲取請求被發給鄰居,為了使他們出現在EGPINITFILE中。 新的請求如果不大于還
有待于獲得的鄰居的最大數的話就被立即發送。 許多突發請求用32秒間隔最多重傳5次,
這時候獲取重發間隔增加到4分鐘。 只要已經獲得了最大數量的鄰居,具有突出的請求的
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -