《現(xiàn)代網(wǎng)絡(luò)技術(shù)教程自頂向下分析與設(shè)計(jì)》課件第7章_第1頁
《現(xiàn)代網(wǎng)絡(luò)技術(shù)教程自頂向下分析與設(shè)計(jì)》課件第7章_第2頁
《現(xiàn)代網(wǎng)絡(luò)技術(shù)教程自頂向下分析與設(shè)計(jì)》課件第7章_第3頁
《現(xiàn)代網(wǎng)絡(luò)技術(shù)教程自頂向下分析與設(shè)計(jì)》課件第7章_第4頁
《現(xiàn)代網(wǎng)絡(luò)技術(shù)教程自頂向下分析與設(shè)計(jì)》課件第7章_第5頁
已閱讀5頁,還剩460頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

第7章網(wǎng)絡(luò)層與IP協(xié)議7.1IPv4協(xié)議的演變與發(fā)展

7.2IPv4協(xié)議的主要特點(diǎn)7.3IPv4地址結(jié)構(gòu)7.4IPv4分組格式7.5路由選擇算法與分組轉(zhuǎn)發(fā)7.6互聯(lián)網(wǎng)控制報(bào)文協(xié)議ICMP7.7IP多播與IGMP協(xié)議7.8QoS保障機(jī)制7.9地址解析協(xié)議ARP7.10移動IP協(xié)議7.11IPv6協(xié)議習(xí)題

7.1IPv4協(xié)議的演變與發(fā)展

1.IPv4協(xié)議的研究背景

圖7-1給出了IPv4協(xié)議的演變與發(fā)展過程。圖7-1IPv4協(xié)議的演變與發(fā)展過程

2.IPv4協(xié)議

IPv4協(xié)議的發(fā)展過程可以從不變和變化兩個(gè)部分去認(rèn)識。IPv4協(xié)議中對于分組頭結(jié)構(gòu)的基本定義是不變的,變化的部分可以從IP地址處理方法、分組交付需要的路由算法與路由協(xié)議以及為提高協(xié)議可靠性、服務(wù)質(zhì)量與安全角度增加的補(bǔ)充協(xié)議等三方面來認(rèn)識?;ヂ?lián)網(wǎng)規(guī)模的擴(kuò)大與應(yīng)用的深入,導(dǎo)致了IPv6協(xié)議的研究與應(yīng)用。

7.2IPv4協(xié)議的主要特點(diǎn)

(1)?IP協(xié)議是一種無連接、不可靠的分組傳送服務(wù)

協(xié)議。

①無連接(Connectionless)意味著IP協(xié)議并不維護(hù)IP分組發(fā)送后的任何狀態(tài)信息。每個(gè)分組的傳輸過程是相互獨(dú)立的。

②不可靠(Unreliable)意味著IP協(xié)議不能保證每個(gè)IP分組都能夠準(zhǔn)確、不丟失和順序地到達(dá)目的結(jié)點(diǎn)。

(2)?IP協(xié)議是點(diǎn)—點(diǎn)的網(wǎng)絡(luò)層通信協(xié)議。

網(wǎng)絡(luò)層需要在互聯(lián)網(wǎng)中為兩個(gè)主機(jī)之間的通信尋找一條路徑,而這條路徑通常是由多個(gè)路由器和點(diǎn)—點(diǎn)鏈路組成的。IP協(xié)議要保證數(shù)據(jù)分組從一個(gè)個(gè)轉(zhuǎn)發(fā)的路由器,通過多條路徑從源結(jié)點(diǎn)到達(dá)目的結(jié)點(diǎn)。因此,相對于傳輸層協(xié)議來說,IP協(xié)議是針對源主機(jī)—路由器、路由器—路由器、路由器—主機(jī)之間的數(shù)據(jù)傳輸?shù)狞c(diǎn)—點(diǎn)的網(wǎng)絡(luò)層通信協(xié)議。

(3)?IP協(xié)議向傳輸層屏蔽了物理網(wǎng)絡(luò)的差異。

圖7-2體現(xiàn)了IP分組向傳輸層屏蔽了不同類型物理網(wǎng)絡(luò)差異性的作用。通過IP協(xié)議,網(wǎng)絡(luò)層向傳輸層提供的是統(tǒng)一的IP分組,傳輸層不需要考慮互聯(lián)的不同類型的物理網(wǎng)絡(luò)在幀結(jié)構(gòu)與地址上的差異。因此,IP協(xié)議使得各種異構(gòu)網(wǎng)絡(luò)的互聯(lián)變得容易了。圖7-2使用IP分組統(tǒng)一不同類型的幀7.3IPv4地址結(jié)構(gòu)

7.3.1IP地址概念與地址劃分方法

圖7-3給出了IPv4地址與地址劃分新技術(shù)的研究過程,大致分為四個(gè)階段。圖7-3IPv4地址與地址劃分新技術(shù)的研究過程

1.第1階段:標(biāo)準(zhǔn)分類的IP地址

第1階段是在1981年IPv4協(xié)議制定的初期,當(dāng)時(shí)的網(wǎng)絡(luò)規(guī)模比較小,用戶通常是通過終端、經(jīng)過大型計(jì)算機(jī)接入ARPANET的。IP地址設(shè)計(jì)的最初目的是希望每個(gè)IP地址唯一、確定地識別一個(gè)網(wǎng)絡(luò)與一臺主機(jī)。IP地址由網(wǎng)絡(luò)號與主機(jī)號組成,長度為32位,用點(diǎn)分十進(jìn)制方法表示,這就是標(biāo)準(zhǔn)分類的IP地址。通常的A類、B類與C類IP地址采用“網(wǎng)絡(luò)號—主機(jī)號”的兩級層次結(jié)構(gòu)(RFC1812)。

A類地址的網(wǎng)絡(luò)號長度為7位,實(shí)際允許分配A類地址的網(wǎng)絡(luò)只能有126個(gè);B類地址的網(wǎng)絡(luò)號長度為14位,因此允許分配B類地址的網(wǎng)絡(luò)只能有16384個(gè)。初期的ARPANET是一個(gè)研究性的網(wǎng)絡(luò),即使把美國大約2000所大學(xué)、學(xué)院和一些研究機(jī)構(gòu),連同其他國家的一些大學(xué)接入ARPANET,總數(shù)也不會超過16000個(gè),因此,A類、B類與C類地址的總數(shù)在當(dāng)時(shí)是沒有什么問題的。理論上,各類IP地址加起來總數(shù)超過20億個(gè),但實(shí)際上其中有數(shù)百萬個(gè)地址被浪費(fèi)了。

2.第2階段:劃分子網(wǎng)的三級地址結(jié)構(gòu)

(1)?A類地址的主機(jī)號長度為24位,即使對于一個(gè)大的機(jī)構(gòu)來說,一個(gè)網(wǎng)絡(luò)中也不能有1600萬個(gè)結(jié)點(diǎn)。即使有這種網(wǎng)絡(luò),網(wǎng)絡(luò)中路由器的路由表太大,處理負(fù)荷也太重。

(2)?B類地址的主機(jī)號長度為16位,一個(gè)網(wǎng)絡(luò)中允許有6.5萬個(gè)結(jié)點(diǎn)。但是,使用B類地址的網(wǎng)絡(luò)中有50%的主機(jī)數(shù)實(shí)際上不超過50臺。

(3)?C類地址的主機(jī)號長度為8位,實(shí)際允許分配給主機(jī)和路由器的地址數(shù)不超過256個(gè),這個(gè)數(shù)又太小。按照標(biāo)準(zhǔn)分類的IP地址,如果是只有兩臺主機(jī)的網(wǎng)絡(luò),它只要與互聯(lián)網(wǎng)連接,就需要申請一個(gè)C類IP地址。在這種情況下,這個(gè)C類IP地址的有效利用率為2/255≈0.78%。而有256臺主機(jī)的網(wǎng)絡(luò),就需要申請一個(gè)B類IP地址。在這種情況下,這個(gè)B類IP地址的有效利用率為256/65535≈0.39%。IP地址的有效利用率問題總是存在,并且人們發(fā)現(xiàn)B類IP地址空間的無效消耗問題更突出。

3.第3階段:構(gòu)成超網(wǎng)的CIDR技術(shù)

CIDR的出現(xiàn),在某種程度上是希望解決互聯(lián)網(wǎng)在擴(kuò)展中存在的兩大問題:

(1)?32位IP地址空間可能在第40億臺主機(jī)聯(lián)入互聯(lián)網(wǎng)前就已被消耗完。

(2)越來越多的網(wǎng)絡(luò)地址出現(xiàn),主干網(wǎng)的路由表增大,路由器負(fù)荷增加,會造成服務(wù)質(zhì)量下降。

4.第4階段:網(wǎng)絡(luò)地址轉(zhuǎn)換技術(shù)

第4階段是1996年提出的網(wǎng)絡(luò)地址轉(zhuǎn)換NAT(NetworkAddressTranslation)技術(shù)。

IP地址短缺已是非常嚴(yán)重的問題,而這個(gè)互聯(lián)網(wǎng)遷移到IPv6的進(jìn)程很緩慢,可能需要很多年才能夠完成。人們需要有一個(gè)在短時(shí)期內(nèi)快速緩解和修補(bǔ)的方法,這就是網(wǎng)絡(luò)地址轉(zhuǎn)換NAT。目前NAT技術(shù)主要應(yīng)用在專用網(wǎng)、虛擬專用網(wǎng)以及ISP為用戶撥號聯(lián)入互聯(lián)網(wǎng)提供的服務(wù)上。

NAT技術(shù)的基本思想是:為每個(gè)公司分配少量的全局IP地址,用于傳輸需要通過互聯(lián)網(wǎng)的流量。在公司內(nèi)部的每臺主機(jī)分配一個(gè)不能夠在互聯(lián)網(wǎng)上使用的保留的專用IP地址。

專用IP地址是互聯(lián)網(wǎng)管理機(jī)構(gòu)預(yù)留的,任何組織不需要向互聯(lián)網(wǎng)管理機(jī)構(gòu)申請就可以使用,所有網(wǎng)絡(luò)管理員都應(yīng)知道這些地址是為專用網(wǎng)絡(luò)內(nèi)部使用的。這類地址在專用網(wǎng)絡(luò)內(nèi)部是唯一的,但是在互聯(lián)網(wǎng)中并不是唯一的。專用IP地址用于內(nèi)部網(wǎng)絡(luò)的通信,如果需要訪問外部互聯(lián)網(wǎng)主機(jī),必須由運(yùn)行NAT的主機(jī)或路由器將內(nèi)部的專用IP地址轉(zhuǎn)換成全局IP地址。

NAT更多地被ISP應(yīng)用,以節(jié)省IP地址。對于通過撥號進(jìn)入互聯(lián)網(wǎng)的家庭用戶,當(dāng)計(jì)算機(jī)撥號并登錄到ISP時(shí),ISP為用戶動態(tài)分配一個(gè)IP地址,當(dāng)用戶會話結(jié)束時(shí),再收回IP地址。7.3.2標(biāo)準(zhǔn)分類IP地址

1.網(wǎng)絡(luò)地址的概念

要理解網(wǎng)絡(luò)地址,需要注意以下幾個(gè)問題:

1)名字、地址與路徑

名字、地址與路徑在概念上有很大區(qū)別。名字說明要找誰,地址說明他在哪,路徑說明如何找到他。

2)連續(xù)地址編址方法與層次地址編址方法

地址有兩類基本的編址方法:連續(xù)地址編址方法與層次地址編址。其中,連續(xù)地址編址方法簡單,但是它不包含位置信息,能力有限,只能將不同的結(jié)點(diǎn)區(qū)分開。連續(xù)地址編址方法不適用于互聯(lián)網(wǎng)環(huán)境。由于互聯(lián)網(wǎng)絡(luò)是由多個(gè)網(wǎng)絡(luò)通過路由器互聯(lián)起來的,因此在初期ARPANET的地址設(shè)計(jì)中采用了有結(jié)果的地址標(biāo)識符。即主機(jī)地址用(P,N)表示,P表示主機(jī)接入IMP的結(jié)點(diǎn)號,N表示與該IMP連接的主機(jī)號。這種有結(jié)構(gòu)的地址標(biāo)識符反映了ARPANET真實(shí)的網(wǎng)絡(luò)結(jié)構(gòu),因此有效地提高了路由器的尋找效率。IP地址采用的是有結(jié)構(gòu)的地址標(biāo)識符的表示方法。

3)物理地址與邏輯地址

(1)地址的長度、格式等與具體的物理網(wǎng)絡(luò)的協(xié)議相關(guān)。

(2)物理地址不能修改。例如,以太網(wǎng)的MAC地址的長度為48位,在網(wǎng)卡出廠時(shí)就被固化在網(wǎng)卡的EPROM中。

(3)物理地址是數(shù)據(jù)鏈路層地址,供數(shù)據(jù)鏈路層軟件使用,用來標(biāo)識接入局域網(wǎng)的一臺主機(jī)。

4)?IP地址與網(wǎng)絡(luò)接口

IP地址標(biāo)識的是一臺主機(jī)、路由器或網(wǎng)絡(luò)的接口。圖7-4描述了網(wǎng)絡(luò)接口與IP地址的關(guān)系。局域網(wǎng)LAN1與LAN2都是以太網(wǎng),它們通過路由器1互聯(lián)。主機(jī)1~3通過以太網(wǎng)網(wǎng)卡連接LAN1;主機(jī)4~6通過以太網(wǎng)網(wǎng)卡連接LAN2;路由器1通過安裝在機(jī)箱內(nèi)的兩塊網(wǎng)卡分別連接到LAN1與LAN2中。以主機(jī)1為例,它的以太網(wǎng)網(wǎng)卡有一個(gè)固定的MAC地址(01-2A-00-89-11-2B)。IP協(xié)議為主機(jī)1連接LAN1的接口分配一個(gè)IP地址()。這樣,主機(jī)1的MAC地址(01-2A-00-89-11-2B)與IP地址()就形成了對應(yīng)關(guān)系。同樣,主機(jī)2~6都會形成MAC地址與IP地址的對應(yīng)關(guān)系。實(shí)際上,路由器是一臺專門處理網(wǎng)絡(luò)層路由與轉(zhuǎn)發(fā)功能的計(jì)算機(jī)。圖7-4中路由器1通過接口1的以太網(wǎng)卡(E1)連接到LAN1,通過接口2的以太網(wǎng)卡(E2)連接到LAN2。這兩塊網(wǎng)卡也都有固定的MAC地址。同時(shí),它要執(zhí)行IP協(xié)議,需要給它分配IP地址。接口的網(wǎng)卡連接LAN1,它與主機(jī)1~3在一個(gè)網(wǎng)絡(luò)中,需要分配對應(yīng)于LAN1的IP地址()。這樣,接口1(E1)的MAC地址為21-30-15-10-02-55,對應(yīng)的IP地址為。同樣,接口2(E2)的MAC地址為01-0A-1B-11-01-52,對應(yīng)的IP地址為。從以上討論可以得出IP地址有以下特點(diǎn):

(1)?IP地址是一種非等級的地址結(jié)構(gòu)。

(2)在IP地址中,所有分配的網(wǎng)絡(luò)彼此都是平等的。

(3)連接到互聯(lián)網(wǎng)的每一條主機(jī)或路由器都有一個(gè)IP地址。

(4)原則上,互聯(lián)網(wǎng)上的任何兩臺主機(jī)或路由器都不會有相同的IP地址。

(5)?IP地址是與一個(gè)網(wǎng)絡(luò)接口相關(guān)聯(lián)的,如果一臺主機(jī)通過多個(gè)網(wǎng)卡分別連接到多個(gè)網(wǎng)絡(luò)中,那么必須為它的每一個(gè)接口分配一個(gè)IP地址。圖7-4網(wǎng)絡(luò)接口與IP地址的關(guān)系

2.IP地址的點(diǎn)分十進(jìn)制表示法

IPv4的地址長度為32位,用點(diǎn)分十進(jìn)制表示,即用x.x.x.x的格式來表示IP地址,每個(gè)x為8位,值為0~255。例如,19就是一個(gè)用點(diǎn)分十進(jìn)制方法表示的IP地址。

3.標(biāo)準(zhǔn)IP地址的分類

圖7-5給出了標(biāo)準(zhǔn)分類的IP地址以及每類地址的比例數(shù)量。圖7-5標(biāo)準(zhǔn)分類IP地址及比例數(shù)量

1)?A類地址

A類地址的網(wǎng)絡(luò)號(Net-ID)占8位,第1位為0,其余7位可以分配。因此A類地址共分為大小相同的128(27)塊,每一塊的網(wǎng)絡(luò)號不同。

第1塊覆蓋的地址為~55(網(wǎng)絡(luò)號=0);

第2塊覆蓋的地址為~55(網(wǎng)絡(luò)號=1);

最后一塊覆蓋的地址為~55(網(wǎng)絡(luò)號=127)。其中第1塊和最后一塊地址留作特殊用途,網(wǎng)絡(luò)號為10的~55用于專用的地址,其余125塊用作分配。因此,能夠得到A類地址的機(jī)構(gòu)只有125個(gè)。每個(gè)A類網(wǎng)絡(luò)可以分配的主機(jī)號(Host-ID)可以是224-2?=?17777214個(gè),主機(jī)號為全0或全1的兩個(gè)地址保留用于特殊目的。

A類地址的覆蓋范圍為~55。

2)?B類地址

B類地址的網(wǎng)絡(luò)號(Net-ID)占16位,前2位為10,其余14位可以分配。因此總共有214?=?16384個(gè)不同的B類網(wǎng)絡(luò)。B類地址的主機(jī)號(Host-ID)長度為16位,因此每個(gè)B類網(wǎng)絡(luò)可以有216?=?65536個(gè)主機(jī)號。主機(jī)號為全0或全1的兩個(gè)地址保留

用于特殊目的。實(shí)際上,一個(gè)B類IP地址允許分配的主機(jī)號為65534個(gè)。

B類地址的覆蓋范圍為~55。

3)?C類地址

C類地址的網(wǎng)絡(luò)號(Net-ID)占24位,前3位為110,其余21位可以分配。因此總共有221=2097152個(gè)不同的C類網(wǎng)絡(luò)。C類地址的主機(jī)號(Host-ID)長度為8位,因此每個(gè)B類網(wǎng)絡(luò)可以有28=256個(gè)主機(jī)號。主機(jī)號為全0或全1的兩個(gè)地址保留用于特殊目的。實(shí)際上,一個(gè)B類IP地址允許分配的主機(jī)號為254個(gè)。

B類地址的覆蓋范圍為~55。

4)?D類地址

D類IP地址不標(biāo)識網(wǎng)絡(luò),地址覆蓋范圍為~55。D類地址用于其他特殊的用途,如多播(Multicasting)地址。

5)?E類地址

E類IP地址暫時(shí)保留,地址覆蓋范圍為~55。E類地址用于某些實(shí)驗(yàn)和將來使用。

4.特殊IP地址

特殊IP地址及意義如表7-1所示。

1)直接廣播(DirectedBroadcasting)地址

在A、B、C三類IP地址中,如果主機(jī)號全1(如B類地址55),那么這個(gè)地址為直接廣播地址,路由器用它來將一個(gè)分組以廣播形式發(fā)送給特定網(wǎng)絡(luò)()的所有

主機(jī)。

2)受限廣播(LimitedBroadcasting)地址

網(wǎng)絡(luò)號與主機(jī)號的32位全1的IP地址(55)為受限廣播地址。它用來將一個(gè)分組以廣播方式發(fā)送給本物理網(wǎng)絡(luò)中的所有主機(jī)。路由器阻擋該分組通過,將其廣播功能只限制在本網(wǎng)內(nèi)部。

3)本網(wǎng)絡(luò)的特定主機(jī)

在A、B、C三類IP地址中,如果網(wǎng)絡(luò)號為全0(如C類地址為5),則該地址是這個(gè)網(wǎng)絡(luò)上的特定主機(jī)地址。路由器接收到這個(gè)分組的目的地址時(shí),不會向外轉(zhuǎn)發(fā)該分組,而是直接交付給本網(wǎng)絡(luò)中主機(jī)號為25的主機(jī)。

4)指定一個(gè)網(wǎng)絡(luò)地址

在A、B、C三類IP地址中,如果主機(jī)號為全0(如B類地址為),則該地址表示指定的是一個(gè)網(wǎng)絡(luò)。

5)本網(wǎng)絡(luò)的本主機(jī)

網(wǎng)絡(luò)號與主機(jī)號的32位全0的IP地址()表示的是本網(wǎng)絡(luò)的本主機(jī)。

6)回送地址

A類地址中,是回送地址,用于網(wǎng)絡(luò)軟件測試和本地進(jìn)程間通信??梢杂没厮偷刂钒l(fā)送一個(gè)分組給本機(jī)的另一個(gè)進(jìn)程,以測試本地進(jìn)程之間的通信狀況。

5.專用IP地址

在A、B、C三類地址中各保留一部分地址作為專用IP地址,用于使用TCP/IP協(xié)議但不接入互聯(lián)網(wǎng)的內(nèi)部網(wǎng)絡(luò),或者是向互聯(lián)網(wǎng)發(fā)送分組時(shí)需要將專用地址轉(zhuǎn)換成公用IP地址的內(nèi)部網(wǎng)絡(luò)。表7-2給出了保留的專用IP地址。

(1)如果IP分組的源地址和目的地址使用了、2或,那么連接到互聯(lián)網(wǎng)的路由器會認(rèn)為這是一個(gè)內(nèi)部網(wǎng)絡(luò)使用的IP地址,不會轉(zhuǎn)發(fā)該分組。

(2)如果一個(gè)主機(jī)轉(zhuǎn)發(fā)兩個(gè)IP分組,源地址都是,第一個(gè)分組的目的地址為2,第二個(gè)分組的目的地址為,那么連接到互聯(lián)網(wǎng)的路由器會認(rèn)為:第一個(gè)分組使用的是專用的IP地址,這個(gè)地址無法在互聯(lián)網(wǎng)中尋址,拒絕轉(zhuǎn)發(fā)該分組;第二個(gè)分組使用的是可以在互聯(lián)網(wǎng)中尋址的公用IP地址,將轉(zhuǎn)發(fā)該分組。

(3)如果一個(gè)組織出于安全等原因,希望組建一個(gè)專用的內(nèi)部網(wǎng)絡(luò),不準(zhǔn)備連接到互聯(lián)網(wǎng),或者在轉(zhuǎn)發(fā)到互聯(lián)網(wǎng)時(shí)希望使用網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT)技術(shù),那么該組織就可以使用專用IP地址。7.3.3劃分子網(wǎng)的三級地址結(jié)構(gòu)

1.子網(wǎng)的概念

標(biāo)準(zhǔn)分類的IP地址存在著兩個(gè)問題:IP地址的有效利用率和路由器的工作效率。為了解決這兩個(gè)問題,人們提出了子網(wǎng)(Subnet)的概念。提出子網(wǎng)概念的基本思想是:允許將網(wǎng)絡(luò)劃分成多個(gè)部分供內(nèi)部使用,但是對于外部網(wǎng)絡(luò)仍像一個(gè)網(wǎng)絡(luò)

一樣。

2.子網(wǎng)的地址結(jié)構(gòu)與劃分方法

劃分子網(wǎng)的方法是:

(1)將主機(jī)號前若干位作為“子網(wǎng)號”,后面剩余的位仍為主機(jī)號,形成三級層次的IP地址,即網(wǎng)絡(luò)號—子網(wǎng)號—主機(jī)號。

(2)劃分子網(wǎng)可以應(yīng)用于A、B、C三類任意一類IP地址中。同一個(gè)子網(wǎng)中所有主機(jī)必須使用相同的子網(wǎng)號。

(3)劃分子網(wǎng)是一個(gè)組織和單位內(nèi)部的事,既不需要向ICANN申請,也不需要改變?nèi)魏瓮獠繑?shù)據(jù)庫。

(4)在互聯(lián)網(wǎng)文獻(xiàn)中,一個(gè)子網(wǎng)也稱做一個(gè)IP網(wǎng)絡(luò)。

3.子網(wǎng)掩碼的概念

一個(gè)標(biāo)準(zhǔn)的IP地址可以從數(shù)值上直觀地判斷出它的類別,指出它的網(wǎng)絡(luò)號和主機(jī)號。但是,當(dāng)包括子網(wǎng)號的三層結(jié)構(gòu)的IP地址出現(xiàn)后,需要解決如何從IP地址中提取出子網(wǎng)號。于是人們提出了子網(wǎng)掩碼(SubnetMask)的概念,也稱為子網(wǎng)屏蔽碼,或簡稱掩碼。

掩碼同樣適用于沒有進(jìn)行子網(wǎng)劃分的A、B、C三類地址。圖7-6給出了標(biāo)準(zhǔn)A、B、C三類地址的掩碼。圖7-6標(biāo)準(zhǔn)A、B、C三類地址的掩碼圖7-7給出了一個(gè)B類地址劃分為64個(gè)子網(wǎng)的例子。標(biāo)準(zhǔn)B類地址的16位網(wǎng)絡(luò)號不變,如果需要劃分出64(26)個(gè)子網(wǎng),可以借用原16位主機(jī)號中的6位,該子網(wǎng)的主機(jī)號就變成10位。子網(wǎng)掩碼用點(diǎn)分十進(jìn)制表示為;另一種表示方法是用“/”加上“網(wǎng)絡(luò)號+子網(wǎng)號”的長度,即表示為“/22”。圖7-7一個(gè)B類地址劃分為64個(gè)子網(wǎng)的例子

4.子網(wǎng)規(guī)劃與地址空間劃分方法

根據(jù)以上子網(wǎng)劃分的方案,校園網(wǎng)可用的IP地址為:

子網(wǎng)1:~54

子網(wǎng)2:~54

子網(wǎng)3:~54

……

子網(wǎng)254:~54

5.可變長度子網(wǎng)掩碼

(1)使用子網(wǎng)掩碼28,將一個(gè)C類IP地址分為兩半。在二進(jìn)制運(yùn)算中,運(yùn)算過程是:

(2)運(yùn)算結(jié)果表明:可以將~26作為子網(wǎng)1的IP地址,而將余下的部分進(jìn)一步劃分為兩半。27的第4個(gè)字節(jié)全1,被保留用作廣播地址,不能使用,而子網(wǎng)1與子網(wǎng)2、子網(wǎng)3的地址空間交界點(diǎn)是28,因此可以使用子網(wǎng)掩碼92。子網(wǎng)2與子網(wǎng)3的地址空間的計(jì)算過程為:平分后的兩個(gè)較小的地址空間分配給子網(wǎng)2和子網(wǎng)3。對于子網(wǎng)2來說,第1個(gè)可用地址是29,最后一個(gè)可用地址是90。子網(wǎng)2的可用地址范圍是29~90。

(3)下一個(gè)地址91中的第4個(gè)字節(jié)的主機(jī)號部分(6位)是全1,需要留作廣播地址。接下來的地址是92,它是子網(wǎng)3的第1個(gè)地址,子網(wǎng)3的可用地址范圍是93~54。

所以,采用可變子網(wǎng)劃分的3個(gè)子網(wǎng)的IP地址分別為:

子網(wǎng)1:~26

子網(wǎng)2:29~90

子網(wǎng)3:93~54其中,子網(wǎng)1使用的子網(wǎng)掩碼為28(/25),允許使用的主機(jī)號為126個(gè);子網(wǎng)2和子網(wǎng)3的子網(wǎng)掩碼為92(/26),它們可以使用的主機(jī)號均為61個(gè)。該方案可以滿足公司的要求。圖7-8給出了可變長度子網(wǎng)劃分的結(jié)構(gòu)。變長子網(wǎng)劃分的關(guān)鍵是找到合適的可變長度子網(wǎng)掩碼。圖7-8可變長度子網(wǎng)劃分的結(jié)構(gòu)7.3.4無類別域間路由CIDR

1.無類別域間路由的概念

(1)?CIDR是一種新的IP尋址和路由選擇機(jī)制,它不采用傳統(tǒng)的固定IP地址的分類方法,以地址塊為基礎(chǔ)來支持一種靈活、多級、可變規(guī)模的網(wǎng)絡(luò)層次結(jié)構(gòu),以解決標(biāo)準(zhǔn)分類IP地址存在的問題。與傳統(tǒng)的標(biāo)準(zhǔn)分類IP地址與子網(wǎng)地址劃分的方式相比,CIDR不是以粗粒度的固定大小的地址塊來分配地址,而是以任意的二進(jìn)制倍數(shù)的大小來分配地址。

(2)由于CIDR不采用傳統(tǒng)的標(biāo)準(zhǔn)IP地址分類方法,因此無法從地址本身來判斷網(wǎng)絡(luò)號的長度,所以CIDR地址采用“斜線記法”,即<網(wǎng)絡(luò)前綴>/<主機(jī)號>。例如用CIDR方法給出一個(gè)地址塊中的一個(gè)IP地址是/20,表示這個(gè)IP地址的前20位是網(wǎng)絡(luò)前綴,后12位是主機(jī)號,其地址結(jié)構(gòu)為:

(3)?CIDR將網(wǎng)絡(luò)前綴相同的連續(xù)的IP地址組成一個(gè)“CIDR地址塊”。例如,/20的網(wǎng)絡(luò)前綴為20位,那么該地址塊可以擁有的主機(jī)號為212(4096)個(gè)。

(4)一個(gè)CIDR地址塊由塊起始地址與前綴來表示。地址塊的起始地址是指地址塊中地址數(shù)值最小(即主機(jī)號是全0)的一個(gè)。/20地址塊中起始地址的主機(jī)號應(yīng)該是全0,那么這個(gè)地址塊的最小地址的結(jié)構(gòu)為:這個(gè)地址塊的最大地址是主機(jī)號為全1的地址,其結(jié)構(gòu)為:

/20所在的地址塊應(yīng)該由初始地址與前綴表示,即/20。

(5)與標(biāo)準(zhǔn)分類IP地址一樣,除去主機(jī)號是全0的網(wǎng)絡(luò)地址以及主機(jī)號是全1的廣播地址,這個(gè)CIDR地址塊中可以分配的IP地址為:

/20~54/20

2.CIDR的應(yīng)用

如果一個(gè)校園網(wǎng)管理中心獲得了/20的地址塊,希望將它劃分成8個(gè)等長的較小的地址塊,則網(wǎng)絡(luò)管理員可以采取CIDR方法,借用地址中12位主機(jī)號的前3位,實(shí)現(xiàn)進(jìn)一步劃分地址塊的目的。圖7-9給出了劃分CIDR地址塊的例子。圖7-9劃分CIDR地址塊的例子從這個(gè)例子可以看出,對于計(jì)算機(jī)學(xué)院來說,它被分配了/23的地址塊,網(wǎng)絡(luò)地址為23位“11001000000110000001000”,地址塊的最小起始地址是,可分配的地址數(shù)為29個(gè)。對于數(shù)學(xué)學(xué)院來說,它被分配了/23的地址塊,網(wǎng)絡(luò)地址為23位“11001000000110000001001”,地址塊的最小起始地址是,可分配的地址數(shù)為29個(gè)。同樣,8個(gè)學(xué)院都獲得了同等大小的地址空間。兩個(gè)學(xué)院分配的網(wǎng)絡(luò)地址的前20位是相同的,并且8個(gè)地址塊網(wǎng)絡(luò)地址的前20位都是相同的。這個(gè)結(jié)論說明了CIDR地址的聚合能力的特點(diǎn),即地址聚合(AddressAggregation)和路由聚合(RouteAggregation)的作用能力。圖7-10給出了劃分CIDR地址塊后的校園網(wǎng)結(jié)構(gòu)。在這個(gè)結(jié)構(gòu)中,連接到互聯(lián)網(wǎng)的主路由器向外部網(wǎng)絡(luò)發(fā)送一個(gè)通告,說明它接收所有目的地址的前20位與/20相符的分組。外部網(wǎng)絡(luò)不需要知道在/20地址塊的校園網(wǎng)內(nèi)部還有8個(gè)院級網(wǎng)絡(luò)的存在。圖7-10劃分CIDR地址塊后的校園網(wǎng)結(jié)構(gòu)

CIDR技術(shù)通常用在將多個(gè)C類IP地址歸并到單一的網(wǎng)絡(luò)中,并且在路由表中使用一項(xiàng)來表示這些C類IP地址。表7-3給出了CIDR及對應(yīng)的掩碼。網(wǎng)絡(luò)前綴越短,其地址塊所包含的地址數(shù)越多。7.3.5專用IP地址與內(nèi)部網(wǎng)絡(luò)地址規(guī)劃方法

1.全局IP地址與專用IP地址

全局IP地址與專用IP地址的區(qū)別表現(xiàn)在:

(1)使用IP地址的網(wǎng)絡(luò)可分為兩種情況:一種是將網(wǎng)絡(luò)直接連接到互聯(lián)網(wǎng);另一種是運(yùn)行TCP/IP協(xié)議的內(nèi)部網(wǎng)絡(luò),但不直接連接到互聯(lián)網(wǎng),網(wǎng)絡(luò)內(nèi)部用戶訪問互聯(lián)網(wǎng)是受嚴(yán)格控制的。

(2)全局IP地址需要申請,而專用IP地址不需要申請。互聯(lián)網(wǎng)分配機(jī)構(gòu)IANA負(fù)責(zé)組織和監(jiān)督IP地址的分配,確保每個(gè)字段都是唯一的。它授權(quán)給下一級申請成為互聯(lián)網(wǎng)網(wǎng)點(diǎn)的網(wǎng)絡(luò)管理中心,每個(gè)網(wǎng)點(diǎn)組成一個(gè)自治系統(tǒng)。網(wǎng)絡(luò)信息中心只給申請成為新網(wǎng)點(diǎn)的組織分配IP地址的網(wǎng)絡(luò)號,主機(jī)號則由申請的組織自己分配和管理。

(3)全局IP地址必須保證在互聯(lián)網(wǎng)上是唯一的;而專用IP地址在某一個(gè)網(wǎng)絡(luò)內(nèi)部是唯一的,但在互聯(lián)網(wǎng)中并不是唯一的。IPv4為內(nèi)部網(wǎng)絡(luò)預(yù)留的專用IP地址有3組:

第1組:A類地址的1個(gè)地址塊(~55);

第2組:B類地址的16個(gè)地址塊(172.16~172.31);

第3組:C類地址的256個(gè)地址塊(192.168.0~192.168.255)。

2.內(nèi)部網(wǎng)絡(luò)的專用IP地址規(guī)劃方法

使用專用地址規(guī)劃一個(gè)內(nèi)部網(wǎng)絡(luò)地址系統(tǒng)時(shí),首選的方案是使用A類地址中的專用IP地址塊。理由主要有兩個(gè):一是這個(gè)地址塊覆蓋了從到55的地址空間,由用戶分配的子網(wǎng)號和主機(jī)號的總長度為24位,可以滿足各種專用網(wǎng)的需要;二是A類專用地址的特征比較明顯,從20世紀(jì)80年代之后,的地址已經(jīng)不再使用。

3.規(guī)劃內(nèi)部網(wǎng)絡(luò)地址的基本原則

(1)簡潔。內(nèi)部網(wǎng)絡(luò)地址的規(guī)劃一定要簡潔,文檔記錄清晰。當(dāng)看到一個(gè)特定設(shè)備上的IP地址時(shí),不需要更多查詢就能夠推斷出它是哪一類設(shè)備,以及它在網(wǎng)絡(luò)中的大致位置。

(2)便于系統(tǒng)的擴(kuò)展與管理。內(nèi)部網(wǎng)絡(luò)地址的規(guī)劃一定要考慮容易實(shí)施,方便管理,并能夠適應(yīng)未來系統(tǒng)的發(fā)展,具有很好的擴(kuò)展性。

(3)有效的路由。內(nèi)部網(wǎng)絡(luò)地址的規(guī)劃應(yīng)采用分級地址結(jié)構(gòu),減少路由器的路由表規(guī)模,提高路由與分組轉(zhuǎn)發(fā)速度。

1.NAT的基本概念

NAT技術(shù)適用于四類應(yīng)用領(lǐng)域:一是ISP、ADSL和有線電視的地址分配;二是移動無線接入地址分配;三是電子政務(wù)內(nèi)網(wǎng)等對互聯(lián)網(wǎng)的訪問需要嚴(yán)格控制的內(nèi)部網(wǎng)絡(luò)系統(tǒng)的地址分配;四是與防火墻相結(jié)合。在使用專用IP地址設(shè)計(jì)的內(nèi)部網(wǎng)絡(luò)中,如果內(nèi)部網(wǎng)絡(luò)的主機(jī)要訪問互聯(lián)網(wǎng)或外部網(wǎng)絡(luò)的主機(jī),可使用NAT技術(shù)。圖7-11給出了ISP使用NAT技術(shù)的結(jié)構(gòu)示意圖。圖7-11ISP使用NAT技術(shù)的結(jié)構(gòu)

為ADSL用戶提供撥號服務(wù)的ISP使用NAT技術(shù)來節(jié)省IP地址。假設(shè)ISP有1000個(gè)地址,但是有10000個(gè)用戶。這個(gè)ISP可以將用戶劃分為100個(gè)組,每個(gè)組有100個(gè)用戶。每個(gè)組可以視為一個(gè)內(nèi)部網(wǎng)絡(luò),給每個(gè)內(nèi)部網(wǎng)絡(luò)的用戶分配一個(gè)專用IP地址。ISP將給每個(gè)內(nèi)部網(wǎng)絡(luò)再分配10個(gè)可在互聯(lián)網(wǎng)中使用的全局IP地址,這樣,每個(gè)內(nèi)部網(wǎng)絡(luò)的100個(gè)用戶就可以共享這10個(gè)全局IP地址。內(nèi)部網(wǎng)絡(luò)主機(jī)之間的訪問就使用專用IP地址,只有需要訪問外部網(wǎng)絡(luò)的分組才使用全局IP地址。如果內(nèi)部網(wǎng)絡(luò)中的用戶希望訪問互聯(lián)網(wǎng)的某個(gè)Web站點(diǎn),它的訪問請求到達(dá)連接互聯(lián)網(wǎng)的路由器時(shí),執(zhí)行NAT協(xié)議的路由器可以從自己的公用IP地址池中為用戶臨時(shí)分配一個(gè)全局IP地址,將內(nèi)部網(wǎng)絡(luò)使用的專用IP地址轉(zhuǎn)換成公用IP地址,滿足用戶訪問互聯(lián)網(wǎng)的需求。當(dāng)訪問結(jié)束后,路由器收回分配的全局IP地址,以便給其他用戶提供服務(wù)。實(shí)際上,NAT經(jīng)常與代理(Proxy)、防火墻(Fireware)技術(shù)一起使用。

2.NAT的工作原理

圖7-12給出了NAT的基本工作原理。如果內(nèi)部網(wǎng)絡(luò)地址為的主機(jī)希望訪問互聯(lián)網(wǎng)上地址為的Web服務(wù)器,那么它會產(chǎn)生一個(gè)源地址S=、端口號為3342以及目的地址D=、端口號為80的分組1,即“S=,3342D=,80”。當(dāng)分組1到達(dá)執(zhí)行NAT功能的路由器時(shí),它將分組1的源地址從內(nèi)部專用地址轉(zhuǎn)換成可以在外部互聯(lián)網(wǎng)上路由的全局IP地址。例如,轉(zhuǎn)換結(jié)果構(gòu)成的分組2為“S=,5001D=,80”。圖7-12NAT的基本工作原理

NAT可以分為“一對一”和“多對多”兩類。實(shí)現(xiàn)地址“一對一”轉(zhuǎn)換的方法屬于靜態(tài)NAT,即配置一個(gè)內(nèi)部專用IP地址對應(yīng)一個(gè)公用的IP地址。在前面例子的假設(shè)中,每個(gè)內(nèi)部網(wǎng)絡(luò)的100個(gè)用戶可以共享10個(gè)全局IP地址,則屬于動態(tài)NAT。10個(gè)共享的全局IP地址可以放在一個(gè)全局IP地址池中。

3.對NAT方法的評價(jià)

(1)?NAT違反了IP地址結(jié)構(gòu)模型的設(shè)計(jì)原則。IP地址結(jié)構(gòu)模型的基礎(chǔ)是每個(gè)IP地址均標(biāo)識一個(gè)網(wǎng)絡(luò)的連接,互聯(lián)網(wǎng)的軟件設(shè)計(jì)就建立在這個(gè)基礎(chǔ)上。NAT使得很多主機(jī)可能在使用相同的地址,如。

(2)?NAT使IP協(xié)議從面向無連接變成了面向連接。NAT必須維持專用IP地址與公用IP地址以及端口號的映射關(guān)系。在TCP/IP協(xié)議體系中,如果一個(gè)路由器出現(xiàn)故障,不會影響TCP協(xié)議的執(zhí)行,因?yàn)橹挥袔酌胧詹坏綉?yīng)答,發(fā)送進(jìn)程就會進(jìn)入超時(shí)重傳處理。當(dāng)采用了NAT技術(shù)時(shí),最初設(shè)計(jì)的TCP/IP的處理過程發(fā)生了變化,互聯(lián)網(wǎng)變得非常脆弱。

(3)?NAT違反了網(wǎng)絡(luò)基本的分層結(jié)構(gòu)模型的設(shè)計(jì)原則。在傳統(tǒng)的網(wǎng)絡(luò)分層結(jié)構(gòu)模型中,第N層是不能修改第N+1層的報(bào)頭內(nèi)容的,NAT破壞了這種各層獨(dú)立的原則。

(4)有些應(yīng)用將IP地址插入在正文的內(nèi)容中,例如標(biāo)準(zhǔn)的FTP協(xié)議與IPPhone協(xié)議H.323。如果NAT與這類協(xié)議一起工作,則需要做一定的修改。同時(shí),傳輸層也可能使用TCP與UDP協(xié)議之外的其他協(xié)議,這一點(diǎn)NAT協(xié)議也必須知道,并且做相應(yīng)的修改。NAT的存在,給P2P應(yīng)用的實(shí)現(xiàn)帶來了困難,這是由于P2P的文件共享與語音共享都建立在IP協(xié)議的基礎(chǔ)上。

(5)?NAT的存在對高層協(xié)議和安全性有影響。

7.4IPv4分組格式

7.4.1IPv4分組結(jié)構(gòu)

圖7-13給出了IP分組的結(jié)構(gòu)。IP分組由兩個(gè)部分組成:分組頭和數(shù)據(jù)。分組頭也稱為首部。分組頭長度是可變的。人們習(xí)慣用4B為基本單位表示分組頭字段。圖中分組頭的每行寬度是4B,前5行是每個(gè)分組頭中必須有的字段,第6行是選項(xiàng)字段,因此IP分組頭的基本長度是20B。如果加上最長為40B的選項(xiàng),則IP分組頭的最大長度為60B。圖7-13IP分組的結(jié)構(gòu)7.4.2IPv4分組頭格式

1.版本字段

IP分組的第一個(gè)字段是“版本”(Version)。其長度為4位。它表示所使用的網(wǎng)絡(luò)層IP協(xié)議的版本號。版本字段值為4,表示IPv4;版本字段值為6,表示IPv6。不同的協(xié)議版本所規(guī)定的分組結(jié)構(gòu)是不同的,該字段向IP軟件說明它所處理的IP分組的版本號。IP軟件在處理該分組之前必須檢查版本號,以避免出現(xiàn)錯(cuò)誤解釋分組的內(nèi)容。

2.協(xié)議字段

協(xié)議字段是指使用IP協(xié)議的高層協(xié)議類型。協(xié)議字段長度為8位。表7-4給出了協(xié)議字段值所表示的高層協(xié)議類型。

3.長度

1)分組頭長度字段

分組頭長度字段的長度為4位,它定義了以4B為一個(gè)單位的分組頭的長度。分組頭中除了IP選項(xiàng)字段與填充字段外,其他各項(xiàng)是定長的,長度為20B。因此,分組頭長度字段的最小值為5,表示分組頭的最小長度為20B(5×4)。一個(gè)有IP選項(xiàng)字段和填充字段的IP分組的分組頭要大于20B。因此,分組頭長度字段的最大值為15,表示分組頭的最大長度為60B(15×4)。這樣,IP分組的分組頭長度為20~60B。同時(shí),協(xié)議還規(guī)定:IP分組的分組頭長度必須是4B的整數(shù)倍。如果不是4B的整數(shù)倍,則由填充字段補(bǔ)0來補(bǔ)齊。

2)總長度字段

總長度字段的長度為16位,它定義了以字節(jié)為單位的分組總長度,是分組頭長度與數(shù)據(jù)長度之和。由于總長度字段的長度為16位,因此IP分組的最大長度為65535B(216-1)。IP分組中高層協(xié)議的數(shù)據(jù)長度等于分組的總長度減去分組頭長度。

4.服務(wù)字段

1)服務(wù)類型字段

服務(wù)類型用4個(gè)參數(shù)來指示路由器如何處理分組,以及分組所希望達(dá)到的傳輸效果。這些服務(wù)類型參數(shù)為:延時(shí)D(Delay)、可靠性R(Reliability)、吞吐量T(Throughput)與成本C(Cost)。每位取值0或1。在這4位中,最多只能有一位的值為1,其他3位的值則為0。例如,延時(shí)位D=1表示LowDelay,D=0表示Normal;吞吐量位T=1表示HighThroughput,T=0表示Normal;可靠性位R=1表示HighReliablity,R=0表示Normal;成本位C=1表示LowCost,C=0表示Normal。因此,盡管服務(wù)類型可以組合D、T、R、C等四個(gè)參數(shù),但在實(shí)際應(yīng)用中必須根據(jù)需要對四個(gè)參數(shù)協(xié)調(diào)和折中。例如,如果要獲得低服務(wù)成本(LowCost),則D、T、R、C參數(shù)的組合只能為0001,即犧牲延時(shí)、吞吐量、可靠性等三方面的要求。由于一條網(wǎng)絡(luò)傳輸路徑的性能往往取決于它所依賴的網(wǎng)絡(luò)傳輸技術(shù),每種網(wǎng)絡(luò)傳輸技術(shù)都需要用延時(shí)、吞吐量、可靠性與成本等四個(gè)參數(shù)來描述。

2)優(yōu)先級字段

當(dāng)分組在網(wǎng)絡(luò)之間傳輸時(shí),有的應(yīng)用需要網(wǎng)絡(luò)提供優(yōu)先服務(wù),重要服務(wù)信息的處理等級比一般服務(wù)信息的處理等級高。例如,網(wǎng)絡(luò)管理信息分組的優(yōu)先等級設(shè)定要比FTP分組高。當(dāng)網(wǎng)絡(luò)處于高負(fù)荷狀態(tài),尤其是在路由器發(fā)生擁塞而必須丟棄一些分組時(shí),路由器將只接收某優(yōu)先等級以上的分組,而將等級較低的分組丟棄,這時(shí)可以只接收網(wǎng)絡(luò)管理信息分組,而將FTP分組丟棄。

5.生存時(shí)間字段

IP分組從源主機(jī)到達(dá)目的主機(jī)的傳輸延時(shí)是不確定的。如果出現(xiàn)路由器的路由表錯(cuò)誤,甚至可能造成分組在網(wǎng)絡(luò)中循環(huán)、無休止地轉(zhuǎn)發(fā)。為了避免這種情況的出現(xiàn),IP協(xié)議設(shè)計(jì)了生存時(shí)間TTL(Time-To-Live)字段。TTL用來設(shè)定分組在互聯(lián)網(wǎng)中

的“壽命”,它通常是用轉(zhuǎn)發(fā)分組最多的路由器跳數(shù)(Hop)來實(shí)現(xiàn)的。

6.頭校驗(yàn)和字段

(1)?IP分組頭之外的部分屬于高層數(shù)據(jù),高層數(shù)據(jù)都會有相應(yīng)的校驗(yàn)字段,因此IP分組可以不對高層數(shù)據(jù)進(jìn)行校驗(yàn)。

(2)?IP分組頭每經(jīng)過一個(gè)路由器都要改變一次,但數(shù)據(jù)部分并不改變。因此在IP分組頭設(shè)置頭校驗(yàn)和,只對變化部分進(jìn)行校驗(yàn)是合理的。如果對整個(gè)分組進(jìn)行校驗(yàn),則每次需要對整個(gè)分組進(jìn)行計(jì)算,勢必要花費(fèi)路由器大量的時(shí)間,使系統(tǒng)性能大大降低。

7.地址字段

分組頭中最簡單的是地址字段。地址字段包括源地址(SourceAddress)與目的地址(DestinationAddress)。源地址與目的地址字段的長度都是32位,分別表示發(fā)送分組的源主機(jī)與接收分組的目的主機(jī)的IPv4地址。在分組的整個(gè)傳輸過程中,無論采用什么樣的傳輸路徑或如何分段,源地址與目的地址都始終保持不變。7.4.3IP分組的分段與組裝

1.最大傳輸單元與IP分組的分段

(1)從IP協(xié)議和數(shù)據(jù)鏈路層協(xié)議的角度看IP分組的最大長度。IP分組作為網(wǎng)絡(luò)層的數(shù)據(jù)必然要通過數(shù)據(jù)鏈路層,封裝成幀再通過物理層來傳輸。一個(gè)分組可能要經(jīng)過多個(gè)不同的網(wǎng)絡(luò),每個(gè)路由器都要將接收的幀進(jìn)行拆包和處理,然后封裝成其他類型的幀。幀的格式與長度取決于網(wǎng)絡(luò)采用的協(xié)議。

(2)從IP協(xié)議和傳輸層協(xié)議的角度看IP分組的最大長度。傳輸層數(shù)據(jù)包必須在網(wǎng)絡(luò)層封裝成IP分組,再傳送到數(shù)據(jù)鏈路層組成幀。在封裝成IP分組時(shí),傳輸層數(shù)據(jù)包加上IP分組頭的總長度必須小于65535B。如果大于65535B,那么就需要將傳輸層數(shù)據(jù)分成多個(gè)數(shù)據(jù)包,分別封裝在不同的IP分組中,多個(gè)分組傳輸出錯(cuò)的概率會增大。

2.IP分組分段的方法

當(dāng)IP分組的長度大于MTU的長度時(shí),就必須對IP分組進(jìn)行分段。圖7-14給出了IP分組分段的基本方法。首先需要確定段長度,然后將原始IP分組(包括分組頭)分成第1個(gè)段。如果剩余的數(shù)據(jù)仍然超過段長度,則需要進(jìn)行第2次分段,第2個(gè)分段數(shù)據(jù)加上原來的分組頭,構(gòu)成第2個(gè)段。這樣一直分割到剩下的數(shù)據(jù)小于段長度為止。圖7-14IP分組分段的基本方法

3.標(biāo)識、標(biāo)志與段偏移字段

1)標(biāo)識字段

標(biāo)識字段的長度為16位,最多可以分配的ID值為65535個(gè)。分組可能通過不同的傳輸路徑到達(dá)目的結(jié)點(diǎn)。屬于同一分組的不同的段到達(dá)時(shí)會出現(xiàn)亂序,或者和屬于其他分組的段混在一起。例如,如果為一個(gè)分組的所有段分配一個(gè)標(biāo)識字段ID值為1562,到達(dá)目的結(jié)點(diǎn)的段的標(biāo)識字段ID值有些是1562,也有的是2489、3178等,則目的結(jié)點(diǎn)可以根據(jù)標(biāo)識字段ID值,將標(biāo)識字段ID值為1562的段挑出來重裝。標(biāo)識字段ID是段識別的標(biāo)記。

2)標(biāo)志字段

圖7-15給出了標(biāo)志字段的結(jié)構(gòu)。標(biāo)志字段共3位,最高位為0,該值必須復(fù)制到所有分組中。

DF=1,表示接收結(jié)點(diǎn)不能對分組進(jìn)行分段。如果分組的長度超過MTU,又不可以分段,那么這個(gè)分組只能丟棄,并用ICMP差錯(cuò)報(bào)文向源主機(jī)報(bào)告。DF=0,表示可以分段。

MF值表示該分段是不是最后一個(gè)分段。MF=1表示接收的不是最后一個(gè)分段,MF=0表示接收的是最后一個(gè)分段。圖7-15標(biāo)志字段的結(jié)構(gòu)

3)段偏移字段

圖7-16給出了分段方法的例子??梢钥闯?,分組的數(shù)據(jù)長度為2200B,分組頭長度為20B,MTU長度為820B,那么可以分成3個(gè)段。如果原始分組的數(shù)據(jù)編號為0~2199,那么編號為0~799的數(shù)據(jù)作為第1分段的數(shù)據(jù),復(fù)制原分組頭(標(biāo)志與段偏移值除外),原分組頭與第1分段的數(shù)據(jù)就構(gòu)成了第1分段。由于是初始的分段,因此段偏移值為0。編號為800~1599的數(shù)據(jù)作為第2分段的數(shù)據(jù),復(fù)制原分組頭(標(biāo)志與段偏移值除外),原分組頭與第2分段的數(shù)據(jù)就構(gòu)成了第2分段。由于該分段的第1個(gè)數(shù)據(jù)編碼號為800,段偏移值是以8B為單位來計(jì)數(shù)的,因此段偏移值為100。編號為1600~2199的數(shù)據(jù)作為第3分段的數(shù)據(jù),復(fù)制原分組頭(標(biāo)志與段偏移值除外),原分組頭與第3分段的數(shù)據(jù)就構(gòu)成了第3分段。由于該分段的第1個(gè)數(shù)據(jù)編碼號為1600,因此第3分段的偏移值為200。第3分段的字節(jié)數(shù)小于MTU長度。圖7-16分段方法的例子圖7-17給出了分段與標(biāo)識、標(biāo)志、段偏移的關(guān)系。從原始分組到分段之后,分組頭的總長度字段、標(biāo)志字段與段偏移字段值均發(fā)生變化。在分段1、分段2中MF=1,表示它后面還有分段,它不是最后一個(gè)分段;在分段3中MF=0,表示它是最后一個(gè)分段。需要注意的是:由于標(biāo)識、標(biāo)志與段偏移值發(fā)生變化,因此分組頭的校驗(yàn)和需要重新計(jì)算。圖中標(biāo)識字段值假設(shè)為265。圖7-17分段與標(biāo)識、標(biāo)志、段偏移的關(guān)系7.4.4IP分組頭選項(xiàng)

1.設(shè)置IP分組頭選項(xiàng)的目的

(1)作為分組頭選項(xiàng),用戶可以不使用,但作為IP分組頭的組成部分,所有實(shí)現(xiàn)IP協(xié)議的硬件或軟件都應(yīng)該能夠處理它。

(2)選項(xiàng)的最大長度為40B,如果用戶使用的選項(xiàng)長度不是4B的整數(shù)倍,則需要添加填充位。

(3)分組頭選項(xiàng)由選項(xiàng)碼、長度與選項(xiàng)數(shù)據(jù)等三部分組成。選項(xiàng)碼用于確定該選項(xiàng)的具體功能,例如源路由、記錄路由、時(shí)間戳等。長度表示選項(xiàng)數(shù)據(jù)的大小。

2.源路由

源路由是指由發(fā)送分組的源主機(jī)制定的傳輸路徑,用以區(qū)別由路由器通過路由選擇算法確定的路徑。源路由主要用于繞開出錯(cuò)的網(wǎng)絡(luò),測試某個(gè)網(wǎng)絡(luò)的吞吐量;也可以用于保證傳輸安全的應(yīng)用中。源路由分為嚴(yán)格源路由SSR(StrictSourceRoute)和松散源路由LSR(LooseSourceRoute)。

(1)嚴(yán)格源路由SSR:規(guī)定了分組要經(jīng)過的路徑上的每個(gè)路由器,相鄰路由器之間不能插入其他路由器,并且經(jīng)過的路由器順序不能改變。嚴(yán)格源路由選項(xiàng)主要用于網(wǎng)絡(luò)測試,網(wǎng)絡(luò)管理員本身必須對網(wǎng)絡(luò)拓?fù)溆邢喈?dāng)?shù)牧私?,在建立這類分組的分組頭時(shí),應(yīng)直接將第一個(gè)測試點(diǎn)的地址設(shè)定為分組頭中的目的地址,最后一個(gè)測試點(diǎn)或目的主機(jī)的地址設(shè)定為路徑數(shù)據(jù)字段中的最后一個(gè)指定地址。

(2)松散源路由LSR:規(guī)定了分組一定要經(jīng)過的路由器,但不是一條完整的傳輸路徑,中途可以經(jīng)過其他路由器。

3.記錄路由

記錄路由是將分組經(jīng)過的每個(gè)路由器的IP地址記錄下來。記錄路由選項(xiàng)常用于網(wǎng)絡(luò)測試,例如網(wǎng)絡(luò)管理員要了解發(fā)送到某個(gè)主機(jī)的分組經(jīng)過哪些路由器才能到達(dá)目的主機(jī),以及互聯(lián)網(wǎng)中的路由器配置是否正確。

4.時(shí)間戳

時(shí)間戳(Timestamp)可以記錄分組經(jīng)過每個(gè)路由器的本地時(shí)間。時(shí)間戳采用格林威治時(shí)間,單位是毫秒(ms)。網(wǎng)絡(luò)管理員可以利用它追蹤路由器的運(yùn)行狀態(tài)。分析網(wǎng)絡(luò)吞吐量、擁塞情況與負(fù)荷情況等。

7.5路由選擇算法與分組轉(zhuǎn)發(fā)

7.5.1分組轉(zhuǎn)發(fā)和路由選擇的基本概念

1.分組轉(zhuǎn)發(fā)的基本概念

多數(shù)主機(jī)先接入一個(gè)局域網(wǎng),局域網(wǎng)通過一臺路由器再接入互聯(lián)網(wǎng)。這種情況下,這臺路由器就是局域網(wǎng)主機(jī)的默認(rèn)路由器(DefaultRouter),又稱為第一跳路由器(First-hopRouter)。每當(dāng)這臺主機(jī)發(fā)送一個(gè)IP分組時(shí),它首先將該分組發(fā)送到默認(rèn)路由器。分組轉(zhuǎn)發(fā)分為兩類:直接轉(zhuǎn)發(fā)和間接轉(zhuǎn)發(fā)。路由器需要根據(jù)分組的目的地址與源地址是否屬于同一個(gè)網(wǎng)絡(luò),判斷是直接轉(zhuǎn)發(fā)還是間接轉(zhuǎn)發(fā)。當(dāng)分組的源主機(jī)和目的主機(jī)在同一個(gè)網(wǎng)絡(luò),或者當(dāng)目的路由器向目的主機(jī)傳送時(shí),分組將直接轉(zhuǎn)發(fā)。如果目的主機(jī)和源主機(jī)不在同一個(gè)網(wǎng)絡(luò),分組就要間接轉(zhuǎn)發(fā)。路由器從路由表中找出下一個(gè)路由器的IP地址,然后將IP分組轉(zhuǎn)發(fā)給下一個(gè)路由器。當(dāng)IP分組到達(dá)與目的主機(jī)所在的網(wǎng)絡(luò)連接的路由器時(shí),分組將被直接轉(zhuǎn)發(fā)。

圖7-18給出了分組轉(zhuǎn)發(fā)的過程。圖7-18分組轉(zhuǎn)發(fā)的過程

2.評價(jià)路由選擇的依據(jù)

(1)算法必須是正確、穩(wěn)定和公平的。沿著路由表所指引的路徑,分組最終到達(dá)目的網(wǎng)絡(luò)和目的主機(jī)。在網(wǎng)絡(luò)通信量和網(wǎng)絡(luò)拓?fù)湎鄬Ψ€(wěn)定的情況下,路由算法應(yīng)收斂于一個(gè)可以接受的解。算法應(yīng)對所有用戶平等。

(2)算法應(yīng)該盡量簡單。路由選擇算法的計(jì)算必然要消耗路由器的資源,增加分組轉(zhuǎn)發(fā)的延時(shí),算法只有盡量簡單,才可能有實(shí)用價(jià)值。

(3)算法必須能夠適應(yīng)網(wǎng)絡(luò)拓?fù)浜屯ㄐ帕康淖兓?。網(wǎng)絡(luò)拓?fù)渑c網(wǎng)絡(luò)通信量的變化是必然的,當(dāng)某個(gè)路由器或通信線路發(fā)生故障時(shí),算法應(yīng)能及時(shí)地改變路由。當(dāng)網(wǎng)絡(luò)的通信量發(fā)生變化時(shí),算法應(yīng)能自動改變路由,以均衡各鏈路的負(fù)載。這種自適應(yīng)性表現(xiàn)出路由選擇算法的穩(wěn)健性。

(4)算法應(yīng)該是最佳的。算法的“最佳”是指以低的開銷轉(zhuǎn)發(fā)分組。衡量開銷的因素可以是鏈路長度、數(shù)據(jù)速率、鏈路容量、保密、傳播延時(shí)、費(fèi)用等。正是需要考慮很多因素,因此不存在一種絕對的最佳路由算法?!白罴选笔侵赶鄬τ谀撤N特定條件和要求,選擇較為合理的路由。

3.路由選擇算法的主要參數(shù)

路由選擇算法的主要參數(shù)有:

(1)跳數(shù)(HopCount)。跳數(shù)是指一個(gè)分組從源結(jié)點(diǎn)到達(dá)目的結(jié)點(diǎn)經(jīng)過的路由器的個(gè)數(shù)。一般來說,跳數(shù)越少的路徑越好。

(2)帶寬(Bandwidth)。帶寬是指鏈路的傳輸速率,例如高速以太網(wǎng)的傳輸速率為100Mb/s,也可以說以太網(wǎng)的帶寬為100Mb/s。

(3)延時(shí)(Delay)。延時(shí)是指一個(gè)分組從源結(jié)點(diǎn)到達(dá)目的結(jié)點(diǎn)花費(fèi)的時(shí)間。

(4)負(fù)載(Load)。負(fù)載是指通過路由器或線路的單位時(shí)間通信量。

(5)可靠性(Reliability)。可靠性是指傳輸過程中的誤碼率。

(6)開銷(Overhead)。開銷通常是指傳輸過程中的耗費(fèi),耗費(fèi)通常與所使用的鏈路帶寬相關(guān)。一個(gè)實(shí)際的路由選擇算法應(yīng)盡可能接近于理性的算法。在不同的應(yīng)用條件下,可以有不同的側(cè)重。路由選擇是個(gè)非常復(fù)雜的問題,它涉及網(wǎng)絡(luò)中的所有主機(jī)、路由器和通信線路。同時(shí),網(wǎng)絡(luò)拓?fù)渑c網(wǎng)絡(luò)通信量隨時(shí)都在變化,這種變化事先無法知道。當(dāng)網(wǎng)絡(luò)發(fā)生擁塞時(shí),路由選擇算法應(yīng)具有一定的緩解能力,而在這種條件下,很難從網(wǎng)絡(luò)中的各結(jié)點(diǎn)獲得所需的路由選擇信息。

4.路由選擇算法的分類

靜態(tài)路由選擇算法也叫做非自適應(yīng)路由選擇算法,其特點(diǎn)是實(shí)現(xiàn)起來簡單,開銷較小,但不能及時(shí)適應(yīng)網(wǎng)絡(luò)狀態(tài)的變化。動態(tài)路由選擇算法也稱為自適應(yīng)路由選擇算法,其特點(diǎn)是能較好地適應(yīng)網(wǎng)絡(luò)狀態(tài)的變化,但實(shí)現(xiàn)起來較為復(fù)雜。路由表可以是靜態(tài)的,也可以是動態(tài)的。

1)靜態(tài)路由表

靜態(tài)路由表是由人工方式建立的,網(wǎng)絡(luò)管理員將每個(gè)目的地址的路徑輸入到路由表中。網(wǎng)絡(luò)結(jié)構(gòu)發(fā)生變化時(shí),路由表無法自動更新。靜態(tài)路由表的更新工作必須由管理員手工完成。因此,靜態(tài)路由表一般只用在小型的、結(jié)構(gòu)不會經(jīng)常改變的局域網(wǎng)系統(tǒng)中,或者是故障查詢的試驗(yàn)網(wǎng)絡(luò)中。

2)動態(tài)路由表

大型互聯(lián)網(wǎng)絡(luò)通常采用動態(tài)路由表。在網(wǎng)絡(luò)系統(tǒng)運(yùn)行時(shí),系統(tǒng)自動運(yùn)行動態(tài)路由選擇協(xié)議,建立路由表。當(dāng)互聯(lián)網(wǎng)結(jié)構(gòu)發(fā)生變化時(shí),例如某個(gè)路由器出現(xiàn)故障或某條鏈路中斷,動態(tài)路由選擇協(xié)議就會自動更新所有路由器中的路由表。不同規(guī)模的網(wǎng)絡(luò)需要選擇不同的動態(tài)路由選擇協(xié)議。

1)標(biāo)準(zhǔn)路由選擇算法

一個(gè)標(biāo)準(zhǔn)的路由表通常保存著多個(gè)網(wǎng)絡(luò)IP地址與下一跳路由器的二元組(N,R),這里N表示網(wǎng)絡(luò)的IP地址,R表示到網(wǎng)絡(luò)N路徑上的下一跳路由器的IP地址。在結(jié)構(gòu)復(fù)雜的互聯(lián)網(wǎng)中,要為每個(gè)路由器的路由表記錄到達(dá)所有網(wǎng)絡(luò)的路由是不可能的,因此路由器只需要記錄到網(wǎng)絡(luò)N路徑上的下一跳路由器的IP地址。同時(shí),為了提高路由運(yùn)行效率,路由表中的N使用的是目的主機(jī)所在網(wǎng)絡(luò)的IP地址。圖7-19給出了一個(gè)簡化的3個(gè)路由器連接4個(gè)網(wǎng)絡(luò)的例子。圖7-19一個(gè)3個(gè)路由器連接4個(gè)網(wǎng)絡(luò)的例子表7-5給出了圖7-19中R2的路由表。從路由表中可以看出:

(1)由于網(wǎng)絡(luò)和直接與R2連接,因此當(dāng)路由器接收到屬于網(wǎng)絡(luò)和的IP分組時(shí),R2可以將該IP分組直接轉(zhuǎn)發(fā)給目的主機(jī)。

(2)如果路由器R2接收到屬于網(wǎng)絡(luò)的分組,R2將根據(jù)路由表的指示,將分組通過地址為的接口轉(zhuǎn)發(fā)給R1。

(3)如果路由器R2接收到屬于網(wǎng)絡(luò)的IP分組,R21將根據(jù)路由表的指示,將分組通過地址為的接口轉(zhuǎn)發(fā)給R3。

2)子網(wǎng)的路由選擇

在實(shí)際應(yīng)用中,所有路由器應(yīng)該支持子網(wǎng)的路由選擇。圖7-20給出了另一個(gè)通過3個(gè)路由器連接4個(gè)網(wǎng)絡(luò)的例子。在子網(wǎng)編碼方式下,直接通過網(wǎng)絡(luò)地址已無法準(zhǔn)確判斷網(wǎng)絡(luò)號、子網(wǎng)號與主機(jī)號,因此需要在路由表中增加子網(wǎng)掩碼,這樣就需要將二元組(N,R)變成三元組(M,N,R),其中M表示目的網(wǎng)絡(luò)的子網(wǎng)掩碼。表7-6給出了圖7-20中R2的路由表。圖7-20另一個(gè)3個(gè)路由器連接4個(gè)網(wǎng)絡(luò)的例子對于表7-6中的路由表,通過以下的子網(wǎng)路由選擇的例子來說明路由表的使用:

(1)如果R2接收到目的地址為的分組,路由選擇的第一步是將這個(gè)目的地址與的子網(wǎng)掩碼進(jìn)行“與”操作,獲得的網(wǎng)絡(luò)地址為。查找路由表,屬于表中的第1項(xiàng)。路由器將該分組直接轉(zhuǎn)發(fā)給網(wǎng)絡(luò)。

(2)如果R2接收到目的地址為0的分組,路由選擇的第一步是將這個(gè)目的地址與的子網(wǎng)掩碼進(jìn)行“與”操作,獲得的網(wǎng)絡(luò)地址為。查找路由表,屬于表中的第4項(xiàng)。R2將根據(jù)路由表的指示,將接收到的分組通過地址為的接口轉(zhuǎn)發(fā)到R3。

如果R3與該分組的目的地址表示的網(wǎng)絡(luò)不直接連接,則R3將按以上方法進(jìn)行下去,直至該分組最終傳送到目的主機(jī)所在的網(wǎng)絡(luò)為止。

3)路由表的特殊路由

(1)默認(rèn)路由。在路由選擇過程中,如果路由表中沒有明確指明一條到達(dá)目的網(wǎng)絡(luò)的路由信息,那么可以將該分組轉(zhuǎn)發(fā)到默認(rèn)路由指定的路由器。例如,在圖7-20中,如果R1的路由表中建立了一個(gè)指向R2的默認(rèn)路由,則它就可以不需要建立到網(wǎng)絡(luò)和網(wǎng)絡(luò)的路由。這樣,R1接收到的分組的目的地址只要不是它直接連接的網(wǎng)絡(luò)和,就可按照默認(rèn)路由將它們轉(zhuǎn)發(fā)到R2中。

(2)特定主機(jī)路由。路由表的主要表項(xiàng)是基于網(wǎng)絡(luò)地址的,同時(shí)IP協(xié)議也允許為一個(gè)特定的主機(jī)建立路由表項(xiàng)(即特定主機(jī)路由)。特定主機(jī)路由方式賦予了本地網(wǎng)絡(luò)管理員更大的網(wǎng)絡(luò)控制權(quán),可以用于網(wǎng)絡(luò)安全、網(wǎng)絡(luò)流通性測試、路由表正確性判斷等。

6.IP路由匯聚

路由器的路由表項(xiàng)數(shù)量越少,路由選擇查詢的時(shí)間就越短,通過路由器轉(zhuǎn)發(fā)分組的延時(shí)也就越少。路由匯聚是減少路由表項(xiàng)數(shù)量的重要手段之一。

在使用CIDR協(xié)議后,IP分組的路由就通過與子網(wǎng)劃分的相反過程匯聚。網(wǎng)絡(luò)前綴越長,其地址塊所包含的主機(jī)地址數(shù)越少,尋址目的主機(jī)就越容易。在使用CIDR的網(wǎng)絡(luò)前綴記憶法后,IP地址由網(wǎng)絡(luò)前綴和主機(jī)號兩部分組成。圖7-21給出了CIDR的路由匯聚過程。連接路由器的接口標(biāo)有S0、S1的為串行線路標(biāo)記,E1、E2、E3表示以太網(wǎng)接口。其中,路由器Rg通過兩條專線S0、S1與兩臺匯聚路由器Re和Rf連接;路由器Re和Rf分別通過兩個(gè)以太網(wǎng)與4臺接入服務(wù)器Ra、Rb、Rc、Rd連接。Ra、Rb、Rc、Rd分別連接/24~/24、/24~/24等8個(gè)子網(wǎng)。圖中包括連接核心路由器與匯聚路由器的兩個(gè)子網(wǎng),共有12個(gè)子網(wǎng)。表7-7給出了路由器Rg的路由表,其中包括12個(gè)路由條目。如果采用的是靜態(tài)路由表,用人工添加到7個(gè)路由器的路由表,則總共需要輸入12×7?=?84個(gè)條目。對于大型的網(wǎng)絡(luò)來說,采用靜態(tài)路由表(人工添加路由表)的做法顯然不可取,只能采用動態(tài)路由選擇協(xié)議自動建立和更新路由表。圖7-21CIDR的路由匯聚過程從表7-7可以看出,路由器Rg的路由表可以簡化。其中前4項(xiàng)保留,后8項(xiàng)可以考慮合并成2項(xiàng)。

按照“最短前綴匹配”的原則,可以尋找/24~2/24等4項(xiàng)的最長時(shí)間的前綴。在本例中,觀察地址中的第3字節(jié):

0=00000000

1=00000001

2=00000010

3=00000011對于這4條路徑,第3個(gè)字節(jié)的前6位都是相同的,也就是說,4項(xiàng)的最長相同的前綴是22位。因此,路由表中的這4項(xiàng)可以合并成/22。同樣,觀察/24~/24的第3個(gè)字節(jié):

56=00111000

57=00111001

58=00111010

59=00111011對于這4條路徑,第3個(gè)字節(jié)的前6位都是相同的,也就是說,4項(xiàng)的最長相同的前綴是22位。因此,路由表中的這4項(xiàng)可以合并成/22。表7-8給出了匯聚后的路由器Rg的路由表,路由條目由12個(gè)減少到6個(gè)。如果路由器Rg接收到目的地址為7的分組,則會在路由表中查找一條最佳的匹配路由。它將分組的目的地址與一條路由進(jìn)行比較:

7/22=10011100000110100000001000100101

/22=10011100000110100000000000000000

目的地址與/22的地址前綴之間有22位是匹配的,那么路由表Rg將接收到的目的地址為7的分組從S0接口轉(zhuǎn)發(fā)。7.5.2路由表的建立、更新與路由選擇協(xié)議

1.解決互聯(lián)網(wǎng)路由選擇協(xié)議的基本思路

(1)在結(jié)構(gòu)復(fù)雜的互聯(lián)網(wǎng)環(huán)境中,試圖建立一個(gè)能適用于整個(gè)互聯(lián)網(wǎng)環(huán)境的全局性的路由選擇算法是不切實(shí)際的。在路由選擇問題上也必須采用分層的思想,以“化整為零”、“分而治之”的辦法來解決這個(gè)復(fù)雜的問題。

(2)路由選擇算法與路由選擇協(xié)議的概念不同。路由選擇算法的目標(biāo)是產(chǎn)生一個(gè)路由表,為路由器轉(zhuǎn)發(fā)IP分組找出適當(dāng)?shù)南乱惶酚善鳎欢O(shè)計(jì)路由選擇協(xié)議的目的是實(shí)現(xiàn)路由表路由信息的動態(tài)更新。

為了解決以上兩個(gè)基本問題,人們提出了自治系統(tǒng)與路由選擇協(xié)議的概念。

2.自治系統(tǒng)的基本概念

自治系統(tǒng)的核心是路由選擇的“自治”。由于一個(gè)自治系統(tǒng)中的所有網(wǎng)絡(luò)都屬于一個(gè)行政單位,例如一所大學(xué)、一個(gè)公司、政府的一個(gè)部門,因此它有權(quán)自主地決定內(nèi)部采用的路由選擇協(xié)議。自治系統(tǒng)內(nèi)部的路由選擇稱為域內(nèi)路由選擇;自治系統(tǒng)之間的路由選擇稱為域間路由選擇。

3.互聯(lián)網(wǎng)路由選擇協(xié)議的分類

1)內(nèi)部網(wǎng)關(guān)協(xié)議

內(nèi)部網(wǎng)關(guān)協(xié)議是在一個(gè)自治系統(tǒng)內(nèi)部使用的路由選擇協(xié)議,這與互聯(lián)網(wǎng)中其他自治系統(tǒng)選用什么路由選擇協(xié)議無關(guān)。目前,內(nèi)部網(wǎng)關(guān)協(xié)議主要有路由信息協(xié)議RIP(RoutingInformationProtocol)和開放最短路徑優(yōu)先協(xié)議OSPF(OpenShortestPathFirst)。

2)外部網(wǎng)關(guān)協(xié)議

每個(gè)自治系統(tǒng)的內(nèi)部路由器之間通過IGP交換路由信息,而連接不同自治系統(tǒng)的路由器之間使用EGP交換路由信息。圖7-22給出了自治系統(tǒng)與IGP、EGP之間的關(guān)系。圖7-22自治系統(tǒng)與IGP、EGP之間的關(guān)系要理解路由選擇協(xié)議,需要注意以下幾個(gè)問題:

(1)早期RFC文檔中使用的術(shù)語“網(wǎng)關(guān)”(Gateway),相當(dāng)于大家很熟悉的“路由器”(Router)。從網(wǎng)絡(luò)互聯(lián)角度看,“網(wǎng)關(guān)”與“路由器”是有區(qū)別的,但由于歷史原因,在互聯(lián)網(wǎng)路由技術(shù)討論中,“網(wǎng)關(guān)”與“路由器”不加以區(qū)別。

(2)?IGP與EGP是兩類路由選擇協(xié)議的名稱,但是早期一種具體的外部網(wǎng)關(guān)協(xié)議就叫“EGP”。因此,一類協(xié)議的名稱與一種具體的協(xié)議名稱相同,容易造成混淆。此后,出現(xiàn)了一種新的外部網(wǎng)關(guān)協(xié)議—邊界網(wǎng)關(guān)協(xié)議BGP,它取代了EGP協(xié)議,成為目前廣泛使用的一種邊界網(wǎng)關(guān)協(xié)議。

(3)目前內(nèi)部網(wǎng)關(guān)協(xié)議主要是路由信息協(xié)議RIP和開放最短路徑優(yōu)先協(xié)議OSPF,外部網(wǎng)關(guān)協(xié)議主要是邊界網(wǎng)關(guān)協(xié)議BGP。7.5.3路由信息協(xié)議RIP

1.向量距離路由選擇算法

向量距離路由選擇算法也稱為Bellman-ford算法。向量距離路由選擇算法的設(shè)計(jì)思想比較簡單,它要求路由器周期性地通知相鄰路由器自己可以到達(dá)的網(wǎng)絡(luò),以及到達(dá)該網(wǎng)絡(luò)的距離(跳數(shù))。路由刷新報(bào)文的主要內(nèi)容是若干(V,D)表。其中,V代表向量(Vector),標(biāo)識該路由器可以到達(dá)的目的網(wǎng)絡(luò)或目的主機(jī);D代表距離(Distance),指出該路由器到達(dá)目的網(wǎng)絡(luò)或目的主機(jī)的距離。距離D對應(yīng)該路由的跳數(shù)(HopCount)。其他路由器在收到這個(gè)路由器的(V,D)報(bào)文后,按照最短路徑原則對各自的路由表進(jìn)行刷新。

2.向量距離路由選擇算法的工作原理

1)路由表的建立

當(dāng)路由器剛啟動時(shí),對其(V,D)路由表進(jìn)行初始化。初始化的路由器只包含所有與該路由器直接相連的網(wǎng)絡(luò)路由。由于是直接相連的網(wǎng)絡(luò),不需要經(jīng)過中間路由器的轉(zhuǎn)接,所以初始(V,D)表中各路由的距離均為0。

2)路由表信息的更新

(1)如果R1的路由表沒有這項(xiàng)記錄,則在路由表中增加該項(xiàng),由于要經(jīng)過R2轉(zhuǎn)發(fā),因此D值加1。

(2)如果R1的路由表的一項(xiàng)記錄的D值減1后比R2發(fā)送的一項(xiàng)記錄的D值還要大,則在R1路由表中修改該項(xiàng),D值根據(jù)R2提供的值加1。圖7-23給出了R1和R2的路由表信息的更新過程。圖7-23(a)是更新前的R1路由表,圖7-23(b)是R2發(fā)送的(V,D)報(bào)文。比較發(fā)現(xiàn)圖7-23(a)中有3項(xiàng)做標(biāo)記的記錄要修改:

(1)第1項(xiàng):圖7-23(a)中目的網(wǎng)絡(luò)的距離為8,而圖7-23(b)中的對應(yīng)項(xiàng)距離為4,顯然更短,因此R1要根據(jù)R2提供的數(shù)據(jù),修改相應(yīng)項(xiàng)的值(取值為4+1=5),路由不變。

(2)第2項(xiàng):R1的路由表中沒有目的網(wǎng)絡(luò),需要向路由表中增加一項(xiàng),增加的一項(xiàng)為:網(wǎng)絡(luò),距離5,路由R2。圖7-23路由表信息的更新過程

(3)第3項(xiàng):圖7-23(a)中的目的網(wǎng)絡(luò)的距離為11(路由:R4),而圖7-23(b)中的對應(yīng)項(xiàng)距離為5(路由:R2),顯然應(yīng)將下一跳的路由器改為R2。因此R1要根據(jù)R2提供的數(shù)據(jù),修改相應(yīng)項(xiàng)的值,距離為5+1=6(路由:R2)。

圖7-23(c)是根據(jù)向量距離路由選擇算法更新的路由表。該算法的優(yōu)點(diǎn)是實(shí)現(xiàn)簡單,但不適應(yīng)大型或路由變化頻繁的網(wǎng)絡(luò)環(huán)境。

3.路由信息協(xié)議RIP

(1)?RIP規(guī)定路由器設(shè)置一個(gè)周期更新定時(shí)器,每隔30s在相鄰路由器之間交換一次路由信息。由于每個(gè)路由器的周期更新定時(shí)器都相對獨(dú)立,因此它們同時(shí)以廣播方式發(fā)送路由信息的可能性很小。為了防止出現(xiàn)因觸發(fā)更新而引起的廣播風(fēng)暴,RIP協(xié)議增加了一個(gè)延遲定時(shí)器。延遲定時(shí)器為每次路由更新產(chǎn)生一個(gè)隨機(jī)延遲時(shí)間,一般控制在1~5s。

(2)如果路由器接收到同一網(wǎng)絡(luò)有多條距離相同的路徑,它將按照“先入為主”的原則,采用得到的第一條路徑的參數(shù),直到這一條路徑失效或被更短的路徑取代。

(3)根據(jù)向量距離路由選擇算法,只有當(dāng)一個(gè)開銷小的路徑出現(xiàn)時(shí)才修改路由表中的一項(xiàng)路由記錄,否則就一直保留下去。這樣有一個(gè)弊端,即某條路徑已經(jīng)出現(xiàn)故障,而對應(yīng)這條路徑的記錄可能還一直保留在路由表中。為了避免這種情況的發(fā)生,RIP為每個(gè)路由表項(xiàng)增加了一個(gè)超時(shí)定時(shí)器,在路由表中的一項(xiàng)記錄被修改之時(shí)開始計(jì)時(shí),當(dāng)該記錄在180s(相當(dāng)于6個(gè)RIP刷新周期)沒有收到刷新信息時(shí),表示該路徑已經(jīng)出現(xiàn)故障,路由表將該項(xiàng)記錄置為“無效”,而不是立即刪除該項(xiàng)路由記錄。另外,RIP協(xié)議設(shè)置了一個(gè)清除定時(shí)器。如果路由表中的一項(xiàng)路由記錄置為“無效”超過120s沒有收到更新信息,則立即從路由表中刪除該項(xiàng)記錄。7.5.4最短路徑優(yōu)先協(xié)議OSPF

1.OSPF協(xié)議的主要特點(diǎn)

(1)?OSPF協(xié)議使用的是鏈路狀態(tài)協(xié)議(LinkStateProtocol),而RIP使用的是向量距離路由選擇協(xié)議。

(2)?OSPF要求每個(gè)路由器周期性地發(fā)送鏈路狀態(tài)信息,以使區(qū)域內(nèi)的所有路由器最終都能形成一個(gè)跟蹤網(wǎng)絡(luò)鏈路狀態(tài)的鏈路狀態(tài)數(shù)據(jù)庫(LinkStateDatabase),這些狀態(tài)包括路由器可用端口、已知可達(dá)路由和鏈路狀態(tài)信息。

(3)?OSPF要求路由器在鏈路狀態(tài)發(fā)生變化時(shí)用泛洪法(Flooding)向所有路由器發(fā)送該信息,而RIP僅向自己相鄰的幾個(gè)路由器通報(bào)路由信息。

(4)路由器之間交換的鏈路狀態(tài)信息主要是費(fèi)用、距離、延時(shí)、帶寬等。值得注意的是,RIP和OSPF都是在尋找最短的路徑,并且都采用“最短路徑優(yōu)先”的指導(dǎo)思想。

2.OSPF主干區(qū)域與區(qū)域的概念

圖7-24給出了自治系統(tǒng)的內(nèi)部結(jié)構(gòu)。每個(gè)區(qū)域有一個(gè)32位的區(qū)域標(biāo)識符(用點(diǎn)分十進(jìn)制標(biāo)識),一個(gè)區(qū)域內(nèi)的路由器數(shù)不超過200個(gè)。區(qū)域邊界路由器接收從其他區(qū)域來的信息。主干區(qū)域內(nèi)有一個(gè)自治系統(tǒng)邊界路由器,專門和其他自治系統(tǒng)交換路由信息。圖7-24自治系統(tǒng)內(nèi)部結(jié)構(gòu)

3.OSPF協(xié)議的執(zhí)行過程

1)路由器的初始化過程

當(dāng)一個(gè)路由器剛開始工作時(shí),它只能通過“問候分組”完成鄰居發(fā)現(xiàn)功能,得知哪些與它相鄰的路由器在工作,以及將數(shù)據(jù)發(fā)往相鄰路由器所需的“開銷”。OSPF讓每個(gè)路由器用“數(shù)據(jù)庫描述分組”和相鄰路由器交換本地?cái)?shù)據(jù)庫中已有的鏈路狀態(tài)摘要信息。摘要信息主要是指出有哪些路由器的鏈路狀態(tài)信息已寫入數(shù)據(jù)庫。

2)網(wǎng)絡(luò)運(yùn)行過程

通過各個(gè)路由器之間交換鏈路狀態(tài)信息,每個(gè)路由器都可得出該網(wǎng)絡(luò)的鏈路狀態(tài)數(shù)據(jù)庫。每個(gè)路由器中的路由表可以從這個(gè)鏈路狀態(tài)數(shù)據(jù)庫出發(fā),計(jì)算出以本路由器為根的最短路徑樹,再根據(jù)最短路徑樹得出路由表。圖7-25給出了OSPF協(xié)議的執(zhí)行過程。圖7-25OSPF協(xié)議的執(zhí)行過程

3)?OSPF域最短路徑選擇過程

圖7-26給出了一個(gè)自治系統(tǒng)劃分為多個(gè)區(qū)域的結(jié)構(gòu)。自治系統(tǒng)中包含多個(gè)路由器,連接路由器之間的鏈路邊標(biāo)出的數(shù)值表示分組傳輸?shù)拈_銷(傳輸距離、延時(shí)等)。這些路由器執(zhí)行的是OSPF協(xié)議。圖7-26一個(gè)自治系統(tǒng)劃分為多個(gè)區(qū)域的結(jié)構(gòu)圖7-27給出了計(jì)算最短路徑的拓?fù)鋱D。可以用更簡捷的方法表示計(jì)算最短路徑的帶有傳輸開銷的拓?fù)鋱D。本例中的網(wǎng)絡(luò)抽象成點(diǎn)。按照OSPF規(guī)定,網(wǎng)絡(luò)與路由器直接連接的開銷為0。為了使討論簡化,本例中假設(shè)鏈路兩個(gè)方向的傳輸開銷相同。圖7-27計(jì)算最短路徑的拓?fù)鋱D圖7-28給出了最小開銷計(jì)算方法,計(jì)算出從路由器R8出發(fā)到網(wǎng)絡(luò)N1~N5的最短路徑。圖7-28根據(jù)最小開銷計(jì)算方法得出的最短路徑如果將這個(gè)結(jié)果用圖7-29表示出來,則會發(fā)現(xiàn):用最短路徑優(yōu)先計(jì)算的最終結(jié)果是形成以R8為根的最短路徑樹,根據(jù)最短路徑樹可以很容易得出路由器R8的路由表。圖7-29以R8為根的最短路徑樹7.5.5外部網(wǎng)關(guān)協(xié)議BGP

1.外部網(wǎng)關(guān)協(xié)議的基本思想

外部網(wǎng)關(guān)協(xié)議是不同自治系統(tǒng)的路由器之間交換路由信息的協(xié)議。從設(shè)計(jì)的角度來看,邊界網(wǎng)關(guān)協(xié)議與內(nèi)部網(wǎng)關(guān)協(xié)議RIP、OSPF不同。連接在互聯(lián)網(wǎng)主干網(wǎng)上的路由器必須對任何IP地址都能在路由表中找到對應(yīng)的目的網(wǎng)絡(luò)。對應(yīng)只考慮用最短距離找出的路由,當(dāng)考慮到路由的使用費(fèi)用和安全性時(shí),則選用的路由困難并不是人們所期待的。如果使用常用的路由選

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論