版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第7章TCP/IP協(xié)議與互聯(lián)網(wǎng)7.1網(wǎng)絡(luò)互連設(shè)備7.2域名和地址7.3路由協(xié)議7.4路由器技術(shù)7.5IP組播技術(shù)7.6IPQoS技術(shù)7.7Internet應(yīng)用習(xí)題多個(gè)網(wǎng)絡(luò)互連組成范圍更大的網(wǎng)絡(luò)叫做互聯(lián)網(wǎng)(Internet)。由于各種網(wǎng)絡(luò)使用的技術(shù)不同,所以要實(shí)現(xiàn)網(wǎng)絡(luò)之間的互連互通還要解決一系列新的問題。例如各種網(wǎng)絡(luò)可能有不同的尋址方案、不同的分組長(zhǎng)度、不同的超時(shí)控制機(jī)制、不同的差錯(cuò)恢復(fù)方法、不同的路由選擇技術(shù)以及不同的用戶訪問控制協(xié)議等。另外,各種網(wǎng)絡(luò)提供的服務(wù)也可能不同,有的是面向連接的,有的是無連接的。網(wǎng)絡(luò)互連技術(shù)就是要在不改變?cè)芯W(wǎng)絡(luò)體系結(jié)構(gòu)的前提下,把一些異構(gòu)型的網(wǎng)絡(luò)互相連接構(gòu)成統(tǒng)一的通信系統(tǒng),實(shí)現(xiàn)更大范圍的資源共享。本章首先概括介紹各種網(wǎng)絡(luò)互連設(shè)備,然后討論網(wǎng)絡(luò)互連的基本原理和關(guān)鍵技術(shù),最后介紹國際互聯(lián)網(wǎng)(Internet)協(xié)議及其提供的網(wǎng)絡(luò)服務(wù)。7.1網(wǎng)絡(luò)互連設(shè)備
組成互聯(lián)網(wǎng)的各個(gè)網(wǎng)絡(luò)叫做子網(wǎng),用于連接子網(wǎng)的設(shè)備叫做中間系統(tǒng)IS(IntermediateSystem),它的作用是協(xié)調(diào)各個(gè)網(wǎng)絡(luò)的工作,使得跨網(wǎng)絡(luò)的通信得以實(shí)現(xiàn)。中間系統(tǒng)可以是一個(gè)單獨(dú)的設(shè)備,也可以是一個(gè)網(wǎng)絡(luò)。這一節(jié)介紹各種網(wǎng)絡(luò)互連設(shè)備的工作原理。網(wǎng)絡(luò)互連設(shè)備可以根據(jù)它們工作的協(xié)議層進(jìn)行分類:中繼器工作于物理層,網(wǎng)橋和交換機(jī)工作于數(shù)據(jù)鏈路層,路由器工作于網(wǎng)絡(luò)層,而網(wǎng)關(guān)則工作于網(wǎng)絡(luò)層以上的協(xié)議層。這種根據(jù)OSI協(xié)議層的分類只是概念上的,而實(shí)際的網(wǎng)絡(luò)互連產(chǎn)品可能是幾種功能的組合,從而可以提供更復(fù)雜的網(wǎng)絡(luò)互連服務(wù)。7.1.1中繼器由于傳輸線路噪音的影響,承載信息的電磁信號(hào)只能傳輸有限的距離。例如在802.3的10BASE5標(biāo)準(zhǔn)中,收發(fā)器芯片的驅(qū)動(dòng)能力只有500m。雖然MAC協(xié)議的定時(shí)特性(τ值的大小)允許電纜長(zhǎng)達(dá)2.5km,但是單個(gè)電纜段卻不允許做得那么長(zhǎng)。在線路中間插入放大器的辦法是不可取的,因?yàn)榘殡S信號(hào)的噪音也被放大了。在這種情況下用中繼器(Repeater)連接兩個(gè)網(wǎng)段可以延長(zhǎng)信號(hào)的傳輸距離。中繼器的功能是對(duì)接收信號(hào)進(jìn)行再生和發(fā)送,中繼器不解釋也不改變接收到的數(shù)字信息,它只是從接收信號(hào)中分離出數(shù)據(jù),然后重新構(gòu)造它并轉(zhuǎn)發(fā)出去。再生信號(hào)與接收信號(hào)完全相同并可以沿著另外的網(wǎng)段傳輸?shù)竭h(yuǎn)端。中繼器的概念和工作原理表示在圖7-1中。圖7-1中繼器理論上說,可以用中繼器把網(wǎng)絡(luò)延長(zhǎng)到任意長(zhǎng)的傳輸距離,然而在很多網(wǎng)絡(luò)中都限制了一對(duì)工作站之間加入中繼器的數(shù)目,例如在以太網(wǎng)中最多可以使用四個(gè)中繼器,即網(wǎng)絡(luò)最多由五個(gè)網(wǎng)段組成。中繼器工作于物理層,只是起到擴(kuò)展傳輸距離的作用,對(duì)高層協(xié)議是透明的。實(shí)際上,通過中繼器連接起來的網(wǎng)絡(luò)相當(dāng)于用一條更長(zhǎng)的電纜組成的更大的網(wǎng)絡(luò)。中繼器也能把不同傳輸介質(zhì)(例如10BASE5和10BASE2)的網(wǎng)絡(luò)連在一起,用在數(shù)據(jù)鏈路層以上相同的局域網(wǎng)的互連中。這種設(shè)備安裝簡(jiǎn)單,使用方便,并能保持原來的傳輸速度。集線器的工作原理基本上與中繼器相同。簡(jiǎn)單地說,集線器就是一個(gè)多端口中繼器,它把一個(gè)端口上收到的數(shù)據(jù)廣播發(fā)送到所有其他端口上。7.1.2網(wǎng)橋類似于中繼器,網(wǎng)橋(Bridge)也用于連接兩個(gè)局域網(wǎng)段,但它工作于數(shù)據(jù)鏈路層。網(wǎng)橋要分析幀地址字段,以決定是否把收到的幀轉(zhuǎn)發(fā)到另一個(gè)網(wǎng)段上,網(wǎng)橋的概念模型和工作原理表示在圖7-2中。圖7-2網(wǎng)橋在圖7-2(b)中,用DHA表示目標(biāo)的硬件地址,網(wǎng)橋檢查幀的源地址和目標(biāo)地址,如果目標(biāo)地址和源地址不在同一個(gè)網(wǎng)段上,就把幀轉(zhuǎn)發(fā)到另一個(gè)網(wǎng)段上;若兩個(gè)地址在同一個(gè)網(wǎng)段上,則不轉(zhuǎn)發(fā),所以網(wǎng)橋能起到過濾幀的作用。網(wǎng)橋的過濾特性很有用,當(dāng)一個(gè)網(wǎng)絡(luò)由于負(fù)載很重而性能下降時(shí)可以用網(wǎng)橋把它分成兩段,并使得段間的通信量保持最小。例如把分布在兩層樓上的網(wǎng)絡(luò)分成每層一個(gè)網(wǎng)段,段中間用網(wǎng)橋相連,這種配置可以緩解網(wǎng)絡(luò)通信繁忙的程度,提高通信效率。同時(shí)由于網(wǎng)橋的隔離作用,一個(gè)網(wǎng)段上的故障不會(huì)影響到另外一個(gè)網(wǎng)段,從而提高了網(wǎng)絡(luò)的可靠性。網(wǎng)橋可用于運(yùn)行相同高層協(xié)議的設(shè)備互連,采用不同高層協(xié)議的網(wǎng)絡(luò)不能通過網(wǎng)橋互相通信。另外,網(wǎng)橋也能連接不同傳輸介質(zhì)的網(wǎng)絡(luò),例如可實(shí)現(xiàn)同軸電纜以太網(wǎng)與雙絞線以太網(wǎng)之間的互連,或是以太網(wǎng)與令牌環(huán)網(wǎng)之間的互連。確切地說,網(wǎng)橋工作于MAC子層,只要兩個(gè)網(wǎng)絡(luò)MAC子層以上的協(xié)議相同,就可以用網(wǎng)橋互連。以太網(wǎng)中廣泛使用的交換機(jī)(Switch)是一種多端口網(wǎng)橋,每一個(gè)端口都可以連接一個(gè)局域網(wǎng),關(guān)于交換機(jī)的詳細(xì)的工作原理請(qǐng)參考第八章中的有關(guān)內(nèi)容。7.1.3路由器路由器(Router)的概念模型和工作原理表示在圖7-3中,可以看出,路由器工作于網(wǎng)絡(luò)層。通常把網(wǎng)絡(luò)層地址叫做邏輯地址,把數(shù)據(jù)鏈路層地址叫做物理地址。物理地址通常是由硬件制造商指定的,例如每一塊以太網(wǎng)卡都有一個(gè)48位的站地址,這種地址由IEEE管理(給每個(gè)網(wǎng)卡制造商指定唯一的前三個(gè)字節(jié)值),任何兩個(gè)網(wǎng)卡不會(huì)有相同的物理地址;邏輯地址是由網(wǎng)絡(luò)管理員在組網(wǎng)配置時(shí)指定的,這種地址可以按照網(wǎng)絡(luò)的組織結(jié)構(gòu)以及每個(gè)工作站的用途靈活設(shè)置,而且可以根據(jù)需要改變。邏輯地址也叫軟件地址,用于網(wǎng)絡(luò)層尋址。例如在圖7-3(b)中,以太網(wǎng)A中硬件地址為101的工作站的軟件地址為A.05,這種用“點(diǎn)記號(hào)”表示地址的方法既標(biāo)識(shí)了工作站所在的網(wǎng)絡(luò),也標(biāo)識(shí)了網(wǎng)絡(luò)中唯一的工作站。圖7-3路由器路由器根據(jù)網(wǎng)絡(luò)邏輯地址在互連的子網(wǎng)之間傳遞分組。一個(gè)子網(wǎng)可能對(duì)應(yīng)于一個(gè)物理網(wǎng)段,也可能對(duì)應(yīng)于幾個(gè)物理網(wǎng)段。路由器適合于連接復(fù)雜的大型網(wǎng)絡(luò),它工作于網(wǎng)絡(luò)層,因而可以用于連接下面三層執(zhí)行不同協(xié)議的網(wǎng)絡(luò),協(xié)議的轉(zhuǎn)換由路由器完成,從而消除了網(wǎng)絡(luò)層協(xié)議之間的差別。通過路由器連接的子網(wǎng)在網(wǎng)絡(luò)層之上必須執(zhí)行相同的協(xié)議才能互相通信。路由器如何協(xié)調(diào)網(wǎng)絡(luò)協(xié)議之間的差別,如何進(jìn)行路由選擇以及如何在通信子網(wǎng)之間轉(zhuǎn)發(fā)分組,將在本章后續(xù)內(nèi)容中詳細(xì)討論。由于路由器工作于網(wǎng)絡(luò)層,它處理的信息量比網(wǎng)橋要多,因而處理速度比網(wǎng)橋慢。但路由器的互連能力更強(qiáng),可以執(zhí)行復(fù)雜的路由選擇算法。在具體的網(wǎng)絡(luò)互連中,采用路由器還是采用網(wǎng)橋,取決于網(wǎng)絡(luò)管理的需要和具體的網(wǎng)絡(luò)環(huán)境。有的網(wǎng)橋制造商在網(wǎng)橋上增加了一些智能設(shè)備,從而可以進(jìn)行復(fù)雜的路由選擇,這種互連設(shè)備叫做路由橋(RoutingBridge)。路由橋雖然能夠運(yùn)行路由選擇算法,甚至能夠根據(jù)安全性要求決定是否轉(zhuǎn)發(fā)數(shù)據(jù)幀,但由于它不涉及第三層協(xié)議,所以還是屬于工作在數(shù)據(jù)鏈路層的網(wǎng)橋設(shè)備,它不能像路由器那樣用于連接復(fù)雜的廣域網(wǎng)絡(luò)。7.1.4網(wǎng)關(guān)網(wǎng)關(guān)(Gateway)是最復(fù)雜的網(wǎng)絡(luò)互連設(shè)備,用于連接網(wǎng)絡(luò)層之上執(zhí)行不同協(xié)議的子網(wǎng),組成異構(gòu)型的互連網(wǎng)絡(luò)。網(wǎng)關(guān)能對(duì)互不兼容的高層協(xié)議進(jìn)行轉(zhuǎn)換,例如在圖7-4中,使用NetWare的PC工作站和SNA網(wǎng)絡(luò)互連,兩者不僅硬件不同,而且整個(gè)體系結(jié)構(gòu)和使用的協(xié)議棧都不同。為了實(shí)現(xiàn)異構(gòu)型設(shè)備之間的通信,網(wǎng)關(guān)要對(duì)不同的傳輸層、會(huì)話層、表示層和應(yīng)用層協(xié)議進(jìn)行翻譯和變換。圖7-4網(wǎng)關(guān)網(wǎng)關(guān)可以做成單獨(dú)的箱級(jí)產(chǎn)品,也可以做成電路板并配合網(wǎng)關(guān)軟件用以增強(qiáng)已有的設(shè)備,使其具有協(xié)議轉(zhuǎn)換的功能。箱級(jí)產(chǎn)品性能好但價(jià)格昂貴,板級(jí)產(chǎn)品可以是專用的也可以是非專用的。例如NetWare5250網(wǎng)關(guān)軟件可加載到LAN工作站上,這樣該工作站就成為網(wǎng)關(guān)服務(wù)器,如圖7-5所示。網(wǎng)關(guān)服務(wù)器中除安裝用于連接局域網(wǎng)的LAN網(wǎng)卡外,還必須安裝一塊Novell同步PC網(wǎng)卡,用于連接遠(yuǎn)程SDLC數(shù)據(jù)傳輸線路。在網(wǎng)關(guān)軟件的支持下,網(wǎng)關(guān)服務(wù)器通過通信線路與遠(yuǎn)程IBM主機(jī)(AS/400或System/3X)相連。如果LAN工作站運(yùn)行NetWare5250工作站軟件,就可以仿真IBM5250終端,也可以實(shí)現(xiàn)主機(jī)和終端間的文件傳遞。這種網(wǎng)關(guān)軟件提供專用和非專用兩種操作方式。在非專用方式下,運(yùn)行網(wǎng)關(guān)軟件的PC機(jī)既可作為網(wǎng)關(guān)服務(wù)器,又是NetWare5250工作站。圖7-5NetWare網(wǎng)關(guān)由于工作復(fù)雜,因而用網(wǎng)關(guān)互連網(wǎng)絡(luò)時(shí)效率比較低,而且透明性不好,往往用于針對(duì)某種特殊用途的專用連接。最后,值得一提的是人們的習(xí)慣用語有些模糊不清,并不像以上根據(jù)網(wǎng)絡(luò)協(xié)議層的概念明確劃分各種網(wǎng)絡(luò)互連設(shè)備。有時(shí)并不區(qū)分路由器和網(wǎng)關(guān),而把在網(wǎng)絡(luò)層及其以上進(jìn)行協(xié)議轉(zhuǎn)換的互連設(shè)備統(tǒng)稱為網(wǎng)關(guān)。另外各種網(wǎng)絡(luò)產(chǎn)品提供的互連服務(wù)多種多樣,因此很難單純按名稱來識(shí)別某種產(chǎn)品的功能。有了以上按照協(xié)議層分類的概念,對(duì)了解各種互連設(shè)備的功能無疑是有益的。7.2域?名?和?地?址7.2.1網(wǎng)際互連多個(gè)網(wǎng)絡(luò)通過網(wǎng)關(guān)互相連接的情況類似于分組交換網(wǎng)內(nèi)部的組織結(jié)構(gòu),圖7-6是分組交換網(wǎng)和互聯(lián)網(wǎng)類比的例子。在互聯(lián)網(wǎng)中的網(wǎng)關(guān)G1、G2和G3分別對(duì)應(yīng)于分組交換網(wǎng)中的交換結(jié)點(diǎn)S1、S2和S3,而互聯(lián)網(wǎng)中的子網(wǎng)N1、N2和N3分別對(duì)應(yīng)于分組交換網(wǎng)中的傳輸鏈路T1、T2和T3。網(wǎng)關(guān)起到了分組交換的作用,通過與它相連的網(wǎng)絡(luò)把分組從源端H1傳送到目標(biāo)端H2。圖7-6互聯(lián)網(wǎng)和網(wǎng)絡(luò)的對(duì)比圖7-7中給出了利用IP協(xié)議把數(shù)據(jù)報(bào)從X.25分組交換網(wǎng)中的主機(jī)A傳送到局域網(wǎng)中的主機(jī)B的操作過程。路由器連接兩個(gè)子網(wǎng)并執(zhí)行協(xié)議的轉(zhuǎn)換操作,在主機(jī)A中,TCP送來的數(shù)據(jù)經(jīng)過IP協(xié)議包裝成網(wǎng)際數(shù)據(jù)報(bào),其IP頭中包含著主機(jī)B的網(wǎng)絡(luò)地址。網(wǎng)際數(shù)據(jù)報(bào)在X.25網(wǎng)絡(luò)中傳播時(shí)經(jīng)過多個(gè)交換結(jié)點(diǎn),最后到達(dá)路由器。路由器首先把X.25分組向上層遞交,剝?nèi)^和幀尾,暴露出IP頭,然后根據(jù)IP頭中的地址把數(shù)據(jù)報(bào)下載到局域網(wǎng)中,最后傳送到主機(jī)B。圖7-7網(wǎng)際協(xié)議的操作過程舉例更一般的情況是中間要經(jīng)過多個(gè)路由器,每個(gè)路由器都根據(jù)IP頭中的網(wǎng)絡(luò)地址決定轉(zhuǎn)發(fā)的方向。當(dāng)轉(zhuǎn)發(fā)的下一個(gè)網(wǎng)絡(luò)的最大分組長(zhǎng)度小于當(dāng)前的數(shù)據(jù)報(bào)長(zhǎng)度時(shí),路由器必須將數(shù)據(jù)報(bào)分段,形成多個(gè)短數(shù)據(jù)報(bào),然后按一定的順序把它們轉(zhuǎn)發(fā)出去。在目標(biāo)端,短數(shù)據(jù)報(bào)經(jīng)過IP協(xié)議實(shí)體排序,并組裝成原來的數(shù)據(jù)字段,最后提交給上層協(xié)議。實(shí)際上,網(wǎng)際協(xié)議要解決的問題與網(wǎng)絡(luò)層協(xié)議是類似的。在網(wǎng)際層提供路由信息的手段仍然是路由表,每個(gè)站或路由器中都有一個(gè)網(wǎng)際路由表,每個(gè)表項(xiàng)指明了與一個(gè)目標(biāo)網(wǎng)絡(luò)對(duì)應(yīng)的路由器地址。網(wǎng)際地址通常采用“網(wǎng)絡(luò)?主機(jī)”的形式,可以區(qū)分子網(wǎng)的地址編碼和主機(jī)的地址編碼。圖7-8表示了一個(gè)實(shí)際的路由表。路由表中的目標(biāo)欄記錄的是目標(biāo)網(wǎng)絡(luò)號(hào),而不是主機(jī)的網(wǎng)絡(luò)地址,這樣大大減少了路由表的行數(shù)。同時(shí),路由表中也不記錄到達(dá)目標(biāo)的延遲時(shí)間,而代之以跳步數(shù)(經(jīng)過的路由器個(gè)數(shù))。根據(jù)這個(gè)路由表,如果R3收到一個(gè)目標(biāo)地址為的數(shù)據(jù)報(bào),則可以轉(zhuǎn)發(fā)到路由器R2地址為的端口,再通過R4轉(zhuǎn)發(fā)到網(wǎng)絡(luò)中。路由表可以是靜態(tài)的或動(dòng)態(tài)的,靜態(tài)路由表也提供可選的第二和第三最佳路由,動(dòng)態(tài)路由表在應(yīng)付網(wǎng)絡(luò)失效和擁塞方面更加靈活。在國際互聯(lián)網(wǎng)中,當(dāng)一個(gè)路由器關(guān)機(jī)時(shí),與該路由器相鄰的路由器和主機(jī)都會(huì)發(fā)出路由狀態(tài)報(bào)告,使別的路由器或主機(jī)修改它們的路由表。對(duì)擁塞路段也可以同樣處理。在互聯(lián)網(wǎng)環(huán)境下,各個(gè)子網(wǎng)(可能是遠(yuǎn)程網(wǎng)或局域網(wǎng))的容量差別很大,更容易發(fā)生擁塞,因而更要發(fā)揮動(dòng)態(tài)路由的優(yōu)勢(shì)。圖7-8互聯(lián)網(wǎng)中的路由表更復(fù)雜的路由表還可支持安全和優(yōu)先級(jí)服務(wù),例如從安全角度考慮,有的網(wǎng)絡(luò)不適宜處理某些數(shù)據(jù),則路由表包含的控制信息可以使得敏感數(shù)據(jù)不會(huì)轉(zhuǎn)發(fā)到不安全的網(wǎng)絡(luò)中去。另外一種路由技術(shù)是源路由法,即源端在數(shù)據(jù)報(bào)中列出要經(jīng)過的一系列路由器。這種方法也可以提供安全服務(wù)。路由記錄服務(wù)是一種與路由選擇有關(guān)的特殊服務(wù)。數(shù)據(jù)報(bào)經(jīng)過的每一個(gè)路由器都把自己的地址加入其中,這樣,目標(biāo)端就可以知道該數(shù)據(jù)報(bào)的旅行軌跡,在進(jìn)行網(wǎng)絡(luò)測(cè)試或查錯(cuò)時(shí)會(huì)用到這種服務(wù)。7.2.2域名系統(tǒng)在Internet中,一個(gè)網(wǎng)絡(luò)應(yīng)用的地址可表示為“網(wǎng)絡(luò)地址·主機(jī)地址·端口地址”。TCP/IP網(wǎng)絡(luò)中的大多數(shù)公共應(yīng)用進(jìn)程都有專用的端口號(hào),這些端口號(hào)是由IANA(InternetAssignedNumbersAuthority)指定的,其值小于1024,而用戶進(jìn)程的端口號(hào)一般大于1024。表7-1列出了主要的專用端口號(hào),許多網(wǎng)絡(luò)操作系統(tǒng)保護(hù)這些端口號(hào),限制用戶進(jìn)程使用它。網(wǎng)絡(luò)用戶希望用名字來標(biāo)識(shí)主機(jī),有意義的名字可以表示主機(jī)的賬號(hào)、工作性質(zhì)、所屬的地域或組織等,從而便于記憶和使用。Internet的域名系統(tǒng)DNS(DomainNameSystem)就是為這種需要而開發(fā)的。表7-1固定分配的專用端口號(hào)
DNS的邏輯結(jié)構(gòu)是一個(gè)分層的域名樹,Internet網(wǎng)絡(luò)信息中心(InternetNetworkInformationCenter,InterNIC)管理域名樹的根,稱為根域。根域沒有名稱,用圓點(diǎn)“.”表示,是域名空間的最高級(jí)別。在DNS的名稱中,有時(shí)在末尾附加一個(gè)“.”,就是表示根域,但它經(jīng)常是省略的。DNS服務(wù)器可以自動(dòng)補(bǔ)上結(jié)尾的圓點(diǎn),也可以處理結(jié)尾帶圓點(diǎn)的域名。根域下面是頂級(jí)域(Top-LevelDomains,TLD),分為國家頂級(jí)域(countrycodeTopLevelDomain,ccTLD)和通用頂級(jí)域(genericTopLevelDomain,gTLD)。國家頂級(jí)域名包含243個(gè)國家和地區(qū)代碼,例如cn代表中國,uk代表英國等。最初的通用頂級(jí)域有7個(gè)(參見表7-2),這些頂級(jí)域名原來主要供美國使用,隨著Internet的發(fā)展,com、org和net成為全世界通用的頂級(jí)域名,這就是所謂的國際域名,而edu、gov和mil則限于美國使用。表7-2通用頂級(jí)域名負(fù)責(zé)互聯(lián)網(wǎng)域名注冊(cè)的服務(wù)商ICANN于2000年11月決定,從2001年開始使用7個(gè)新的國際頂級(jí)域名:biz(商業(yè)機(jī)構(gòu))、info(網(wǎng)絡(luò)公司)、name(個(gè)人網(wǎng)站)、pro(醫(yī)生和律師等職業(yè)人員)、aero(航空運(yùn)輸業(yè)專用)、coop(商業(yè)合作社專用)和museum(博物館專用),其中前4個(gè)是非限制性域名,后3個(gè)限于專門的行業(yè)使用,受有關(guān)行業(yè)組織的管理。
2008年6月,ICANN在巴黎年會(huì)上通過了個(gè)性化域名方案,最早將于2009年開始出現(xiàn)以公司名字為結(jié)尾的域名,例如ibm、hp、qq等??梢哉J(rèn)為,這些域名的所有者在某種意義上就是一個(gè)域名注冊(cè)機(jī)構(gòu),今后將會(huì)有無窮多的國際域名。頂級(jí)域下面是二級(jí)域,這是正式注冊(cè)給組織和個(gè)人的唯一名稱,例如中的microsoft就是微軟注冊(cè)的域名。在二級(jí)域之下,組織機(jī)構(gòu)還可以劃分子域,使其各個(gè)分支部門都獲得一個(gè)專用的名稱標(biāo)識(shí),例如中的sales是微軟銷售部門的子域名稱。劃分子域的工作可以一直延續(xù)下去,直到滿足組織機(jī)構(gòu)的管理需要為止。但是標(biāo)準(zhǔn)規(guī)定,一個(gè)域名的長(zhǎng)度通常不超過63個(gè)字符,最多不能超過255個(gè)字符。
DNS標(biāo)準(zhǔn)還規(guī)定,域名中只能使用ASCII字符集的有限子集,包括26個(gè)英文字母(不區(qū)分大小寫)和10個(gè)數(shù)字,以及連字符“-”,并且連字符不能作為子域名的第一個(gè)和最后一個(gè)字母。后來的標(biāo)準(zhǔn)對(duì)字符集有所擴(kuò)大。各個(gè)子域由地區(qū)網(wǎng)絡(luò)信息中心(NIC)管理。?圖7-9是CNNIC管理的CN下的域名樹系統(tǒng),其中第二級(jí)子域名AC為中科院系統(tǒng)的機(jī)構(gòu),EDU為教育系統(tǒng)的院校和科研單位,GO為政府機(jī)關(guān),CO為商業(yè)機(jī)構(gòu),OR為民間組織和協(xié)會(huì),BJ為北京地區(qū),SH為上海地區(qū),ZJ為浙江地區(qū)等。特別需要指出的是域名與網(wǎng)絡(luò)地址是兩個(gè)不同的概念。雖然大多數(shù)連網(wǎng)的主機(jī)不但有一個(gè)唯一的網(wǎng)絡(luò)地址,也有一個(gè)域名,但是也有的主機(jī)沒有網(wǎng)絡(luò)地址,只有域名。這種機(jī)器用電話線連接到一個(gè)有IP地址的主機(jī)上(電子郵件網(wǎng)關(guān)),通過撥號(hào)方式訪問IP主機(jī),只能發(fā)送和接收電子郵件。另一方面,高級(jí)的域名可能包括幾個(gè)網(wǎng)絡(luò),但域名樹的結(jié)構(gòu)不一定與網(wǎng)絡(luò)結(jié)構(gòu)相對(duì)應(yīng)。還有一種情況是同一個(gè)子網(wǎng)中的主機(jī)可能屬于不同的子域,雖然這種情況對(duì)C類網(wǎng)絡(luò)很少見。圖7-9CN域名下的域名樹7.2.3域名服務(wù)器域名到IP地址的變換由DNS服務(wù)器實(shí)現(xiàn)。?一般子網(wǎng)中都有一個(gè)域名服務(wù)器管理本地子網(wǎng)所連接的主機(jī),也為外來的訪問提供DNS服務(wù)。這種服務(wù)采用典型的客戶機(jī)/服務(wù)器訪問方式:客戶機(jī)把主機(jī)域名發(fā)送給服務(wù)器,服務(wù)器返回對(duì)應(yīng)的IP地址,有時(shí)被詢問的服務(wù)器不包含查詢的主機(jī)記錄,服務(wù)器會(huì)根據(jù)DNS協(xié)議提供進(jìn)一步查詢的信息。所有的頂級(jí)域被委托給不同的根服務(wù)器進(jìn)行管理。國家域名的根服務(wù)器由各個(gè)國家的網(wǎng)絡(luò)信息中心運(yùn)營,而國際域名則由13個(gè)根服務(wù)器提供服務(wù),其中1個(gè)為主根服務(wù)器與9個(gè)輔根服務(wù)器放置在美國,另外3個(gè)輔根服務(wù)器分別放置在英國、瑞典和日本。中國有3個(gè)國際域名的鏡像服務(wù)器,可以加快中國境內(nèi)的用戶訪問?.com和?.net中的資源。
1.區(qū)域圖
DNS域名樹的一個(gè)連續(xù)部分被稱為區(qū)域(zone),圖7-10顯示出劃分區(qū)域的例子,這里有3個(gè)區(qū)域:●?●?●?其中區(qū)域包含north.和兩個(gè)相鄰的子域。這里要區(qū)別兩個(gè)不同的概念,通常說的“域”是DNS域名樹中的一個(gè)結(jié)點(diǎn),可以把域名樹中相鄰的一些結(jié)點(diǎn)的配置信息保存在一個(gè)文件中,這就是區(qū)域文件。所以域是名字空間的一部分,而區(qū)域是一個(gè)存儲(chǔ)的概念,是存儲(chǔ)空間的一部分。7-10DNS的區(qū)域
2.資源記錄同一個(gè)區(qū)域文件可以保存主、輔兩份拷貝,這樣做的目的主要是冗余容錯(cuò)。如果把主、輔兩個(gè)文件分別保存的兩個(gè)單獨(dú)的服務(wù)器中,分別稱為主服務(wù)器和輔助服務(wù)器,這樣做還可以起到負(fù)載分擔(dān)的作用。區(qū)域文件是由資源記錄(ResourceRecord)組成的文本文件。資源記錄分為許多不同的類型,常用的是(參見表7-3):
(1)?SOA(StartOfAuthoritative):開始授權(quán)記錄是區(qū)域文件的第一條記錄,指明區(qū)域的主服務(wù)器,指明區(qū)域管理員的郵件地址,并給出區(qū)域復(fù)制的有關(guān)信息:●序列號(hào):當(dāng)區(qū)域文件改變時(shí),序列號(hào)要增加,輔助服務(wù)器把自己的序列號(hào)與主服務(wù)器的序列號(hào)比較,以確定是否需要更新數(shù)據(jù);●刷新間隔:輔助服務(wù)器更新數(shù)據(jù)的時(shí)間間隔(秒);●重試間隔:當(dāng)輔助服務(wù)器不能連接主服務(wù)器進(jìn)行更新時(shí),必須每隔一定時(shí)間重新試圖連接;●有效期:如果輔助服務(wù)器不能更新自己的區(qū)域文件,超過有效期后就不再提供查詢服務(wù);●生命期(TTL):資源記錄在其他名字服務(wù)器緩存中保存的最少有效時(shí)間。
(2)?A(Address):地址記錄表示主機(jī)名到IP地址的映射。
(3)?PTR(Pointer):指針記錄是IP地址到主機(jī)名的映射。
(4)?NS(NameServer):給出區(qū)域的授權(quán)服務(wù)器。
(5)?MX(MaileXchanger):定義了區(qū)域的郵件服務(wù)器及其優(yōu)先級(jí)(指示搜索順序)。
(6)?CNAME:為正式主機(jī)名(canonicalname)定義了一個(gè)別名(alias)。表7-3資源記錄
3.域名查詢
DNS服務(wù)器可以實(shí)現(xiàn)正反兩個(gè)方向的查詢,正向查詢是檢查地址記錄(A),把名字解析為IP地址,反向查詢是檢查指針記錄(PTR),把IP地址解析為主機(jī)名。每個(gè)DNS服務(wù)器中有一個(gè)高速緩存區(qū)(cache),每次查詢出來的主機(jī)名及對(duì)應(yīng)的IP地址都會(huì)記錄到高速緩存區(qū)中,下一次查詢時(shí),服務(wù)器先查找高速緩存,以加速查詢速度,如果高速緩存查詢不成功,再向其他服務(wù)器發(fā)送查詢請(qǐng)求。
DNS客戶端都配置了一個(gè)或多個(gè)DNS服務(wù)器的地址,無論是靜態(tài)或動(dòng)態(tài)配置的,這些DNS服務(wù)器都是用戶所在域的授權(quán)服務(wù)器,而用戶主機(jī)則是該域的成員。當(dāng)用戶在瀏覽器地址欄鍵入一個(gè)域名時(shí),客戶端就可以向本地的DNS服務(wù)器發(fā)出查詢請(qǐng)求。查詢過程分為兩種查詢方式:
(1)遞歸查詢:當(dāng)用戶發(fā)出查詢請(qǐng)求時(shí),本地服務(wù)器要進(jìn)行遞歸查詢。這種查詢方式要求服務(wù)器徹底地進(jìn)行名字解析,并返回最后的結(jié)果——IP地址或錯(cuò)誤信息。如果查詢請(qǐng)求在本地服務(wù)器中不能完成,那么服務(wù)器就根據(jù)它的配置向域名樹中的上級(jí)服務(wù)器進(jìn)行查詢,在最壞的情況下可能要查詢到根服務(wù)器。每次查詢返回的結(jié)果如果是其他名字服務(wù)器的IP地址,則本地服務(wù)器要把查詢請(qǐng)求發(fā)送給這些服務(wù)器做進(jìn)一步的查詢。
(2)迭代查詢:服務(wù)器與服務(wù)器之間的查詢采用迭代的方式進(jìn)行,發(fā)出查詢請(qǐng)求的服務(wù)器得到的響應(yīng)可能不是目標(biāo)的?IP地址,而是對(duì)其他服務(wù)器的引用(名字和地址),那么本地服務(wù)器就要訪問被引用的服務(wù)器,做進(jìn)一步的查詢。如此反復(fù)多次,每次都更接近目標(biāo)的授權(quán)服務(wù)器,直至得到最后的結(jié)果——目標(biāo)的IP地址或錯(cuò)誤信息。7.2.4地址分解協(xié)議
IP地址是分配給主機(jī)的邏輯地址,在互聯(lián)網(wǎng)中表示唯一的主機(jī)。似乎有了IP地址尋址問題就解決了,其實(shí)不然,還必須考慮主機(jī)的物理地址。由于互連的各個(gè)子網(wǎng)可能屬于不同的組織,運(yùn)行不同的協(xié)議(異構(gòu)性),因而可能采用不同的編址方法。任何子網(wǎng)中的主機(jī)至少都有一個(gè)在子網(wǎng)內(nèi)部唯一的地址,這種地址都是在子網(wǎng)建立時(shí)一次性指定的,甚至可能是與網(wǎng)絡(luò)硬件相關(guān)的,我們把這個(gè)地址叫做主機(jī)的物理地址或硬件地址。物理地址和邏輯地址的區(qū)別可以從兩個(gè)角度看:從網(wǎng)絡(luò)互連的角度看,邏輯地址在整個(gè)互連網(wǎng)絡(luò)中有效,而物理地址只是在子網(wǎng)內(nèi)部有效;從網(wǎng)絡(luò)協(xié)議分層的角度看,邏輯地址由Internet層使用,而物理地址由子網(wǎng)訪問子層(具體地說就是數(shù)據(jù)鏈路層)使用。由于有兩種主機(jī)地址,因而需要一種映像關(guān)系把這兩種地址對(duì)應(yīng)起來。在Internet中用地址分解協(xié)議(AddressResolutionProtocol,ARP)來實(shí)現(xiàn)邏輯地址到物理地址映像。ARP分組的格式如圖7-11所示,各字段的含義解釋如下:●硬件類型:網(wǎng)絡(luò)接口硬件的類型,對(duì)以太網(wǎng)此值為1。●協(xié)議類型:發(fā)送方使用的協(xié)議,0800H表示IP協(xié)議?!裼布刂烽L(zhǎng)度:對(duì)以太網(wǎng),地址長(zhǎng)度為6字節(jié)?!駞f(xié)議地址長(zhǎng)度:對(duì)IP協(xié)議,地址長(zhǎng)度為4字節(jié)?!癫僮黝愋停?/p>
1—ARP請(qǐng)求;
2—ARP響應(yīng);
3—RARP請(qǐng)求;
4—RARP響應(yīng)。圖7-11ARP/RARP分組格式通常Internet應(yīng)用程序把要發(fā)送的報(bào)文交給IP協(xié)議,IP當(dāng)然知道接收方的邏輯地址(否則就不能通信了),但不一定知道接收方的物理地址。在把IP分組向下傳送給本地?cái)?shù)據(jù)鏈路實(shí)體之前可以用兩種方法得到目標(biāo)物理地址:
(1)查本地內(nèi)存中的ARP地址映像表,其邏輯結(jié)構(gòu)如表7-4所示??梢钥闯鲞@是IP地址和以太網(wǎng)地址的對(duì)照表。
(2)如果ARP表查不到,就廣播一個(gè)ARP請(qǐng)求分組,這種分組經(jīng)過路由器進(jìn)一步轉(zhuǎn)發(fā),可以到達(dá)所有連網(wǎng)的主機(jī)。它的含義是:“如果你的IP地址是這個(gè)分組中的目標(biāo)結(jié)點(diǎn)協(xié)議地址,請(qǐng)回答你的物理地址是什么?!笔盏皆摲纸M的主機(jī)一方面可以用分組中的兩個(gè)源地址更新自己的ARP地址映像表,一方面用自己的IP地址與目標(biāo)結(jié)點(diǎn)協(xié)議地址字段比較,若相符則發(fā)回一個(gè)ARP響應(yīng)分組,向發(fā)送方報(bào)告自己的硬件地址,若不相符則不予回答。表7-4ARP地址映像表的例所謂代理ARP(ProxyARP)就是路由器“假裝”目標(biāo)主機(jī)來回答ARP請(qǐng)求,所以源主機(jī)必須先把數(shù)據(jù)幀發(fā)給路由器,再由路由器轉(zhuǎn)發(fā)給目標(biāo)主機(jī)。這種技術(shù)不需要配置默認(rèn)網(wǎng)關(guān),也不需要配置路由信息,就可以實(shí)現(xiàn)子網(wǎng)之間的通信。用于說明代理ARP的例子如圖7-12所示,設(shè)子網(wǎng)A上的主機(jī)A(00)需要與子網(wǎng)B上的主機(jī)D(00)通信。圖中的主機(jī)A有一個(gè)16位的子網(wǎng)掩碼,這意味著主機(jī)A認(rèn)為它直接連接到網(wǎng)絡(luò),當(dāng)主機(jī)A需要與它直接連接的設(shè)備通信時(shí),它就向目標(biāo)發(fā)送一個(gè)ARP請(qǐng)求。主機(jī)A需要主機(jī)D的MAC地址時(shí),它在子網(wǎng)A上廣播的ARP請(qǐng)求分組是圖7-12代理ARP的例這個(gè)請(qǐng)求的含義是要求主機(jī)D(00)回答它的MAC地址。ARP請(qǐng)求分組被包裝在以太幀中,其源地址是A的MAC地址,而目標(biāo)地址是廣播地址(FFFF.FFFF.FFFF)。由于路由器不轉(zhuǎn)發(fā)廣播幀,所以這個(gè)ARP請(qǐng)求只能在子網(wǎng)A中傳播,到不了主機(jī)D。如果路由器知道目標(biāo)地址(00)在另外一個(gè)子網(wǎng)中,它就以自己的MAC地址回答主機(jī)A,路由器發(fā)送的應(yīng)答分組是這個(gè)應(yīng)答分組包裝在以太幀中,以路由器的MAC地址為源地址,以主機(jī)A的MAC地址為目標(biāo)地址,ARP應(yīng)答幀是單播傳送的。在接收到ARP應(yīng)答后,主機(jī)A就更新它的ARP表此后主機(jī)A就把所有發(fā)送給主機(jī)D(00)的分組發(fā)送給MAC地址為00-00-0c-94-36-ab的主機(jī),這就是路由器的網(wǎng)卡地址。通過這種方式,子網(wǎng)A中的ARP映像表都把路由器的MAC地址當(dāng)作子網(wǎng)B中主機(jī)的MAC地址。例如主機(jī)A的ARP映像表如下所示:多個(gè)IP地址被映像到一個(gè)MAC地址這一事實(shí)正是代理ARP的標(biāo)志。
RARP(ReverseAddressResolutionProtocol)是反向ARP協(xié)議,即由硬件地址查找邏輯地址。通常主機(jī)的IP地址保存在硬盤上,機(jī)器關(guān)電時(shí)也不會(huì)丟失,系統(tǒng)啟動(dòng)時(shí)自動(dòng)讀入內(nèi)存中;但是無盤工作站無法保存IP地址,它的IP地址由RARP服務(wù)器保存。當(dāng)無盤工作站啟動(dòng)時(shí),廣播一個(gè)RARP請(qǐng)求分組,把自己的硬件地址同時(shí)寫入發(fā)送方和接收方的硬件地址字段中。RARP服務(wù)器接收這個(gè)請(qǐng)求,并填寫目標(biāo)IP地址字段,把操作字段改為RARP響應(yīng)分組,送回請(qǐng)求的主機(jī)。7.2.5動(dòng)態(tài)主機(jī)配置協(xié)議在大型網(wǎng)絡(luò)中,如果采用固定IP地址分配方案,那么管理成千上萬個(gè)主機(jī)地址要耗費(fèi)大量的人工,而且容易出錯(cuò),容易產(chǎn)生地址沖突或者合法用戶的網(wǎng)絡(luò)地址被非法盜用,這時(shí)采用動(dòng)態(tài)主機(jī)配置協(xié)議管理用戶地址是常用的解決方案。動(dòng)態(tài)主機(jī)配置協(xié)議(DynamicHostConfigurationProtocol,DHCP)用于在大型網(wǎng)絡(luò)中為客戶機(jī)自動(dòng)分配IP地址及有關(guān)網(wǎng)絡(luò)參數(shù)(默認(rèn)網(wǎng)關(guān)和DNS服務(wù)器地址等)。使用DHCP服務(wù)器可以節(jié)省網(wǎng)絡(luò)配置工作量,便于進(jìn)行網(wǎng)絡(luò)管理,有效地避免網(wǎng)絡(luò)地址沖突,還能解決IP地址資源不足的問題,特別對(duì)于使用筆記本計(jì)算機(jī)的移動(dòng)用戶,從一個(gè)子網(wǎng)移動(dòng)到另一個(gè)子網(wǎng)時(shí),就不需要手工更換IP地址了。
DHCP使用了BOOTP協(xié)議的報(bào)文格式。BOOTP只有Request(請(qǐng)求)和Replay(響應(yīng))兩種報(bào)文,DHCP在此基礎(chǔ)上定義了8種語義不同的報(bào)文,實(shí)現(xiàn)了更加復(fù)雜的交互過程。DHCP的報(bào)文格式如圖7-13所示。對(duì)DHCP報(bào)文中的字段解釋如下:●op:操作碼,指明報(bào)文類型,1=BOOTRequest,2=BOOTReplay●htype:硬件地址類型,1=Ethernet●hlen:硬件地址長(zhǎng)度●hops:跳數(shù),由客戶端設(shè)置為0●xid:事務(wù)標(biāo)識(shí)(TransactionID),由客戶機(jī)指定的一個(gè)隨機(jī)數(shù),用于識(shí)別請(qǐng)求報(bào)文對(duì)應(yīng)的響應(yīng)報(bào)文圖7-13DHCP報(bào)文格式●secs:客戶端獲取IP地址消耗的時(shí)間(秒)●flags:標(biāo)志字段的最左位設(shè)置為1(表示廣播),其余位為0(保留未用)●ciaddr:客戶端IP地址●yiaddr:你的IP地址●siaddr:服務(wù)器IP地址●giaddr:中繼代理的IP地址●chaddr:客戶端硬件地址●sname:服務(wù)器名(任選)●file:Boot文件名●options:可變長(zhǎng)的任選參數(shù)字段,可擴(kuò)展,主要內(nèi)容有:
requestedIPaddress
IPaddressleasetime
use'file'/'sname'fields
DHCPmessagetype
parameterrequestlist
message
clientidentifier
vendorclassidentifier
serveridentifier
DHCP使用UDP作為傳輸協(xié)議,服務(wù)器端口是67,客戶機(jī)端口是68。客戶機(jī)在沒有分配地址之前,把自己的IP地址設(shè)置為,給服務(wù)器采用廣播方式發(fā)送報(bào)文,即目標(biāo)IP地址設(shè)置為55??蛻魴C(jī)和服務(wù)器進(jìn)行網(wǎng)絡(luò)地址分配和釋放的交互過程如下:
(1)客戶機(jī)在本地子網(wǎng)中廣播一個(gè)DHCPDISCOVER報(bào)文,其中包含了想要獲取的網(wǎng)絡(luò)地址和租約期(任選項(xiàng)),BOOTP中繼代理可以把這個(gè)報(bào)文轉(zhuǎn)發(fā)到不在同一子網(wǎng)中的DHCP服務(wù)器。圖7-14給出了一個(gè)客戶機(jī)發(fā)出的DHCPDICOVER報(bào)文的主要內(nèi)容。圖7-14DHCPDICOVER報(bào)文
(2)收到廣播包的每一個(gè)服務(wù)器都以DHCPOFFER報(bào)文響應(yīng)之,其中的yiaddr字段包含了可提供的網(wǎng)絡(luò)地址,服務(wù)器并不保留這個(gè)地址,只是在交互過程的最后階段才檢查被分配的網(wǎng)絡(luò)地址是否已經(jīng)在使用。
(3)客戶機(jī)可能接收到一個(gè)或多個(gè)服務(wù)器的響應(yīng)報(bào)文,客戶機(jī)只選擇其中一個(gè)服務(wù)器的配置參數(shù),然后廣播DHCPREQUEST報(bào)文,其中的serveridentifier字段指示了它選擇的服務(wù)器,requestedIPaddress選項(xiàng)被設(shè)置為DHCPOFFER報(bào)文中yiaddr字段的值。DHCPREQUEST應(yīng)該被廣播到所有接收過DHCPDISCOVER的服務(wù)器。
(4)沒有被選擇的服務(wù)器把接收到的DHCPREQUEST當(dāng)作一個(gè)拒絕通知。被選擇的服務(wù)器則發(fā)送DHCPACK報(bào)文,其中包含了分配給客戶機(jī)的配置參數(shù),clientidentifier(或chaddr)字段和被授予的網(wǎng)絡(luò)地址構(gòu)成了客戶機(jī)租約期的專用標(biāo)識(shí)。如果被選擇的服務(wù)器不能滿足DHCPREQUEST提出的請(qǐng)求(例如請(qǐng)求的地址已經(jīng)被分配),則以DHCPNAK響應(yīng)之。
(5)客戶機(jī)接收到了DHCPACK報(bào)文后就進(jìn)行實(shí)際的網(wǎng)絡(luò)配置。如果客戶機(jī)發(fā)現(xiàn)得到的網(wǎng)絡(luò)地址已經(jīng)在用,則發(fā)送DHCPDECLINE報(bào)文,重啟配置過程。在重新配置之前要等待10?s,以避免由于循環(huán)而引起過多的網(wǎng)絡(luò)流量。如果客戶機(jī)收到DHCPNAK報(bào)文,也要重啟配置過程。
(6)客戶機(jī)如果要廢棄租約,則向服務(wù)器發(fā)送DHCPRELEASE報(bào)文。客戶機(jī)用clientidentifier(或chaddr)字段和DHCPRELEASE報(bào)文中的網(wǎng)絡(luò)地址來標(biāo)識(shí)要廢棄的租約。圖7-15是客戶機(jī)與服務(wù)器交互過程的圖形表示。
DHCP的租約周期就是IP地址的有效期。租約周期可長(zhǎng)可短,取決于用戶的上網(wǎng)環(huán)境和工作性質(zhì)。當(dāng)客戶機(jī)重新啟動(dòng)或租約期達(dá)到50%時(shí),客戶機(jī)向提供租約的服務(wù)器發(fā)送DHCPREQUEST報(bào)文,提出更新租約的請(qǐng)求,如果DHCP服務(wù)器接收到更新請(qǐng)求,它就給客戶機(jī)發(fā)送DHCPACK報(bào)文,其中包含新租約的持續(xù)時(shí)間和需要更新的參數(shù);如果客戶機(jī)續(xù)訂租約失敗,則在租約期到達(dá)87.5%時(shí)客戶機(jī)進(jìn)入重新申請(qǐng)租約的狀態(tài),它向網(wǎng)絡(luò)上所有服務(wù)器廣播DHCPDISCOVER報(bào)文,以便更新現(xiàn)有的地址租約。圖7-15DHCP客戶機(jī)與服務(wù)器的交互過程
DHCP的作用域是服務(wù)器可分配的IP地址范圍。DHCP服務(wù)器應(yīng)該至少配置一個(gè)作用域,各作用域的地址范圍不能重疊。另外還有一些地址是保留的,保留的IP地址用于提供特定服務(wù)的計(jì)算機(jī),必須把保留的IP地址與客戶機(jī)的MAC地址進(jìn)行綁定。如果DHCP服務(wù)器的硬件配置較低,地址緩沖池不能太大,可提供的IP地址就較少,要讓較多的客戶機(jī)輪換使用較少的IP地址,則必須使用較短的租約期。自動(dòng)專用IP地址(AutomaticPrivateIPAddress,APIPA)是當(dāng)客戶機(jī)無法從DHCP服務(wù)器中獲得IP地址時(shí)自動(dòng)配置的地址。?IANA(InternetAssignedNumbersAuthority)為APIPA保留了一個(gè)B類地址塊~55,當(dāng)網(wǎng)絡(luò)中的DHCP服務(wù)器失效,或者由于網(wǎng)絡(luò)故障而找不到DHCP服務(wù)器時(shí),這個(gè)功能開始生效,使得客戶機(jī)可以在一個(gè)小型局域網(wǎng)中運(yùn)行,與其他自動(dòng)或手工獲得APIPA地址的計(jì)算機(jī)進(jìn)行通信。7.3路由協(xié)議在早期的互聯(lián)網(wǎng)中把路由器叫做網(wǎng)關(guān)。IP網(wǎng)關(guān)執(zhí)行復(fù)雜的路由算法,需要大量而及時(shí)的路由信息,網(wǎng)關(guān)協(xié)議就是在網(wǎng)關(guān)之間交換路由信息的協(xié)議,因而也叫做路由協(xié)議。7.3.1自治系統(tǒng)自治系統(tǒng)(AutonomousSystem,AS)是由一個(gè)管理部門控制的一組網(wǎng)絡(luò),在AS內(nèi)部采用相同的路由技術(shù),實(shí)現(xiàn)統(tǒng)一的路由策略,不同的AS采用的路由技術(shù)和路由策略可以不同。內(nèi)部網(wǎng)關(guān)協(xié)議(InteriorGatewayProtocol,IGP)用于在自治系統(tǒng)內(nèi)部交換路由信息,例如RIP、OSPF等都是內(nèi)部網(wǎng)關(guān)協(xié)議。外部網(wǎng)關(guān)協(xié)議(ExteriorGatewayProtocol,EGP)用于在兩個(gè)自治系統(tǒng)之間交換路由信息,邊界網(wǎng)關(guān)協(xié)議BGP(BorderGatewayProtocol)是現(xiàn)在廣泛使用的外部網(wǎng)關(guān)協(xié)議。內(nèi)部網(wǎng)關(guān)協(xié)議和外部網(wǎng)關(guān)協(xié)議的應(yīng)用參見圖7-16。自治系統(tǒng)用16位號(hào)碼來標(biāo)識(shí),因特網(wǎng)地址授權(quán)機(jī)構(gòu)(InternetAssignedNumbersAuthority,IANA)指定了各個(gè)地區(qū)的注冊(cè)機(jī)構(gòu)負(fù)責(zé)AS號(hào)碼的分配,例如亞太區(qū)屬于AP-NIC(admin@)管理。就像網(wǎng)絡(luò)地址分為公網(wǎng)地址和私網(wǎng)地址一樣,AS號(hào)碼也分為公用的和私有的。如果一個(gè)網(wǎng)絡(luò)要連接到Internet主干網(wǎng),通過運(yùn)行BGP協(xié)議從Internet獲取路由信息,那么就必須向IANA的地區(qū)注冊(cè)機(jī)構(gòu)申請(qǐng)公用號(hào)碼;如果只是把一個(gè)組織的內(nèi)部網(wǎng)絡(luò)劃分為不同的自治系統(tǒng),則可以使用自己定義的AS號(hào)碼。圖7-16內(nèi)部網(wǎng)關(guān)協(xié)議和外部網(wǎng)關(guān)協(xié)議
IANA規(guī)定,64512~65534為專用號(hào)碼,而號(hào)碼0、54272~64511和65535都是IANA私有的號(hào)碼,在其他網(wǎng)絡(luò)環(huán)境中不能使用。由于AS號(hào)碼消耗很快,所以2007年5月發(fā)布的RFC4893引入了32位的AS號(hào)碼。新號(hào)碼可以表示為x.y形式,x和y都是16位二進(jìn)制數(shù),0.y表示老號(hào)碼,1.y和65535.65535是保留的,其余號(hào)碼用于分配。另外,RFC5396還提出了用文字作為AS標(biāo)識(shí)的方案。引入自治系統(tǒng)的概念可以控制互聯(lián)網(wǎng)中路由信息的傳播范圍,例如可以選擇把哪個(gè)路由器信息發(fā)布給其他自治系統(tǒng),也可以控制從其他自治系統(tǒng)中接受哪些路由器發(fā)布的信息。7.3.2外部網(wǎng)關(guān)協(xié)議早期有一個(gè)外部網(wǎng)關(guān)協(xié)議叫做EGP,最新的外部網(wǎng)關(guān)協(xié)議叫做BGP(BorderGatewayProtocol)。BGP4已經(jīng)廣泛地應(yīng)用于不同ISP的網(wǎng)絡(luò)之間,成為事實(shí)上的Internet外部路由協(xié)議標(biāo)準(zhǔn)。
BGP4是一種動(dòng)態(tài)路由發(fā)現(xiàn)協(xié)議,支持無類別域間路由CIDR。BGP的主要功能是控制路由策略,例如是否愿意轉(zhuǎn)發(fā)過路的分組等。BGP的四種報(bào)文表示在表7-5中,這些報(bào)文通過TCP(179端口)連接傳送。表7-5BGP的4種報(bào)文在BGP中用上述四種報(bào)文可實(shí)現(xiàn)以下三個(gè)功能過程:
(1)建立鄰居關(guān)系。位于不同自治系統(tǒng)中的兩個(gè)路由器首先要建立鄰居關(guān)系,然后才能周期性地交換路由信息。建立鄰居關(guān)系的過程是由一個(gè)路由器發(fā)送Open報(bào)文,另一個(gè)路由器若愿意接受請(qǐng)求則以Keepalive報(bào)文應(yīng)答。至于路由器如何知道對(duì)方的IP地址,協(xié)議中沒有規(guī)定,可以由管理人員在配置時(shí)提供。Open報(bào)文中包含發(fā)送者的IP地址及其所屬自治系統(tǒng)的標(biāo)識(shí),另外還有一個(gè)保持時(shí)間參數(shù),即定期交換信息的時(shí)間間隔。接收者把Open報(bào)文中的保持時(shí)間與自己的保持時(shí)間計(jì)數(shù)器比較,選取其中的較小者,這就是一次交換信息保持有效的最長(zhǎng)時(shí)間。建立鄰居關(guān)系的一對(duì)路由器以選定的周期交換路由信息。
(2)鄰居可到達(dá)性。這個(gè)過程維護(hù)鄰居關(guān)系的有效性,通過周期性地互相發(fā)送Keepalive報(bào)文,雙方都知道對(duì)方的活動(dòng)狀態(tài)。
(3)網(wǎng)絡(luò)可到達(dá)性。每個(gè)路由器維護(hù)一個(gè)數(shù)據(jù)庫,記錄著它可到達(dá)的所有子網(wǎng)。當(dāng)情況有變化時(shí)用更新報(bào)文把最新消息及時(shí)地傳送給其他BGP路由器。?Update報(bào)文包含兩類信息:一類是要作廢的路由器列表,另一類是新增路由的屬性信息。前者列出了已經(jīng)關(guān)機(jī)或失效的一些路由器,接收者應(yīng)把有關(guān)內(nèi)容從本地?cái)?shù)據(jù)庫中刪除。后者包含以下三種信息:●網(wǎng)絡(luò)層可到達(dá)信息(NLRI)是發(fā)送路由器可到達(dá)的子網(wǎng)地址列表?!窠?jīng)過的自治系統(tǒng)(AS_Path)是數(shù)據(jù)報(bào)旅行路途上經(jīng)過的自治系統(tǒng)的標(biāo)識(shí),主要用于通信策略控制。收到這個(gè)信息的路由器可以自主決定是否選擇某條通路,例如機(jī)密報(bào)文不能進(jìn)入某些自治系統(tǒng),或者由于線路擁塞而決定不選擇某條通路?!裣乱惶?Next-Hop)是指下一步轉(zhuǎn)發(fā)的邊界路由器的IP地址,可以是發(fā)送者的地址,也可以是另外的邊界路由器的地址。例如在圖7-16中,R1告訴R5,通過R2也可以到達(dá)AS1。雖然R2沒有實(shí)現(xiàn)BGP,也沒有與R5建立鄰居關(guān)系,但是R1通過IGP知道了與R2有關(guān)的路由信息。
BGP4的報(bào)文格式如圖7-17所示。所有BGP報(bào)文都有19個(gè)字節(jié)的固定長(zhǎng)度頭部,其中包括16個(gè)字節(jié)的標(biāo)記(用于認(rèn)證和同步)、2個(gè)字節(jié)的報(bào)文長(zhǎng)度和1個(gè)字節(jié)的類型字段。圖7-17BGP報(bào)文格式圖7-18表示BGP更新報(bào)文的數(shù)據(jù)部分,其中部分字段解釋如下:●不可用的路由長(zhǎng)度(unfeasiblerouteslength):表示回收字段的長(zhǎng)度;●回收的路由(withdrawnroutes):包含了從服務(wù)中撤消的路由的IP地址前綴列表;●通路屬性(pathattributes),包含了與網(wǎng)絡(luò)層可到達(dá)性信息字段中的IP地址前綴相關(guān)聯(lián)的屬性列表,例如路由信息的來源、路由優(yōu)先級(jí)、實(shí)施路由聚合的BGP實(shí)體、以及在路由聚合時(shí)丟失的路由信息等。圖7-18路由更新報(bào)文7.3.3內(nèi)部網(wǎng)關(guān)協(xié)議網(wǎng)關(guān)協(xié)議也叫做路由協(xié)議(routingprotocol),是路由器之間實(shí)現(xiàn)路由信息共享的一種機(jī)制,它允許路由器之間通過交換路由信息維護(hù)各自的路由表。IP協(xié)議是根據(jù)路由表進(jìn)行分組轉(zhuǎn)發(fā)的協(xié)議,按照業(yè)內(nèi)的說法,應(yīng)該叫做被路由的協(xié)議(routedprotocol)。常用內(nèi)部路由協(xié)議包括路由信息協(xié)議(RoutingInformationProtocol,RIP)、開放最短路徑優(yōu)先協(xié)議(OpenShortestPathFirst,OSPF)、中間系統(tǒng)到中間系統(tǒng)的協(xié)議(IntermediateSystemtoIntermediateSystem,IS-IS)、內(nèi)部網(wǎng)關(guān)路由協(xié)議(InteriorGatewayRoutingProtocol,IGRP)和增強(qiáng)的IGRP協(xié)議(EnhancedIGTRP,EIGRP)等,最后兩種是思科公司的專利協(xié)議。
1.路由信息協(xié)議
RIP的原型最早出現(xiàn)在UNIXBerkley4.3BSD中,它采用Bellman-Ford的距離矢量路由算法,用于在ARPAnet中計(jì)算最佳路由,現(xiàn)在的RIP作為內(nèi)部網(wǎng)關(guān)協(xié)議運(yùn)行在基于TCP/IP的網(wǎng)絡(luò)中。RIP適用于小型網(wǎng)絡(luò),因?yàn)樗试S的跳步數(shù)不超過15步。
1)?RIPv1
RIP分為兩個(gè)版本,RIPv1(RFC1058,1988)是早期的路由協(xié)議,現(xiàn)在仍然廣泛使用。RIPv1使用本地廣播地址55發(fā)布路由信息,默認(rèn)的路由更新周期為30?s,持有時(shí)間(Hold-DownTime)為180?s。也就是說,RIP路由器每30s向所有鄰居發(fā)送一次路由更新報(bào)文,如果在180?s之內(nèi)沒有從某個(gè)鄰居接收到路由更新報(bào)文,則認(rèn)為該鄰居已經(jīng)不存在了。這時(shí)如果從其他鄰居收到了有關(guān)同一目標(biāo)的路由更新報(bào)文,則用新的路由信息替換已失效的路由表項(xiàng),否則,對(duì)應(yīng)的路由表項(xiàng)被刪除。
RIP以跳步計(jì)數(shù)(hopcount)來度量路由費(fèi)用,顯然這不是最好的度量標(biāo)準(zhǔn)。例如,若有兩條到達(dá)同一目標(biāo)的連接,一條是經(jīng)過兩跳的10?M以太網(wǎng)連接,另一條是經(jīng)過一跳的64?KWAN連接,則RIP會(huì)選取WAN連接作為最佳路由。在RIP協(xié)議中,15跳是最大跳數(shù),16跳是不可到達(dá)網(wǎng)絡(luò),經(jīng)過16跳的任何分組將被路由器丟棄。
RIPv1是有類別的協(xié)議(classfulprotocol),這意味著配置RIPv1時(shí)必須使用A、B或C類IP地址和子網(wǎng)掩碼,例如不能把子網(wǎng)掩碼用于B類網(wǎng)絡(luò)。對(duì)于同一目標(biāo),RIP路由表項(xiàng)中最多可以有6條等費(fèi)用的通路,雖然默認(rèn)是4條。RIP可以實(shí)現(xiàn)等費(fèi)用通路的負(fù)載均衡(equal-costloadbalancing),這種機(jī)制提供了鏈路冗余功能,以對(duì)付可能出現(xiàn)的連接失效,但是RIP不支持不等費(fèi)用通路的負(fù)載均衡,這種功能出現(xiàn)在后來的IGRP和EIGRP中。
2)?RIPv2
RIPv2是增強(qiáng)了的RIP協(xié)議,定義在RFC1721和RFC1722(1994)中。RIPv2基本上還是一個(gè)距離矢量路由協(xié)議,但是有三方面的改進(jìn)。首先是它使用組播而不是廣播來傳播路由更新報(bào)文,并且采用了觸發(fā)更新(triggeredupdate)機(jī)制來加速路由收斂,即出現(xiàn)路由變化時(shí)立即向鄰居發(fā)送路由更新報(bào)文,而不必等待更新周期是否到達(dá)。其次是RIPv2是一個(gè)無類別的協(xié)議(classlessprotocol),可以使用可變長(zhǎng)子網(wǎng)掩碼(VLSM),也支持無類別域間路由(CIDR),這些功能使得網(wǎng)絡(luò)的設(shè)計(jì)更具伸縮性。第三個(gè)增強(qiáng)是RIPv2支持認(rèn)證,使用經(jīng)過散列的口令字來限制路由更新信息的傳播。其他方面的特性與第一版相同,例如以跳步計(jì)數(shù)來度量路由費(fèi)用,允許的最大跳步數(shù)為15等。
3)路由收斂和水平分割距離矢量法算法要求相鄰的路由器之間周期性地交換路由表,并通過逐步交換把路由信息擴(kuò)散到網(wǎng)絡(luò)中所有的路由器。這種逐步交換過程如果不加以限制,將會(huì)形成路由環(huán)路(RoutingLoops),使得各個(gè)路由器無法就網(wǎng)絡(luò)的可到達(dá)性取得一致。例如在圖7-19中,路由器R1、R2、R3的路由表已經(jīng)收斂,每個(gè)路由表的后兩項(xiàng)是通過交換路由信息學(xué)習(xí)到的。如果在某一時(shí)刻,網(wǎng)絡(luò)發(fā)生故障,R3檢測(cè)到故障,并通過接口S0把故障通知給R2;然而,如果R2在收到R3的故障通知前將其路由表發(fā)送到R3,則R3會(huì)認(rèn)為通過R2可以訪問,并據(jù)此將路由表中第二條記錄修改為(,S0,2)。這樣一來,路由器R1、R2、R3都認(rèn)為通過其他的路由器存在一條通往的路徑,結(jié)果導(dǎo)致目標(biāo)地址為的數(shù)據(jù)包在三個(gè)路由器之間來回傳遞,從而形成路由環(huán)路。圖7-19路由表的內(nèi)容解決路由環(huán)路問題可以采用水平分割法(SplitHorizon)。這種方法規(guī)定,路由器必須有選擇地將路由表中的信息發(fā)送給鄰居,而不是發(fā)送整個(gè)路由表,具體地說,一條路由信息不會(huì)被發(fā)送給該信息的來源。可以對(duì)圖7-19中R2的路由表項(xiàng)將加上一些注釋,如圖7-20所示,可以看出,每一條路由信息都不會(huì)通過其來源接口向回發(fā)送,這樣就可以避免環(huán)路的產(chǎn)生。圖7-20路由信息選擇發(fā)送簡(jiǎn)單的水平分割方案是:“不能把從鄰居學(xué)習(xí)到的路由發(fā)送給那個(gè)鄰居”;帶有反向毒化的水平分割方案(SplitHorizonwithPoisonedReverse)是:“把從鄰居學(xué)習(xí)到的路由費(fèi)用設(shè)置為無限大,并立即發(fā)送給那個(gè)鄰居”。采用反向毒化的方案更安全一些,它可以立即中斷環(huán)路;相反,簡(jiǎn)單水平分割方案則必須等待一個(gè)更新周期才能中斷環(huán)路的形成過程。另外,前面提到的觸發(fā)更新技術(shù)也能加快路由收斂,如果觸發(fā)更新足夠及時(shí),路由器R3在接收R2的更新報(bào)文之前把網(wǎng)絡(luò)的故障告訴R2,則也可以防止環(huán)路的形成。圖7-21RIPv2報(bào)文格式
4)?RIP報(bào)文格式
RIPv2報(bào)文封裝在UDP數(shù)據(jù)報(bào)中發(fā)送,占用端口號(hào)520,報(bào)文格式如圖7-21所示。報(bào)文包含4個(gè)字節(jié)的報(bào)頭,然后是若干個(gè)路由記錄。RIP報(bào)文最多可攜帶25個(gè)路由記錄,每個(gè)路由記錄20個(gè)字節(jié),其中的各個(gè)字段解釋如下:●命令:用于區(qū)分請(qǐng)求和響應(yīng)報(bào)文。●版本:可以是RIP第一版或第二版,兩種版本同一報(bào)文格式?!竦刂纷鍢?biāo)識(shí)符:對(duì)于IP協(xié)議,該字段為2。●路由標(biāo)記:用于區(qū)別內(nèi)部或外部路由,用16位的AS編號(hào)來區(qū)分從其他自治系統(tǒng)學(xué)習(xí)到的路由?!窬W(wǎng)絡(luò)地址:表示目標(biāo)IP地址。●子網(wǎng)掩碼:對(duì)于RIPv2,該字段是對(duì)應(yīng)網(wǎng)絡(luò)地址的子網(wǎng)掩碼;對(duì)于RIPv1,該字段是0,因?yàn)镽IPv1默認(rèn)使用A、B、C類地址掩碼?!裣乱惶酚善鞯刂罚罕硎鞠乱惶牡刂贰!窬嚯x:表示到達(dá)目標(biāo)的跳步數(shù)。
2.OSPF協(xié)議
OSPF(RFC2328,1998)是一種鏈路狀態(tài)協(xié)議,用于在自治內(nèi)部的路由器之間交換路由信息。OSPF具有支持大型網(wǎng)絡(luò)、占用網(wǎng)絡(luò)資源少、路由收斂快等優(yōu)點(diǎn),在目前的網(wǎng)絡(luò)配置中占有很重要的地位。距離矢量協(xié)議發(fā)布自己的路由表,交換的路由信息量很大。鏈路狀態(tài)協(xié)議與之不同,它是從各個(gè)路由器收集鏈路狀態(tài)信息,構(gòu)造網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)圖,使用Dijkstra的最短通路優(yōu)先算法(ShortestPathFirst,SPF)計(jì)算到達(dá)各個(gè)目標(biāo)的最佳路由。鏈路狀態(tài)協(xié)議與距離矢量協(xié)議發(fā)布路由信息的方式也不同,距離矢量協(xié)議是周期性地發(fā)布路由信息,而鏈路狀態(tài)協(xié)議是在網(wǎng)絡(luò)拓?fù)浒l(fā)生變化時(shí)才發(fā)布路由信息,而且OSPF采用TCP連接發(fā)送報(bào)文,每個(gè)報(bào)文都要求應(yīng)答,因而通信更加可靠。為了適應(yīng)大型網(wǎng)絡(luò)配置的需要,OSPF協(xié)議引入了“分層路由”的概念。如果網(wǎng)絡(luò)規(guī)模很大,則路由器要學(xué)習(xí)的路由信息很多,對(duì)網(wǎng)絡(luò)資源的消耗很大,所以典型的鏈路狀態(tài)協(xié)議都把網(wǎng)絡(luò)劃分成較小的區(qū)域(Area),從而限制了路由信息傳播的范圍。每個(gè)區(qū)域就如同一個(gè)獨(dú)立的網(wǎng)絡(luò),區(qū)域內(nèi)的路由器只保存該區(qū)域的鏈路狀態(tài)信息,使得路由器的鏈路狀態(tài)數(shù)據(jù)庫可以保持合理的大小,路由計(jì)算的時(shí)間和報(bào)文數(shù)量都不會(huì)太大。OSPF主干網(wǎng)負(fù)責(zé)在各個(gè)區(qū)域之間傳播路由信息。圖7-22表示一個(gè)劃分成3個(gè)區(qū)域的OSPF網(wǎng)絡(luò)的例子,其中的路由器4、5、6、10、11和12組成主干網(wǎng)。如果區(qū)域3中的主機(jī)H1要向區(qū)域2中的主機(jī)H2發(fā)送數(shù)據(jù),則先發(fā)送給R13,由它轉(zhuǎn)發(fā)給R12,再轉(zhuǎn)發(fā)給R11,R11沿主干網(wǎng)轉(zhuǎn)發(fā)給R10,然后通過區(qū)域2內(nèi)的路由器R9和R7到達(dá)主機(jī)H2。圖7-22OSPF的分區(qū)主干網(wǎng)本身也是OSPF區(qū)域,稱為區(qū)域0(Area0),主干網(wǎng)的拓?fù)浣Y(jié)構(gòu)對(duì)所有的跨區(qū)域的路由器都是可見的。
1)?OSPF區(qū)域每個(gè)OSPF區(qū)域被指定了一個(gè)32bit的區(qū)域標(biāo)識(shí)符,可以用點(diǎn)分十進(jìn)制表示,例如主干區(qū)域的標(biāo)識(shí)符可表示為。OSPF的區(qū)域分為以下5種,不同類型的區(qū)域?qū)τ勺灾蜗到y(tǒng)外部傳入的路由信息的處理方式不同。
(1)標(biāo)準(zhǔn)區(qū)域:標(biāo)準(zhǔn)區(qū)域可以接收任何鏈路更新信息和路由匯總信息。
(2)主干區(qū)域:主干區(qū)域是連接各個(gè)區(qū)域的傳輸網(wǎng)絡(luò),其他區(qū)域都通過主干區(qū)域交換路由信息。主干區(qū)域擁有標(biāo)準(zhǔn)區(qū)域的所有性質(zhì)。
(3)存根區(qū)域:不接受本地自治系統(tǒng)以外的路由信息,對(duì)自治系統(tǒng)以外的目標(biāo)采用默認(rèn)路由。
(4)完全存根區(qū)域:不接受自治系統(tǒng)以外的路由信息,也不接受自治系統(tǒng)內(nèi)其他區(qū)域的路由匯總信息,發(fā)送到本地區(qū)域外的報(bào)文使用默認(rèn)路由。完全存根區(qū)域是Cisco定義的,是非標(biāo)準(zhǔn)的。
(5)不完全存根區(qū)域(NSAA):類似于存根區(qū)域,但是允許接收以類型7的鏈路狀態(tài)公告發(fā)送的外部路由信息。
2)?OSPF網(wǎng)絡(luò)類型網(wǎng)絡(luò)的物理連接和拓?fù)浣Y(jié)構(gòu)不同,交換路由信息的方式就不同。OSPF將路由器連接的物理網(wǎng)絡(luò)劃分為四種類型:
(1)點(diǎn)對(duì)點(diǎn)網(wǎng)絡(luò):例如一對(duì)路由器用64kb的串行線路連接,就屬于點(diǎn)對(duì)點(diǎn)網(wǎng)絡(luò),在這種網(wǎng)絡(luò)中,兩個(gè)路由器可以直接交換路由信息。
(2)廣播多址網(wǎng)絡(luò):以太網(wǎng)或者其他具有共享介質(zhì)的局域網(wǎng)都屬于這種網(wǎng)絡(luò)。在這種網(wǎng)絡(luò)中,一條路由信息可以廣播給所有的路由器。
(3)非廣播多址網(wǎng)絡(luò)(Non-BroadcastMulti-Access,NBMA):例如X.25分組交換網(wǎng)就屬于這種網(wǎng)絡(luò),在這種網(wǎng)絡(luò)中可以通過組播方式發(fā)布路由信息。
(4)點(diǎn)到多點(diǎn)網(wǎng)絡(luò):可以把非廣播網(wǎng)絡(luò)當(dāng)作多條點(diǎn)對(duì)點(diǎn)網(wǎng)絡(luò)來使用,從而把一條路由信息發(fā)送到不同的目標(biāo)。如果兩個(gè)路由器都通過各自的接口連接到一個(gè)共同的網(wǎng)絡(luò)上,則它們是鄰居(Neighboring)的關(guān)系,路由器通過OSPF的Hello協(xié)議來發(fā)現(xiàn)鄰居。路由器可以在其鄰居中選擇需要交換鏈路狀態(tài)信息的路由器,與之建立毗鄰關(guān)系(Adjacency)。并不是每一對(duì)鄰居都需要交換路由信息,因而不是每一對(duì)鄰居都要建立毗鄰關(guān)系。在一個(gè)廣播網(wǎng)絡(luò)或NBMA網(wǎng)絡(luò)中要選舉一個(gè)指定路由器(DesignatedRouter,DR),其他的路由器都與DR建立毗鄰關(guān)系,把自己掌握的鏈路狀態(tài)信息提交給DR,由DR代表這個(gè)網(wǎng)絡(luò)向外界發(fā)布??梢钥闯?,DR的存在減少了毗鄰關(guān)系的數(shù)量,從而也減少了向外發(fā)布的路由信息量。
3)?OSPF路由器在多區(qū)域網(wǎng)絡(luò)中,OSPF路由器可以按不同的功能劃分為以下四種:
(1)內(nèi)部路由器:所有接口在同一區(qū)域內(nèi)的路由器,只維護(hù)一個(gè)鏈路狀態(tài)數(shù)據(jù)庫。
(2)主干路由器:具有連接主干區(qū)域接口的路由器。
(3)區(qū)域邊界路由器(ABR):連接多個(gè)區(qū)域的路由器,一般作為一個(gè)區(qū)域的出口。ABR為每一個(gè)連接的區(qū)域建立一個(gè)鏈路狀態(tài)數(shù)據(jù)庫,負(fù)責(zé)將所連接區(qū)域的路由摘要信息發(fā)送到主干區(qū)域,而主干區(qū)域上的ABR則負(fù)責(zé)將這些信息發(fā)送給各個(gè)區(qū)域。
(4)自治系統(tǒng)邊界路由器(ASBR):至少擁有一個(gè)連接外部自治系統(tǒng)接口的路由器,負(fù)責(zé)將外部非OSPF網(wǎng)絡(luò)的路由信息傳入OSPF網(wǎng)絡(luò)。
4)鏈路狀態(tài)公告
OSPF路由器之間通過鏈路狀態(tài)公告(LinkStateAdvertisment,LSA)交換網(wǎng)絡(luò)拓?fù)湫畔ⅲ琇SA中包含連接的接口、鏈路的度量值(Metric)等信息。LSA有幾種不同類型的報(bào)文,參見表7-6。表7-6LSA類型
5)?OSPF報(bào)文表7-7列出了OSPF的5種報(bào)文,這些報(bào)文通過TCP連接傳送。OSPF路由器啟動(dòng)后以固定的時(shí)間間隔泛洪傳播Hello報(bào)文,采用目標(biāo)地址代表所有的OSPF路由器,在點(diǎn)對(duì)點(diǎn)網(wǎng)絡(luò)上每10s發(fā)送一次,在NBMA網(wǎng)絡(luò)中每30s發(fā)送一次。管理Hello報(bào)文交換的規(guī)則稱為Hello協(xié)議。Hello協(xié)議用于發(fā)現(xiàn)鄰居,建立毗鄰關(guān)系,還用于選舉區(qū)域內(nèi)的指定路由器DR和備份指定路由器BDR。表7-7OSPF的5種報(bào)文類型在正常情況下,區(qū)域內(nèi)的路由器與本區(qū)域的DR和BDR通過互相發(fā)送數(shù)據(jù)庫描述報(bào)文(DBD)交換鏈路狀態(tài)信息。路由器把收到的鏈路狀態(tài)信息與自己的鏈路狀態(tài)數(shù)據(jù)庫進(jìn)行比較,如果發(fā)現(xiàn)接收到了不在本地?cái)?shù)據(jù)庫中的鏈路信息,則向其鄰居發(fā)送鏈路狀態(tài)請(qǐng)求報(bào)文LSR,要求傳送有關(guān)該鏈路的完整更新信息。接收到LSR的路由器用鏈路狀態(tài)更新LSU報(bào)文響應(yīng),其中包含了有關(guān)的鏈路狀態(tài)通告LSA。LSAck用于對(duì)LSU進(jìn)行確認(rèn)。
OSPF報(bào)文格式如圖7-23所示。報(bào)文頭的各個(gè)字段解釋如下:●版本:OSPF版本1已廢棄,現(xiàn)在使用的是版本2?!耦愋停喝绫?-7所示?!穹纸M長(zhǎng)度:整個(gè)OSPF報(bào)文的長(zhǎng)度?!衤酚善鱅D:利用路由器環(huán)路接口(Loopback)的IP地址作為路由器的標(biāo)識(shí),如果沒有環(huán)路接口IP地址,則選擇最大的接口IP地址作為路由器標(biāo)識(shí)?!駞^(qū)域ID:在多區(qū)域網(wǎng)絡(luò)中,每一個(gè)區(qū)域指定一個(gè)區(qū)域ID。●認(rèn)證類型:OSPF支持不同的認(rèn)證方法,對(duì)組播地址發(fā)送的Hello分組要經(jīng)過認(rèn)證才能被接受。圖7-23OSPF報(bào)文格式
6)?OSPF的優(yōu)缺點(diǎn)鏈路狀態(tài)協(xié)議的優(yōu)點(diǎn)是:
(1)鏈路狀態(tài)協(xié)議使用了分層的網(wǎng)絡(luò)結(jié)構(gòu),減小了LSA的傳播范圍,同時(shí)也減小了網(wǎng)絡(luò)拓?fù)渥兓瘯r(shí)影響所有路由器的可能性。與之相反,距離矢量網(wǎng)絡(luò)是扁平結(jié)構(gòu),網(wǎng)絡(luò)某一部分出現(xiàn)的變化會(huì)影響到網(wǎng)絡(luò)中的所有路由器。這種情況在鏈路狀態(tài)網(wǎng)絡(luò)中不會(huì)出現(xiàn),例如在OSPF協(xié)議中,一個(gè)分區(qū)內(nèi)部的拓?fù)渥兓粫?huì)影響其他分區(qū)。
(2)鏈路狀態(tài)協(xié)議使用組播來共享路由信息,并且發(fā)布的是增量式的更新消息。一旦所有的鏈路狀態(tài)路由器開始工作并了解了網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)之后,只是在網(wǎng)絡(luò)拓?fù)涑霈F(xiàn)變化時(shí)才發(fā)出更新報(bào)文,這使得網(wǎng)絡(luò)帶寬的利用和資源消耗更有效。
(3)鏈路狀態(tài)協(xié)議支持無類別的路由和路由匯總功能,可以使用VLSM和CIDR技術(shù)。路由匯總使得發(fā)布的路由信息更少,一條匯總路由失效,意味著其中的所有子網(wǎng)都失效了,如果只是其中的部分鏈路失效,則不會(huì)影響匯總路由的狀態(tài),也不會(huì)影響網(wǎng)絡(luò)中很多路由器。路由匯總還使得鏈路狀態(tài)數(shù)據(jù)庫減小,從而減少了運(yùn)行SPF算法和更新路由表需要的CPU周期,也減少了路由器中的存儲(chǔ)需求。
(4)使用SPF算法不會(huì)在路由表中出現(xiàn)環(huán)路,而這是距離矢量路由協(xié)議難以處理的問題。鏈路狀態(tài)協(xié)議也有一個(gè)明顯的缺點(diǎn),它比距離矢量協(xié)議對(duì)CPU和存儲(chǔ)器的要求更高。鏈路狀態(tài)協(xié)議需要維護(hù)更多的存儲(chǔ)表:鄰居表、路由表和鏈路狀態(tài)數(shù)據(jù)庫等。當(dāng)網(wǎng)絡(luò)中出現(xiàn)變化時(shí),路由器要更新鏈路狀態(tài)數(shù)據(jù)庫,運(yùn)行SPF算法,建立最小生成樹,并重建路由表,這需要耗費(fèi)很多CPU周期來完成諸如計(jì)算新的路由度量、與當(dāng)前的路由表項(xiàng)進(jìn)行比較等操作。如果在鏈路狀態(tài)網(wǎng)絡(luò)中出現(xiàn)了一條連續(xù)翻轉(zhuǎn)(Flapping)的路由,特別若是以10~15?s的周期連續(xù)翻轉(zhuǎn)時(shí),這種情況將是災(zāi)難性的,會(huì)使許多路由器的CPU因不堪重負(fù)而崩潰。7.3.4核心網(wǎng)關(guān)協(xié)議
Internet中有一個(gè)主干網(wǎng),所有的自治系統(tǒng)都連接到主干網(wǎng)上。這樣,Internet的總體結(jié)構(gòu)可表示為圖7-24的形式,分為主干網(wǎng)和外圍部分,后者包含所有的自治系統(tǒng)。主干網(wǎng)中的網(wǎng)關(guān)叫核心網(wǎng)關(guān)。核心網(wǎng)關(guān)之間交換路由信息時(shí)使用核心網(wǎng)關(guān)協(xié)議GGP(Gateway-to-GatewayProtocol)。這里要區(qū)分EGP和GGP,EGP用于兩個(gè)不同自治系統(tǒng)之間的網(wǎng)關(guān)交換路由信息,而GGP是主干網(wǎng)中的網(wǎng)關(guān)協(xié)議。因?yàn)橹鞲删W(wǎng)中的核心網(wǎng)關(guān)是由InterNOC直接控制的,所以GGP更具有專用性。當(dāng)一個(gè)核心網(wǎng)關(guān)加入主干網(wǎng)時(shí),用GGP協(xié)議向鄰機(jī)廣播發(fā)送路由信息,各鄰機(jī)更新路由表,并進(jìn)一步傳播新的路由信息。圖7-24Internet的總體結(jié)構(gòu)網(wǎng)關(guān)交換的路由信息與EGP協(xié)議類似,指明網(wǎng)關(guān)連接哪些網(wǎng)絡(luò),距離是多少,距離也是以中間網(wǎng)關(guān)個(gè)數(shù)計(jì)數(shù)的。GGP協(xié)議的報(bào)文格式也與EGP類似,報(bào)文分為四類:
(1)路由更新報(bào)文:發(fā)送路由更新信息;
(2)應(yīng)答報(bào)文:對(duì)路由更新報(bào)文的應(yīng)答,分肯定/否定兩種;
(3)測(cè)試報(bào)文:測(cè)試相鄰網(wǎng)關(guān)是否存在;
(4)網(wǎng)絡(luò)接口狀態(tài)報(bào)文:測(cè)試本地網(wǎng)絡(luò)連接的狀態(tài)。7.4路?由?器?技?術(shù)互聯(lián)網(wǎng)發(fā)展過程中還有許多問題需要解決,問題之一是隨著網(wǎng)絡(luò)互連規(guī)模的擴(kuò)大和信息流量的增加,路由器逐漸成為網(wǎng)絡(luò)通信的瓶頸。自從1980年以來,路由器以其高度的靈活性和安全性在局域網(wǎng)分隔和廣域網(wǎng)互連中得到了廣泛應(yīng)用,然而路由器是無連接的設(shè)備,它對(duì)每個(gè)數(shù)據(jù)報(bào)獨(dú)立地進(jìn)行路由選擇,哪怕是同一對(duì)主機(jī)之間的通信,都要對(duì)各個(gè)數(shù)據(jù)包單獨(dú)處理,這樣的開銷使得路由器的吞吐率相對(duì)于交換機(jī)大為降低。解決這個(gè)問題的方法已經(jīng)提出了許多種,都可歸納為第三層交換技術(shù),我們隨后將介紹這些技術(shù)?;ヂ?lián)網(wǎng)面臨的另外一個(gè)問題是IP地址短缺問題。解決這個(gè)問題有所謂長(zhǎng)期的或短期的兩種解決方案。長(zhǎng)期的解決方案就是使用具有更大地址空間的IPv6協(xié)議,短期的解決方案有網(wǎng)絡(luò)地址翻譯NAT(NetworkAddressTranslators)和無類別的域間路由CIDR(ClasslessInter-DomainRouting)技術(shù)等,這些技術(shù)都是在現(xiàn)有的IPv4路由器中實(shí)現(xiàn)的。7.4.1NAT技術(shù)
NAT技術(shù)主要解決IP地址短缺問題,最初提出的建議是在子網(wǎng)內(nèi)部使用局部地址,而在子網(wǎng)外部使用少量的全局地址,通過路由器進(jìn)行內(nèi)部和外部地址的轉(zhuǎn)換。局部地址是在子網(wǎng)內(nèi)部獨(dú)立編址的,可以與外部地址重疊。這種想法的基礎(chǔ)是假定在任何時(shí)候子網(wǎng)中只有少數(shù)計(jì)算機(jī)需要與外部通信,可以讓這些計(jì)算機(jī)共享少量的全局IP地址。后來根據(jù)這種技術(shù)又開發(fā)出其他一些應(yīng)用,下面講述兩種最主要的應(yīng)用。第一種應(yīng)用是動(dòng)態(tài)地址翻譯(DynamicAddressTranslation)。為此首先引入存根域的概念,所謂存根域(StubDomain)就是內(nèi)部網(wǎng)絡(luò)的抽象,這樣的網(wǎng)絡(luò)只處理源和目標(biāo)都在子網(wǎng)內(nèi)部的通信。任何時(shí)候存根域內(nèi)只有一部分主機(jī)要與外界通信,甚至還有許多主機(jī)可能從不與外界通信,所以整個(gè)存根域只需共享少量的全局IP地址。存根域有一個(gè)邊界路由器,由它來處理域內(nèi)主機(jī)與外部網(wǎng)絡(luò)的通信。我們假定:m—需要翻譯的內(nèi)部地址數(shù);n—可用的全局地址數(shù)(NAT地址)。當(dāng)m:n翻譯滿足條件(m≥1andm≥n)時(shí),可以把一個(gè)大的地址空間映像到一個(gè)小的地址空間。所有NAT地址放在一個(gè)緩沖區(qū)中,并在存根域的邊界路由器中建立一個(gè)局部地址和全局地址的動(dòng)態(tài)映像表,如圖7-25所示。這個(gè)圖顯示的是把所有B類網(wǎng)絡(luò)中的IP地址翻譯成C類網(wǎng)絡(luò)中的IP地址。這種NAT地址重用有如下特點(diǎn):
(1)只要緩沖區(qū)中存在尚未使用的C類地址,任何從內(nèi)向外的連接請(qǐng)求都可以得到響應(yīng),并且在邊界路由器的動(dòng)態(tài)NAT表中為之建立一個(gè)映像表項(xiàng);
(2)如果內(nèi)部主機(jī)的映像存在,就可以利用它建立連接;
(3)從外部訪問內(nèi)部主機(jī)是有條件的,即動(dòng)態(tài)NAT表中必須存在該主機(jī)的映像。圖7-25動(dòng)態(tài)網(wǎng)絡(luò)地址翻譯動(dòng)態(tài)地址翻譯的好處是節(jié)約了全局IP地址,而且不需要改變子網(wǎng)內(nèi)部的任何配置,只需在邊界路由器中設(shè)置一個(gè)動(dòng)態(tài)地址變換表就可以工作了。另外一種特殊的NAT應(yīng)用是m:1翻譯,這種技術(shù)也叫做偽裝(Masquerading),因?yàn)橛靡粋€(gè)路由器的IP地址可以把子網(wǎng)中所有主機(jī)的IP地址都隱蔽起來。如果子網(wǎng)中有多個(gè)主機(jī)同時(shí)都要通信,那么還要對(duì)接口號(hào)進(jìn)行翻譯,所以這種技術(shù)更經(jīng)常被稱為網(wǎng)絡(luò)地址和端口翻譯(NetworkAddressPortTranslation,NAPT)。在很多NAPT實(shí)現(xiàn)中,專門保留一部分端口號(hào)給偽裝使用,叫做偽裝端口號(hào)。圖7-26中的NAT路由器中有一個(gè)偽裝表,通過這個(gè)表對(duì)端口號(hào)進(jìn)行翻譯,從而隱藏了內(nèi)部網(wǎng)絡(luò)中的所有主機(jī)??梢钥闯觯@種方法有如下特點(diǎn):
(1)出口分組的源地址被路由器的外部IP地址所代替,出口分組的源端口號(hào)被一個(gè)未使用的偽裝端口號(hào)所代替;
(2)如果進(jìn)來的分組的目標(biāo)地址是本地路由器的IP地址,而目標(biāo)端口號(hào)是路由器的偽裝端口號(hào),則NAT路由器就檢查該分組是否為當(dāng)前的一個(gè)偽裝會(huì)話,并試圖通過偽裝表對(duì)IP地址和端口號(hào)進(jìn)行翻譯。偽裝技術(shù)可以作為一種安全手段使用,借以限制外部網(wǎng)絡(luò)對(duì)內(nèi)部主機(jī)的訪問。另外,還可以用這種技術(shù)實(shí)現(xiàn)虛擬主機(jī)和虛擬路由,以便達(dá)到負(fù)載均衡和提高可靠性的目的。圖7-26地址偽裝7.4.2CIDR技術(shù)
CIDR技術(shù)解決路由縮放問題。所謂路由縮放問題有兩層含義:其一是對(duì)于大多數(shù)中等規(guī)模的組織沒有適合的地址空間,這樣的組織一般擁有幾千臺(tái)主機(jī),C類網(wǎng)絡(luò)太小,只有254個(gè)地址,B類網(wǎng)絡(luò)太大,有65000多個(gè)地址,A類網(wǎng)絡(luò)就更不用說了,況且A類和B類地址快要分配完了;其二是路由表增長(zhǎng)太快,如果所有的C類網(wǎng)絡(luò)號(hào)都在路由表中占一行,這樣的路由表太大了,其查找速度將無法達(dá)到滿意的程度。CIDR技術(shù)就是解決這兩個(gè)問題的,它可以把若干個(gè)C類網(wǎng)絡(luò)分配給一個(gè)用戶,并且在路由表中只占一行,這是一種將大塊的地址空間合并為少量路由信息的策略。為了說明CIDR的原理,讓我們假定網(wǎng)絡(luò)服務(wù)提供商RA有一個(gè)由2048個(gè)C類網(wǎng)絡(luò)組成的地址塊,網(wǎng)絡(luò)號(hào)從到,這種地址塊叫做超網(wǎng)(Supernet)。對(duì)于這個(gè)地址塊的路由信息可以用網(wǎng)絡(luò)號(hào)和地址掩碼來表示,簡(jiǎn)寫為/13。我們?cè)偌俣≧A連接
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度個(gè)人貨物運(yùn)輸保險(xiǎn)附加服務(wù)合同4篇
- 2025年度大型公共設(shè)施設(shè)備安裝維修服務(wù)合同范本4篇
- 2025年新型智能商鋪?zhàn)赓U合同參考4篇
- 二零二五年度綠色建筑標(biāo)準(zhǔn)鋼管采購與技術(shù)創(chuàng)新合同3篇
- 二零二五年度電商綠色包裝與環(huán)保物流服務(wù)合同3篇
- 2025年度房產(chǎn)代持及資產(chǎn)配置顧問合同4篇
- 2025年摩托車內(nèi)燃機(jī)零配件進(jìn)口合同樣本4篇
- 個(gè)人車位轉(zhuǎn)租合同(2024版)2篇
- 二零二五年度林業(yè)碳匯交易承包服務(wù)合同范本3篇
- 2025年度美容院美容美發(fā)項(xiàng)目組合套餐銷售合同3篇
- DB32-T 4444-2023 單位消防安全管理規(guī)范
- 臨床三基考試題庫(附答案)
- 合同簽訂執(zhí)行風(fēng)險(xiǎn)管控培訓(xùn)
- DB43-T 3022-2024黃柏栽培技術(shù)規(guī)程
- 九宮數(shù)獨(dú)200題(附答案全)
- 人員密集場(chǎng)所消防安全管理培訓(xùn)
- 《聚焦客戶創(chuàng)造價(jià)值》課件
- PTW-UNIDOS-E-放射劑量?jī)x中文說明書
- JCT587-2012 玻璃纖維纏繞增強(qiáng)熱固性樹脂耐腐蝕立式貯罐
- 典范英語2b課文電子書
- 員工信息登記表(標(biāo)準(zhǔn)版)
評(píng)論
0/150
提交評(píng)論