官术网_书友最值得收藏!

3.9 Internet技術(shù)

把不同類(lèi)型的網(wǎng)絡(luò)通過(guò)不同的互聯(lián)方法和互聯(lián)設(shè)備構(gòu)成的網(wǎng)絡(luò)通常稱(chēng)為Internet(因特網(wǎng))互聯(lián)網(wǎng)。泛指由多個(gè)計(jì)算機(jī)網(wǎng)絡(luò)互聯(lián)而成的虛擬網(wǎng)絡(luò),如圖3-61所示。

Internet(因特網(wǎng))是全球最大的、開(kāi)放的、由眾多網(wǎng)絡(luò)互聯(lián)而成的Internet(因特網(wǎng))體系。它的核心是開(kāi)放,并且貫穿在整個(gè)體系結(jié)構(gòu)中。

Internet可建立在任何物理傳輸網(wǎng)上,包括電視網(wǎng)、X.25網(wǎng)、ISDN網(wǎng)、以太網(wǎng)、FDDI網(wǎng)、ATM網(wǎng)、無(wú)線網(wǎng)和衛(wèi)星網(wǎng)等。

TCP/IP協(xié)議是實(shí)現(xiàn)網(wǎng)絡(luò)互聯(lián)性和互操作性的關(guān)鍵,它把成千上萬(wàn)個(gè)各種網(wǎng)絡(luò)互聯(lián)起來(lái),組成相互能進(jìn)行數(shù)據(jù)通信的因特網(wǎng)。

978-7-111-43240-1-Chapter03-75.jpg

圖3-61 互聯(lián)網(wǎng)絡(luò)的概念

a)實(shí)際的互聯(lián)網(wǎng)絡(luò) b)虛擬互聯(lián)網(wǎng)絡(luò)(IP網(wǎng))

Internet(因特網(wǎng))有5種類(lèi)型的網(wǎng)絡(luò)互聯(lián):

(1)相同類(lèi)型的局域網(wǎng)互聯(lián)。

(2)不同類(lèi)型的局域網(wǎng)互聯(lián)。

(3)通過(guò)主干網(wǎng)將局域網(wǎng)互聯(lián)。

(4)通過(guò)廣域網(wǎng)(WAN)將局域網(wǎng)互聯(lián)。

(5)局域網(wǎng)上的計(jì)算機(jī)訪問(wèn)外部網(wǎng)上的計(jì)算機(jī)系統(tǒng)。

互聯(lián)在一起的網(wǎng)絡(luò)要進(jìn)行通信,會(huì)遇到許多需要解決的問(wèn)題,如:不同的尋址方案、不同的最大分組長(zhǎng)度、不同的網(wǎng)絡(luò)接入機(jī)制、不同的超時(shí)控制、不同的差錯(cuò)恢復(fù)方法、不同的狀態(tài)報(bào)告方法、不同的路由選擇技術(shù)、不同的用戶接入控制、不同的服務(wù)方式(面向連接服務(wù)、無(wú)連接服務(wù))和不同的管理與控制方式等。

將網(wǎng)絡(luò)互相連接起來(lái)要使用一些中間設(shè)備(互聯(lián)設(shè)備),ISO的術(shù)語(yǔ)稱(chēng)之為中繼系統(tǒng)(Relay)。根據(jù)中繼系統(tǒng)所在的體系結(jié)構(gòu)層次,可以分為以下5種不同的中繼系統(tǒng):

(1)物理層中繼系統(tǒng),即轉(zhuǎn)發(fā)器(Repeater)。

(2)數(shù)據(jù)鏈路層中繼系統(tǒng),即網(wǎng)橋或橋接器(Bridge)。

(3)網(wǎng)絡(luò)層中繼系統(tǒng),即路由器(Router)。

(4)網(wǎng)橋和路由器的混合物,橋路器(Brouter)。

(5)網(wǎng)絡(luò)層以上的中繼系統(tǒng)稱(chēng)為網(wǎng)關(guān)(Gateway)。

網(wǎng)關(guān)連接兩個(gè)互不兼容的系統(tǒng),在高層進(jìn)行協(xié)議轉(zhuǎn)換。路由器其實(shí)是一臺(tái)專(zhuān)用計(jì)算機(jī),用于互聯(lián)網(wǎng)的路由選擇。用網(wǎng)關(guān)進(jìn)行網(wǎng)絡(luò)互聯(lián)會(huì)很復(fù)雜,因?yàn)槿绻?span id="e4f7wap" class="italic">N個(gè)網(wǎng)絡(luò)要進(jìn)行互聯(lián),那么每?jī)蓚€(gè)網(wǎng)絡(luò)之間就需要一個(gè)協(xié)議轉(zhuǎn)換器。N個(gè)網(wǎng)絡(luò)共需NN-1)個(gè)協(xié)議轉(zhuǎn)換器,當(dāng)網(wǎng)絡(luò)數(shù)N很大時(shí),所需的協(xié)議轉(zhuǎn)換器的數(shù)量與網(wǎng)絡(luò)數(shù)量的平方成正比,需要使用非常多的協(xié)議轉(zhuǎn)換器。因此網(wǎng)絡(luò)互聯(lián)希望能采用大家共同遵守的一種通信協(xié)議,這樣就可免去網(wǎng)絡(luò)之間的協(xié)議轉(zhuǎn)換器。

采用共同遵守TCP/IP標(biāo)準(zhǔn)化協(xié)議的互聯(lián)網(wǎng)絡(luò)稱(chēng)為Internet(因特網(wǎng)),又稱(chēng)國(guó)際互聯(lián)網(wǎng)。

請(qǐng)注意,以小寫(xiě)字母i開(kāi)始的internet(互聯(lián)網(wǎng))是一個(gè)通用名詞,它泛指由多個(gè)計(jì)算機(jī)網(wǎng)絡(luò)互聯(lián)而成的虛擬網(wǎng)絡(luò)。以大寫(xiě)字母I開(kāi)始的Internet(因特網(wǎng))是一個(gè)專(zhuān)有名詞,它指的是全球最大的、開(kāi)放的、由眾多網(wǎng)絡(luò)相互連接而成的特定計(jì)算機(jī)網(wǎng)絡(luò)。采用TCP/IP協(xié)議族,它的前身是美國(guó)的ARPANET(1969年誕生)。Internet經(jīng)歷了多年的研究和試驗(yàn),技術(shù)日益成熟。1994年后開(kāi)始進(jìn)入商業(yè)化運(yùn)行。獲得世界各國(guó)政府部門(mén)、商業(yè)企業(yè)、學(xué)術(shù)研究部門(mén)和個(gè)人的廣泛使用。In-ternet技術(shù)和應(yīng)用的超常規(guī)發(fā)展速度,對(duì)信息技術(shù)的發(fā)展、信息市場(chǎng)的開(kāi)拓和信息社會(huì)的形成起著十分重要的作用。

3.9.1 Internet的層次結(jié)構(gòu)

Internet采用的TCP/IP協(xié)議由4個(gè)概念性層次構(gòu)成,即應(yīng)用層、傳輸層、IP層和網(wǎng)絡(luò)接口層。圖3-62是這些概念性層次的結(jié)構(gòu)和這些層次之間傳送數(shù)據(jù)的形式。

(1)應(yīng)用層。位于最高層,用戶調(diào)用應(yīng)用程序訪問(wèn)TCP/IP網(wǎng)絡(luò),實(shí)現(xiàn)多種服務(wù)功能。應(yīng)用程序負(fù)責(zé)發(fā)送和接收數(shù)據(jù)。每個(gè)應(yīng)用程序選擇需要的傳送服務(wù)類(lèi)型。應(yīng)用程序?qū)?shù)據(jù)按要求的格式傳送給傳輸層。

(2)傳輸層。傳輸層的基本任務(wù)是提供兩個(gè)通信站對(duì)應(yīng)層之間的通信,即端到端的通信。管理信息流量、提供可靠的傳輸服務(wù),確保數(shù)據(jù)無(wú)差錯(cuò)地按序到達(dá)。傳輸層軟件要把傳送的數(shù)據(jù)流劃分成分組,并連同目的地址傳送至下一層。

(3)IP層。IP層處理機(jī)器之間的通信。它接收來(lái)自傳輸層的請(qǐng)求,將有目的地址的分組發(fā)送出去。將分組封裝到數(shù)據(jù)報(bào)中,填入數(shù)據(jù)報(bào)頭,用路由算法決定直接將數(shù)據(jù)報(bào)傳送到目的主機(jī)還是傳送到路由器。IP層還要處理接收到的數(shù)據(jù)報(bào),檢查其正確性,并決定是由本地接收還是通過(guò)路由器傳送到相應(yīng)的目的站接收。

(4)網(wǎng)絡(luò)接口層(數(shù)據(jù)鏈路層)。網(wǎng)絡(luò)接口層又稱(chēng)數(shù)據(jù)鏈路層,是TCP/IP的最低層。該層負(fù)責(zé)接收IP數(shù)據(jù)報(bào)并發(fā)送到選定的網(wǎng)絡(luò)。圖3-63是使用路由器的TCP/IP協(xié)議分層通信概念。

978-7-111-43240-1-Chapter03-76.jpg

圖3-62 TCP/IP概念性層次的結(jié)構(gòu)

978-7-111-43240-1-Chapter03-77.jpg

圖3-63 使用路由器的TCP/IP分層

3.9.2 Internet的IP網(wǎng)際協(xié)議

網(wǎng)際協(xié)議IP(Internet Protocol)是TCP/IP體系中兩個(gè)最主要的協(xié)議之一。IP協(xié)議是負(fù)責(zé)網(wǎng)絡(luò)互聯(lián)的網(wǎng)絡(luò)層的核心協(xié)議,與它配套使用的還有以下4個(gè)協(xié)議:

(1)地址解析協(xié)議(Address Resolution Protocol,ARP)。

(2)逆地址解析協(xié)議(ReverseAddress Resolution Protocol,RARP)。

(3)因特網(wǎng)控制報(bào)文協(xié)議(Internet Control Message Protocol,ICMP)。

(4)因特網(wǎng)組管理協(xié)議(Internet Group Management Protocol,IGMP)。

圖3-64是表達(dá)這4個(gè)協(xié)議與IP的關(guān)系。傳輸控制協(xié)議(Transmission Control Protocol,TCP),它是IP配套使用的一個(gè)運(yùn)輸層協(xié)議。TCP雖然和網(wǎng)絡(luò)互聯(lián)并沒(méi)有直接關(guān)系,但TCP協(xié)議對(duì)保證互聯(lián)網(wǎng)絡(luò)端到端的可靠傳輸起到非常重要的作用。

1.IP數(shù)據(jù)報(bào)的格式

互聯(lián)網(wǎng)的基本傳輸單元是IP數(shù)據(jù)報(bào)。IP數(shù)據(jù)報(bào)包括數(shù)據(jù)報(bào)報(bào)頭(首部)和數(shù)據(jù)區(qū)兩部分。圖3-65是IP數(shù)據(jù)報(bào)的完整格式。在TCP/IP標(biāo)準(zhǔn)中,各種數(shù)據(jù)格式常以32bit(即4B)為單位來(lái)描述。

(1)IP數(shù)據(jù)報(bào)首部的固定部分。

1)版本:指IP協(xié)議的版本,占有4bit。通信雙方的IP協(xié)議版本必須一致。目前廣泛使用的IP協(xié)議版本號(hào)有老版本IPv4和新版本IPv6。

2)首部長(zhǎng)度:占4bit。4bit[24即為4bit(二進(jìn)制)可以表達(dá)的最大十進(jìn)制數(shù)]是選擇代碼,最大可表示15個(gè)數(shù)值單位(一個(gè)單位為4B)。因此IP首部長(zhǎng)度的最大值為15×4=60B。當(dāng)IP分組首部的長(zhǎng)度不是4B(32bit)的整數(shù)倍時(shí),必須利用最后一個(gè)填充字段加以填充,這樣在實(shí)現(xiàn)IP協(xié)議時(shí)更方便。最常用的首部長(zhǎng)度是20B。

3)服務(wù)類(lèi)型:占8bit。用來(lái)獲得更好的服務(wù)。

①前3個(gè)bit表示8個(gè)優(yōu)先等級(jí)中的某個(gè)優(yōu)先級(jí)。

②第4個(gè)bit表示有更低的延時(shí),用Dbit表示。

③第5個(gè)bit表示要求有更高的吞吐量,用Tbit表示。

④第6個(gè)bit表示要求有更高的可靠性,用Rbit表示。

⑤第7個(gè)bit表示選擇費(fèi)用更低的路由器。

⑥第8個(gè)bit尚未使用。

978-7-111-43240-1-Chapter03-78.jpg

圖3-64 網(wǎng)際協(xié)議IP及其配套協(xié)議

978-7-111-43240-1-Chapter03-79.jpg

圖3-65 IP數(shù)據(jù)報(bào)的格式

4)總長(zhǎng)度:是指首部與數(shù)據(jù)之和的長(zhǎng)度,單位為字節(jié)。數(shù)據(jù)報(bào)的最大長(zhǎng)度為65535B(即64KB)。

數(shù)據(jù)報(bào)通過(guò)底層物理網(wǎng)絡(luò)傳輸。IP數(shù)據(jù)報(bào)封裝在一個(gè)幀中,物理網(wǎng)絡(luò)把包括數(shù)據(jù)報(bào)首部(報(bào)頭)的整個(gè)數(shù)據(jù)報(bào)作為IP數(shù)據(jù)報(bào)發(fā)送。在理想情況下,將整個(gè)數(shù)據(jù)報(bào)封裝在一個(gè)物理幀中,使物理網(wǎng)絡(luò)上的傳送十分有效。圖3-66為IP數(shù)據(jù)報(bào)的封裝圖。

在IP層下面的每個(gè)數(shù)據(jù)鏈路層都有自己的幀格式,其中包括數(shù)據(jù)字段的最大長(zhǎng)度,在IP層中稱(chēng)為最大傳送單元(Maximum Transfer Unit,MTU)。IP層數(shù)據(jù)報(bào)封裝成鏈路層幀時(shí),它的總長(zhǎng)度一定不能超過(guò)網(wǎng)絡(luò)容許的最大傳送單元(MTU)的規(guī)定值。由于以太網(wǎng)的普遍應(yīng)用,實(shí)際上使用的數(shù)據(jù)報(bào)長(zhǎng)度很少超過(guò)1500B,有時(shí)數(shù)據(jù)報(bào)的長(zhǎng)度被限制在576B。如果數(shù)據(jù)報(bào)的長(zhǎng)度超過(guò)網(wǎng)絡(luò)容許的最大傳送單元(MTU)的數(shù)值時(shí),必須將過(guò)長(zhǎng)的數(shù)據(jù)報(bào)進(jìn)行分段(或稱(chēng)分片)后才能在網(wǎng)絡(luò)上傳送。此時(shí),數(shù)據(jù)報(bào)的“總長(zhǎng)度”是指分段(分片)后每段的首部長(zhǎng)度與數(shù)據(jù)長(zhǎng)度之和。

978-7-111-43240-1-Chapter03-80.jpg

圖3-66 IP數(shù)據(jù)報(bào)的封裝

5)標(biāo)志(Flag):占3bit。

①標(biāo)志字段中的最低位,記為MF(More Fragment)。MF=1,表示后面還有分段的數(shù)據(jù)報(bào);MF=0,表示分段數(shù)據(jù)為最后一個(gè)分段。

②標(biāo)志字段中間的一位,記為DF(Don’t Fragment),意指是不能分段,只有當(dāng)DF=0時(shí)才允許分段。

6)標(biāo)識(shí)(Identification):占16bit。它是一個(gè)計(jì)數(shù)器,用來(lái)產(chǎn)生數(shù)據(jù)報(bào)的標(biāo)識(shí)。相同的標(biāo)識(shí)字段的數(shù)值使分段以后的各數(shù)據(jù)段最后能正確地重新裝成為原來(lái)的數(shù)據(jù)報(bào)。

7)片偏移:較長(zhǎng)的數(shù)據(jù)報(bào)在分段(片)后,某個(gè)分段相對(duì)于數(shù)據(jù)字段起始點(diǎn)的偏移量。分段偏移(片偏移)8B為偏移單位。偏移為5時(shí),表明偏移量為40B。每個(gè)分段的長(zhǎng)度為8B(64bit)的整數(shù)倍。

舉例說(shuō)明:

一個(gè)數(shù)據(jù)報(bào)的數(shù)據(jù)長(zhǎng)度為3800B,使用固定首部(即20B長(zhǎng)度)。需要分段的長(zhǎng)度不超過(guò)1420B。我們把3800B的數(shù)據(jù)報(bào)分為3個(gè)數(shù)據(jù)報(bào)段,它們的數(shù)據(jù)長(zhǎng)度分別為:1400B、1400B和1000B。原始數(shù)據(jù)報(bào)的首部被復(fù)制為各數(shù)據(jù)報(bào)段的首部,但必須修改有關(guān)字段的值,如表3-11所示。圖3-67是數(shù)據(jù)報(bào)的分段圖。

978-7-111-43240-1-Chapter03-81.jpg

圖3-67 數(shù)據(jù)報(bào)的分段(分片)

表3-11 IP數(shù)據(jù)報(bào)首部作為分段數(shù)據(jù)報(bào)首部必須修改的有關(guān)字段數(shù)值

978-7-111-43240-1-Chapter03-82.jpg

注:?標(biāo)識(shí)字段12345是任意給出的,具有相同標(biāo)識(shí)的數(shù)據(jù)報(bào)分段在目的站可無(wú)誤地重裝成原來(lái)的數(shù)據(jù)報(bào)。

8)生存時(shí)間:生存時(shí)間字段(Time To Live,TTL),用來(lái)設(shè)置該數(shù)據(jù)報(bào)在互聯(lián)網(wǎng)中允許存在的時(shí)間,單位為秒。當(dāng)源站向互聯(lián)網(wǎng)輸入一個(gè)數(shù)據(jù)報(bào)時(shí),就為該數(shù)據(jù)報(bào)設(shè)置一個(gè)最大生存時(shí)間。當(dāng)數(shù)據(jù)報(bào)通過(guò)主機(jī)和路由器對(duì)該數(shù)據(jù)報(bào)進(jìn)行處理時(shí),逐步遞減其生存時(shí)間的數(shù)值,當(dāng)生存時(shí)間為0時(shí),路由器會(huì)丟棄該數(shù)據(jù)報(bào),把它從網(wǎng)上刪除。

9)協(xié)議:占8bit。協(xié)議字段指出此數(shù)據(jù)報(bào)攜帶的數(shù)據(jù)是使用何種協(xié)議,以便讓目的主機(jī)的IP層知道應(yīng)將此數(shù)據(jù)報(bào)交給哪個(gè)進(jìn)程(進(jìn)程是指正在運(yùn)行的程序)。常用的一些協(xié)議和相對(duì)應(yīng)的協(xié)議字段數(shù)值如表3-12所示。

表3-12 常用的協(xié)議與對(duì)應(yīng)的協(xié)議字段數(shù)值

978-7-111-43240-1-Chapter03-83.jpg

10)首部檢驗(yàn)和:此字段只檢驗(yàn)數(shù)據(jù)報(bào)的首部,不包括數(shù)據(jù)部分。

(2)IP數(shù)據(jù)報(bào)首部的可變部分。IP數(shù)據(jù)報(bào)首部的可變部分是一個(gè)選項(xiàng)字段。選項(xiàng)字段用來(lái)支持排錯(cuò)、測(cè)量及安全等措施。此字段的長(zhǎng)度是可變的,從1B到40B,具體長(zhǎng)度取決于所選擇的項(xiàng)目。某些選項(xiàng)只需1B,它只包括1B的選項(xiàng)代碼。另外一些選項(xiàng)需多個(gè)字節(jié)。

IP首部的可變部分有兩個(gè)選項(xiàng)是關(guān)于源站路由選擇的,即不嚴(yán)格的源站路由選擇(Loose sour cerouting)和嚴(yán)格的源站路由選擇(Strict source routing)。在數(shù)據(jù)報(bào)中加入路由選擇選項(xiàng),可使網(wǎng)絡(luò)管理者了解網(wǎng)絡(luò)中的某條通路的通信情況是否正常。一般用戶并不使用這一功能。

IP首部還有一個(gè)選項(xiàng)是因特網(wǎng)的時(shí)間戳。時(shí)間戳記錄了路由器收到數(shù)據(jù)報(bào)的日期和時(shí)間,占用4B。單位為毫秒(ms)。時(shí)間戳可用來(lái)統(tǒng)計(jì)數(shù)據(jù)報(bào)路由器產(chǎn)生的延時(shí)和延時(shí)的變化。

2.IP數(shù)據(jù)報(bào)的路由選擇

(1)IP數(shù)據(jù)報(bào)的直接傳送和間接傳送。在分組交換系統(tǒng)中,路由選擇是指選擇一條路徑發(fā)送分組的過(guò)程。路由選擇可分為直接和間接傳送兩種方式。

直接傳送方式將一個(gè)數(shù)據(jù)報(bào)從一臺(tái)主機(jī)經(jīng)過(guò)物理網(wǎng)絡(luò)直接傳送到目的站點(diǎn)。這是所有因特網(wǎng)的通信基礎(chǔ)。只有當(dāng)兩臺(tái)通信計(jì)算機(jī)連接在同一個(gè)物理傳輸系統(tǒng)時(shí),才能采用直接傳送方式。

如果源站和目的站計(jì)算機(jī)不是直接連接在同一物理網(wǎng)時(shí),只能采用間接傳送方式。發(fā)送方只能將數(shù)據(jù)報(bào)發(fā)送給一個(gè)路由器再進(jìn)行傳送。

在同一個(gè)物理網(wǎng)上,兩臺(tái)計(jì)算機(jī)之間的IP數(shù)據(jù)報(bào)傳送可以直接傳送,而不涉及路由器。發(fā)送方將數(shù)據(jù)報(bào)封裝在物理幀中,將IP數(shù)據(jù)報(bào)的目的地址和一個(gè)物理硬件地址綁定在一起組成一個(gè)幀,直接傳送到目的站。由于IP地址中包含網(wǎng)絡(luò)地址和主機(jī)地址兩部分,通過(guò)判別網(wǎng)絡(luò)地址就能確定源站和目的站計(jì)算機(jī)是否同在一個(gè)物理網(wǎng)絡(luò)上。

當(dāng)源站和目的站通過(guò)多個(gè)路由器互聯(lián)時(shí),數(shù)據(jù)報(bào)的傳送只能采用間接傳送方式。發(fā)送主機(jī)通過(guò)網(wǎng)絡(luò)將數(shù)據(jù)報(bào)傳送給一臺(tái)路由器。幀一旦到達(dá)該路由器,將封裝的數(shù)據(jù)報(bào)提取出來(lái),并在通往目的地的路徑上選擇下一臺(tái)路由器,直到數(shù)據(jù)報(bào)送到某臺(tái)可以直接傳送至目的站的路由器,如圖3-68所示。

(2)IP路由選擇表。為了進(jìn)行路由選擇,需要路由選擇表。路由表是根據(jù)路由選擇算法得出的,它存儲(chǔ)各個(gè)目的站點(diǎn)和如何到達(dá)目的站點(diǎn)的信息。為盡可能使用最少的信息進(jìn)行路由選擇,采用了信息隱蔽原理。

IP地址分配規(guī)定連接到同一物理網(wǎng)上的計(jì)算機(jī)具有相同的網(wǎng)絡(luò)地址。這樣路由選擇表中只需包含網(wǎng)絡(luò)地址信息,不需整個(gè)IP地址信息,從而大大提高了路由選擇效率,使路由選擇表變得很小。特定目的主機(jī)的信息被限制在主機(jī)運(yùn)行的本地環(huán)境中。

978-7-111-43240-1-Chapter03-84.jpg

圖3-68 直接交付(A→B)和間接交付(A→C或D)

路由表包含一系列成對(duì)的信息,用N和R分別表示。N為目的網(wǎng)絡(luò)的IP地址,R是沿著網(wǎng)絡(luò)N的路徑到下一個(gè)路由器的IP地址。路由器中的路由選擇表只指定了從路由器R到目的網(wǎng)絡(luò)路徑上的一步,路由器并不知道目的站點(diǎn)的完整路徑。

路由選擇表的大小僅取決于互聯(lián)網(wǎng)中網(wǎng)絡(luò)的數(shù)量,與連接到主機(jī)的數(shù)量無(wú)關(guān)。IP路由選擇軟件僅需維護(hù)有關(guān)目的網(wǎng)絡(luò)地址的信息,而與主機(jī)地址的信息無(wú)關(guān)。

路由選擇是個(gè)非常復(fù)雜的問(wèn)題,因?yàn)樗蔷W(wǎng)絡(luò)中的所有結(jié)點(diǎn)共同協(xié)調(diào)工作的結(jié)果。其次,路由選擇的環(huán)境往往是不斷變化的,而這種變化有時(shí)是無(wú)法事先知道的,例如,網(wǎng)絡(luò)中出了某些故障。此外,當(dāng)網(wǎng)絡(luò)發(fā)生擁塞時(shí),就特別需要能緩解這些擁塞的路由選擇。

3.差錯(cuò)與控制報(bào)文協(xié)議

通過(guò)路由器轉(zhuǎn)發(fā)數(shù)據(jù)報(bào),因特網(wǎng)協(xié)議軟件提供的是不可靠的無(wú)連接數(shù)據(jù)報(bào)傳送服務(wù)。如果路由器不能正確選擇路由和數(shù)據(jù)報(bào),或者它檢測(cè)到一個(gè)異常條件,影響它轉(zhuǎn)發(fā)數(shù)據(jù)報(bào),此時(shí)路由器需要通知源站點(diǎn)采取措施避免或糾正出現(xiàn)的問(wèn)題。為能讓互聯(lián)網(wǎng)中的路由器能報(bào)告差錯(cuò)信息或提供有關(guān)意外情況,在TCP/IP中設(shè)計(jì)了一個(gè)特殊用途的報(bào)文機(jī)制,即Internet控制報(bào)文協(xié)議(Inter-net Control Message Protocol,ICMP)。它是IP的一部分。ICMP報(bào)文是放置在IP數(shù)據(jù)報(bào)中數(shù)據(jù)部分的一個(gè)控制報(bào)文協(xié)議。它允許路由器向其他路由器或主機(jī)發(fā)送差錯(cuò)或控制報(bào)文,為兩臺(tái)主機(jī)提供Internet協(xié)議軟件通信。

ICMP為發(fā)生差錯(cuò)的路由器向初始源站點(diǎn)提供報(bào)告差錯(cuò)的方法,并沒(méi)有全部指定解決每個(gè)差錯(cuò)的可能措施。數(shù)據(jù)報(bào)產(chǎn)生差錯(cuò)時(shí),ICMP只向初始源站點(diǎn)回送差錯(cuò)情況報(bào)告,源站點(diǎn)必須將有關(guān)差錯(cuò)交給一個(gè)應(yīng)用程序或采取其他措施來(lái)糾正問(wèn)題。

ICMP報(bào)文采取圖3-69的兩級(jí)封裝。每個(gè)ICMP報(bào)文放在IP數(shù)據(jù)報(bào)的數(shù)據(jù)部分中,數(shù)據(jù)報(bào)本身放在幀的數(shù)據(jù)部分,通過(guò)物理網(wǎng)絡(luò)傳送。攜帶ICMP報(bào)文的數(shù)據(jù)報(bào)與攜帶用戶信息的數(shù)據(jù)報(bào)具有完全相同的路由選擇,沒(méi)有優(yōu)先級(jí)區(qū)別。

互聯(lián)網(wǎng)路由器使用本地路由選擇表來(lái)計(jì)算下一站。為避免數(shù)據(jù)報(bào)在互聯(lián)網(wǎng)上無(wú)止境地循環(huán),每個(gè)數(shù)據(jù)報(bào)都包含了一個(gè)生存時(shí)間計(jì)數(shù)器。只要路由器處理數(shù)據(jù)報(bào),它就遞減該計(jì)數(shù)器的值,直到計(jì)數(shù)器值到達(dá)0時(shí)丟棄該數(shù)據(jù)報(bào)。同時(shí),路由器向數(shù)據(jù)報(bào)源站點(diǎn)發(fā)回一個(gè)ICMP超時(shí)間報(bào)文。

路由算法按網(wǎng)絡(luò)的通信量可分為靜態(tài)路由選擇策略和動(dòng)態(tài)路由選擇策略?xún)深?lèi)。靜態(tài)路由選擇又稱(chēng)非自適應(yīng)路由選擇,特點(diǎn)是簡(jiǎn)單和開(kāi)銷(xiāo)較小,但不能及時(shí)適應(yīng)網(wǎng)絡(luò)狀態(tài)的變化。動(dòng)態(tài)路由選擇又稱(chēng)自適應(yīng)路由選擇,特點(diǎn)是能較好地適應(yīng)網(wǎng)絡(luò)狀態(tài)的變化,但實(shí)現(xiàn)起來(lái)較為復(fù)雜,開(kāi)銷(xiāo)也較大。因特網(wǎng)采用的路由選擇協(xié)議屬于自適應(yīng)的(即動(dòng)態(tài)的)、分布式路由選擇協(xié)議。

978-7-111-43240-1-Chapter03-85.jpg

圖3-69 ICMP報(bào)文的兩級(jí)封裝

3.9.3 TCP

傳輸控制協(xié)議(Transmission Control Protocol,TCP)是TCP/IP體系中面向連接的運(yùn)輸層協(xié)議,它提供全雙工的可靠的交付服務(wù)。協(xié)議規(guī)定了TCP軟件怎樣識(shí)別給定計(jì)算機(jī)上的多個(gè)目的進(jìn)程(即正在運(yùn)行中的多個(gè)程序),如何對(duì)分組丟失和分組重復(fù)差錯(cuò)進(jìn)行恢復(fù)。此外,協(xié)議還規(guī)定了運(yùn)行一臺(tái)計(jì)算機(jī)上的多個(gè)應(yīng)用程序同時(shí)進(jìn)行通信,也可對(duì)接收到的數(shù)據(jù)進(jìn)行分解和分別送到多個(gè)應(yīng)用程序。

1.TCP報(bào)文段的首部

TCP報(bào)文段分為首部和數(shù)據(jù)兩部分,如圖3-70所示。TCP的全部功能都體現(xiàn)在它的首部各字段。首部的前20B是固定的,后面有4NB是根據(jù)需要可增加的選項(xiàng)(N是整數(shù))。因此TCP首部的最小長(zhǎng)度是20B。

978-7-111-43240-1-Chapter03-86.jpg

圖3-70 TCP報(bào)文段的首部

首部固定部分各字段的意義:

(1)源端口和目的端口。各占2B。端口是運(yùn)輸層與應(yīng)用層的服務(wù)接口。16bit的端口加上32bit的IP地址,構(gòu)成了插口(Socket),它相當(dāng)于運(yùn)輸層服務(wù)訪問(wèn)點(diǎn)(Transport Service Access Point,TSAP)的地址,共48bit。

(2)序號(hào)。占4B。TCP是面向連接數(shù)據(jù)流的,它傳送的報(bào)文可看成為連續(xù)的數(shù)據(jù)流,其中每一個(gè)字節(jié)都對(duì)應(yīng)于一個(gè)序號(hào)。首部中的“序號(hào)”指的是本報(bào)文段發(fā)送數(shù)據(jù)中的第一個(gè)字節(jié)的序號(hào)。

例如,某個(gè)報(bào)文段的序號(hào)為301,攜帶的數(shù)據(jù)100B,則本報(bào)文段數(shù)據(jù)的第一個(gè)字節(jié)的序號(hào)為301,最后一個(gè)字節(jié)的序號(hào)為400。這樣,下一個(gè)報(bào)文段的數(shù)據(jù)序號(hào)應(yīng)從401開(kāi)始。

(3)確認(rèn)序號(hào)。占4B。它是期望收到對(duì)方下一個(gè)報(bào)文段數(shù)據(jù)的第一個(gè)字節(jié)的序號(hào)。例如,收到一個(gè)序號(hào)字段值為501的一個(gè)報(bào)文段,數(shù)據(jù)長(zhǎng)度為200B,如果響應(yīng)的報(bào)文段中確認(rèn)的序號(hào)值為701,則表明501~701之間的數(shù)據(jù)均已正確收到。

由于序號(hào)字段有32bit長(zhǎng),可對(duì)4GB(232bit)的數(shù)據(jù)進(jìn)行編號(hào)。保證序號(hào)具有足夠的重復(fù)使用空間。

(4)數(shù)據(jù)偏移。占4個(gè)bit,它是指數(shù)據(jù)開(kāi)始的地方離TCP報(bào)文段的起始處有多遠(yuǎn)。

(5)保留。占6個(gè)bit,保留今后使用,目前應(yīng)為0。

(6)說(shuō)明本報(bào)文段性質(zhì)的控制比特(每個(gè)性質(zhì)說(shuō)明1bit)。

①緊急(Urgent,URG)比特。URG=1時(shí),告訴系統(tǒng)此報(bào)文段中有緊急數(shù)據(jù),應(yīng)盡快傳送(相當(dāng)于最高優(yōu)先級(jí))。

②確認(rèn)(Acknowledgement,ACK)比特。ACK=1時(shí),確認(rèn)序號(hào)字段有效。ACK=0時(shí),確認(rèn)序號(hào)無(wú)效。

③推送(Push,PSH)比特。PSH也可稱(chēng)為急迫比特,即盡快(推送)交付給接收應(yīng)用進(jìn)程(進(jìn)程:正在運(yùn)行的程序)。

④復(fù)位(Reset,RST)比特。RST=1時(shí),表明TCP連接中出現(xiàn)嚴(yán)重差錯(cuò),必須釋放,然后再重新建立運(yùn)輸連接。

⑤同步(Synchronization,SYN)比特。在建立連接時(shí),用來(lái)同步序號(hào)。

⑥終止(Final,F(xiàn)IN)比特。FIN=1時(shí),釋放一個(gè)連接。

(7)窗口。占2B。窗口字段用來(lái)控制對(duì)方發(fā)送的數(shù)據(jù)量。TCP連接的接收端按自己緩存的空間大小確定自己的接收窗口大小,然后通知對(duì)方確定的發(fā)送窗口大小。

(8)檢驗(yàn)和。占2B。檢驗(yàn)和字段的范圍,包括首部和數(shù)據(jù)兩部分。

(9)選擇。長(zhǎng)度可變。只有一個(gè)選項(xiàng):告訴對(duì)方TCP,緩存能接收的報(bào)文段的數(shù)據(jù)字段的最大長(zhǎng)度(Max-SegmentSize,MSS)。當(dāng)沒(méi)有選項(xiàng)時(shí),TCP的首部長(zhǎng)度為20B。

選擇較小的MSS時(shí),網(wǎng)絡(luò)的利用率降低。

2.TCP的流量控制與擁塞控制

為了提高報(bào)文段的傳輸效率,TCP采用大小可變的滑動(dòng)窗口進(jìn)行流量控制。發(fā)送窗口在建立連接時(shí)由雙方商定。但在通信過(guò)程中,接收端可根據(jù)自己的資源情況,隨時(shí)動(dòng)態(tài)地調(diào)整對(duì)方的發(fā)送窗口大小。

圖3-71表示發(fā)送端要發(fā)送900B長(zhǎng)的數(shù)據(jù),劃分為9個(gè)100B長(zhǎng)的報(bào)文段,而對(duì)方接收端確

978-7-111-43240-1-Chapter03-87.jpg

圖3-71 TCP中的滑動(dòng)窗口概念

a)發(fā)送窗口大小為500B b)發(fā)送了400B,收到的確認(rèn)序號(hào)為201,窗口大小不變,還可發(fā)送300B c)收到的確認(rèn)序號(hào)為401,窗口大小變?yōu)?00B,還可發(fā)送400B

認(rèn)的發(fā)送窗口為500B。發(fā)送端只要收到了對(duì)方的確認(rèn),發(fā)送窗口就可前移。發(fā)送端的TCP要維護(hù)一個(gè)指針。每發(fā)送一個(gè)報(bào)文段,指針就向前移動(dòng)一個(gè)報(bào)文段距離。當(dāng)指針移動(dòng)到發(fā)送出窗口的最右端(500KB位置)時(shí),就不能再發(fā)送報(bào)文段了。

實(shí)現(xiàn)流量控制并不僅僅為了接收端來(lái)得及接收。如果發(fā)送端發(fā)出的報(bào)文過(guò)多,會(huì)使網(wǎng)絡(luò)負(fù)荷過(guò)重,由此會(huì)引起報(bào)文段的延時(shí)增大。報(bào)文段延時(shí)的增大,會(huì)使主機(jī)不能及時(shí)地收到確認(rèn)信息,于是會(huì)重傳更多的報(bào)文段,進(jìn)一步加劇網(wǎng)絡(luò)的擁塞。因此,主機(jī)應(yīng)當(dāng)適當(dāng)?shù)亟档桶l(fā)送速率。

3.TCP的重傳機(jī)制

TCP將數(shù)據(jù)流看作字節(jié)序列,為便于傳輸,又將這個(gè)字節(jié)序列劃分為若干個(gè)報(bào)文段。通常,每個(gè)報(bào)文段又被放置到一個(gè)IP數(shù)據(jù)報(bào)中,并通過(guò)互聯(lián)網(wǎng)傳送。

TCP的重傳機(jī)制是每發(fā)送一個(gè)報(bào)文段就設(shè)置一次計(jì)時(shí)器。只要計(jì)時(shí)器設(shè)置的重傳時(shí)間已到,如果還沒(méi)有收到確認(rèn)信息ACK,就要重傳這一段報(bào)文。

TCP采用了一種自適應(yīng)算法。這種算法記錄每個(gè)報(bào)文段發(fā)出的時(shí)間和收到確認(rèn)報(bào)文段的時(shí)間,這兩個(gè)時(shí)間差稱(chēng)為報(bào)文段的往返延時(shí)。顯然,計(jì)算器設(shè)置的重傳時(shí)間應(yīng)略大于平均往返延時(shí)。

TCP采用滑動(dòng)窗口傳送機(jī)制和報(bào)文段重傳機(jī)制,不僅提供了流量控制功能,而且還提供了可靠的傳輸服務(wù)。

3.9.4 UDP

用戶數(shù)據(jù)報(bào)協(xié)議(User Datagram Protocol,UDP)是TCP/IP體系中運(yùn)輸層兩個(gè)協(xié)議(TCP和UDP)中的一個(gè)。根據(jù)不同的應(yīng)用,運(yùn)輸層需要有兩種不同的運(yùn)輸協(xié)議向上面的應(yīng)用層提供通信服務(wù)。運(yùn)輸層的作用是為應(yīng)用進(jìn)程(正在運(yùn)行的程序)之間提供邏輯通信。

傳輸控制協(xié)議(TCP)提供的是面向連接的全雙工可靠的傳輸信道。用戶數(shù)據(jù)報(bào)協(xié)議(UDP)提供的是無(wú)連接的盡最大努力服務(wù)的不可靠的傳輸信道。圖3-72是兩種傳輸協(xié)議提供的邏輯通信信道。

978-7-111-43240-1-Chapter03-88.jpg

圖3-72 運(yùn)輸層向上提供可靠的和不可靠的邏輯通信信道

TCP提供面向連接服務(wù),在傳輸數(shù)據(jù)之前必須先建立連接,數(shù)據(jù)傳送結(jié)束后要釋放連接。TCP不提供廣播或多播服務(wù)。此外,由于TCP要提供可靠的、面向連接的運(yùn)輸服務(wù),因此增加了許多開(kāi)銷(xiāo),如確認(rèn)、流量控制、計(jì)時(shí)器和連接管理等。使協(xié)議數(shù)據(jù)單元的首部增大很多,還要占用許多處理機(jī)資源。

UDP在傳送數(shù)據(jù)之前不需要先建立連接。遠(yuǎn)地主機(jī)的運(yùn)輸層收到UDP報(bào)文后不需要給出任何確認(rèn)。雖然UDP不提供可靠的交付,但在某些情況下UDP是一種最有效的工作方式。如域名系統(tǒng)(Domain Name System,DNS)和網(wǎng)絡(luò)文件系統(tǒng)(Network File System,NFS)使用的就是UDP這種運(yùn)輸方式。此外,UDP還能在主機(jī)上識(shí)別多個(gè)目的地址,允許多個(gè)應(yīng)用程序在同一臺(tái)主機(jī)上工作,并能獨(dú)立地進(jìn)行數(shù)據(jù)報(bào)的發(fā)送和接收。

1.UDP數(shù)據(jù)報(bào)的格式

用戶數(shù)據(jù)報(bào)(UDP)有兩個(gè)字段:數(shù)據(jù)字段和首部字段。首部字段共有8B,由4個(gè)字段組成,每個(gè)字段都是兩個(gè)字節(jié)。4個(gè)字段包括:

(1)源端口字段(源端口號(hào))。

(2)目的端口字段(目的端口號(hào))。

(3)長(zhǎng)度字段(用戶數(shù)據(jù)報(bào)的長(zhǎng)度)及檢驗(yàn)和字段(防止用戶數(shù)據(jù)報(bào)在傳輸中出錯(cuò)),如圖3-73所示。

978-7-111-43240-1-Chapter03-89.jpg

圖3-73 UDP用戶數(shù)據(jù)報(bào)的首部和偽首部

計(jì)算檢驗(yàn)和時(shí),在用戶數(shù)據(jù)報(bào)(UDP)之前要增加12B的偽首部。偽首部不是用戶數(shù)據(jù)報(bào)(UDP)真正的首部。只是在計(jì)算檢驗(yàn)和時(shí),臨時(shí)和用戶數(shù)據(jù)報(bào)(UDP)連接在一起,得到一個(gè)過(guò)渡的用戶數(shù)據(jù)報(bào)(UDP),以便能計(jì)算出檢驗(yàn)和。

2.UDP的封裝復(fù)用分解和端口

用戶數(shù)據(jù)報(bào)(UDP)包含首部(UDP報(bào)頭)和數(shù)據(jù)區(qū)兩部分,要讓UDP數(shù)據(jù)報(bào)能在互聯(lián)網(wǎng)中傳輸還要把UDP封裝到IP數(shù)據(jù)報(bào)中。最后網(wǎng)絡(luò)接口層還要將IP數(shù)據(jù)報(bào)再封裝到一個(gè)幀中,才能在物理傳輸通道上傳輸。封裝的過(guò)程如圖3-74所示。

UDP還提供復(fù)用和分解功能。它接收多個(gè)應(yīng)用程序送來(lái)的數(shù)據(jù),然后再把它們送給IP層去傳輸。同時(shí),它也接收IP層送來(lái)的UDP數(shù)據(jù)報(bào),把它們分解后再送給對(duì)應(yīng)的應(yīng)用程序端口。UDP的分解操作如圖3-75所示。

978-7-111-43240-1-Chapter03-90.jpg

圖3-74 UDP的封裝

978-7-111-43240-1-Chapter03-91.jpg

圖3-75 UDP的分解操作

在運(yùn)輸層與應(yīng)用層的接口上設(shè)置的端口是一個(gè)16bit的地址,并標(biāo)以端口號(hào)碼。16bit的地址碼可允許編排64k個(gè)端口號(hào),這個(gè)數(shù)目對(duì)計(jì)算機(jī)來(lái)說(shuō)足夠使用。

端口號(hào)可分為兩類(lèi):一類(lèi)是由因特網(wǎng)指派名字和號(hào)碼(Internet Corporation for Assigned Names and Numbers,ICANN)公司負(fù)責(zé)分配的常用熟知端口,其數(shù)值為0~1023。例如,文件傳輸協(xié)議(File Transfer Protocol,F(xiàn)TP),簡(jiǎn)單的郵件傳輸協(xié)議(Simple Mail Transfer Protocol,SMTP),域名系統(tǒng)(Domain Name System,DNS),超文本傳輸協(xié)議(Hyper Text Transfer Protocol,HTTP)等。另一類(lèi)為一般端口,用來(lái)分配給請(qǐng)求通信客戶的運(yùn)行程序。

表3-13給出了使用UDP和TCP協(xié)議的各種應(yīng)用和應(yīng)用層協(xié)議。

3-13 使用UDPTCP協(xié)議的各種應(yīng)用和應(yīng)用層協(xié)議

978-7-111-43240-1-Chapter03-92.jpg

3.9.5 Internet地址

Internet地址又稱(chēng)IP地址。它能唯一確定因特網(wǎng)上每臺(tái)計(jì)算機(jī)、每個(gè)用戶的位置。IP地址為連接在因特網(wǎng)上的主機(jī)分配一個(gè)全世界唯一的32bit的標(biāo)識(shí)符。讓我們可方便地在因特網(wǎng)上尋找因特網(wǎng)IP地址。

IP地址由因特網(wǎng)名字與號(hào)碼指派公司進(jìn)行分配。我國(guó)用戶可向亞太網(wǎng)絡(luò)信息中心(AsiaPa-cific Network Information Center,APNIC)申請(qǐng)IP地址。

1.IP地址的結(jié)構(gòu)與分類(lèi)

在TCP/IP協(xié)議中,規(guī)定分配給每臺(tái)主機(jī)一個(gè)32bit地址作為該主機(jī)的IP地址。在因特網(wǎng)上發(fā)送的每個(gè)數(shù)據(jù)報(bào)都包含有一個(gè)32bit的發(fā)送方地址(源地址)和一個(gè)32bit的接收方地址(目的地址)。每個(gè)IP地址又有兩部分組成:網(wǎng)絡(luò)標(biāo)識(shí)Netid和主機(jī)標(biāo)識(shí)Hostid。網(wǎng)絡(luò)標(biāo)識(shí)確定了該臺(tái)主機(jī)所在的物理網(wǎng)絡(luò);主機(jī)標(biāo)識(shí)確定了在某物理網(wǎng)絡(luò)上的主機(jī),如圖3-76所示。

IP地址具有兩個(gè)重要特性:

1)每臺(tái)主機(jī)分配了一個(gè)唯一的地址。

2)網(wǎng)絡(luò)標(biāo)識(shí)號(hào)的分配必須全球統(tǒng)一。但主機(jī)號(hào)可由本地分配,不需全球統(tǒng)一。

978-7-111-43240-1-Chapter03-93.jpg

圖3-76 IP地址中的網(wǎng)絡(luò)字段和主機(jī)字段

由于因特網(wǎng)上的各個(gè)網(wǎng)絡(luò)規(guī)模大小有很大區(qū)別,有的網(wǎng)絡(luò)擁有很多主機(jī),另一些網(wǎng)絡(luò)上主機(jī)則很少。為更好地滿足不同用戶的要求,把IP地址劃分成A、B、C三類(lèi)。

A類(lèi)地址分配給少數(shù)規(guī)模很大的網(wǎng)絡(luò),這些網(wǎng)絡(luò)有數(shù)以百計(jì)的主機(jī)。在32bit的地址域中,網(wǎng)絡(luò)標(biāo)識(shí)號(hào)占有1B,它第1位為“0”時(shí),表示是A類(lèi)地址。后面的7bit可提供126個(gè)(27-2)網(wǎng)絡(luò)號(hào)。括號(hào)中減去2的原因是Netid字段中的全0為IP地址的保留地址,意為“本網(wǎng)絡(luò)”。Netid字段的127(即01111111)作為本地軟件環(huán)路的返回測(cè)試(Loopback test),為本機(jī)使用。A類(lèi)地址中的其他24bit是主機(jī)標(biāo)識(shí)號(hào)Hostid。因此,A類(lèi)地址的每個(gè)網(wǎng)路上可設(shè)置(224-2)=16777214個(gè)主機(jī)號(hào)。這里減2的原因是全“0”的Hostid字段表示該IP地址是“本主機(jī)”所連接到單個(gè)網(wǎng)絡(luò)的地址。全“1”的Hostid字段表示該網(wǎng)絡(luò)上所有的主機(jī)。

整個(gè)A類(lèi)地址的空間共有231(2147483648)個(gè)地址。占全部IP地址空間232(4294967296)個(gè)地址的50%。A類(lèi)地址的特點(diǎn)是:網(wǎng)絡(luò)號(hào)數(shù)不多,主機(jī)號(hào)數(shù)極多。現(xiàn)在只能申請(qǐng)到B類(lèi)和C類(lèi)的IP地址了。

B類(lèi)地址的Netid網(wǎng)絡(luò)標(biāo)識(shí)號(hào)占有2B(16bit)。前面2bit(“10”)已固定作為表示B類(lèi)地址的標(biāo)識(shí)。后面14bit作為B類(lèi)地址的網(wǎng)絡(luò)編號(hào),共有214=16348個(gè)網(wǎng)絡(luò)號(hào)數(shù)。B類(lèi)地址的每個(gè)網(wǎng)絡(luò)上的最大主機(jī)數(shù)量是(216-2)=65534個(gè)。這里減2的原因是要扣除全“0”和全“1”的主機(jī)號(hào)。

整個(gè)B類(lèi)的地址空間共有230=1073741824個(gè)地址,占整個(gè)IP地址空間的25%。

C類(lèi)地址的Netid網(wǎng)絡(luò)標(biāo)識(shí)號(hào)占有3B(24bit)。最前面的3bit是“110”,表示是C類(lèi)地址。后面21bit為C類(lèi)地址的網(wǎng)絡(luò)號(hào)數(shù)221=2097152。C類(lèi)地址的每個(gè)網(wǎng)絡(luò)上的最大主機(jī)數(shù)為(28-2)=254個(gè)。整個(gè)C類(lèi)的地址空間共有229=536870912個(gè)地址,占整個(gè)IP地址的12.5%。圖3-77是上述三種IP地址的空間分布。

978-7-111-43240-1-Chapter03-94.jpg

圖3-77 三種類(lèi)型IP地址的空間分布

除上述三類(lèi)IP地址外,還有兩類(lèi)很少使用的IP地址,即D類(lèi)和E類(lèi)。D類(lèi)是多播地址,留給因特網(wǎng)體系結(jié)構(gòu)研究委員會(huì)IAB使用。E類(lèi)地址為保留使用地址。

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

在主機(jī)和路由器中存放的IP地址都是32bit的二進(jìn)制代碼,用戶很難讀數(shù)和輸入。為提高可讀性,采用一種點(diǎn)分十進(jìn)制記法(Dotted decimal notation)來(lái)表示。將32bit中的每8bit分為一組,用“·”分開(kāi),并以8bit的等值十進(jìn)制數(shù)字表示。一組內(nèi)的最小值為0(即8bit全為0),最大值為255(即8bit全為1),因此,32bit用點(diǎn)分十進(jìn)制記法表示的地址范圍為0.0.0.0到255.255.255.255。表3-14是三種IP地址的使用范圍。

圖3-78是一個(gè)B類(lèi)IP地址,顯然128.11.3.31比10000000000010110000001100011111讀起來(lái)要方便得多。

表3-14 三種IP地址的使用范圍

978-7-111-43240-1-Chapter03-95.jpg

978-7-111-43240-1-Chapter03-96.jpg

圖3-78 采用點(diǎn)分十進(jìn)制記法的IP地址

3.IP地址的重要特點(diǎn)

(1)IP地址是一種分等級(jí)的地址結(jié)構(gòu)。分兩個(gè)等級(jí)的好處是:

①I(mǎi)P地址管理機(jī)構(gòu)在分配IP地址時(shí)只分配網(wǎng)絡(luò)號(hào)(第一級(jí)),剩下的主機(jī)號(hào)(第二級(jí))則由得到該網(wǎng)絡(luò)號(hào)的單位自行分配。這樣方便了IP地址的管理。②路由器只根據(jù)目的主機(jī)所連接的網(wǎng)絡(luò)號(hào)來(lái)轉(zhuǎn)發(fā)分組,而不必考慮目的主機(jī)號(hào),減少了路由表占用的存儲(chǔ)空間。

(2)IP地址的這種結(jié)構(gòu)和電話號(hào)碼的等級(jí)結(jié)構(gòu)有相似之處,但并不完全一樣。固定電話機(jī)的地區(qū)號(hào)和電話機(jī)局的編號(hào)按該電話機(jī)的地理位置去定。但I(xiàn)P地址與主機(jī)的地理位置沒(méi)有這種對(duì)應(yīng)關(guān)系。

(3)當(dāng)一個(gè)主機(jī)同時(shí)連接到兩個(gè)網(wǎng)絡(luò)上時(shí),該主機(jī)必須同時(shí)具有兩個(gè)相應(yīng)的IP地址,其網(wǎng)絡(luò)號(hào)Netid也是不同的。這種主機(jī)稱(chēng)為多接口主機(jī)。

(4)用轉(zhuǎn)發(fā)器或網(wǎng)橋連接起來(lái)的若干局域網(wǎng)仍為一個(gè)網(wǎng)絡(luò),因此這些局域網(wǎng)具有同樣的網(wǎng)絡(luò)號(hào)Netid。

在IP地址中,所有分配到網(wǎng)絡(luò)號(hào)Netid的網(wǎng)絡(luò)都是平等的。圖3-79是三個(gè)局域網(wǎng)(LAN1、LAN2和LAN3)通過(guò)三個(gè)路由器(R1、R2和R3)互聯(lián)構(gòu)成的一個(gè)互聯(lián)網(wǎng)。其中LAN2局域網(wǎng)由兩個(gè)網(wǎng)段通過(guò)網(wǎng)橋B互聯(lián)。請(qǐng)注意圖中各結(jié)點(diǎn)的IP地址有以下特點(diǎn):

978-7-111-43240-1-Chapter03-97.jpg

圖3-79 互聯(lián)網(wǎng)中的IP地址

1)同一局域網(wǎng)上的主機(jī)或路由器的IP地址中的網(wǎng)絡(luò)號(hào)必須是相同的。

2)用網(wǎng)橋互聯(lián)的網(wǎng)段仍是同一個(gè)局域網(wǎng),只能有一個(gè)網(wǎng)絡(luò)號(hào)。

3)路由器(R1、R2和R3)總是具有兩個(gè)或兩個(gè)以上的IP地址。

4)兩個(gè)路由器直接相連時(shí),在連接線路兩端的接口處可指明IP地址。

4.IP地址與網(wǎng)卡硬件地址的區(qū)別

在局域網(wǎng)中,硬件地址已固化在網(wǎng)卡上的只讀存儲(chǔ)器(Read Only Memory,ROM)中,因此通常把硬件地址稱(chēng)為物理地址。局域網(wǎng)的媒體訪問(wèn)控制(MAC)幀中的源地址和目的地址都是硬件地址,因此硬件地址又稱(chēng)為MAC地址。硬件地址、物理地址和MAC地址常作為同義詞。

圖3-80說(shuō)明了IP地址與硬件地址的區(qū)別。IP地址是IP數(shù)據(jù)報(bào)的地址,放在數(shù)據(jù)報(bào)的首部。從層次角度看,IP地址是網(wǎng)絡(luò)層及其以上各層使用的地址。

發(fā)送數(shù)據(jù)時(shí),數(shù)據(jù)從高層向下傳送到低層,然后再到通信鏈路上傳輸。IP數(shù)據(jù)報(bào)一旦交給了數(shù)據(jù)鏈路層,就被封裝成MAC幀。MAC幀在傳送時(shí)使用的源地址和目的地址都是硬件地址。

978-7-111-43240-1-Chapter03-98.jpg

圖3-80 IP地址與硬件地址的區(qū)別

通信設(shè)備(主機(jī)或路由器)是根據(jù)媒體訪問(wèn)控制(MAC)幀首部的硬件地址接收的。在剝?nèi)AC幀首部和尾部后再將MAC層的數(shù)據(jù)交給上面的網(wǎng)絡(luò)層(此時(shí)MAC層的數(shù)據(jù)變成了IP數(shù)據(jù)報(bào))。網(wǎng)絡(luò)層才能在IP數(shù)據(jù)的首部找到源IP地址和目的IP地址。

總之,放在IP數(shù)據(jù)報(bào)首部的IP地址是網(wǎng)絡(luò)層及以上使用的IP地址。放在MAC幀首部的硬件地址是數(shù)據(jù)鏈路層及以下使用的硬件地址。因此在數(shù)據(jù)鏈路層是看不見(jiàn)數(shù)據(jù)報(bào)IP地址的。

圖3-81a是用兩個(gè)路由器R1和R2連接三個(gè)局域網(wǎng)構(gòu)成的互聯(lián)網(wǎng)。主機(jī)H1要與H2通信。這兩個(gè)主機(jī)的IP地址分別是IP1和IP2,它們的硬件地址分別為HA1和HA2,這里HA表示Hardware Address(硬件地址)。它們的通信路徑是:H1→經(jīng)R1轉(zhuǎn)發(fā)→再經(jīng)R2轉(zhuǎn)發(fā)→H2

978-7-111-43240-1-Chapter03-99.jpg

圖3-81 從不同層面上看IP地址和硬件地址

a)網(wǎng)絡(luò)配置 b)不同層次、不同區(qū)間的源地址和目的地址

路由器R1因?yàn)橥瑫r(shí)連接到兩個(gè)局域網(wǎng)上,因此有兩個(gè)硬件地址,即HA3和HA4。同理,路由器R2也有兩個(gè)硬件地址HA5和HA6。圖3-81b特別表明了IP地址和硬件地址的區(qū)別。

5.子網(wǎng)劃分和掩碼

(1)劃分子網(wǎng)。為便于尋找互聯(lián)網(wǎng)絡(luò)中的相關(guān)網(wǎng)絡(luò)和連接在該網(wǎng)絡(luò)上的主機(jī),32bit長(zhǎng)度的IP地址分為網(wǎng)絡(luò)標(biāo)識(shí)地址Netid和主機(jī)或路由標(biāo)識(shí)地址Hostid兩部分。在傳送數(shù)據(jù)時(shí),首先利用第一部分網(wǎng)絡(luò)標(biāo)識(shí)Netid找到互聯(lián)網(wǎng)絡(luò)中對(duì)應(yīng)的網(wǎng)絡(luò),然后再根據(jù)第二部分主機(jī)標(biāo)識(shí)地址Hostid找到該網(wǎng)絡(luò)上的目的主機(jī)。也就是說(shuō),A、B、C三類(lèi)的地址結(jié)構(gòu)都是兩級(jí)層次結(jié)構(gòu),如圖3-82所示。

978-7-111-43240-1-Chapter03-100.jpg

圖3-82 兩級(jí)地址結(jié)構(gòu)的網(wǎng)絡(luò)

現(xiàn)在看來(lái),IP地址的兩級(jí)層次結(jié)構(gòu)設(shè)計(jì)確實(shí)還有不夠合理之處,例如:

①I(mǎi)P地址空間的利用率有時(shí)很低。

每個(gè)A類(lèi)地址網(wǎng)絡(luò)可連接的主機(jī)數(shù)超過(guò)1000萬(wàn)。每個(gè)B類(lèi)地址網(wǎng)絡(luò)可連接的主機(jī)數(shù)也可超過(guò)6萬(wàn)。然后有些網(wǎng)絡(luò)對(duì)連接在網(wǎng)絡(luò)上的計(jì)算機(jī)數(shù)目有限制,不可能達(dá)到如此大的數(shù)量。如10Base-T以太網(wǎng)規(guī)定其最大結(jié)點(diǎn)數(shù)只有1024個(gè),使用B類(lèi)地址時(shí),就會(huì)浪費(fèi)6萬(wàn)多個(gè)IP地址,地址空間的利用率還不到2%,造成IP地址的浪費(fèi),使IP地址資源更早地被用光。

②如果將大量主機(jī)安裝在同一個(gè)網(wǎng)絡(luò)上往往會(huì)影響網(wǎng)絡(luò)的性能,就有可能會(huì)發(fā)生網(wǎng)絡(luò)擁塞。

③每一個(gè)物理網(wǎng)絡(luò)分配一個(gè)網(wǎng)絡(luò)號(hào)會(huì)使路由表變得太大,使網(wǎng)絡(luò)性能變壞。

④無(wú)法隨時(shí)增加本單位的網(wǎng)絡(luò),因?yàn)楸締挝槐仨毷孪鹊揭蛱鼐W(wǎng)管理機(jī)構(gòu)中去申請(qǐng)并獲得批準(zhǔn)后,才能連接到因特網(wǎng)上工作。

為此,從1985年起,把兩級(jí)層次的IP地址網(wǎng)絡(luò)變成為三級(jí)層次的IP地址網(wǎng)絡(luò)。這種做法叫做劃分子網(wǎng)(Subneting)或子網(wǎng)尋址或子網(wǎng)路由選擇,并已成為因特網(wǎng)的標(biāo)準(zhǔn)協(xié)議。

子網(wǎng)劃分是將一個(gè)網(wǎng)絡(luò)進(jìn)一步劃分成若干個(gè)子網(wǎng)絡(luò)(Subnet)。劃分子網(wǎng)純屬單位內(nèi)部的事情,與本單位以外的網(wǎng)絡(luò)無(wú)關(guān),對(duì)外仍然表現(xiàn)為一個(gè)大網(wǎng)絡(luò)。子網(wǎng)劃分的方法是從網(wǎng)絡(luò)的主機(jī)號(hào)中借用若干比特作為子網(wǎng)號(hào)Subnetid,而主機(jī)號(hào)也就相應(yīng)減少了若干比特。于是兩級(jí)的IP地址在本單位內(nèi)部的網(wǎng)絡(luò)中變成三級(jí)的IP地址,即網(wǎng)絡(luò)號(hào)Netid、子網(wǎng)號(hào)Subnetid和主機(jī)號(hào)Hostid。凡從其他網(wǎng)絡(luò)發(fā)送給本單位網(wǎng)絡(luò)中某個(gè)主機(jī)的數(shù)據(jù)報(bào),仍然是根據(jù)IP數(shù)據(jù)報(bào)的目的網(wǎng)絡(luò)號(hào)Netid找到連接在本單位網(wǎng)絡(luò)上的路由器,此路由器在收到IP數(shù)據(jù)報(bào)后,再按目的網(wǎng)絡(luò)號(hào)Netid和子網(wǎng)號(hào)Subnetid找到目的子網(wǎng),將IP數(shù)據(jù)報(bào)交付給目的主機(jī)。

圖3-83是將一個(gè)網(wǎng)絡(luò)劃分成3個(gè)子網(wǎng)的例子。IP數(shù)據(jù)報(bào)的目的主機(jī)地址是B類(lèi)地址:144.14.2.21,因特網(wǎng)仍將該數(shù)據(jù)報(bào)送到路由器R1,路由器R1將該目的地址進(jìn)行解釋?zhuān)?44.14這個(gè)網(wǎng)絡(luò)在物理上已分成3個(gè)子網(wǎng)。根據(jù)IP地址中的后兩個(gè)字節(jié)分別確定子網(wǎng)標(biāo)識(shí)Subnetid為2和主機(jī)標(biāo)識(shí)Hostid為21。這樣就將IP地址改變?yōu)?級(jí)層次結(jié)構(gòu),第1級(jí)是網(wǎng)路標(biāo)識(shí)144.14,確定網(wǎng)絡(luò);第2級(jí)是子網(wǎng)標(biāo)識(shí)2,確定子網(wǎng);第3級(jí)是主機(jī)標(biāo)識(shí)21,確定在該子網(wǎng)上的主機(jī)。

978-7-111-43240-1-Chapter03-101.jpg

圖3-83 具有3級(jí)層次結(jié)構(gòu)的網(wǎng)絡(luò)

圖3-84 是上面例子中二級(jí)地址(無(wú)子網(wǎng))和三級(jí)地址(有子網(wǎng))的網(wǎng)絡(luò)地址分配的情況。

978-7-111-43240-1-Chapter03-102.jpg

圖3-84 網(wǎng)絡(luò)IP地址的層次結(jié)構(gòu)

a)無(wú)子網(wǎng)情況 b)有子網(wǎng)情況

(2)子網(wǎng)掩碼。當(dāng)沒(méi)有劃分子網(wǎng)時(shí),IP地址是兩級(jí)結(jié)構(gòu),網(wǎng)絡(luò)號(hào)字段是IP地址的“因特網(wǎng)部分”,主機(jī)號(hào)字段是IP地址的“本地部分”,如圖3-85a所示。

劃分子網(wǎng)后就成了三級(jí)IP地址結(jié)構(gòu),子網(wǎng)只是將IP地址的本地部分進(jìn)行再劃分,而不改變IP地址的因特網(wǎng)部分,如圖3-85b所示。

但是如何能讓計(jì)算機(jī)知道有無(wú)子網(wǎng)劃分呢?這就是使用另一個(gè)長(zhǎng)度也是32bit的子網(wǎng)掩碼(Maskcode)來(lái)解決這個(gè)問(wèn)題。

978-7-111-43240-1-Chapter03-103.jpg

圖3-85 IP地址的各字段和子網(wǎng)掩碼

a)兩級(jí)IP地址 b)三級(jí)IP地址 c)子網(wǎng)掩碼 d)劃分子網(wǎng)時(shí)的網(wǎng)絡(luò)地址 e)不劃分子網(wǎng)的網(wǎng)絡(luò)地址

子網(wǎng)掩碼和IP地址一樣長(zhǎng),都是32bit,它由一串“1”和跟隨的一串“0”組成。

子網(wǎng)掩碼中的“1”表示與IP地址中的網(wǎng)絡(luò)號(hào)和子網(wǎng)相對(duì)應(yīng)的部分。子網(wǎng)掩碼中的“0”表示與IP地址中的主機(jī)號(hào)相對(duì)應(yīng)的部分,如圖3-85c所示。

在IP地址劃分子網(wǎng)的情況下,把子網(wǎng)掩碼和劃分子網(wǎng)的IP地址進(jìn)行逐個(gè)比特相“與”(AND),便可得出主機(jī)號(hào)為全“0”的劃分子網(wǎng)的網(wǎng)絡(luò)地址,即<Netid>+<Subnetid>+全“0”的<Hostid>,如圖3-85d所示。

如果IP數(shù)據(jù)報(bào)地址為不劃分子網(wǎng)的地址,那么子網(wǎng)掩碼和不劃分子網(wǎng)的IP地址進(jìn)行逐個(gè)比特相“與”(AND)的結(jié)果為如圖3-85e所示的網(wǎng)絡(luò)地址,即<Netid>+全“0”的<Hostid>。

這種不管有無(wú)子網(wǎng)都適用的子網(wǎng)掩碼稱(chēng)為默認(rèn)的子網(wǎng)掩碼。顯然:

A類(lèi)地址的默認(rèn)子網(wǎng)掩碼是255.0.0.0,或0xFF000000。

B類(lèi)地址的默認(rèn)子網(wǎng)掩碼是255.255.0.0,或0xFFFF0000。

C類(lèi)地址的默認(rèn)子網(wǎng)掩碼是255.255.255.0,或0xFFFFFF00。

表3-15是B類(lèi)地址的子網(wǎng)劃分選擇。可以看出,若適用較少比特?cái)?shù)的子網(wǎng)號(hào),則每個(gè)子網(wǎng)上可連接的主機(jī)數(shù)量較大。反之,使用較多比特?cái)?shù)的子網(wǎng)號(hào),則子網(wǎng)的數(shù)據(jù)可以較多,但每個(gè)子網(wǎng)上可連接的主機(jī)數(shù)量較少。可根據(jù)網(wǎng)絡(luò)的具體情況來(lái)選擇合適的子網(wǎng)掩碼。

表3-15 B類(lèi)地址的子網(wǎng)劃分選擇(使用固定長(zhǎng)度子網(wǎng))

978-7-111-43240-1-Chapter03-104.jpg

6.IP多播的基本概念

IP多播(Multicast)又稱(chēng)組播,即一對(duì)多的通信,現(xiàn)已成為因特網(wǎng)的一個(gè)熱門(mén)課題,廣泛用于交互式會(huì)議、軟件升級(jí)和信息交付(如新聞、股市等)。

978-7-111-43240-1-Chapter03-105.jpg

圖3-86 采用多播路由器的多播系統(tǒng)

局域網(wǎng)的多播是用硬件實(shí)現(xiàn)的。在因特網(wǎng)上向多個(gè)站發(fā)送同樣的數(shù)據(jù)報(bào)可以有兩種方法:一種是采用單播方式,每次向一個(gè)目的站發(fā)送數(shù)據(jù)報(bào),然后連續(xù)向各目的站進(jìn)行多次發(fā)送。另一種是采用圖3-86中的路由器進(jìn)行復(fù)制轉(zhuǎn)發(fā)。主機(jī)X在進(jìn)行多播時(shí)只要發(fā)送一個(gè)數(shù)據(jù)報(bào),到了路由器R2才進(jìn)行數(shù)據(jù)報(bào)復(fù)制,然后到了R6再?gòu)?fù)制一次。也就是說(shuō),多播數(shù)據(jù)報(bào)僅在傳送路徑分岔時(shí)才將數(shù)據(jù)報(bào)復(fù)制后繼續(xù)轉(zhuǎn)發(fā)。能夠運(yùn)行多播協(xié)議的路由器稱(chēng)為多播路由器(Multi-cast router)。

在因特網(wǎng)上進(jìn)行多播稱(chēng)為IP多播。最常用的兩種IP多播方式為:

(1)使用組地址多播。IP使用的D類(lèi)地址支持多播。D類(lèi)IP地址的前綴是1110,因此地址的范圍是224.0.0.0到239.255.255.255。每個(gè)D類(lèi)地址標(biāo)識(shí)一組主機(jī)。D類(lèi)地址可用來(lái)標(biāo)識(shí)有28bit的各個(gè)主機(jī)組(Host group),因此可標(biāo)識(shí)228個(gè)多播組(超過(guò)2億5千萬(wàn)個(gè)多播組)。顯然,多播地址只能用于目的地址,而不能用于源地址。

(2)使用硬件進(jìn)行多播。因特網(wǎng)是由許多網(wǎng)絡(luò)互聯(lián)起來(lái)的,其中有些是以太網(wǎng),這些以太網(wǎng)本身就具有硬件多播能力,因此當(dāng)多播數(shù)據(jù)報(bào)傳送到這些以太網(wǎng)時(shí),以太網(wǎng)就利用硬件進(jìn)行多播,交付給屬于該組成員的主機(jī)。以太網(wǎng)硬件地址字段中的第一個(gè)字節(jié)為0x01時(shí)則為多播地址。

因特網(wǎng)號(hào)碼指派管理局IANA擁有的以太網(wǎng)地址塊的最高位為24bit(0x00005E),也就是說(shuō),整個(gè)以太網(wǎng)硬件的地址范圍為0x00005E000000~0x00005E FFFFFF。IANA用其中的一半作為多播地址,因此,以太網(wǎng)多播地址的范圍是0x00005E000000~0x00005E 7FFFFF。這樣,以太網(wǎng)中只有23bit可用作多播地址。而D類(lèi)IP地址可供分配的有28bit,可見(jiàn)在這28bit的前5個(gè)bit不能用來(lái)構(gòu)成以太網(wǎng)硬件地址,如圖3-87所示。

978-7-111-43240-1-Chapter03-106.jpg

圖3-87 D類(lèi)IP地址與以太網(wǎng)地址的映射關(guān)系

7.因特網(wǎng)的域名系統(tǒng)

用戶與因特網(wǎng)上某主機(jī)通信時(shí),很難記憶和使用長(zhǎng)達(dá)32bit二進(jìn)制的主機(jī)地址。即使是點(diǎn)分十進(jìn)制IP地址也并不容易記憶。大家都希望能使用某種容易記憶和便于操作的主機(jī)名字。這就是域名系統(tǒng)(Domain Name System,DNS)。

因特網(wǎng)的域名系統(tǒng)(Domain Name System,DNS)采用聯(lián)機(jī)的客戶服務(wù)器方式組成一個(gè)分布式聯(lián)機(jī)的數(shù)據(jù)庫(kù)系統(tǒng)。用域名服務(wù)器把主機(jī)域名和IP地址一一對(duì)應(yīng)。連接在因特網(wǎng)上的任何一個(gè)主機(jī)或路由器,都有一個(gè)唯一的層次結(jié)構(gòu)的名字,即域名(Domain name)。當(dāng)用戶要和因特網(wǎng)上某臺(tái)計(jì)算機(jī)交換信息時(shí),只需使用域名,網(wǎng)絡(luò)會(huì)自動(dòng)轉(zhuǎn)換成IP地址,找到該臺(tái)計(jì)算機(jī)。

每臺(tái)計(jì)算機(jī)的域名由一系列的字母和數(shù)字組成。例如,清華大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)系的域名為cs.tsinghua.edu.cn,其中cn代表中國(guó),edu表示教育部門(mén),tsinghua表示清華大學(xué),cs表示計(jì)算機(jī)科學(xué)與技術(shù)系。由此可見(jiàn),域名是有層次的,域名中的最末部分通常都表示國(guó)家,最左部分代表該臺(tái)計(jì)算機(jī)的名字。域名是一個(gè)邏輯概念,它不必與物理地址相一致。

下面是對(duì)域名的分級(jí)以及域名和IP地址的映射的具體介紹。

(1)域名的分級(jí)。早期的因特網(wǎng)使用的是非等級(jí)的名字空間來(lái)描述域名,其優(yōu)點(diǎn)是名字簡(jiǎn)短,缺點(diǎn)是不能推廣到具有大量計(jì)算機(jī)的網(wǎng)絡(luò)。由于名字取自單一的標(biāo)識(shí)字符集,隨著網(wǎng)點(diǎn)數(shù)量的增加,潛在的沖突也隨之增多。為此,因特網(wǎng)國(guó)際特別委員會(huì)(Internet International Ad Hoc Committee,IAHC)決定不采用集中命名的機(jī)制,而是采用分布的名字空間管理機(jī)構(gòu),使名字和地址的映射任務(wù)分布執(zhí)行。

域名的結(jié)構(gòu)由若干分量組成,各分量之間用點(diǎn)隔開(kāi),這些分量分為頂級(jí)域名、二級(jí)域名、三級(jí)域名……每一級(jí)由英文字母和數(shù)字組成(最多不超過(guò)63個(gè)字符,字母不分大小寫(xiě))。級(jí)別最低的域名寫(xiě)在最左邊,級(jí)別最高的頂級(jí)域名寫(xiě)在最右邊。完整的域名不超過(guò)255個(gè)字符。域名系統(tǒng)不規(guī)定一個(gè)域名需包含多少個(gè)下級(jí)域名,也不規(guī)定每一級(jí)的域名代表什么意思。各級(jí)域名由其上一級(jí)的域名管理機(jī)構(gòu)管理,最高的頂級(jí)域名由因特網(wǎng)有關(guān)機(jī)構(gòu)管理。用這種方法可使每一個(gè)名字都是唯一的,并且容易查找域名。

頂級(jí)域名有3類(lèi):

1)國(guó)家頂級(jí)域名:如cn表示中國(guó)、us表示美國(guó)和uk表示英國(guó)。

2)國(guó)際頂級(jí)域名:采用int。

3)通用頂級(jí)域名:com表示公司企業(yè)、net表示網(wǎng)絡(luò)服務(wù)機(jī)構(gòu)、org表示非盈利性組織、edu表示教育機(jī)構(gòu)、gov表示政府部門(mén)、mil表示軍事部門(mén)、firm表示公司企業(yè)、shop表示銷(xiāo)售公司和企業(yè)、web表示萬(wàn)維網(wǎng)活動(dòng)單位、arts表示文化娛樂(lè)單位、info表示信息服務(wù)單位和nom表示個(gè)人。

二級(jí)域名均由各國(guó)自行確定,我國(guó)把二級(jí)域名劃分為“類(lèi)別域名”和“行政區(qū)域名”兩類(lèi)。類(lèi)別域名為:ac表示科研機(jī)構(gòu),com表示工、商和金融企業(yè),edu表示教育機(jī)構(gòu),gov表示政府部門(mén),net表示互聯(lián)網(wǎng)絡(luò),NIC表示接入網(wǎng)絡(luò)的信息中心和運(yùn)行中心(NOC),org表示各種非盈利性組織。“行政區(qū)域名”共34個(gè),適用于我國(guó)各省、自治區(qū)、直轄市。如bj為北京市、sh為上海市和js為江蘇省等。

二級(jí)域名下面的三級(jí)域名可向中國(guó)互聯(lián)網(wǎng)網(wǎng)絡(luò)中心CNNIC申請(qǐng)。

(2)域名和IP地址的映射。域名方案應(yīng)包括一個(gè)高效、可靠、通用的分布系統(tǒng),實(shí)現(xiàn)名字與IP地址的映射,特點(diǎn)是

1)系統(tǒng)應(yīng)是分布的。由分布在多個(gè)網(wǎng)點(diǎn)的一組服務(wù)器協(xié)同操作解決映射問(wèn)題。

2)系統(tǒng)應(yīng)是高效的。大多數(shù)名字映射在本地操作,只有少數(shù)名字映射需要在互聯(lián)網(wǎng)上通信。

3)系統(tǒng)應(yīng)是可靠的。單臺(tái)計(jì)算機(jī)故障不會(huì)影響系統(tǒng)正確運(yùn)行。

4)系統(tǒng)應(yīng)是通用的。它不僅限于使用機(jī)器名。

圖3-88是一個(gè)樹(shù)形結(jié)構(gòu)的域名服務(wù)器的概念布局。樹(shù)的根是識(shí)別頂層域名的服務(wù)器。它是一個(gè)能解析每個(gè)域名的服務(wù)器,并為該名字選擇一個(gè)正確的服務(wù)器,然后逐級(jí)往下搜索,最后將結(jié)果返回。

每一個(gè)域名服務(wù)器不但能夠進(jìn)行一些域名到IP地址的轉(zhuǎn)換,而且還必須具有連向其他域名服務(wù)器的信息。當(dāng)自己不能進(jìn)行域名到IP地址的轉(zhuǎn)換時(shí),就能夠知道到什么地方去找其他的域名服務(wù)器。

978-7-111-43240-1-Chapter03-107.jpg

圖3-88 域名服務(wù)器的樹(shù)形概念布局

因特網(wǎng)上的域名服務(wù)器系統(tǒng)是按照域名的層次來(lái)安排的。每一個(gè)域名服務(wù)器都只對(duì)域名系統(tǒng)中的一部分進(jìn)行管轄。現(xiàn)在共有3種不同類(lèi)型的域名服務(wù)器。

(1)本地域名服務(wù)器。每個(gè)因特網(wǎng)接入服務(wù)商(Internet Service Provider,ISP)、一個(gè)大學(xué)或大學(xué)里一個(gè)系,都可擁有一個(gè)本地域名服務(wù)器(Local name server),有時(shí)也稱(chēng)默認(rèn)域名服務(wù)器。本地域名服務(wù)器離用戶較近,一般不超過(guò)幾個(gè)路由器的距離。如果需要查詢(xún)的主機(jī)也屬于同一個(gè)本地ISP時(shí),則本地域名服務(wù)器立即就能將查詢(xún)的主機(jī)名轉(zhuǎn)換為它的IP地址,而不需要去詢(xún)問(wèn)其他的域名服務(wù)器。

(2)根域名服務(wù)器。當(dāng)本地域名服務(wù)器不能立即回答某主機(jī)的查詢(xún)時(shí),該本地域名服務(wù)器就以DNS域名系統(tǒng)客戶的身份向某一個(gè)根域名服務(wù)器(Root name server)查詢(xún)。如果根域名服務(wù)器具有被查詢(xún)主機(jī)的信息,就把DNS回答的報(bào)文發(fā)送給本地域名服務(wù)器,然后本地域名服務(wù)器再回答發(fā)起查詢(xún)的主機(jī)。如果根域名服務(wù)器沒(méi)有被查詢(xún)主機(jī)的信息時(shí),它就一定知道某個(gè)保存被查詢(xún)主機(jī)各自映射的授權(quán)域名服務(wù)器的IP地址。

根域名服務(wù)器通常用來(lái)管轄頂級(jí)域(如.com)的域名轉(zhuǎn)換,而不直接對(duì)頂級(jí)域下面所屬的域名進(jìn)行轉(zhuǎn)換,它能夠找到下面所有的二級(jí)域名服務(wù)器。

(3)授權(quán)域名服務(wù)器。每個(gè)主機(jī)都必須在授權(quán)域名服務(wù)器(Authoritative name server)處注冊(cè)登記。通常一個(gè)主機(jī)的授權(quán)域名服務(wù)器就是它的本地的因特網(wǎng)接入服務(wù)商ISP的一個(gè)域名服務(wù)器。為了更加可靠的工作,一個(gè)主機(jī)最好至少有兩個(gè)以上的授權(quán)服務(wù)器。許多域名服務(wù)器同時(shí)充當(dāng)本地域名服務(wù)器和授權(quán)域名服務(wù)器。

3.9.6 Internet地址空間的擴(kuò)展(IPv6)

IP協(xié)議是因特網(wǎng)的關(guān)鍵協(xié)議。現(xiàn)在使用的IP協(xié)議是在20世紀(jì)70年代末期設(shè)計(jì)的Internet協(xié)議第4版,故稱(chēng)IPv4。從70年代末21世紀(jì)初,處理器的性能提高了兩個(gè)數(shù)量級(jí),存儲(chǔ)器的容量提高了32倍以上,因特網(wǎng)主干網(wǎng)的帶寬提高了1000倍。因特網(wǎng)上的主機(jī)數(shù)量已達(dá)億萬(wàn)數(shù)量級(jí)。

雖然IPv4的設(shè)計(jì)比較完善,但隨著因特網(wǎng)用戶的飛速增加,32bit的IP地址空間已難以滿足日益增加的需求。

除了地址空間需要擴(kuò)展外,還有增加的各種新的應(yīng)用要求,例如實(shí)時(shí)話音和圖像通信要求低的延時(shí),安全通信保障等,要求新版的IP設(shè)計(jì)能為特定應(yīng)用預(yù)留資源。

為此,因特網(wǎng)工程特別工作組(Internet Engineering Task Force,IETF)在1992年6月提出要制定下一代IP協(xié)議版本,即IPv6。1998年12月發(fā)表了IPv6的草案標(biāo)準(zhǔn)。

IPv6保持了IPv4許多成功的優(yōu)點(diǎn)。它仍支持無(wú)連接發(fā)送,允許發(fā)送方選擇數(shù)據(jù)報(bào)大小,要求發(fā)送方指明數(shù)據(jù)報(bào)到達(dá)目的站前的最大跳數(shù)等。于是IPv6對(duì)IPv4協(xié)議細(xì)節(jié)作了許多修改,這些修改可分為下面5大類(lèi):

(1)具有更大的地址空間。IPv6將原來(lái)IPv4的32bit的地址空間增大到128bit地址空間。它的地址空間達(dá)到永遠(yuǎn)不會(huì)耗盡。

(2)靈活的報(bào)頭格式。IPv6使用一種全新的、可任選的擴(kuò)展報(bào)頭格式。路由器不處理擴(kuò)展報(bào)頭,提高了路由器的處理效率。

(3)增加選項(xiàng),提供新的應(yīng)用功能。IPv6允許數(shù)據(jù)報(bào)包含可選的控制信息。

(4)支持資源分配。提供新的機(jī)制支持實(shí)時(shí)話音和圖像等要求保證一定帶寬和延時(shí)的應(yīng)用。

(5)支持協(xié)議擴(kuò)展,允許新增特性,滿足未來(lái)發(fā)展。

1.IPv6數(shù)據(jù)報(bào)格式

978-7-111-43240-1-Chapter03-108.jpg

圖3-89 IPv6數(shù)據(jù)報(bào)的基本格式

圖3-89是IPv6數(shù)據(jù)報(bào)的基本格式。數(shù)據(jù)報(bào)有一個(gè)基本報(bào)頭(base header),其后可以有多個(gè)擴(kuò)展報(bào)頭(extension header),也可沒(méi)有擴(kuò)展報(bào)頭,擴(kuò)展報(bào)頭之后是數(shù)據(jù)。所有的擴(kuò)展報(bào)頭(或稱(chēng)擴(kuò)展首部)和數(shù)據(jù)合起來(lái)構(gòu)成有效載荷(payload)。

IPv6基本報(bào)頭的內(nèi)容和格式如圖3-90所示。IPv4數(shù)據(jù)報(bào)中的選項(xiàng)和一些固定字段移到了IPv6的擴(kuò)展報(bào)頭。

978-7-111-43240-1-Chapter03-109.jpg

圖3-90 IPv6數(shù)據(jù)報(bào)頭的格式

每個(gè)IPv6數(shù)據(jù)報(bào)都從基本報(bào)頭開(kāi)始,基本報(bào)頭后面是有效載荷,它包括高層的數(shù)據(jù)和可能選用的擴(kuò)展報(bào)頭(或稱(chēng)首部)。下面是IPv6基本報(bào)頭中的各字段。

(1)版本(Version)。它占4bit。指明協(xié)議版本,對(duì)于IPv6,該字段為6。

(2)通信量分類(lèi)(Traffic class)。它占8bit。區(qū)別不同的IPv6數(shù)據(jù)報(bào)的類(lèi)別。

(3)數(shù)據(jù)流標(biāo)號(hào)(Flow label)。它占20bit。IPv6的新機(jī)制是為支持資源預(yù)定而提出的在互聯(lián)網(wǎng)上單播或多播的一系列數(shù)據(jù)報(bào)(如實(shí)時(shí)音視頻傳輸)“流”所經(jīng)過(guò)的路徑上的路由器都能保證達(dá)到指明的服務(wù)質(zhì)量。所有屬于同一個(gè)“流”的數(shù)據(jù)報(bào),都具有同樣的數(shù)據(jù)流標(biāo)號(hào)。

(4)有效載荷長(zhǎng)度(Payload length)。它占16bit。標(biāo)明IPv6數(shù)據(jù)報(bào)除基本報(bào)頭以外的全部字節(jié)數(shù)。這個(gè)字段的最大長(zhǎng)度為64kB。

(5)下一個(gè)報(bào)頭(Next header)。它占8bit。

1)當(dāng)IPv6數(shù)據(jù)報(bào)沒(méi)有擴(kuò)展報(bào)頭時(shí),下一個(gè)報(bào)頭字段的作用和IPv4的協(xié)議字段一樣。

2)當(dāng)IPv6數(shù)據(jù)報(bào)出現(xiàn)擴(kuò)展報(bào)頭時(shí),下一個(gè)報(bào)頭字段的值,標(biāo)識(shí)后面第一個(gè)擴(kuò)展報(bào)頭的類(lèi)型。

(6)跳數(shù)限制(Hoplimit)。它占8bit。用來(lái)防止數(shù)據(jù)報(bào)在網(wǎng)絡(luò)中無(wú)限期存在。每個(gè)路由器轉(zhuǎn)發(fā)一次數(shù)據(jù)報(bào),限制數(shù)字段中的跳數(shù)限制數(shù)值減一,直至跳數(shù)限制值到0時(shí)被丟棄。

(7)源地址。它占128bit(16B)。數(shù)據(jù)報(bào)發(fā)送站的IP地址。

(8)目的地址。它占128bit(16B)。數(shù)據(jù)報(bào)接收站的IP地址。

2.IPv6的地址空間

(1)128bit的地址空間。在IPv6中,每個(gè)地址占128bit,即2128=3.4×1038個(gè)地址。如果整個(gè)地球表面(包括陸地和水面)都覆蓋著計(jì)算機(jī),那么IPv6可給予每平方米7×1023個(gè)IP地址。如果地址的分配速率為每微秒分配100萬(wàn)個(gè)地址,那么需要1019年的時(shí)間才能將這些IP地址分配完畢。因此,IPv6的IP地址是不可能用完的。

一般來(lái)講,一個(gè)IPv6數(shù)據(jù)報(bào)的目的地址可以是以下3種基本類(lèi)型之一。

1)單播(Unicast):?jiǎn)尾ゾ褪莻鹘y(tǒng)的點(diǎn)對(duì)點(diǎn)通信。單播地址指明計(jì)算機(jī)或路由器發(fā)送的數(shù)據(jù)報(bào)選擇一條最短的路徑到達(dá)目的站。

2)多播(Multicast):多播是一點(diǎn)對(duì)多點(diǎn)的通信。數(shù)據(jù)報(bào)交付到一組計(jì)算機(jī)中的每一個(gè)。多播又稱(chēng)組播,組播的目的站可以在不同的地方。

3)任播(Anycast):這是IPv6增加的一種類(lèi)型。任播的目的站是一組計(jì)算機(jī),但數(shù)據(jù)報(bào)在交付時(shí)只交付給其中一個(gè)距離最近的一個(gè)計(jì)算機(jī)。

在IPv6中,每個(gè)128bit的地址占有16個(gè)8bit,是IPv4地址長(zhǎng)度的4倍。對(duì)于如此巨大的地址空間,維護(hù)互聯(lián)網(wǎng)的人們?nèi)绾伍喿x、輸入和管理呢?顯然,用二進(jìn)制表示是不可取的。IPv4使用的點(diǎn)分十進(jìn)制表示方法也不能簡(jiǎn)潔地表示這些地址。于是IPv6的設(shè)計(jì)者決定采用冒號(hào)十六進(jìn)制的表示方法。即把16bit的值用十六進(jìn)制表示。8組16bit的十六進(jìn)制數(shù)值之間用冒號(hào)將其分隔。例如128bit的地址,用點(diǎn)分十進(jìn)制表示為:104.230.140.100.255.255.255.255.0.0.17.128.150.10.255.255。上述同樣的IPv6地址用冒號(hào)十六進(jìn)制表示時(shí),則為:68E6:8C64:FFFF:FFFF:0:1180:96A:FFFF。冒號(hào)十六進(jìn)制表示與點(diǎn)分十進(jìn)制表示相比,只需更少的數(shù)字和更少的分隔符,具有明顯的優(yōu)點(diǎn)。

(2)地址空間的分配。同IPv4一樣,IPv6將一個(gè)地址與一個(gè)特定的網(wǎng)絡(luò)連接相關(guān)聯(lián),而不是與一個(gè)特定的計(jì)算機(jī)相關(guān)聯(lián)。地址的分配也類(lèi)似于IPv4,IPv4對(duì)一個(gè)物理網(wǎng)分配一個(gè)地址前綴,即網(wǎng)絡(luò)地址,IPv6保留了這種地址體系,且有所擴(kuò)展。為了地址分配和修改方便,IPv6允許對(duì)給定的網(wǎng)絡(luò)分派多個(gè)前綴,也允許對(duì)一個(gè)主機(jī)的給定接口同時(shí)分配多個(gè)地址。

3.從IPv4向IPv6過(guò)渡

20世紀(jì)70年代正式開(kāi)發(fā)建設(shè)第一代互聯(lián)網(wǎng),并于1994年投入商業(yè)運(yùn)行和統(tǒng)一使用TCP/IP協(xié)議。當(dāng)時(shí)設(shè)計(jì)的IPv4協(xié)議的IP地址約有40多億個(gè)。由于美國(guó)掌握絕對(duì)控制權(quán),IP地址分配上明顯偏袒美國(guó)。加上部分IP地址未能得到合理利用,所以,IPv4的IP地址已面臨枯竭。

目前,我國(guó)6000多萬(wàn)上網(wǎng)用戶只有3000多萬(wàn)個(gè)IP地址可供使用。飛速增長(zhǎng)的IP地址需求與現(xiàn)有地址不足的問(wèn)題正逐漸成為制約國(guó)內(nèi)互聯(lián)網(wǎng)發(fā)展的瓶頸。我國(guó)計(jì)劃在4~6年時(shí)間內(nèi),將原來(lái)的IPv4網(wǎng)絡(luò)改造成IPv6網(wǎng)絡(luò)。實(shí)施IPv6的網(wǎng)絡(luò)不僅可解決IP地址緊缺問(wèn)題、傳輸質(zhì)量問(wèn)題,而且網(wǎng)絡(luò)傳輸?shù)乃俣葘⒖商岣?000~10000倍。

要解決IPv4向IPv6的過(guò)渡不是一件容易的事情。因?yàn)楝F(xiàn)在整個(gè)因特網(wǎng)上使用的IPv4路由器的數(shù)量實(shí)在太大,要在一個(gè)短時(shí)間內(nèi)一律改成IPv6路由器,顯然是不可能的,因此只能采用逐步演進(jìn)的辦法。此外,新安裝的IPv6系統(tǒng)能夠向后兼容。即它們必須還能接收和轉(zhuǎn)發(fā)IPv4的分組,并且能為IPv4分組選擇路由。從IPv4向IPv6過(guò)渡的策略有兩種:

(1)雙協(xié)議棧。雙協(xié)議棧(Dualstack)是指在完全過(guò)渡到IPv6前,把一部分主機(jī)和路由器改成裝有IPv4和IPv6兩個(gè)協(xié)議棧,如圖3-91所示。這種主機(jī)既能和IPv6系統(tǒng)通信,又能和IPv4系統(tǒng)進(jìn)行通信。顯然雙協(xié)議棧的主機(jī)或路由器應(yīng)具有兩個(gè)IP地址:與IPv6主機(jī)通信時(shí)采用IPv6地址,與IPv4主機(jī)通信時(shí)采用IPv4的地址。

雙協(xié)議棧主機(jī)怎樣知道目的主機(jī)采用哪種地址呢?它是使用域名系統(tǒng)(DNS)來(lái)查詢(xún)確認(rèn)。若DNS返回的是IPv4地址,雙協(xié)議棧的源主機(jī)就使用IPv4地址。當(dāng)DNS返回的是IPv6地址時(shí),源主機(jī)就使用IPv6地址。

978-7-111-43240-1-Chapter03-110.jpg

圖3-91 雙協(xié)議棧工作原理

(2)隧道技術(shù)。隧道技術(shù)(Tunneling)的原理是通過(guò)轉(zhuǎn)換兩種協(xié)議的數(shù)據(jù)包實(shí)現(xiàn)通信的方法。即把源主機(jī)的IPv6數(shù)據(jù)報(bào)在進(jìn)入IPv4區(qū)域時(shí),把它封裝成IPv4的數(shù)據(jù)報(bào)(整個(gè)IPv6變成了IPv4數(shù)據(jù)報(bào)的數(shù)據(jù)部)。

當(dāng)IPv4數(shù)據(jù)報(bào)離開(kāi)IPv4區(qū)域時(shí),再將其數(shù)據(jù)部分(即原來(lái)的IPv6數(shù)據(jù)報(bào))交給主機(jī)的IPv6協(xié)議棧。整個(gè)過(guò)程好像打通了一個(gè)“IPv6隧道”。要使協(xié)議棧的主機(jī)知道IPv4數(shù)據(jù)報(bào)里面封裝的數(shù)據(jù)是一個(gè)IPv6數(shù)據(jù)報(bào),就必須將IPv4報(bào)頭的協(xié)議字段值設(shè)置為41,41表示數(shù)據(jù)中的數(shù)據(jù)部分是IPv6數(shù)據(jù)報(bào)。圖3-92a是隧道技術(shù)過(guò)渡的工作原理圖。圖3-92b是雙協(xié)議棧過(guò)渡的工作原理圖。

978-7-111-43240-1-Chapter03-111.jpg

圖3-92 使用雙協(xié)議棧和隧道技術(shù)進(jìn)行IPv4到IPv6的過(guò)渡

a)隧道技術(shù)過(guò)渡 b)雙協(xié)議棧過(guò)渡

近期我國(guó)第一個(gè)IPv6主干網(wǎng)CERNET2試驗(yàn)網(wǎng)正式開(kāi)通,并開(kāi)始提供服務(wù),成為第一個(gè)全國(guó)性下一代互聯(lián)網(wǎng)的主干網(wǎng),標(biāo)志著IPv6在我國(guó)已正式步入應(yīng)用階段。

3.9.7 路由技術(shù)

路由選擇是一個(gè)非常復(fù)雜的問(wèn)題,因?yàn)樗蔷W(wǎng)絡(luò)中所有結(jié)點(diǎn)共同協(xié)調(diào)工作的結(jié)果。其次,路由選擇的環(huán)境往往是不斷變化的,這種變化有時(shí)是無(wú)法事先知道的,例如,網(wǎng)絡(luò)中出現(xiàn)了某些故障或網(wǎng)絡(luò)發(fā)生擁塞等情況。

路由算法如果按網(wǎng)絡(luò)的通信量或網(wǎng)絡(luò)的拓?fù)淝闆r進(jìn)行自適應(yīng)的調(diào)整,可分為靜態(tài)路由選擇和動(dòng)態(tài)路由選擇兩類(lèi)。靜態(tài)路由選擇又稱(chēng)非自適應(yīng)路由選擇,其特點(diǎn)是簡(jiǎn)單和開(kāi)銷(xiāo)較小,但不能及時(shí)適應(yīng)網(wǎng)絡(luò)狀態(tài)的變化。動(dòng)態(tài)路由選擇又稱(chēng)自適應(yīng)路由選擇,其特點(diǎn)是能較好地適應(yīng)網(wǎng)絡(luò)狀態(tài)的變化,但實(shí)現(xiàn)起來(lái)較為復(fù)雜,開(kāi)銷(xiāo)也較大。

因特網(wǎng)采用自適應(yīng)動(dòng)態(tài)的、分布路由選擇協(xié)議。由于下面兩個(gè)原因,因特網(wǎng)采用分層次的路由選擇協(xié)議:

(1)因特網(wǎng)的規(guī)模非常大,有幾百萬(wàn)個(gè)路由器互連在一起。如果讓所有的路由器知道所有的網(wǎng)絡(luò)怎樣到達(dá)的,則這種路由表將會(huì)非常大,處理時(shí)間也很長(zhǎng),這些路由器之間交換路由信息所需線路的帶寬會(huì)使因特網(wǎng)通信鏈路達(dá)到飽和。

(2)各單位不愿意外界了解本單位網(wǎng)絡(luò)的布局細(xì)節(jié)和采用的路由選擇協(xié)議,但希望能夠連接到因特網(wǎng)上。

為此,因特網(wǎng)將整個(gè)互聯(lián)網(wǎng)劃分成許多較小的自治系統(tǒng)(Autonomous System,AS)。一個(gè)自治系統(tǒng)是一個(gè)互聯(lián)網(wǎng),它的特點(diǎn)是有權(quán)自主決定在本系統(tǒng)內(nèi)采用何種路由選擇協(xié)議。一個(gè)自治系統(tǒng)所有路由器都必須在本自治系統(tǒng)內(nèi)是連通的。如果一個(gè)部門(mén)管轄兩個(gè)網(wǎng)絡(luò),但這兩個(gè)網(wǎng)絡(luò)要通過(guò)其他主干網(wǎng)才能互連起來(lái),那么這兩個(gè)網(wǎng)絡(luò)就不能構(gòu)成一個(gè)自治系統(tǒng)。這樣因特網(wǎng)就把路由選擇協(xié)議劃分為如圖3-93所示的兩大類(lèi):內(nèi)部網(wǎng)關(guān)協(xié)議(Interior Gateway Protocol,IGP)和外部網(wǎng)關(guān)協(xié)議(External Gateway Protocol,EGP)。

自治系統(tǒng)之間的路由選擇也稱(chēng)為域間路由選擇(Interdomain Routing);自治系統(tǒng)內(nèi)部的路由選擇稱(chēng)為域內(nèi)路由選擇(Intradomain Routing)。

圖3-93中每個(gè)自治系統(tǒng)的路由器運(yùn)行本自治系統(tǒng)的內(nèi)部網(wǎng)關(guān)協(xié)議IGP(Interior Gateway Proto-col),還有一些邊界路由器(圖中的R1、R2和R3)除運(yùn)行本自治系統(tǒng)的內(nèi)部網(wǎng)關(guān)協(xié)議IGP外,還要運(yùn)行自治系統(tǒng)之間的外部網(wǎng)關(guān)協(xié)議EGP(External Gateway Protocol)。

978-7-111-43240-1-Chapter03-112.jpg

圖3-93 自治系統(tǒng)和內(nèi)部網(wǎng)關(guān)協(xié)議、外部網(wǎng)關(guān)協(xié)議

內(nèi)部網(wǎng)關(guān)協(xié)議(IGP)的具體協(xié)議有多種,常用的有路由信息協(xié)議(Routing Information Protocol,RIP)和開(kāi)放最短路徑優(yōu)先協(xié)議(Open Shortest Path First,OSPF)。

外部網(wǎng)關(guān)協(xié)議EGP目前使用的協(xié)議是邊界網(wǎng)關(guān)協(xié)議(Border Gateway Protocol,BGP)。

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

最常用的內(nèi)部網(wǎng)關(guān)協(xié)議(IGP)有路由信息協(xié)議(RIP)和開(kāi)放最短路徑優(yōu)先協(xié)議(OSPF)兩種。注意,因特網(wǎng)的早期文檔中未使用“路由器”,而是使用“網(wǎng)關(guān)”這一名字。現(xiàn)在的因特網(wǎng)文檔都使用了“路由器”這個(gè)名字。因此內(nèi)部網(wǎng)關(guān)協(xié)議(IGP)可改為內(nèi)部路由協(xié)議(Interior Routing Protocol,IRP),外部網(wǎng)關(guān)協(xié)議(EGR)可改為外部路由協(xié)議(Exteral Routing Protocol,ERP)。

1.路由信息協(xié)議

路由信息協(xié)議(Routing Information Protocol,RIP)是內(nèi)部網(wǎng)關(guān)協(xié)議(IGP)中使用得最廣泛的一種協(xié)議,它是一種分布式的距離向量的路由選擇協(xié)議。它的最大優(yōu)點(diǎn)是簡(jiǎn)單。

RIP協(xié)議中的“距離”稱(chēng)為“跳數(shù)”(Hopcount),每經(jīng)過(guò)一個(gè)路由器,跳數(shù)就加1。RIP認(rèn)為一個(gè)最好的路由就是它通過(guò)的路由器數(shù)目最少,即距離最短,RIP允許一條路徑中最多只能包含15個(gè)路由器(直接連接的網(wǎng)絡(luò)因?yàn)椴唤?jīng)過(guò)另外的路由器,所以它的“網(wǎng)絡(luò)距離”可定義為0),因此RIP只適用于小型互聯(lián)網(wǎng)。

相鄰的路由器之間按固定的時(shí)間間隔(如30s)交換路由信息,更新路由表。路由表更新的原則是找到各目的網(wǎng)絡(luò)的最短距離。這種更新算法稱(chēng)為距離向量算法。

RIP的主要問(wèn)題是當(dāng)網(wǎng)絡(luò)發(fā)生故障時(shí),需經(jīng)過(guò)較長(zhǎng)的時(shí)間才能將故障信息傳送到全部路由器。但如果一個(gè)路由器發(fā)現(xiàn)了更短的路徑路由,那么這種更新信息就會(huì)傳得很快。

2.開(kāi)放最短路徑優(yōu)先協(xié)議

開(kāi)放最短路徑優(yōu)先協(xié)議(OSPF)是為克服RIP協(xié)議的這些缺點(diǎn)在1989年開(kāi)發(fā)出來(lái)的。OSPF最主要的特征是使用分布式的鏈路狀態(tài)協(xié)議(Link state protocol),而不是像RIP那樣的距離向量協(xié)議。OSPF協(xié)議與RIP協(xié)議相比有3個(gè)不同要點(diǎn):

(1)向本自治系統(tǒng)中的全部路由器發(fā)送路由信息。

(2)發(fā)送的信息是說(shuō)明本路由器與哪些路由器相鄰的“鏈路狀態(tài)”及用來(lái)表示鏈路“度量”(表示費(fèi)用、距離、延時(shí)、帶寬等)的信息。

(3)只有當(dāng)鏈路狀態(tài)發(fā)生變化時(shí),路由器才向其他所有路由器發(fā)送更新信息,由于各路由器之間頻繁地交換鏈路狀態(tài)信息,所以所有路由器最終都能建立一個(gè)鏈路狀態(tài)數(shù)據(jù)庫(kù)(Link state database),這個(gè)數(shù)據(jù)庫(kù)實(shí)際上就是全網(wǎng)的拓?fù)浣Y(jié)構(gòu)圖。

為了使OSPF能夠用于規(guī)模很大的網(wǎng)絡(luò),OSPF將一個(gè)自治系統(tǒng)中的各個(gè)子網(wǎng)劃分成若干個(gè)區(qū)域(Area),每個(gè)區(qū)域都設(shè)有一個(gè)32bit的區(qū)域標(biāo)識(shí)符(用點(diǎn)分十進(jìn)制表示)。

OSPF不用用戶數(shù)據(jù)報(bào)協(xié)議(User Datagram Protocol,UDP),而是直接用IP數(shù)據(jù)報(bào)傳送。OSPF構(gòu)成的數(shù)據(jù)報(bào)很短,可減少路由信息的通信量。

為確保鏈路狀態(tài)數(shù)據(jù)庫(kù)與全國(guó)的狀態(tài)保持一致,OSPF還規(guī)定每隔一段時(shí)間,如30min,要刷新一次數(shù)據(jù)庫(kù)中的鏈路狀態(tài)。

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

兩個(gè)選擇路由信息的路由器如果分別屬于兩個(gè)自治系統(tǒng),則稱(chēng)為外部鄰站。外部鄰站使用的向其他自治系統(tǒng)通知可達(dá)信息的協(xié)議稱(chēng)為外部網(wǎng)關(guān)協(xié)議(External Gateway Protocol,EGP)。EGP支持自治系統(tǒng)(AS)之間的鄰站路由器交換可達(dá)信心、路由器持續(xù)地測(cè)試其鄰站是否有響應(yīng)以及周期地傳送路由更新報(bào)文傳送來(lái)的交換網(wǎng)絡(luò)信息。

為適應(yīng)因特網(wǎng)發(fā)展的需要,因特網(wǎng)工程組于1995年發(fā)布了邊界網(wǎng)關(guān)協(xié)議(Border Gateway Pro-tocol,BGP)作為不同自治系統(tǒng)的路由器之間交換路由信息的協(xié)議。

BGP力求尋找一條能夠到達(dá)目的網(wǎng)絡(luò)、且比較好的(不能兜圈子)路由,BGP-4(簡(jiǎn)稱(chēng)BGP)采用了路徑向量(Pathvector)的路由選擇協(xié)議。它與距離向量協(xié)議和鏈路狀態(tài)協(xié)議有很大的區(qū)別。

BGP協(xié)議交換的路由信息結(jié)點(diǎn)數(shù)與自治系統(tǒng)的數(shù)量相等,因此,這些網(wǎng)絡(luò)數(shù)比自治系統(tǒng)內(nèi)部的網(wǎng)絡(luò)數(shù)要少很多,即邊界路由器的數(shù)量是很少的。這樣就可簡(jiǎn)化路由選擇。

3.9.10 Internet接入

Internet用戶可通過(guò)計(jì)算機(jī)數(shù)字網(wǎng)、公用電話交換網(wǎng)(Public Switched Telephone Network,PSTN)、不對(duì)稱(chēng)數(shù)字用戶線(Asymmetric Digital Subscriber Line,ADSL)、CATV有線電視網(wǎng)、因特網(wǎng)接入服務(wù)商(Internet Service Provider,ISP)和無(wú)線通信網(wǎng)等多種方式接入。

1.撥號(hào)接入

因特網(wǎng)最普通的接入方法是通過(guò)電信系統(tǒng)撥號(hào)接入終端。撥號(hào)接入都要利用公用電話交換網(wǎng)(PSTN)、通過(guò)電路交換和時(shí)分復(fù)用系統(tǒng)(Time Division Multiplex,TDM)進(jìn)行。它的本地環(huán)路本質(zhì)上是模擬系統(tǒng),用調(diào)制解調(diào)器進(jìn)行信號(hào)變換和傳輸。

這種接入的缺點(diǎn)是:誤碼率高、帶寬限制、網(wǎng)絡(luò)資源浪費(fèi)和占用呼叫時(shí)間等。

綜合業(yè)務(wù)數(shù)字網(wǎng)(Integrated Service Digital Network,ISDN)具有數(shù)字本地環(huán)路的優(yōu)點(diǎn),它明顯地改善了網(wǎng)絡(luò)性能,提高了吞吐量。通過(guò)一個(gè)終端適配器(Terminal Adapter,TA),ISDN的基本速率接口可提供完全對(duì)稱(chēng)的帶寬,其數(shù)據(jù)速率可達(dá)64kbit/s或128kbit/s,可用于遠(yuǎn)程視頻會(huì)議系統(tǒng)和數(shù)字會(huì)議系統(tǒng)。

ISDN也是一種電路交換接入技術(shù),必須由因特網(wǎng)接入服務(wù)商(Internet Service Provider,ISP)提供支持,采用基群速率接口的形式,聚合速率為1.544Mbit/s,分成23個(gè)信道。

2.XDSL寬帶數(shù)字用戶線接入

XDSL(Digital Subscriber Line)數(shù)字用戶線的統(tǒng)稱(chēng),它又可分為對(duì)稱(chēng)數(shù)字用戶線(Symmetric Digital Subscriber Line,SDSL)(上行和下行速率對(duì)稱(chēng)相等)和不對(duì)稱(chēng)數(shù)字用戶線(Asymmetric Digital Subscriber Line,ADSL)(上行速率低于下行播放速率)。數(shù)據(jù)傳輸?shù)乃俾矢鶕?jù)采用的技術(shù)不同而不同。大多數(shù)情況下,接入的速度是非對(duì)稱(chēng)的,下行提供更大的帶寬。因此,ADSL獲得了更廣泛的應(yīng)用,無(wú)論是接入因特網(wǎng)還是內(nèi)部局域網(wǎng)都是完全合適的。

ADSL接入是一直打開(kāi)的,因此不需建立呼叫,也就沒(méi)有呼叫延時(shí)問(wèn)題了。

3.有線電視系統(tǒng)接入

因特網(wǎng)也可通過(guò)CATV有線電視供應(yīng)商提供接入服務(wù)。20世紀(jì)末期,一些大中型城市的CATV供應(yīng)商開(kāi)始用光纖升級(jí)他們傳統(tǒng)的同軸電纜網(wǎng)絡(luò),從而進(jìn)一步地提高了全國(guó)的傳輸性能。即使在未升級(jí)的同軸電纜網(wǎng)絡(luò)上,不僅可以播放下行電視,而且還可支持雙向Internet的存取及其他數(shù)據(jù)傳輸應(yīng)用。設(shè)備的升級(jí)可支持有線電視的雙向傳輸和上、下行專(zhuān)用數(shù)據(jù)通道傳輸,而且可以以比XDSL更優(yōu)惠的費(fèi)用向終端用戶提供高速的因特網(wǎng)接入。用于電纜傳輸?shù)恼{(diào)制解調(diào)器標(biāo)準(zhǔn)的開(kāi)發(fā)成功,促進(jìn)這種接入方案的實(shí)現(xiàn)。

與ADSL一樣,電纜調(diào)制解調(diào)器的接入也是不對(duì)稱(chēng)的,這對(duì)用戶使用更合理。

4.衛(wèi)星電視網(wǎng)接入

衛(wèi)星電視網(wǎng)絡(luò)是接入因特網(wǎng)絡(luò)的另一種方案。通過(guò)赤道上空約36000km高的地球同步通信衛(wèi)星上的轉(zhuǎn)發(fā)器接入因特網(wǎng)是很有前景的,因?yàn)橥酵ㄐ判l(wèi)星的通信覆蓋范圍可達(dá)到整個(gè)地球,而且還提供相當(dāng)大的帶寬。它的最大缺點(diǎn)是雙向連接會(huì)產(chǎn)生相當(dāng)大的延時(shí),因?yàn)樾盘?hào)往返傳輸至少需要0.64s。

主站蜘蛛池模板: 勐海县| 宁都县| 平陆县| 海晏县| 将乐县| 新田县| 筠连县| 抚宁县| 搜索| 杨浦区| 黑龙江省| 海淀区| 常熟市| 金华市| 丰镇市| 呼伦贝尔市| 绵竹市| 钟山县| 太仓市| 西吉县| 贞丰县| 潍坊市| 丁青县| 永安市| 克拉玛依市| 鲁甸县| 卢湾区| 荔浦县| 盐山县| 同德县| 凤台县| 肥乡县| 绍兴县| 张家界市| 文水县| 云和县| 岑溪市| 和平区| 盐城市| 阳信县| 柘城县|