?? rfc827_exterior 網(wǎng)關(guān) 協(xié)議 (egp) .txt
字號(hào):
組織:中國(guó)互動(dòng)出版網(wǎng)(http://www.china-pub.com/)RFC文檔中文翻譯計(jì)劃(http://www.china-pub.com/compters/emook/aboutemook.htm)E-mail:ouyang@china-pub.com譯者:15222775@61.(15222775@61. hbzzx2001@yahoo.com.cn )譯文發(fā)布時(shí)間:2002-1-15版權(quán):本中文翻譯文檔版權(quán)歸中國(guó)互動(dòng)出版網(wǎng)所有。可以用于非商業(yè)用途自由轉(zhuǎn)載,但必須保留本文檔的翻譯及版權(quán)信息。 RFC 827............................ 外部網(wǎng)關(guān)協(xié)議( EGP) Bolt Beranek and Newman Inc. October 1982它被用于為網(wǎng)關(guān)建立一個(gè)標(biāo)準(zhǔn),能夠用它對(duì)互相猜疑的網(wǎng)關(guān)進(jìn)行處理。 本文檔是該標(biāo)準(zhǔn)的一個(gè)草稿。 您的意見(jiàn)我們熱烈歡迎。 RFC 827 Bolt Beranek and Newman Inc. Eric C. Rosen 目錄1 介紹.......................................... 12 鄰機(jī)探測(cè).................................. 83 鄰機(jī)可達(dá)性協(xié)議....................... 114 網(wǎng)絡(luò)可達(dá)性( NR)報(bào)文.................... 155 NR報(bào)文輪詢.............................. 226 發(fā)送NR報(bào)文.................................. 257 間接鄰居................................... 278 怎樣成為一個(gè)支線網(wǎng)絡(luò)............................. 289 局限性.......................................... 321 介紹DARPA衛(wèi)星網(wǎng)Catenet應(yīng)該是一個(gè)不斷地發(fā)展的系統(tǒng),有越來(lái)越多的主機(jī)和越來(lái)越多的網(wǎng)絡(luò)參予其中。 當(dāng)然,這將需要越來(lái)越多的網(wǎng)關(guān)。 過(guò)去,象這樣的擴(kuò)充以一種相對(duì)無(wú)組織的方式進(jìn)行的。 新網(wǎng)關(guān)--往往包含與現(xiàn)存網(wǎng)關(guān)截然不同的軟件--會(huì)不斷的增加,而且將通過(guò)GGP協(xié)議迅即參予公共的路由選擇算法。 然而,隨著國(guó)際互聯(lián)網(wǎng)絡(luò)發(fā)展的越來(lái)越大,這種簡(jiǎn)單的擴(kuò)充方式亦變得越來(lái)越行不通。 存在很多理由∶ -路徑選擇算法的開(kāi)銷變得過(guò)于龐大;-由于參予單一公共的路徑選擇算法的各種迥然不同的網(wǎng)關(guān)不斷增加,致使無(wú)法進(jìn)行維修和故障隔離,因?yàn)樵僖膊荒軐?guó)際互聯(lián)網(wǎng)絡(luò)作為一個(gè)綜合通信系統(tǒng)來(lái)對(duì)待。-網(wǎng)關(guān)軟件和算法特別是路徑選擇算法,變得太嚴(yán)格和不靈活,因?yàn)槿魏伪惶嶙h的改變必須由太多不同的地點(diǎn)與太多不同的人員來(lái)完成。將來(lái),國(guó)際互聯(lián)網(wǎng)絡(luò)應(yīng)該發(fā)展成一組獨(dú)立的域或"自治系統(tǒng)",每個(gè)包含一套相對(duì)同構(gòu)的網(wǎng)關(guān)(有一或多個(gè))。 協(xié)議特別是這些網(wǎng)關(guān)在它們自身當(dāng)中使用的協(xié)議,將要成為專用的事物,而且決不需要在特定的域或系統(tǒng)外面的網(wǎng)關(guān)中實(shí)現(xiàn)。在最簡(jiǎn)單的情況下,一個(gè)自治系統(tǒng)可能僅包含單個(gè)(例如)將一個(gè)局域網(wǎng)連接到ARPANET上的網(wǎng)關(guān)。 象這樣的網(wǎng)關(guān)多半稱作"支線網(wǎng)關(guān)",因?yàn)樗ㄒ坏挠猛臼菍⒕钟蚓W(wǎng)與國(guó)際互聯(lián)網(wǎng)絡(luò)的其他部分連接起來(lái),而不是打算用于處理任何發(fā)自或去往那個(gè)特定局域網(wǎng)的通信。在不久的將來(lái),我們將把國(guó)際互聯(lián)網(wǎng)絡(luò)視為一組自治系統(tǒng),其中一個(gè)由位于ARPANET and SATNET上的DARPA網(wǎng)關(guān)組成,并且其余的是到局域網(wǎng)的支線網(wǎng)關(guān)。 前面的系統(tǒng),我們應(yīng)該稱作"核心"系統(tǒng),將被后面的系統(tǒng)作為一個(gè)運(yùn)輸或"長(zhǎng)途"運(yùn)輸系統(tǒng)。然而,國(guó)際互聯(lián)網(wǎng)絡(luò)最終可能由很多平等的自治系統(tǒng)組成,他們中的任何一個(gè)都能用作為(具有某些約束,將在以后討論)發(fā)自于任何系統(tǒng)并且駛往任何系統(tǒng)的通信的一個(gè)傳播介質(zhì)。 當(dāng)更加復(fù)雜的組合產(chǎn)生時(shí),將任何一個(gè)自治系統(tǒng)視作一個(gè)"核心"系統(tǒng)顯然是不合適的。 然而為了具體起見(jiàn),以及因?yàn)橥獠烤W(wǎng)關(guān)協(xié)議的初期實(shí)現(xiàn)應(yīng)該集中在將"支線網(wǎng)關(guān)"連接到位于ARPANET and SATNET上的DARPA網(wǎng)關(guān)上,所以我們將在我們的實(shí)例與討論中時(shí)常使用術(shù)語(yǔ)"核心"網(wǎng)關(guān)。外部網(wǎng)關(guān)協(xié)議( EGP)的宗旨是,當(dāng)允許最終用戶將所有自治系統(tǒng)的復(fù)合物看作單個(gè)國(guó)際互聯(lián)網(wǎng)絡(luò)時(shí),利用一個(gè)固定的、統(tǒng)一的地址空間,使一個(gè)或多個(gè)自治系統(tǒng)能夠作為發(fā)自于其它的自治系統(tǒng)和駛往其它的自治系統(tǒng)的通信的傳播介質(zhì)使用。 數(shù)據(jù)報(bào)穿越國(guó)際互聯(lián)網(wǎng)絡(luò)的路由與跨過(guò)的自治系統(tǒng)的數(shù)目,對(duì)最終用戶來(lái)說(shuō)是透明的(當(dāng)然,除非最終用戶使用IP "源路由"選項(xiàng))。在外部網(wǎng)關(guān)協(xié)議的描述中,我們故意給特殊的自治系統(tǒng)的設(shè)計(jì)師與實(shí)現(xiàn)者留下了許多活動(dòng)余地,特別在計(jì)時(shí)器大小方面。 我們之所以這樣做是因?yàn)槲覀兞系讲煌木W(wǎng)關(guān)實(shí)現(xiàn)與不同的國(guó)際互聯(lián)網(wǎng)絡(luò)環(huán)境會(huì)產(chǎn)生不同的需求與目標(biāo),所以沒(méi)有適用于所有情況的單一的明確的實(shí)現(xiàn)規(guī)范。 然而,這并不意謂著符合這規(guī)范的任何實(shí)現(xiàn)都能正常工作,或我們已經(jīng)留下活動(dòng)余地對(duì)性能來(lái)說(shuō)使無(wú)關(guān)緊要的。事實(shí)上(例如)這里沒(méi)有規(guī)定某些超時(shí)值卻并不意味著指定一個(gè)任意值都能工作得很好。自治系統(tǒng)將被指定一個(gè)16位的標(biāo)識(shí)號(hào)碼(現(xiàn)在很多時(shí)候也用同樣的方法給網(wǎng)絡(luò)和協(xié)議分配編碼),并且每個(gè)EGP報(bào)頭為這個(gè)號(hào)碼貯有一個(gè)字。零不會(huì)分配給任何自治系統(tǒng);更確切些,在這個(gè)域中存在一個(gè)零將表明當(dāng)前沒(méi)有號(hào)碼。我們必須引進(jìn)一個(gè)網(wǎng)關(guān)是另一個(gè)網(wǎng)關(guān)的鄰機(jī)( NEIGHBOR)這一概念。在最簡(jiǎn)單而且最普遍的情況中,如果存在一個(gè)每個(gè)網(wǎng)關(guān)都具有一個(gè)到達(dá)此網(wǎng)絡(luò)的接口的網(wǎng)絡(luò)的話,我們將這兩個(gè)網(wǎng)關(guān)稱作"鄰機(jī)"。 然而,為了容許以下兩個(gè)情況,我們需要一個(gè)更廣義的"鄰機(jī)(neighbor) "概念∶a)兩個(gè)網(wǎng)關(guān)可認(rèn)為是鄰機(jī),盡管他們并不是通過(guò)一個(gè)(在一般意義上的術(shù)語(yǔ))網(wǎng)絡(luò)直接連接,而是通過(guò)單根鏈路、HDLC線路、或某些類似物"直接連接"。 b)兩個(gè)網(wǎng)關(guān)可認(rèn)為是鄰機(jī),盡管他們是通過(guò)一個(gè)對(duì)他們來(lái)說(shuō)是透明的" internet "進(jìn)行連接的。也就是說(shuō),我們希望能夠說(shuō)兩個(gè)網(wǎng)關(guān)是鄰機(jī),即使他們通過(guò)一個(gè)internet連接,只要該網(wǎng)關(guān)在他們的包轉(zhuǎn)發(fā)算法中沒(méi)有利用internet的內(nèi)部結(jié)構(gòu)方面的知識(shí)。為了處理所有這些情況,我們說(shuō)兩個(gè)網(wǎng)關(guān)是鄰機(jī),如果他們是通過(guò)某種內(nèi)部結(jié)構(gòu)對(duì)他們來(lái)說(shuō)是透明的傳播介質(zhì)連接的。 (鄰機(jī)概念更全面的討論參見(jiàn)IEN 184.) 如果兩個(gè)鄰機(jī)屬于同一個(gè)自治系統(tǒng),我們把他們叫做內(nèi)部鄰機(jī);如果兩個(gè)鄰機(jī)不屬于同一個(gè)自治系統(tǒng),我們把他們叫做外部鄰機(jī)。 為了一個(gè)系統(tǒng)能將另一個(gè)作為傳播介質(zhì)使用,互為外部鄰機(jī)的網(wǎng)關(guān)必須能夠找出哪些網(wǎng)絡(luò)經(jīng)由其他網(wǎng)絡(luò)是可以到達(dá)的。 外部網(wǎng)關(guān)協(xié)議能使這些信息在外部鄰機(jī)之間傳送。 因?yàn)樗且粋€(gè)輪詢協(xié)議,它也能使每個(gè)網(wǎng)關(guān)去控制它發(fā)送和接收網(wǎng)絡(luò)可達(dá)性信息的速度,容許每個(gè)系統(tǒng)控制它的自己的開(kāi)銷。 它也能使每個(gè)系統(tǒng)擁有一個(gè)獨(dú)立的路由算法,它的運(yùn)行不會(huì)由于其他的系統(tǒng)的故障而受干擾。它必須清楚地知道所有的自治系統(tǒng),路由將在這些擁有自己的路由算法實(shí)現(xiàn)的系統(tǒng)內(nèi)部的網(wǎng)關(guān)之間完成。 (由單個(gè)支線網(wǎng)關(guān)組成的單個(gè)自治系統(tǒng)通常不需要路由算法.) 外部網(wǎng)關(guān)協(xié)議不是一個(gè)路由算法。 它能使外部鄰機(jī)交換所有的路由算法都可能需要的信息,不過(guò)未指定網(wǎng)關(guān)如何處理這些信息。某些自治系統(tǒng)的內(nèi)部路由算法的 "路由更新"可能(或可能不)在格式上于外部網(wǎng)關(guān)協(xié)議的報(bào)文相仿。 在DARPA "核心"系統(tǒng)中的網(wǎng)關(guān)將開(kāi)始使用GGP協(xié)議(舊的網(wǎng)關(guān)至網(wǎng)關(guān)協(xié)議)作為他們的路由算法,不過(guò)這些受變化的影響的。在其他自治系統(tǒng)中的網(wǎng)關(guān)可能使用他們自己的內(nèi)部網(wǎng)關(guān)協(xié)議( IGPs),可能或可能不類似于任何其他自治系統(tǒng)的IGP。他們當(dāng)然可以使用GGP,可是不允許用在其他自治系統(tǒng)中的網(wǎng)關(guān)交換GGP報(bào)文。還必須清楚地知道,外部網(wǎng)關(guān)協(xié)議沒(méi)有打算提供能被作為普通范圍或分層路由選擇算法的輸入使用的信息。 它是為連接成一個(gè)樹(shù)的一組自治系統(tǒng)設(shè)計(jì)的,沒(méi)有循環(huán)。 它不能傳遞充分的信息去防止路由回路,如果循環(huán)存在于拓?fù)渲? 外部網(wǎng)關(guān)協(xié)議有三部分∶ ( a)鄰機(jī)探測(cè)協(xié)議, ( b)鄰機(jī)可達(dá)性協(xié)議,與( c)網(wǎng)絡(luò)可達(dá)性判斷。 注意,EGP定義的所有報(bào)文僅用來(lái)傳播單個(gè)"路程段"。 也就是說(shuō),他們?cè)谝粋€(gè)網(wǎng)關(guān)發(fā)起并且去往一個(gè)鄰機(jī)網(wǎng)關(guān),沒(méi)有介于其間的網(wǎng)關(guān)用作媒介。所以,生存時(shí)間( TTL)域應(yīng)該設(shè)成一個(gè)很小的值。 在不是發(fā)給他們的報(bào)文流中遇到EGP報(bào)文的網(wǎng)關(guān)可能丟棄他們。2鄰機(jī)探測(cè)從一個(gè)外部網(wǎng)關(guān)獲得路由選擇信息之前,必須將那個(gè)網(wǎng)關(guān)作為一個(gè)直接相鄰獲取。(直接和間接相鄰之間的區(qū)別在后邊的章節(jié)給出.)為了使兩個(gè)網(wǎng)關(guān)變成直接相鄰,按照前面定義的理解他們必須是鄰機(jī),并且他們必須運(yùn)行只不過(guò)是一個(gè)標(biāo)準(zhǔn)的三次握手式的鄰機(jī)探測(cè)協(xié)議。一個(gè)網(wǎng)關(guān)希望與另一個(gè)網(wǎng)關(guān)啟動(dòng)鄰機(jī)探測(cè),則給它發(fā)送一個(gè)鄰機(jī)探測(cè)請(qǐng)求。這個(gè)報(bào)文應(yīng)該重復(fù)傳送(以適當(dāng)?shù)乃俣?大約每30秒一次),直到接到一個(gè)鄰機(jī)探測(cè)應(yīng)答。該請(qǐng)求總是包含一個(gè)標(biāo)識(shí)號(hào)碼,用以拷貝到應(yīng)答中,所以請(qǐng)求和應(yīng)答能夠進(jìn)行配對(duì)。收到一個(gè)“鄰機(jī)探測(cè)請(qǐng)求”的網(wǎng)關(guān)必須決定它是否希望變成請(qǐng)求發(fā)起者的直接鄰機(jī)。 如果不,它可以通過(guò)它的選項(xiàng)響應(yīng)以一個(gè)鄰機(jī)探測(cè)拒絕報(bào)文,隨意地規(guī)定拒絕的理由。否則,它應(yīng)該發(fā)送一個(gè)“鄰機(jī)探測(cè)應(yīng)答”報(bào)文。 它還必須發(fā)送一個(gè)“鄰機(jī)探測(cè)請(qǐng)求”報(bào)文,除非它早已這樣做了。兩個(gè)網(wǎng)關(guān)變成直接鄰機(jī),當(dāng)每個(gè)已經(jīng)發(fā)送一個(gè)鄰機(jī)探測(cè)報(bào)文給另一個(gè),并且來(lái)自另一個(gè)的對(duì)應(yīng)的“鄰機(jī)探測(cè)應(yīng)答”已經(jīng)收到時(shí)。不匹配的應(yīng)答或拒絕經(jīng)過(guò)一段合理的時(shí)間之后應(yīng)該被丟棄。 然而,所有這些不匹配的報(bào)文方面的信息可能對(duì)診斷有用。 來(lái)自一個(gè)已是直接鄰機(jī)網(wǎng)關(guān)的“鄰機(jī)探測(cè)報(bào)文”應(yīng)該用一個(gè)“應(yīng)答”和一個(gè)“鄰機(jī)探測(cè)報(bào)文”給以響應(yīng)。如果從一個(gè)預(yù)期的鄰機(jī)收到一個(gè)“鄰機(jī)探測(cè)應(yīng)答”,可是經(jīng)過(guò)一段時(shí)間后,沒(méi)有收到那個(gè)預(yù)期的鄰機(jī)的“鄰機(jī)探測(cè)報(bào)文”,鄰機(jī)探測(cè)協(xié)議應(yīng)該被認(rèn)為還未完成。 一個(gè)“鄰機(jī)終止”報(bào)文(見(jiàn)下文)當(dāng)即被發(fā)送。如果一個(gè)網(wǎng)關(guān)仍然希望獲取另一個(gè)作為一個(gè)鄰機(jī),該協(xié)議必須從頭開(kāi)始重來(lái)。如果一個(gè)網(wǎng)關(guān)希望終止作為某個(gè)外部網(wǎng)關(guān)的鄰機(jī),它發(fā)送一個(gè)“鄰機(jī)終止”報(bào)文。收到“鄰機(jī)終止”報(bào)文的網(wǎng)關(guān)應(yīng)該總是響應(yīng)以一個(gè)“鄰機(jī)終止”確認(rèn)。 它應(yīng)該停止將該報(bào)文的發(fā)送者視為一個(gè)任何方面的鄰機(jī)。 因?yàn)橛斜姸嗟牡膮f(xié)議運(yùn)行在直接鄰機(jī)(見(jiàn)下文)間,如果某網(wǎng)關(guān)已不需要是其它的的直接鄰機(jī),它用一個(gè)“鄰機(jī)終止”報(bào)文"有禮貌的"指出這個(gè)事實(shí)。該“鄰機(jī)終止”報(bào)文應(yīng)該被重復(fù)傳輸(直到某些次數(shù)),直到收到它的確認(rèn)為止。一旦一個(gè)“鄰機(jī)終止”報(bào)文已經(jīng)被收到,鄰機(jī)可達(dá)性協(xié)議(在下面)應(yīng)該停止運(yùn)行。注意,我們沒(méi)有規(guī)定一個(gè)網(wǎng)關(guān)開(kāi)始決定想要變成另一個(gè)的鄰機(jī)的方式。因?yàn)檫@僅是個(gè)平常的問(wèn)題,它不屬于外部網(wǎng)關(guān)協(xié)議。3鄰機(jī)可達(dá)性協(xié)議為網(wǎng)關(guān)保持關(guān)于它的鄰機(jī)的可達(dá)性實(shí)時(shí)信息是很重要的。如果一個(gè)網(wǎng)關(guān)推斷出某個(gè)鄰機(jī)不可達(dá),它會(huì)停止向那個(gè)網(wǎng)關(guān)轉(zhuǎn)發(fā)通信。 為了進(jìn)行判斷,鄰機(jī)可達(dá)性協(xié)議是必須的。外部網(wǎng)關(guān)協(xié)議為此提供兩個(gè)消息類型- -一個(gè)" Hello "報(bào)文和一個(gè)" I Heard You "報(bào)文。當(dāng)從一個(gè)直接鄰機(jī)收到一個(gè)" Hello "報(bào)文時(shí),必須"立即"給那個(gè)鄰機(jī)返還一個(gè)" I Heard You "。 收到一個(gè)“Hello”和返回一個(gè)" I Heard You "之間的延遲決不會(huì)大于幾秒。當(dāng)時(shí),可達(dá)性判斷算法留給特定網(wǎng)關(guān)的設(shè)計(jì)師去完成。 我們理想中的算法如下所示:一個(gè)可以達(dá)到的鄰機(jī)應(yīng)該宣布為不可達(dá),如果我們最近發(fā)送的n個(gè)" Hello "而在此期間僅收到的響應(yīng)少于k個(gè)" I Heard You "。 一個(gè)不可達(dá)鄰機(jī)應(yīng)該宣布為可以達(dá)到的,如果我們最近發(fā)送了m個(gè)" Hello "而在此期間至少收到J個(gè)" I Heard You "響應(yīng)。然而,這里沒(méi)有規(guī)定“Hello”的發(fā)送頻率以及參數(shù)k、n、j和m的值。 至于如何得到最佳的效果,這取決于該鄰機(jī)的特性和各鄰機(jī)的共享網(wǎng)絡(luò)的特性。這意味著恰當(dāng)?shù)膮?shù)要由這兩個(gè)鄰機(jī)網(wǎng)關(guān)的設(shè)計(jì)師和實(shí)現(xiàn)者共同地決定。不考慮該鄰機(jī)的特性和所連網(wǎng)絡(luò)而孤立地選擇算法和參數(shù),就沒(méi)有希望產(chǎn)生最恰當(dāng)?shù)目蛇_(dá)性判斷。“Hello”和" I Heard You "報(bào)文具有一個(gè)狀態(tài)域,“發(fā)送”網(wǎng)關(guān)用以指出他認(rèn)為“接受”網(wǎng)關(guān)是可以達(dá)到的或是不可達(dá)的? 這些信息能夠用于診斷。另一方面,它還允許一個(gè)網(wǎng)關(guān)進(jìn)行附加的可達(dá)性判斷:事實(shí)上僅一個(gè)網(wǎng)關(guān)需要發(fā)送" Hello "報(bào)文,而另一個(gè)能夠根據(jù)“Hello”中的狀態(tài)域聲明它開(kāi)機(jī)或停機(jī)。 也就是說(shuō),當(dāng)來(lái)自主動(dòng)網(wǎng)關(guān)的"主動(dòng)的" Hello "指出它已經(jīng)聲明被動(dòng)的網(wǎng)關(guān)是可以達(dá)到的的時(shí)候,被動(dòng)的"網(wǎng)關(guān)(只發(fā)送" I Heard You ")聲明"主動(dòng)的"網(wǎng)關(guān)(只發(fā)送“Hello”)是可以達(dá)到的.當(dāng)然,只有事先確定出哪一個(gè)鄰機(jī)作為主動(dòng)后才能工作。 (這里的事先協(xié)定不屬于外部網(wǎng)關(guān)協(xié)議.)直接鄰機(jī)網(wǎng)關(guān)還應(yīng)該聲明為不可達(dá),如果能夠從所連網(wǎng)絡(luò)的底層協(xié)議信息推斷出該情況的話。 因此,比如,一個(gè)網(wǎng)關(guān)從ARPANET收到一個(gè)指出一個(gè)直接鄰機(jī)熄火的1822目的地熄滅報(bào)文,它應(yīng)該宣布那個(gè)鄰機(jī)不可達(dá)。 直到已經(jīng)交換了所需數(shù)量的hello/i hello/i Heard - You包,該鄰機(jī)才被再一次聲明為可以達(dá)到的。已經(jīng)變成不可達(dá)的直接鄰機(jī)不再是一個(gè)直接鄰機(jī)。 不需要再一次經(jīng)歷鄰機(jī)探測(cè)協(xié)議,鄰機(jī)能夠再一次被聲明為可以達(dá)到的。然而,如果鄰機(jī)保持不可達(dá)極長(zhǎng)一段時(shí)間例如一個(gè)小時(shí),該網(wǎng)關(guān)應(yīng)該停止視它為鄰機(jī),那就是說(shuō),應(yīng)該停止發(fā)送“Hello”報(bào)文給它。 鄰機(jī)探測(cè)協(xié)議于是在它再一次變成一個(gè)直接鄰機(jī)之前將需要重傳。 來(lái)自網(wǎng)關(guān)G轉(zhuǎn)到gateway G '的“Hello”和" I Heard You "報(bào)文還要攜帶G最近從G '收到的NR輪詢報(bào)文(見(jiàn)下文)的標(biāo)識(shí)號(hào)碼。來(lái)自網(wǎng)關(guān)G轉(zhuǎn)到gateway G '的“Hello”和" I Heard You "報(bào)文還要攜帶G的可能是由G '為NR messages (見(jiàn)下文)輪詢的以分鐘為單位的最小時(shí)間間隔。來(lái)自非直接鄰機(jī)的" Hello "報(bào)文應(yīng)該簡(jiǎn)單地忽略。 然而,記錄任何象這樣的報(bào)文可以提供有用的判斷性信息。一個(gè)網(wǎng)關(guān)停機(jī)或者將它連接到某個(gè)鄰機(jī)接口不能正常工作,應(yīng)當(dāng)發(fā)送一個(gè)網(wǎng)關(guān)停機(jī)報(bào)文給所有不能到達(dá)它的直接鄰機(jī)。它應(yīng)該重復(fù)傳輸那個(gè)報(bào)文(直至一定次數(shù))直到它收到一個(gè)網(wǎng)關(guān)停機(jī)確認(rèn)為止 它為鄰機(jī)提供了一個(gè)故障的提前報(bào)警,讓他們能夠準(zhǔn)備好一種方法使現(xiàn)有通信的破壞程度達(dá)到最小。術(shù)語(yǔ):網(wǎng)關(guān)G具有一個(gè)到達(dá)網(wǎng)絡(luò)N的接口。我們說(shuō):G相對(duì)于網(wǎng)絡(luò)N(M和N是不同的網(wǎng)絡(luò))來(lái)說(shuō)是到達(dá)網(wǎng)絡(luò)M的合理的第一戰(zhàn),當(dāng)且僅當(dāng)以下情況發(fā)生的時(shí)候:去往網(wǎng)絡(luò)M和通過(guò)它的網(wǎng)絡(luò)N接口達(dá)到網(wǎng)關(guān)G的通信量總是由G通過(guò)一個(gè)未包含任何聯(lián)接于網(wǎng)絡(luò)N的網(wǎng)關(guān)的路徑轉(zhuǎn)發(fā)給M。簡(jiǎn)而言之,對(duì)于網(wǎng)絡(luò)N而言 G是去往網(wǎng)絡(luò)M的合適的初站,在這種情況下在網(wǎng)絡(luò)N上不存在更好的網(wǎng)關(guān)用來(lái)路由去往網(wǎng)絡(luò)M的通信量。 為了進(jìn)行最佳路由選擇,網(wǎng)絡(luò)N中去往網(wǎng)絡(luò)M的通信量應(yīng)該總是轉(zhuǎn)發(fā)給是合適初站的網(wǎng)關(guān)。為了使外部鄰機(jī)G和G ' (通過(guò)網(wǎng)絡(luò)N是鄰機(jī))能夠彼此作為轉(zhuǎn)發(fā)通信量到遠(yuǎn)程網(wǎng)絡(luò)的包交換機(jī),每個(gè)必須知道另一個(gè)的網(wǎng)絡(luò)列表,以便成為去往它的合適的初站。 外部網(wǎng)關(guān)協(xié)議定義了一個(gè)報(bào)文,稱作Network Reachability Message (或NR報(bào)文),供傳遞這些信息。讓G成為網(wǎng)絡(luò) N上的一個(gè)網(wǎng)關(guān)。G發(fā)送的關(guān)于網(wǎng)絡(luò)N的NR報(bào)文必須包含以下信息:列出對(duì)于網(wǎng)絡(luò)N而言G是合適的初站的所有網(wǎng)絡(luò)。如果G '能夠從外部鄰機(jī)G獲得這些信息,這樣它就知道駛往那些不在列表中的網(wǎng)絡(luò)的通信量不應(yīng)該轉(zhuǎn)發(fā)給G。(然而,不能簡(jiǎn)單地?cái)喽ㄎ挥谠摿斜碇械木W(wǎng)絡(luò)上的所有通信量都應(yīng)當(dāng)通過(guò)G轉(zhuǎn)發(fā),因?yàn)镚 '還可能擁有其他鄰機(jī),而這些鄰機(jī)也是到達(dá)網(wǎng)絡(luò)N的合適初站。 比如, G和G "可能都是G '的鄰機(jī),但是對(duì)于network M他們可能是"等距離的"。 那么每個(gè)都可以成為一個(gè)合適的初站.)對(duì)于列表中的每個(gè)網(wǎng)絡(luò), NR報(bào)文也包含一個(gè)字節(jié),說(shuō)明從G到那個(gè)網(wǎng)絡(luò)的"距離" (按照某些公制,這些公制留給包含網(wǎng)關(guān)G的自治系統(tǒng)的設(shè)計(jì)師去設(shè)計(jì))。這些信息可能(或可能不)對(duì)診斷或內(nèi)部路由算法頂事。距離最大值( 255.)意指該網(wǎng)絡(luò)是不可達(dá)的。其他所有值意指網(wǎng)絡(luò)是可以達(dá)到的。如果一個(gè)來(lái)自某網(wǎng)關(guān)G的NR報(bào)文沒(méi)有記載在前一來(lái)自G的NR報(bào)文中提到某網(wǎng)絡(luò)N,應(yīng)該假定對(duì)于G他仍然是可以達(dá)到的。 然而,如果N沒(méi)有在來(lái)自G的兩個(gè)連續(xù)的NR報(bào)文中提到,意指對(duì)于G來(lái)說(shuō)N已不可達(dá)。為了確保那些已不可達(dá)但是從未明確地聲明為不可達(dá)的網(wǎng)絡(luò)超時(shí)并從可以達(dá)到的網(wǎng)絡(luò)列表上去掉,這個(gè)方法是必須的。G和G '是網(wǎng)絡(luò) N上的外部鄰機(jī), G知道很多的在網(wǎng)絡(luò)N上的網(wǎng)關(guān)鄰機(jī),而且知道這些鄰機(jī)是那些網(wǎng)絡(luò)的合適的初站。 因?yàn)镚 '可能不知道所有這些鄰機(jī),能夠從G獲得這些信息對(duì)它是更便利的和更有效率的。 所以,外部網(wǎng)關(guān)協(xié)議NR報(bào)文也包含容許G說(shuō)明以下信息的域∶a)一個(gè)列表,包含G已經(jīng)可靠地判定為可以達(dá)到的所有鄰機(jī)(既包括內(nèi)部鄰機(jī)也包括外部鄰機(jī))。 只有當(dāng)G主動(dòng)地用他們運(yùn)行鄰機(jī)可達(dá)性協(xié)議時(shí)才將這網(wǎng)關(guān)包括在這個(gè)列表內(nèi)。b)那些鄰機(jī)中間每一個(gè)鄰機(jī),都有一個(gè)相應(yīng)的網(wǎng)絡(luò)列表,對(duì)于網(wǎng)絡(luò)N而言這個(gè)鄰機(jī)就是這些網(wǎng)絡(luò)的合適初站。 c) 對(duì)每個(gè)象這樣的<neighbor, network>對(duì),表示從那個(gè)鄰機(jī)到達(dá)那個(gè)網(wǎng)絡(luò)的 "距離"。因此NR報(bào)文提供一種方法,通過(guò)查看一個(gè)已知的鄰機(jī)在同一個(gè)網(wǎng)絡(luò)上是否具有其他的鄰機(jī),允許一個(gè)網(wǎng)關(guān)去發(fā)現(xiàn)新的鄰機(jī)。這些信息使得在下面定義的間接鄰機(jī)策略成為可能。以下是NR報(bào)文更精確地說(shuō)明。報(bào)文中的數(shù)據(jù)部分包含大量的數(shù)據(jù)塊。每個(gè)塊總是以一個(gè)網(wǎng)關(guān)地址為首,它可能是發(fā)送該報(bào)文的網(wǎng)關(guān)的地址或那個(gè)網(wǎng)關(guān)的鄰機(jī)中的某個(gè)的地址。每個(gè)網(wǎng)關(guān)地址后面可能有一個(gè)網(wǎng)絡(luò)列表以及從那個(gè)網(wǎng)關(guān)到每個(gè)網(wǎng)絡(luò)的距離,對(duì)于那些網(wǎng)絡(luò)該網(wǎng)關(guān)是一個(gè)合適的初站。 放在該數(shù)據(jù)塊列表之前的是:于這個(gè)報(bào)文相關(guān)的那個(gè)網(wǎng)絡(luò)的地址。如果G和G '是網(wǎng)絡(luò)N上的鄰機(jī),那么在從G去往G '的NR報(bào)文中,它是網(wǎng)絡(luò)N地址。為了方便起見(jiàn),四個(gè)字節(jié)已經(jīng)配給這個(gè)地址- -末尾的一、兩、或三字節(jié)應(yīng)該為零。b) 的內(nèi)部鄰機(jī)的總數(shù)是這個(gè)報(bào)文包含的數(shù)據(jù)塊數(shù)。按照慣例,總數(shù)將包含G本身的數(shù)據(jù)塊,它應(yīng)該是第一個(gè)出現(xiàn)。 c) G的外部鄰機(jī)的總數(shù)是這個(gè)報(bào)文包含的數(shù)據(jù)塊數(shù)。那么數(shù)據(jù)塊本身之后,首先是G本身,然后是G的所有內(nèi)部鄰機(jī)的塊,再后邊是外部鄰機(jī)塊。 因?yàn)樗刑岬降脑谕粋€(gè)網(wǎng)絡(luò)上的網(wǎng)關(guān)地址已經(jīng)給出,這些網(wǎng)關(guān)地址的網(wǎng)絡(luò)地址部分(一個(gè)、兩個(gè)或三個(gè)字節(jié))被省略,以便節(jié)省空間。每一個(gè)數(shù)據(jù)塊包含一個(gè)字節(jié)用來(lái)計(jì)算可以將這個(gè)網(wǎng)關(guān)可以作為合適初站的網(wǎng)絡(luò)的數(shù)目。 在這個(gè)網(wǎng)絡(luò)表中,每一個(gè)網(wǎng)絡(luò)地址是一個(gè)、二個(gè)、或三個(gè)字節(jié),這取決于它是一個(gè)A類、B類地址或者是C類地址。其后跟隨的字節(jié)沒(méi)有使用。有時(shí)必須將NR報(bào)文進(jìn)行分段。NR包含有一個(gè)字節(jié)用來(lái)指出片段的數(shù)目(片斷從零開(kāi)始編碼),還有一個(gè)字節(jié)與用來(lái)包含最后一個(gè)片斷的編碼(并非片段的數(shù)量)。 如果沒(méi)有使用分段,這些字節(jié)必須全部為0。 每一個(gè)片段必須是一個(gè)完整的獨(dú)立的NR報(bào)文。 也就是說(shuō),每一個(gè)片段從內(nèi)部網(wǎng)關(guān)和外部網(wǎng)關(guān)開(kāi)始計(jì)算,將是據(jù)塊的整數(shù)倍。 每一個(gè)片段中的數(shù)據(jù)塊的數(shù)目 ,必須與從那個(gè)碎片開(kāi)始計(jì)算的數(shù)目對(duì)應(yīng)。然而,只有第一個(gè)片段使用一個(gè)描述這個(gè)發(fā)送網(wǎng)關(guān)的數(shù)據(jù)塊作為開(kāi)始。這個(gè)方案使得每一個(gè)片段能夠獨(dú)立地處理,并且不需要復(fù)雜的裝配機(jī)制。它還能夠處理所有片斷都還沒(méi)有收到的報(bào)文。如果說(shuō)經(jīng)過(guò)一段時(shí)間之后或者重傳輪詢一定數(shù)量后還沒(méi)有收到所有片斷,就應(yīng)當(dāng)處理現(xiàn)有的分段如果他們能夠組成完整的NR報(bào)文。 (這意味著僅在差錯(cuò)分段中提及的網(wǎng)絡(luò)將保持貯存在前一來(lái)自那個(gè)網(wǎng)關(guān)的NR報(bào)文中的"距離"值。 然而如果這個(gè)網(wǎng)絡(luò)在下一個(gè)來(lái)自那個(gè)網(wǎng)關(guān)的NR報(bào)文中沒(méi)有受到一個(gè)新的值,該網(wǎng)絡(luò)就會(huì)被聲明為不可達(dá)。)5 NR報(bào)文輪詢NR報(bào)文輪詢沒(méi)有網(wǎng)關(guān)會(huì)要求發(fā)送NR報(bào)文給以任何其他網(wǎng)管,除非作為一個(gè)響應(yīng)來(lái)自一個(gè)直接鄰機(jī)的NR輪詢。 然而,一個(gè)網(wǎng)關(guān)被要求在幾秒內(nèi)響應(yīng)來(lái)自直接鄰機(jī)的NR輪詢(根據(jù)下面兩個(gè)段落所描述的),即使這個(gè)網(wǎng)關(guān)確信那個(gè)鄰機(jī)已經(jīng)停機(jī)。EGP NR輪詢報(bào)文為了這個(gè)目的而定義對(duì)于一個(gè)NR報(bào)文網(wǎng)關(guān)不會(huì)用高于每分鐘一次的頻率進(jìn)行輪詢。如果網(wǎng)關(guān)在一分鐘內(nèi)收到多個(gè)輪詢,它簡(jiǎn)單地丟棄額外的輪詢,也許會(huì)返回一個(gè)錯(cuò)誤報(bào)文。 網(wǎng)關(guān)G發(fā)送給網(wǎng)關(guān)G '的“Hello”和I Heard You報(bào)文指出G從G '接受輪詢間隔的最小時(shí)間間隔。 也就是說(shuō), G '不能保證響應(yīng)來(lái)自G小于那個(gè)間隔的輪詢。輪詢必須發(fā)送給鄰機(jī)可達(dá)性協(xié)議聲明為可達(dá)的直接鄰機(jī)。?一個(gè)NR輪詢報(bào)文包含一個(gè)標(biāo)識(shí)號(hào)碼,它通過(guò)輪詢網(wǎng)關(guān)所選定。 被輪詢網(wǎng)關(guān)將會(huì)返回在NR報(bào)文中的這個(gè)序列號(hào),將他的輪詢作為響應(yīng)發(fā)送,能使輪詢網(wǎng)關(guān)匹配收到的NR報(bào)文。 選擇一個(gè)獨(dú)一無(wú)二的標(biāo)識(shí)號(hào)碼從而允許檢測(cè)過(guò)時(shí)的可能還在網(wǎng)絡(luò)中傳播的NR報(bào)文,這是“輪詢”網(wǎng)關(guān)的職責(zé)。 因?yàn)檩喸兪潜容^少見(jiàn)的,所以不會(huì)有更多的問(wèn)題。然而,為了幫助選擇一個(gè)標(biāo)示號(hào)碼!癏ello”和I Heard You報(bào)文攜帶來(lái)源于該鄰機(jī)上次NR輪詢的標(biāo)識(shí)號(hào)碼。通常,輪詢應(yīng)該被重復(fù)傳輸一定次數(shù)(用一定的時(shí)間間隔進(jìn)行傳輸)直到一個(gè) NR報(bào)文被收到。 經(jīng)過(guò)最大次數(shù)的重傳之后仍然沒(méi)有收到NR報(bào)文,輪詢網(wǎng)關(guān)應(yīng)該假定被輪詢網(wǎng)關(guān)對(duì)于任何網(wǎng)絡(luò)而言都不是合適的初站。輪詢/重傳算法最佳參數(shù)取決于兩個(gè)鄰機(jī)的特征以及連接他們的網(wǎng)絡(luò)的特性。只要一個(gè)NR報(bào)文的某分段在最大重傳之后收到,該分段應(yīng)該當(dāng)做整個(gè)的NR報(bào)文的組成。收到標(biāo)識(shí)號(hào)碼與最近發(fā)送的輪詢不相配的NR報(bào)文應(yīng)該忽略。沒(méi)有規(guī)定多種突出輪詢給同一個(gè)鄰機(jī)。6發(fā)送NR報(bào)文
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -