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