?? rfc888.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)信息。
Linda J. Seamonson
Eric C. Rosen
BBN Communications
January 1984
“煙頭”外部網(wǎng)關(guān)協(xié)議
(RFC888——"STUB" EXTERIOR GATEWAY PROTOCOL)
本注釋所闡述的外部網(wǎng)關(guān)協(xié)議用來講一個煙頭網(wǎng)關(guān)聯(lián)到一個自治系統(tǒng)的核心網(wǎng)關(guān)上。文
獻規(guī)定了工作協(xié)議,并定義了一個ARPA官方協(xié)議。所有網(wǎng)關(guān)的編寫這都應(yīng)該仔細閱讀
本文。
目錄
1 介紹 1
2.定義與概論 2
3.鄰居獲得 3
4.鄰居可達性協(xié)議 3
5.網(wǎng)絡(luò)可達(NR)報文 4
6.NR報文輪詢技術(shù) 6
7.發(fā)送NR報文 6
8.間接鄰居 7
9.局限性 7
1 介紹
DARPA catenet 有希望成為一個不斷擴展的系統(tǒng),因為有越來越多的網(wǎng)絡(luò)上的越來越多
的主機不斷加入其中。當然這需要更多的網(wǎng)關(guān)。過去,這種擴展以一種相對無組織的形式進
行。新網(wǎng)關(guān),通常包含了于現(xiàn)存網(wǎng)關(guān)極為不同的的軟件,將不斷增加并立即通過EGP協(xié)議
參與共同路由算法。然而隨著因特網(wǎng)變得越來越大,這種簡單的擴展方式變得越來越不可行。
原因是:
——路由算法的開銷變得過大;
——大量截然不同的網(wǎng)關(guān)參與同一路由算法,使得管理和錯誤隔離幾乎不可能。因為已
經(jīng)不能將因特網(wǎng)看作是一個完全的通信系統(tǒng)。
——網(wǎng)關(guān)軟件和算法尤其是路由算法臺死板和缺乏靈活性,因為任何改變必須經(jīng)過太多
的部門和太多的人才能完成。
將來,我們希望因特網(wǎng)進化成一組單獨的部分或“自治系統(tǒng)”。每個都是由一個或多個
相對同構(gòu)的網(wǎng)關(guān)組成。協(xié)議特別是(這些網(wǎng)關(guān)用在他們自身之間的)路由算法應(yīng)當是一種私
人問題,而絕不需要在網(wǎng)關(guān)內(nèi)部實現(xiàn),除非特殊部分或系統(tǒng)。
最簡單的情況下,一個自治系統(tǒng)僅由單個網(wǎng)關(guān)組成,這個網(wǎng)關(guān)將局域網(wǎng)連到(如)ARPA
網(wǎng)上。我們稱這種網(wǎng)關(guān)為“煙頭”網(wǎng)關(guān),因為他唯一的目的是將本的網(wǎng)絡(luò)連接到因特網(wǎng)的其
他部分上,既沒有打算用他處理發(fā)自本地網(wǎng)絡(luò)內(nèi)部的通信流也沒有打算用他處理去網(wǎng)那個本
地網(wǎng)的通信流。不久的將來,我們把因特網(wǎng)看作一組自治系統(tǒng),一個由ARP網(wǎng)和STANET
上的DARPA網(wǎng)關(guān)組成,其他的是一些到達局域網(wǎng)的網(wǎng)關(guān)。前者,被我們成為“核心”的系
統(tǒng)——被后者用作為傳輸或“長途運輸”系統(tǒng)。
最后,因特網(wǎng)由一組自治系統(tǒng)組成,每個可能被來自任意系統(tǒng)或去往任意系統(tǒng)的通信作
為傳輸介質(zhì)。這種常見的情況仍然是研究的主題。本論文僅僅描述了怎樣用外部網(wǎng)關(guān)協(xié)議
(EGP)把“煙頭”網(wǎng)關(guān)連接到核心系統(tǒng)。
2.定義與概論
為了達到本文的目標,必須將煙頭網(wǎng)關(guān)定義為:
——它不是一個核心網(wǎng)關(guān)。
——它至少和一個核心網(wǎng)關(guān)(象某些核心網(wǎng)關(guān)一樣在同一個網(wǎng)絡(luò)上具有一個接口)
共享一個接口。
——它具有到達一個或多個沒有核心網(wǎng)關(guān)的網(wǎng)關(guān)的接口。
——其他所有通過煙頭核心系統(tǒng)才能到達的網(wǎng)絡(luò)不可見除非通過煙頭有別的到達
核心系統(tǒng)的路徑。
煙頭網(wǎng)關(guān)被期望完全處理互聯(lián)網(wǎng)控制報文協(xié)議(ICP)和EGP協(xié)議。具體的,他必
須響應(yīng)ICMP的每個請求。,必須適當?shù)陌l(fā)送ICMP目的地死亡報文。他還必須適當?shù)?發(fā)送ICMP重定向報文。
自治系統(tǒng)應(yīng)被指定一個16位號碼(由許多相同的方法如現(xiàn)在也給網(wǎng)絡(luò)和協(xié)議指定
號碼),并且每個EGP報文頭部為這個數(shù)含有一個域。零不被指定給任何系統(tǒng);零作為
一個自治系統(tǒng)的用法留在將來使用。
我們稱兩個網(wǎng)關(guān)為鄰居,如果存在一個到達每個網(wǎng)關(guān)都有一個接口的網(wǎng)絡(luò)。如果兩
個網(wǎng)關(guān)是同一個自治系統(tǒng)的組成部分,我們稱他們?yōu)閮?nèi)部鄰居;如任何兩個位于同一網(wǎng)
絡(luò)上的兩個核心網(wǎng)關(guān)稱為內(nèi)部鄰居。如果兩個網(wǎng)關(guān)不是同一個自治系統(tǒng)的組成部分,我
們稱他們?yōu)橥獠苦従樱蝗绻粋€核心網(wǎng)關(guān)和一個煙頭網(wǎng)關(guān)共享一個網(wǎng)絡(luò),我們稱之為外
部網(wǎng)關(guān)。為了使一個系統(tǒng)將另一個作為通信介質(zhì),互為外部鄰居的網(wǎng)關(guān)必須能夠知道那
個網(wǎng)絡(luò)必須通過那些網(wǎng)絡(luò)才能到達。外部網(wǎng)關(guān)協(xié)議使這個信息能夠在兩個外部鄰居之間
進行傳遞。因為它是一個輪詢協(xié)議,他也能讓每個網(wǎng)關(guān)控制和接收網(wǎng)絡(luò)可大性信息的速
率,允許每個系統(tǒng)控制它自己的開銷。他還使得每個系統(tǒng)具有自主的路由算法,這些算
法不會因為其他系統(tǒng)的失敗而中斷。外部網(wǎng)關(guān)協(xié)議具有三個部分(a)鄰居獲得協(xié)議(b)
鄰居可達性協(xié)議和(c)網(wǎng)絡(luò)可達性判斷。注意,所有EGP定義的報文僅傳播一站。即
他們在一個網(wǎng)關(guān)產(chǎn)生并發(fā)送到一個鄰居網(wǎng)關(guān)而不調(diào)停任何干涉網(wǎng)關(guān)。因此,生存時間應(yīng)
設(shè)成一個很小的數(shù)。如果網(wǎng)關(guān)在報文流中收到EGP報文但地址不是指向他們,網(wǎng)關(guān)會
刪除它們。
每個EGP報文含有一個序列號。網(wǎng)關(guān)應(yīng)為每個鄰居維護一個序列號。
3.鄰居獲得
能夠從外部網(wǎng)關(guān)那里獲得路由信息之前,必須象捕獲直接鄰居一樣獲得它(直接鄰
居和間接鄰居之間的差別下面將給以解釋)。為了讓兩關(guān)網(wǎng)關(guān)稱為直接鄰居,按照前面
定義的含義,并且他們必須執(zhí)行鄰居獲得協(xié)議,簡單的講他是一個兩次握手標準。
一向根其他網(wǎng)關(guān)啟動鄰居請求的網(wǎng)關(guān),給他發(fā)出一個鄰居獲得請求。這個報文應(yīng)重
復發(fā)送(以合適的速度過去大約每30秒一次),知道收到一個鄰居獲得應(yīng)答或鄰居獲
得拒絕。請求應(yīng)含有一個標示號,以便拷貝進應(yīng)答后應(yīng)答和請求相匹配。
收到鄰居獲得請求的網(wǎng)關(guān)必須決定它是否象成為發(fā)出請求者的直接鄰居。如果不,
他也許在它的選項上用一個鄰居獲得拒絕給以響應(yīng),隨便規(guī)定拒絕的原因。否則他會發(fā)
送一個鄰居獲得應(yīng)答報文。
發(fā)出請求的網(wǎng)關(guān)當他收到鄰居的應(yīng)答后應(yīng)認為鄰居獲得已完成,。發(fā)出應(yīng)答的網(wǎng)關(guān)
應(yīng)認為鄰居獲得已完成,當他發(fā)出應(yīng)答后。
經(jīng)過一段合理的時間后,不匹配的應(yīng)答和拒絕被丟棄。然而所有這些不匹配的信息
對于診斷確實有用的。
來自已成為直接鄰居網(wǎng)關(guān)的鄰居獲得請求請求應(yīng)給予一個應(yīng)答作為響應(yīng)。
從網(wǎng)關(guān)G到網(wǎng)關(guān)G'的鄰居獲得請求或應(yīng)答應(yīng)載有G迅速回答給G'的鄰居可達性
Hello報文所用的最小時間段(以秒為單位)和G被迅速去掉NR報文(見下文) 所用的
最小時間段(以秒為單位)。
如果一個網(wǎng)關(guān)不想成為繼續(xù)成為一個特定外部網(wǎng)關(guān)的鄰居,他發(fā)送一個鄰居終止報
文。收到鄰居終止報文的網(wǎng)關(guān)應(yīng)用一個鄰居終止確認給以響應(yīng)。他應(yīng)停止把報文發(fā)送者
以任何方式作為鄰居看待。因為有大量協(xié)議運行在直接鄰居之間(見下文),如果某些
網(wǎng)關(guān)不再需要成為其他的直接網(wǎng)關(guān),他用一個鄰居終止報文很禮貌的指出這個事實。在
收到它的確認之前,鄰居終止報文應(yīng)重復傳輸直到一定次數(shù)。收到鄰居終止報文之后,
鄰居可達性協(xié)議應(yīng)被停止處理。
煙頭應(yīng)具有一些表,其內(nèi)配置有一些具有和他共同網(wǎng)絡(luò)的核心網(wǎng)關(guān)(僅由兩到三個)
的地址。煙頭的責任應(yīng)是使用這些網(wǎng)關(guān)發(fā)動鄰居獲取。如果煙頭的直接鄰居全部失敗,
煙頭還有一個最少獲得一個直接鄰居的責任。它能做到這些,通過選擇已經(jīng)成為它的間
接鄰居(見下文)的核心網(wǎng)關(guān)中的一個,并且用他執(zhí)行鄰居獲得協(xié)議。(在任何一個時
間僅一個核心網(wǎng)關(guān)總是愿意成為一個給定煙頭網(wǎng)關(guān)的直接鄰居。)
4.鄰居可達性協(xié)議
對一個網(wǎng)關(guān)而言,保持它的諸如鄰居可達性這樣的事時信息是十分重要的。如果一
個網(wǎng)關(guān)斷定某個特定的鄰居不可達,他應(yīng)停止向那個網(wǎng)關(guān)發(fā)送通信流。為了做出判斷,
一個鄰居可達性協(xié)議是必須的。EGP協(xié)議為此提供了兩種報文類型——hello和I heard
you報文。
從直接鄰居那里收到一份hello報文時,必須立即給那個直接鄰居返回一個I heard
you報文。收到hello和返回I heard you 之間絕不能大于幾秒。
為了判斷一個外部鄰居的可達性,核心網(wǎng)關(guān)將使用下列算法:
一個可達鄰居將被公布為不可達,如果核心網(wǎng)關(guān)上次發(fā)送了n個hello而在此之間
收到的回答少于K個I heard you的話。一個不可達網(wǎng)關(guān)應(yīng)被被公布可達,如果核心網(wǎng)關(guān)
上次發(fā)送了m個hello而在此之間收到的回答至少j個I heard you的話。
煙頭網(wǎng)關(guān)也會給他們的直接鄰居發(fā)送hello并且也會收到I heard you作為回答。判
斷可達性的算法可能相似于上面描述的算法。但是對煙頭網(wǎng)關(guān)而言發(fā)送hello不是必須
的。Hello和I heard you報文具備一個狀況域,發(fā)送網(wǎng)關(guān)用它來指出他認為接收網(wǎng)關(guān)是
可達的還是不可達的。這個信息對于診斷十分有用。他還允許煙頭網(wǎng)關(guān)將它的可達性判
斷寄生在它的核心鄰居上:事實上只有核心網(wǎng)關(guān)需要發(fā)送hello報文。煙頭能夠根據(jù)hello
內(nèi)的狀態(tài)域來判斷是否可達。即,煙頭網(wǎng)關(guān)(僅發(fā)送I heard you)宣布核心網(wǎng)關(guān)(僅發(fā)
送hello)為可達,當來自核心網(wǎng)關(guān)的hello指出他已經(jīng)宣布煙頭是可達的。
Hello的發(fā)送頻率參數(shù)k,n,j,和m的值不能在此規(guī)定。最好的效果依賴于鄰居和鄰居
所在的共同網(wǎng)絡(luò)的特性。這意味著,恰當?shù)膮?shù)需要由兩個鄰居網(wǎng)關(guān)的設(shè)計者和實現(xiàn)者
共同決定。不顧及鄰居和所連網(wǎng)絡(luò)的特點而孤立的選擇算法和參數(shù)九沒有希望產(chǎn)生最佳
的可達性判斷。
然而鄰居獲得請求和應(yīng)答報文位鄰居提供了一個互相通告迅速回答hello的最小頻
率的方法。當網(wǎng)關(guān)G發(fā)送一個鄰居獲得請求給網(wǎng)關(guān)G'時,他聲明它不希望以高于X秒
一次的速度回答來自G'的hello。G'在它的鄰居請求回答中指出它不希望以高于Y秒一
次的速度回答來自G的hello。這兩個速度不必完全相同。但每個必須遵守另一個的時
間間隔。網(wǎng)關(guān)會以低于所要求的速度而非更高的速度發(fā)送hello。
直接鄰居網(wǎng)關(guān)還應(yīng)被公布為不可達,如果連接它的網(wǎng)絡(luò)使用了地記得協(xié)議信息,這
是可以推斷出的。然而例如網(wǎng)關(guān)收到一個來自ARPANET的目的地死亡報文,指出一個
直接鄰居已死亡,網(wǎng)關(guān)應(yīng)公布那個鄰居為不可達。鄰居不應(yīng)被公布為可達,在交換完必
須數(shù)量的Hello/I heard you包之前。
變?yōu)椴豢蛇_的直接鄰居不會停止成為一個直接鄰居。鄰居可以被公布為可達而不必
經(jīng)由鄰居獲得協(xié)議。然而,如果鄰居保持不可達很長一段時間,諸如一個小時,網(wǎng)關(guān)應(yīng)
停止把它作為一個鄰居,如,應(yīng)終止發(fā)送hello報文給他。鄰居獲得協(xié)議應(yīng)被重復,在
他又一次變?yōu)橐恢苯余従又啊?來自非直接鄰居的hello報文應(yīng)給予簡單的丟棄。然而所有這些信息的記錄可以提
供極有用的診斷信息。
一個停極的網(wǎng)關(guān)或它的將它連到一個特定鄰居的網(wǎng)關(guān)的接口停機,那末它應(yīng)發(fā)送一
鄰居終止報文給所有不能到達它的直接鄰居。終止報文使用在信息域指明停機原因。他
應(yīng)重傳那個報文許多次,在他收到一鄰居終止確認之前。以此給鄰居提供停機的事前警
告,并使他們準備好在某種程度上最少化由此對現(xiàn)存通信的破壞。
5.網(wǎng)絡(luò)可達(NR)報文
術(shù)語:假定網(wǎng)關(guān)G有個到達網(wǎng)絡(luò)N的接口。我們說這個G相對于網(wǎng)絡(luò)N(M和N
相隔遙遠)是一個到達網(wǎng)絡(luò)M的合適初站,當且僅當有以下約束時:
去往網(wǎng)絡(luò)M和網(wǎng)關(guān)G的網(wǎng)絡(luò)N接口上收到的通信將被G轉(zhuǎn)發(fā)到M,通過不包含任
何其他具有到達網(wǎng)絡(luò)N的接口的網(wǎng)關(guān)。簡而言之,比較于網(wǎng)絡(luò)N而言G時網(wǎng)絡(luò)M的合
適初站。在網(wǎng)絡(luò)N上找不到比它更好的網(wǎng)關(guān)以路由去往網(wǎng)絡(luò)M的通信的話。關(guān)于最優(yōu)
路由,網(wǎng)絡(luò)N上的去往網(wǎng)絡(luò)M的通信應(yīng)總是被轉(zhuǎn)發(fā)到一個合適的初站的網(wǎng)關(guān)那里。
為了使外部網(wǎng)關(guān)G和G'(他們使網(wǎng)絡(luò)N上的鄰居)能夠相互用作包交換機來轉(zhuǎn)發(fā)
去網(wǎng)遠程網(wǎng)絡(luò)的通信,每個需要了解作為其他網(wǎng)絡(luò)的合適初站的網(wǎng)絡(luò)列表。外部網(wǎng)關(guān)協(xié)
議定義了一個報文,叫做網(wǎng)絡(luò)可達性報文或NR報文以傳送這個信息。
假定G是一個位于網(wǎng)絡(luò)N上的網(wǎng)。那末G發(fā)送的關(guān)于網(wǎng)絡(luò)N的報文必須包含下列
信息:
一張完整的網(wǎng)絡(luò)列表。表中的網(wǎng)絡(luò)是對網(wǎng)絡(luò)N而言所有合適的初站。
如果G'能從外部鄰居G獲得這些信息,那末它就知道去往那些不在列表之列的網(wǎng)
絡(luò)的通信不應(yīng)被轉(zhuǎn)發(fā)給G。(然而不能簡單的斷定列表中網(wǎng)絡(luò)的所有通信都通過G轉(zhuǎn)發(fā),
因為G'也許有其他到達N的合適初站的鄰居。例如G和G"也許都是G'的鄰居,但對
網(wǎng)絡(luò)N而言是等距離的。那末每個都是一個合適的初站。)
對于表中的每一個網(wǎng)絡(luò),NR報文還規(guī)定了從G到那個網(wǎng)絡(luò)的“距離”(按照自治
系統(tǒng)中網(wǎng)關(guān)G的設(shè)計者交付的定義的某些公制作為元素)。核心網(wǎng)關(guān)應(yīng)公布那些能不離
開核心系統(tǒng)就能夠到達的網(wǎng)絡(luò)的距離小于128。其他的為大于等于128。煙頭網(wǎng)關(guān)應(yīng)將
列于其NR報文中的所有網(wǎng)絡(luò)的距離公布為小于128。
距離最大值(255)的意義是指網(wǎng)絡(luò)不可達。所有其它值得意義是網(wǎng)絡(luò)可達。
如果來自網(wǎng)關(guān)G的一個NR報文沒有提及網(wǎng)絡(luò)N,而先前來自N的NR報文提及過
網(wǎng)絡(luò)N,那末對于G而言N可能已為不可達。如果連續(xù)的來自G的NR報文都沒有提及
N,那末就應(yīng)該解釋為對G而言N為不可達。這個過程是必須的,以確保那已不可達,
但不是永遠公布為不可達的。網(wǎng)絡(luò)超時并從網(wǎng)絡(luò)列表中消除。
一種常見的情況時,核心網(wǎng)關(guān)G和煙頭網(wǎng)關(guān)G'是網(wǎng)絡(luò)N上的直接鄰居,并知道這
些鄰居是哪些網(wǎng)絡(luò)的合適初站。雖然煙頭網(wǎng)關(guān)G'可能不知道其他所有鄰居,但是它能夠
方便的和高效的從G那里獲取這些信息。因此,EGPNR報文還含有一些允許核心網(wǎng)關(guān)
G規(guī)定下列信息域:
a)(網(wǎng)絡(luò)N上的)G的所有鄰居(包括內(nèi)部鄰居和外部鄰居)的列表,這些鄰居必須
是G已經(jīng)可靠的判斷為可達的。G還可以在這張列表中包含間接鄰居(見下文)。
b)對于鄰居中的每一個,可作為網(wǎng)絡(luò)列表中的哪一個網(wǎng)絡(luò)的合適初站(對于網(wǎng)絡(luò)N
而言)。
c)每個<鄰居,網(wǎng)絡(luò)>對,從一個鄰居到一個網(wǎng)絡(luò)的距離。
所以,NR報文提供了一種方法,允許一個網(wǎng)關(guān)去發(fā)現(xiàn)新的鄰居,通過察看一個已
知的鄰居是否具有在同一個網(wǎng)路上的另外的鄰居。這個信息還使得下面描述的間接鄰居
策略的實現(xiàn)成為可能。
NR報文的一個更為精確的解釋如下:
報文的數(shù)據(jù)部分應(yīng)主要由數(shù)據(jù)塊組成,沒塊應(yīng)由一個網(wǎng)關(guān)地址作為標題,這個地址
應(yīng)為任何發(fā)送這個報文的網(wǎng)關(guān)或網(wǎng)關(guān)的鄰居的地址。每個網(wǎng)關(guān)地址應(yīng)能通過一個網(wǎng)絡(luò)列
表而理解為某個網(wǎng)絡(luò)的合適初站。所有到達同一網(wǎng)關(guān)具有相同距離的網(wǎng)絡(luò)應(yīng)被組織在這
張列表中,之前加上距離本身和網(wǎng)絡(luò)號。整個列表之前是表中距離-組的數(shù)量。
數(shù)據(jù)塊列表之前是:
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -