互換接入技術支持部專題資料_第1頁
互換接入技術支持部專題資料_第2頁
互換接入技術支持部專題資料_第3頁
互換接入技術支持部專題資料_第4頁
互換接入技術支持部專題資料_第5頁
已閱讀5頁,還剩55頁未讀, 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

資料編碼產品名稱

使用對象產品版本

編寫部門資料版本

互換接入技術支持部專題資料

IP協議

擬制:日期:

審核:日期:

審核:日期:

批準:日期:

華為技術有限公司

修訂記錄

日期修訂版本描述作者

目錄

第1章序言............................................................................1

1.internet的互連網協議?IP.......................................................................................................1

1.2TCP/IP協,議分層...............................................................1

1.3TCP/IP的分層..................................................................7

1.4互聯網的地址...................................................................9

1.5封裝..........................................................................14

1.6分用..........................................................................15

1.7端標語.......................................................................17

第2章IP數據報文....................................................................21

2.1弓I言..........................................................................21

2.2IP首部.......................................................................21

第3章ARP地址解析協議.............................................................30

3.1弓I言..........................................................................30

3.2ARP舉例.....................................................................31

3.3ARP高速緩存................................................................33

3.4ARP的分組格式...............................................................34

3.5免費ARP..............................................................................................................................35

3.6ARP命令....................................................................36

第4章ICMP協議及應用程序..........................................................39

4.1ICMP協議...................................................................39

4.2Ping程序.....................................................................43

4.3Traceroute程序...............................................................45

第5章IP路由........................................................................48

5.1概述..........................................................................48

5.2路由協議簡介..................................................................48

5.3路由優先級...................................................................50

5.4靜態路由......................................................................52

5.5靜態路由的配置...............................................................54

關鍵詞:

摘要:

縮略語清單:

第1章參考資料清單:

第2章序言

2.1Internet的互連網協議?IP

2.2全球INTERNET網的廣泛應用使IP協議進一步人心。IP協議

以其簡樸、有效、開放性成為事實上的工業標準。IP協議使異種網

互聯方便可行,特別值得一提的是它對下層通信技術的巨大包容

性。

2.3IP協議作為通信子網的最高層,提供無連接的數據報傳輸機

制。IP協議是點到點的,核心問題是尋徑。它向上層提供統一的IP

數據報,使得各種物理幀的差異性對上層協議不復存在。

2.4TCP/IP協議分層

網絡協議通常分不同層次進行開發,每一層分別負責不同的誦信功能C一個

協議族,比如TCP/IP,是一組不同層次上的多個協議的組合。TCP/IP通常被

認為是一個四層協議系統,如圖1-1所示。

Telnet,FTP和mrnil等

TCP和LDP

IP、【CMP和2Mp

設備驅動程序及接口卡

圖皿TCP/IP協議族的四個層次

圖2-1TCP/IP協議族的四個層次

1.每一層負責不同的功能:

2.鏈路層,有時也稱作數據鏈路層或網絡接口層,通常涉及操作系統中的設

備驅動程序和計算機中相應的網絡接口卡。它們一起解決與電纜:或其

他任何傳輸媒介)的物理接口細節。

3.網絡層,有時也稱作互聯網層,解決分組在網絡中的活動,例如分組的選

路。在TCP/IP協議族中,網絡層協議涉及IP協議(網際協議),ICMP

協議(Internet互聯網控制報文協議),以及IGMP協議(Internet組

管理協議)。

4.運送層重要為兩臺主機上的應用程序提供端到端的通信。在TCP/IP協

議族中,有兩個互不相同的傳輸協議:TCP(傳輸控制協議)和UDP(用

戶數據報協議)。TCP為兩臺主機提供高可靠性的數據通信。它所做的

工傷涉及把應用程序交給它的數據提成合適的小塊交給下面的網絡層,

確認接受到的分組,設立發送最后確認分組的超時時鐘等。由于運送層

提供了高可靠性的端到端的通信,因此應用層可以忽略所有這些組節。

而另一方面,UDP則為應用層提供一種非常簡樸的服務。它只是把稱作

數據報的分組從一臺主機發送到另一臺主機,但并不保證該數據報能到

達另一端。任何須需的可靠性必須由應用層來提供。這兩種運送層協議

分別在不同的應用程序中有不同的用途,這一點將在后面看到。

應用層負責解決特定的應用程序細節。幾乎各種不同的TCP/IP實現都

會提供下面這些通用的應用程序:

Telnet、FTP和e-mail等

TCP和UDP

IP、ICMP和IGMP

Telnet遠程登錄

FTP文獻傳輸協議

SMTP簡樸郵件傳送協議

SNMP簡樸網絡管理協議

假設在一個局域網(LAN)如以太網中有兩臺主機,兩者都運營FTP協議,圖

1-2列出了該過程所涉及到的所有協議。

處理應用

程序細節

處理通信細節

圖2-2局域網上運營FTP的兩臺主機

這里,我們列舉了一個FTP客戶程序和另一個FTP服務器程序。大多數的網

絡應用程序都被設計成客戶一服務器模式。服務器為客戶提供某種服務,在

本例中就是訪問服務器所在主機上的文獻。在遠程登錄應用程序Telnet中,為

客戶提供的服務是登錄到服務器生機上。

在同一層上,雙方都有相應的一個或多個協議進行通信。例如,某個協議允許

TCP層進行通信,而另一個協議則允許兩個IP層進行通信。

在圖1-2的右邊,我們注意到應用程序通常是一個用戶進程,而下三層則一般

在(操作系統)內核中執行。盡管這不是必需的,但通常都是這樣解決的,例

如UNIX操作系統。

在圖1-2中,頂層與下三層之間尚有另一個關鍵的不同之處。應用層關心的是

應用程序的細節,而不是數據在網絡中的傳輸活動。下三層相應用程序一無

所知,但它們要解決所有的通信細節。

在圖1-2中列舉了四種不同層次上的協議。FTP是一種應用層協議,TCP是

一種運送層協議,IP是一種網絡層協議,而以太網協議則應用于鏈路層上。

TCP/IP協議族是一組不同的協議組合在一起構成的協議族。盡管通常稱該協

議族為TCP/IP,但TCP和IP只是其中的兩種協議而已(該協議族的另一個

名字是Internet協議族(InternetProtocolSuite)).

網絡接口層和應用層的目的是很顯然的一前者解決有關通信媒介的細節(以

太網、令牌環網等),而后者解決某個特定的用戶應用程序(FTP、Telnet

等)。但是,從表面上看,網絡層和運送層之間的區別不那么明顯。為什么要

把它們劃提成兩個不同的層次呢?為了理解這一點,我們必須把視野從單個

網絡擴展到一組網絡。

構造互連網最簡樸的方法是把兩個或多個網絡通過路由器進行連接。它是一

種特殊的用于網絡互連的硬件盒。路由器的好處是為不同類型的物理網絡提

供連接:以太網、令牌環網、點對點的鏈接和FDDI(光纖分布式數據接口)

等等。

這些盒子也稱作IP路由器(IPRouter),但我們這里使用路由器(Router)

這個術語。從歷史上說,這些盒子稱作網關(gateway),在很多TCP/IP文獻

中都使用這個術語?,F在網關這個術語只用來表達應用層網關:一個連接兩

種不同協議族的進程(例如,TCP/IP和舊M的SNA),它為某個特定的應用

程序服務(經常是電子郵件或文獻傳輸)。

圖2-3通過路由器連接的兩個網絡

圖1-3是一個包含兩個網絡的互連網:一個以太網和一個令牌環網,通過一個

路由器互相連接。盡管這里是兩臺主機通過路由器進行通信,事實上以太網

中的任何主機都可以與令牌環網中的任何主機進行通信。

在圖1-3中,我們可以劃分出端系統(Endsystem)(兩邊的兩臺主機)和

中間系統(Intermediatesystem)(中間的路由器)。應用層和運送層使用

端到端:End-to-end)協議。在圖中,只有端系統需要這兩層協議。但是,網

絡層提供的卻是逐跳(Hop-by-hop)協議,兩個端系統和每個中間系統都要

使用它。

在TCP/IP協議族乜網絡層IP提供的是一種不可靠的服務。也就是說,它只

是盡也許快地把分組從源結點送到FI的結點,但是并不提供任何可靠性保證。

而另一方面,TCP在不可靠的IP層上提供了一個可靠的運送層。為了提供這

種可靠的服務,TCP采用了超時重傳、發送和接受端到端的確認分組等機制。

由此可見,運送層和網絡層分別負責不同的功能。

從定義上看,一個路由器具有兩個或多個網絡接口層(由于它連接了兩個或

多個網絡)。任何具有多個接口的系統,英文都稱作是多接口的

(multihomed)o一個主機也可以有多個接口,但一般不稱作路由器,除非它

的功能只是單純地把分組從一個接口傳送到另一個接口。同樣,路由器并不

一定指那種在互聯網中用來轉發分組的特殊硬件盒。大多數的TCP/IP實現

也允許一個多接口主機來擔當路由器的功能,但是主機為此必須進行籽殊的

配置。在這種情況下,我們既可以稱該系統為主機(當它運營某一應用程序

時,如FTP或Telnet),也可以稱之為路由器(當它把分組從一個網絡轉發到

另一個網絡時)。在不同的場合下使用不同的術語。

2.5互聯網的目的之一是在應用程序中隱藏所有的物理細節。雖然

這一點在圖1?3由兩個網絡組成的互聯網中并不很明顯,但是應用

層不能關心(也不關心)一臺主機是在以太網上,而另一臺主機是

在令牌環網上,它們通過路由器進行互連。隨著增長不同類型的物

理網絡,也許會有20個路由器,但應用層仍然是同樣的。物理細節

的隱藏使得互聯網功能非常強大,也非常有用。

2.6連接網絡的另一個途徑是使用網橋。網橋是在鏈路層上對網絡

進行互連,而路由器則是在網絡層上對網絡進行互連。網橋使得多

個局域網(LAN)組合在一起,這樣對上層來說就仿佛是一個局域

網。

2.7TCP/IP的分層

在TCP/IP協議族中,有很多種協議。圖1-4給出了將要討論的其他協議。

圖2-4TCP/IP協議族中不同層次的協議

TCP和UDP是兩種最為著名的運送層協議,兩者都使用IP作為網絡層協議。

雖然TCP使用不可靠的IP服務,但它卻提供一種可靠的運送層服務。

IP是網絡層上的重要協議,同時被TCP和UDP使用。TCP和UDP的每組

數據都通過端系統和每個中間路由器中的IP層在互聯網中進行傳輸。在圖

1-4中,我們給出了一個直接訪問IP的應用程序。

ICMP是IP協議的附屬協議。IP層用它來與其他主機或路由器互換錯誤報文

和其他重要信息。盡管ICMP重要被IP使用,但應用程序也行也許訪問它。

我們將分析兩個流行的診斷工具,Ping和Traceroute,它們都使用了ICMP。

IGMP是Internet組管理協議。它用來把一個UDP數據報多播到多個主機。

在后續的專題中我們將具體介紹。

2.8ARP(地址解析協議)和RARP(逆地址解析協議)是某些網

絡接口(如以太網和令牌環網)使用的特殊協議,用來轉換IP層和

網絡接口層使用的地址。

2.9互聯網的地址

我們把Internet當作為一個網絡。所謂IP地址就是給每一個連接在Internet

上的主機分派一個唯一的32bit地址。IP地址的結構使我們可以Internet上

很方便地進行尋址,這就是:先按IP地址中的網絡號碼net-id把網絡找到,再

按主機號碼host-id把主機找到。所以IP地址并不只是一個計算機的號碼,而

是指出了連接到某個網絡上的某個計算機。IP地址有美國國防數據網DDN

的網絡信息中心NIC進行分派。

?為了便于對IP地址進行管理,同時還考慮到網絡的差異很大,有的網絡

擁有很多的主機,而有的網絡上的主機則很少。因此Internet的IP地址

就提成為五類,即A類到E類。這樣,IP地址由三個字段組成,即:

?類別字段(又稱為類別比特),用來區分IP地址的類型;

?網絡號碼字段net-id:

?主機號碼字段host-ido

D類地址是一種組播地址,重要是留給Internet體系結構委員會IAB(Internet

ArchitectureBoard)使用。E類地址保存在此后使用。目前大量IP地址僅A

至C類三種。

A類

B類

C類

D類

E類

圖2-5IP地址的結構

A類IP地址的網絡號碼數不多。目前幾乎沒有多余的可供分派?,F在可以申

請到的IP地址只有B類和C類兩種。當某個單位向IAB申請到IP地址時,事

實上只是拿到了一個網絡號碼net-ido具體的各個主機號碼host-id則由該單

位自行分派,只要做到在該單位管轄的范圍內無反復的主機號碼即可。

為方便起見,一般將32bit的IP地址中的每8個比特用它的等效十進制數字

表達,并且在這些數字之間加上一個點。例如,有下面這樣的IP地址:

10000000000010110000001100011111

?這是一個B類IP地址,可記為128.11331,這顯然更方便得多。

?在使用IP地址時,還要知道下列地址是保存作為特殊用途的,一般不使

用。

?全0的網絡號碼,這表達“本網絡”或“我不知道號碼的這個網絡”。

?全1的網絡號碼。

?全0的主機號碼,這表達該IP地址就是網絡的地址。

?全1的主機號碼,表達廣播地址,即對該網絡上所有的主機進行廣播。

?全0的IP地址,即。

網絡號碼為127.X.X.X.,這里X.X.X為任何數。這樣的網絡號碼用作本地軟件

回送測試(Loopbacktest)之用。

表2-1全1地址55.這表達“向我的網絡上的所有主機廣播”。原先是使用。

表2-2這樣,我們就可得出表1-1所示的IP地址的使用范圍。

表2-3IP地址的使用范圍

網絡最大第一個可用的最后一個可用每個網絡中的

類別網絡數網絡號碼的最大主機數

網絡號碼

A126112616.777.214

B16.382128.1191.25465,534

C2.097.15012.0.1223.255.254254

1.IP地址有一些重要的特點:

?.IP地址有一些是一種非等級的地址結構.這就是說,和電話號碼的結構不

同樣,IP地址不能反映任何有關主機位置的地理信息。

3.當一個主機同時連接到兩個網絡上時(作路由器用的主機即為這種情況),

該主機就必須同時具有兩個相應的IP地址,其網絡號碼net-id是不同的,

這種主機成為多地址主機(multihomedhost).

按照Inicrnct的觀點,用轉發器或網橋連接起來的若干個局域網仍為一個網絡,

因此這些局域網都具有同樣的網絡號碼net-id.

在IP地址中,所有分派到網絡號碼net-id的網絡(不管是小的局域網還是很

大的廣域網)都是平等的。

IP地址的設計有不夠合理的地方。例如,IP地址中的A至C類地址,可供分

派的網絡號碼超過211萬個,而這些網絡上的主機號碼的總數則超過37.2億

個,初看起米,似乎IP地址足夠全世界來使用,(在70年代初期設計IP地址

是就是這樣認為的)。其實不然。第一,當初沒有預計到微機會普及得如此

之快。各種局域網和局域網上的主機數目急劇增長。第二,IP地址在使用時

有很大的浪費。例如:某個單位申請到了一個B類地址。但該單位只有1萬

臺主機。于是,在一個B類地址中的其余5萬5千多個主機號碼就白白地浪

費了。由于其他單位的主機尢法使用這些號碼。

從1985年起為了使IP地址的使用更加靈活,在IP地址的網絡號碼net-id,而

后面的主機號碼host-id則是受本單位控制,由本單位進行分派。本單位所有

的主機都使用同一個網絡號碼。當一個單位的主機很多并且分布在很大的地

理范圍是,往往需要用一些網橋(而不是路由器,由于路由器連接的主機具有

不同的網絡號碼)將這些主機互連起來。網橋的缺陷較多。例如容易引起廣

播風暴,同時當網絡出現故障時也不太容易隔離和管理。為了使本單位的各

子網之間使用路由器來互連,因而便于管理。需要注意的是,子網的劃分純屬

本單位內部的是,在本單位以外是看不見這樣的劃分。從外部看,這個單位只

有一個網絡號碼。只有當外面的分組進入到本單位范圍后,本單位的路由器

在根據子網號碼進行選路,最后找到目的主機。若本單位按照主機所在的地

理位置劃分子網,那么在管理方面就會方便得多。

這里應注意,TCP/IP體系的“子網”(subnet)是本單位網絡內的一個更小

些的網絡,和前面講的OSI體系中的子網(subnetwork)不同。它們的英文

名字不同,但中文譯名都是同樣的。

圖1-6說明是在劃分子網時要用到的子網掩碼(subnetmask)的意義。圖

1-6(a)舉了一個B類IP地址作為例子。圖1-6(b)表達將本地控制部分

再增長一個子網字段,子網號字段究竟詵為多長,由本單位根據情況擬定。

TCP/IP體系規定用一個32bit的子網掩碼來表達子網號字段的長度。具體的

做法是:子網掩碼由一連串的“1”和一連串的“0”組成?!?”相應于網絡

號碼和子網號碼字段,而“0”相應于主機號碼字段(圖1-6(c))

多劃分出一個子網號碼字段是要付出代價的。例如,對于圖4的例子,本來一

個B類IP地址可以容納65534個主機號碼。但劃分出6bit長的子網字段后,

最多可有62個子網(去掉全1和全0的子網號碼)。每個子網有10bit的主

機號碼,即每個子網最多可有1022個主機號碼。因此主機號碼的總數是

62*1022=63364個。比不劃分子網時要少了一些。

若一個單位不進行子網的劃分,則其子網掩碼即為默認值,此時子網掩碼中

“1”的長度就是網絡號碼的長度。因此,對于A,B和C類IP地址,其相應

的子網掩碼默認值分別為,和o

本地分配

B類地址net-idhost-id

(a)

.廣網號I主網號》

增加子網net-idSubnethost-id

號字段-id

i

子網掩碼1111111111111111111111|oo0000(X)00

圖2-6子網掩碼作用示意圖

2.10圭寸裝

當應用程序用TCP傳送數據時,數據被送入協議棧中,然后逐個通過每一層

直到被當作?申比特流送入網絡。其中每?層對收到的數據都要增長?些首

部信息:有時還要增長尾部信息),該過程如圖1-7所示。TCP傳給IP的

數據單元稱作TCP報文段或簡稱為TCP段(TCPsegment)0IP傳給網絡

接口層的數據單元稱作IP數據報(IPdatagram).通過以太網傳輸的比特

流稱作幀(Frame)?

圖1-7中幀頭和幀尾下面所標注的數字是典型以太網幀首部的字節長度。在

后面的章節中我們將具體討論這些幀頭的具體含義。

以太網數據幀的物理特性是其長度必須在46?1500字節之間。由于現在幾

乎所有的計算機系統都采用8bit的字節,因此我們在本書中使用字節(byte)

這個術語。

圖2-7數據進入協議棧時的封裝過程

UDP數據與TCP數據基本一致。唯一的不同是UDP傳給IP的信息單元稱

作UDP數據報(UDPdatagram),并且UDP的首部長為8字節。

由丁TCP、UDP.ICMP和IGMP都要向IP傳送數據,因此IP必須在牛.成的

IP首部中加入某種標記,以表白數據屬于哪一層。為此,IP在首部中存入一個

長度為8bit的數值,稱作協議域。1表達為ICMP協議,2表達為IGMP協議,6

表達為TCP協議,17表達為UDP協議,

2.11類似地,許多應用程序都可以使用TCP或UDP來傳送數據。

運送層協議在生成報文首部時要存入一個應用程序的標記符。TCP

和UDP都用一個16bit的端標語來表達不同的應用程序。TCP和

UDP把源端標語和目的端標語分別存入報文首部中。

2.12網絡接口分別要發送和接受IP、ARP和RARP數據,因此也

必須在以太網的幀首部中加入應用程序某種形式的標記,以指明生

成數據的網絡層協議。為此,以太網的幀首部也有一個16bit的幀

類型域。

2.13分用

當目的主機收到一個以太網數據幀時,數據就開始從協議棧中由底向上升,同

時去掉各層協議加上的報文首部。每層協議盒都要去檢查報文首部中的協議

標記,以擬定接受數據的上層協議。這個過程稱作分用(Demultiplexing),圖

1-8顯示了該過程是如何發生的。

進入的幀

圖2-8以太網數據幀的分用過程

2.14為協議ICMP和IGMP定位一直是一件很棘手的事情。在圖

1-4中,把它們與IP放在同一層上,那是由于事實上它們是IP的附

屬協議°但是在這里,我們又把它們放在IP層的上面,這是由于

ICMP和IGMP報文都被封裝在IP數據報中。

2.15對于ARP和RARP,我們也碰至IJ類似的難題。在這里把它們

放在以太網設備驅動程序的上方,這是由于它們和IP數據報同樣,

都有各自的以太網數據幀類型。但在圖2-4中,我們又把ARP作為

以太網設備驅動程序的一部分,放在IP層的下面,其因素在邏輯上

是合理的。

2.16端標語

前面已經指出過,TCP和UDP采用16bit的端標語來辨認應用程序。那么這

些端標語是如何選擇的呢?

服務器一般都是通過知名端標語來辨認的。例如,對于每個TCP/IP實現來說,

FTP服務器的TCP端標語都是21,每個Telnet服務器的TCP端標語都是23,

每個TFTP(簡樸文獻傳送協議)服務器的UDP端標語都是69o任何TCP/IP

實現所提供的服務都用知名的1?1023之間的端標語。這些知名端標語由

Internet號分派機構(InternetAssignedNumbersAuthority,IANA)來管理。

到1992年為止,知名端標語介于1?255之間。256?1023之間的端標語通

常都是由Unix系統占用,以提供一些特定的Unix服務一也就是說,提供一些

只有Unix系統才有的、而其他操作系統也許不提供的服務?,F在IANA管理

1?1023之間所有的端標語。

Internet擴展服務與Unix特定服務之間的一個差別就是Telnet和Rlogin。它

們兩者都允許通過計算機網絡登錄到其他主機上。Telnet是采用端標語為23

的TCP/IP標準且幾乎可以在所有操作系統上進行實現。相反,Rlogin最開始

時只是為Unix系統設計的(盡管許多非Unix系統現在也提供該服務),因此

在80年代初,它的有名端標語為513.

客戶端通常對它所使用的端標語并不關心,只需保證該端標語在本機上是唯

一的就可以了??蛻舳藰苏Z乂稱作臨時端標語(即存在時間很短哲)。這是

由于它通常只

是在用戶運營該客戶程序時才存在,而服務器則只要主機開著的,其服務就運

營。

大多數TCP/IP實現給臨時端口分派1024?5000之間的端標語。大于5000

的端標語是為其他服務器預留的(Internet上并不常用的服務)。我們可以

在后面看見許多這樣的給臨時端口分派端標語的例子。

保存端標語。(RFC1340)

這些端標語介于1?1023之間,一些應用程序(如有名的Rlogin,26.2節)

將它作為客戶與服務器之間身份認證的一部分。

1.8標準化過程/RFC

1.究竟是誰控制著TCP/IP協議族,又是誰在定義新的標準以及其他類似的

事情?事實上,有四個小組在負責Internet技術。

2.Internet協會(ISOC,InternetSociety)是一個推動、支持和促進Internet

不斷增長和發展的專業組織,它把Internet作為全球研究通信的基礎設

施。

3.Internet體系結構委員會(IAB,InternetArchitectureBoard)是一個技

術監督和協調的機構。它由國際上來自不同專業的15個志愿者組成,其

職能是負責Internet標準的最后編輯和技術審核。IAB從屬于ISOC。

Internet工程專門小組(IETF,InternetEngineeringTaskForce)是一個面

向近期標準的組織,它分為9個領域(應用、尋徑和尋址、安全等等)。IETF

開發成為Internet標準的規范。為幫助IETF主席,乂成立了InternetI:程指

導小組UESG,InternetEngineeringSteeringGroup)。

Internet研究專門小組(IRIF,InternetResearchTaskForce)重要對長遠

的項目進行研究。IRTF和IETF都從屬于?IAB。文獻[Crocker1993]提供了關

于Internet內部標準化進程更為具體的信息,同時還介紹了它的初期歷史。

所有關于Internet的正式標準都以RFC(RequestforComment)文檔出版。

此外,大量的RFC并不是正式的標準,出版的目的只是為了提供信息。RFC

的篇幅從1頁到200頁不等。每一項都用一個數字來標記,如RFC1122,數

字越大說明RFC的內容越新。所有的RFC都可以通過電子郵件或用FTP從

Internet上免費獲取。

第3章IP數據報文

3.1引言

IP是TCP/IP協議族中最為核心的協議。所有的TCP、UDP、ICMP及IGMP

數據都以IP數據報格式傳輸。IP提供大可靠、無連接的數據報傳送。

不可靠(unreliable)的意思是它不能保證IP數據報能成功地到達目的地。

IP僅提供最佳的傳輸服務。假如發生某種錯誤時,如某個路由器暫時用完了

緩沖區,IP有一個簡樸的錯誤解決算法:丟棄該數據報,然后發送ICMF消息

報給信源端。任何規定的可靠性必須由上層來提供(如TCP)。

無連接:connectionless)這個術語的意思是IP并不維護任何關于后續數據

報的狀態信息。每個數據報的解決是互相獨立的。這也說明,IP數據報可以

不按發送順序接受。假如一信源向相同的信宿發送兩個連續的數據報:先是

A,然后是B),每個數據報都是獨立地進行路由選擇,也許選擇不同的路線,因

此B也許在A到達之前先到達。

RFC791[Postel1981a]是IP的正式規范文獻。

3.2IP首部

在TCP/IP的標準中,各種數據格式經常以32bit(即4字節)為單位來描述。

圖3-1IP首部封裝示意圖

一個IP數據報由首部和數據兩部分組成。首部的前一部分長度是固定的20

個字節,后面部分的長度則是可變長度。下面介紹首部各字段的意義。

IP數據報首部的固定部分

1.版本

版本字段站4bit,指IP協議的版本。通信雙方使用的IP協議的版本必須一致。

目前使用的IP協議版本為4。

2.首部長度

3.首部長度字段占4bit,可表達的最大數值是15個單位(一個單位為4字

節),因此IP的首部長度的最大值是60字節。當IP分組的首部長度不

是4字節的整數倍時,必須運用最后一個填充字段加以填充。這樣,數據

部分永遠在4字節的整數倍時開始,這樣在實現起來會比較方便。首部

長度限制為60字節的缺陷是有時(如采用源站選路時)不夠用。但這

樣做的用意是要用戶盡量減少額外的開銷。

4.服務類型

服務類型字段共8bit長,用來獲得更好的服務,其意義見圖6的上面部分所

/Ko

5.服務類型字段的前三個比特表達優先級,它可使數據報具有8個優先級

中的一個。

6.第4個比特是D比特,表達規定有更低的時延。第5個比特是T比特,表

達規定有更高的吞吐量。第6個比特是R比特,表達規定有更高的可靠

性,即在數據報傳的過程中,被結點互換機丟棄的概率要更小些。第7個

比特是C比特,是新增長的,表達規定選擇價格更低廉的路由。最后一個

比特目前尚未使用。

7.總長度

8.總長度指首部和數據之和的長度,單位為字節。總長度字段為16b%因此

數據報的最大長度為65535字節。這在當前是夠用的。

9.當很長的數據報要分段進行傳送時,“總長度”不是指未分段前的數據

報長度,而是指分段后每個段的首部長度與數據長度的總和。

10.標記

11.標記字段的意義和OSI的IPDU中的數據單元標記符的意義同樣,是為

了使分段后的各數據報段最后能準確地重裝成為本來的數據報。請注意:

這里的“標記”并沒有順序號的意思,由于IP是無連接服務,數據報不存

在按序接受的問題。

12.標志

標志字段占3bit。目前只有前兩個比特故意義。

標志字段中的最低位記為MF(MoreFragment)。MF=1即表達后面尚有分

段的數據報。MF=0表達這已是若干數據報段中的最后一個。

標志字段中間的一位記為DF(DorYtFragment)。只有當DF=0時才允許分

段。

13.段偏移

14.段偏移字段的意義和OSI的IPDU中規定的相似,只是表達的單位不同。

這里是以8個字節為偏移單位。可見IP數據報的段偏移字段(13bit長)

和OSI的IPDU的段偏移字段(16bit長)是相稱的。

15.壽命

16.壽命字段記為TTL(TimeToLive),其單位為秒。壽命的建議值是32

秒。但也可設定為3-4秒,或甚至255秒。

17.協議

18.協議字段占8bit,它指出此數據攜帶的運送層數據是使用何種協議,以便

目的主機的IP層知道應將此數據報上交給哪個進程。常用的一些協議和

響應的協議字段值(寫在協議后面的括弧中)是:UDP(17),TCP(6),

ICMP(1),GGP(3),EGP(8),IGP(9),OSPF(89),以及ISO

的TP4(29)。

19.首部檢查和

20.此字段只檢杳數據報的首部,不涉及數據部分。不見眼數據部分是由于

數據報每通過一個結點,結點解決機就要重新計算一下首部檢查和(一

些字段,如壽命、標志、段偏移等都也許發生變化)。如將數據部分一

起檢查,計算的工作量就太大了。

21.地址

源站IP地址字段和目的站IP地址字段都各占4字節。

圖3-2Option選項

IP首部的可變部分

IP首部的可變部分就是一個任選字段。任選字段用來支持排錯、測量以及安

全等措施,內容很豐富。此字段的長度可變,從一個字節到40個字節不等,取

決于所選擇的項FI。某些任選項H只需要一個字節.,它只涉及一個字節的任

選代碼,圖7畫的是任選代碼的格式。尚有些任選項FI需要多個字節,但其第

一個字節的格式仍為圖7所示的那樣。這些任選項一個個拼接起來,中間不

需要有分隔符,最后用全0的填充字段補齊成為4字節的整數倍。

可以看出任選代碼共有三個字段。

第一個字段是復制字段,占1bit,它的作用是控制網絡中的路由淵在將數據報

進行分段時所作的選擇。當復制字段為1時,必須將此任選字段復制到每一

個數據報段。而當復制字段為0時,就只復制到第一個數據報段上。

第二個字段是任選類別字段,占2bit.但目前只有兩種可供選用,如圖2-3:

任選類別意義

0數據報或網絡控制(主要是這一類)

1保留今后使用

2排錯和測量,即Internet時間戳

3保留今后使用

圖8任選類別及意義

圖3-3任選類別以及意義

第三個字段是任選編號,占5個字節\它指出任選是做什么用的。

屬于任選類別0的有下列一些任選編號:

任選編號為0:指出這是任選項目中的最后一個。

任選編號為1:無操作,用于需要按每4個字節對齊之用。和填充字段的功能

是同樣的。

以上兩種都是只使用一個字節的任選代碼。下面的幾種則要使用若干個字節。

任選編號為2:為安全用的。只用在美國國防系統來傳送機密文獻。路由器在

檢測到這一安全任選項目時,就要使該數據報不要離開安全的環境。在商業

上尚無此應用。

任選編號為7:為記錄路由用的,其長度是可變的。圖2-4是記錄路由的任選

項目的格式。

08162431

任選代碼|長度|指針

第一個IP地址

第二個IP地址

圖9記錄路由的任選項目的格式

圖3-4記錄路由的任選項目的格式

這種數據報是用來監視和控制互連網中的路由器是如何轉發數據報的。源站

發出一個空白的表,讓數據報所通過的個路由填上其IP地址,以獲得路由信

息。

1.前三個字節是:

2.任選代碼字段--其中的三個字段分別填入0,0,和70

3.長度字段一填入此任選項目的長度,涉及這前三個字節。

4.指針字段--指出下一個可填入IP地址的空白位置的偏移量。

在這之后,就是若干個4字節長的IP地址,讓各個路由器填入。當一個路由

器收到包具有記錄路由任選項目的數據報時,先檢查指針所指的位置是否超

過了表的長度。如不超過,則填入自己的IP地址,并將指針值加4,然后轉發

出去。但如表已填滿,則不填入自己的IP地址,而僅僅轉發此數據報。

一般的計算機在受到這樣的數據報是,并不會理睬該數據報中所記錄的路由。

因此,源站必須和有關的站主機在、協商好,請目的主機在收到記錄的路由信

息后,將路由信息提取出來,并發回源站。

下面兩任選項目都是關于源站選路的。

任選編號為3:不嚴格的源站選路(loosesourcerouting),其長度是可變的。

任選編號為9:嚴格的源站選路(striclsourcerouting),其長度也是可變的。

源站選路本來是源站將數據報傳送的路由事先規定好。嚴格的源站選路不允

許改變源站規定好的路由。但不嚴格的源站選路允許在數據報傳送的過程中,

將路由表中源站已規定要通過的一些路由器,改換成別的路由器。

源站選路任選項目的格式與圖記錄路由的相似。前面也是三個固定的字節,但

任選代碼字節中的三個字段應分別填入1,0和3(不嚴格的源站選路)以及

1,0和9(嚴格源站選路)。此外,這三個字節后的IP地址表不是空的,而是

事先由源站寫好的。數據報按源站指定的路由傳送。當路由器收到此數據報

后,若指針已超過表的范圍,則轉發此數據報,不寫任何數據。若指針的指示

是對的的,則填入自己的IP地址(覆蓋掉本來的IP地址),并按照表中指出的

一下一個地址轉發出去。這里要注意:一個路由器有兩個或兩個以上IP地址。

本來在這個任選項目路由表中寫入的是路由器的入口IP地址,而路由器寫的

IP地址則是路由器的出口IP地址。

在數據報中加入源站選路任選項H,可以使網絡的管理者了解沿網絡中的某

一條通路的通信狀況是否正常。一般的用戶并不使用這一功能。

最后一個任選項目是Internet的時間戳。

任選編號為4:作時間戳用,其長度是可變的。格式和圖類似,但一開始除了本

來的任選代碼字段(填入0,2和4)、長度字段和指針字段這三個字節外再加

上一個字節的溢出和標志兩個字段。標志字段區分幾種情況:(1)只寫入時間

戳;(2)寫入IP地址和時間戳;(3)IP地址由源站規定好,路由器只寫入

時間戳。溢出字段寫入一個數,此數值即數據報所通過的路由器的最大數目

(考慮到太多的時間戳也許會寫不下)O

時間戳記錄了路由器收到數據報的日期和時間,占用了4個字節。時間的單

位是亳秒,是從半夜算起的通用時間(UniversalTimer),也就是以前的格林尼

治時間。當網絡中的主機的木地時間和時鐘不一致時,記錄的時間戳會有一

些誤差。時間戳可用來記錄數據報經路由器產生的時延和時延的變化。

第4章ARP地址解析協議

4.1引言

數據鏈路如以太網或令牌環網都有自己的尋址機制(經常為48bit地址),這

是使用數據鏈路的任何網絡層都必須遵從的。一個網絡如以太網可以同時被

不同的網絡層使用。例如,一組使用TCP/IPI辦議的主機和另一組使用某種P

C網絡軟件的主機可以共享相同的電纜。

當一臺主機把以太網數據幀發送到位于同一局域網上的另一臺主機時,是根

據48bit的以太網地址來擬定目的接口的。設備驅動程序從不檢瓷IP數據

報中的目的IP地址。

地址解析為這兩種不同的地址形式提供映射:32bit的IP地址和數據鏈路層

使用的任何類型的地址。RFC826[Plummerl982]是ARP規范描述文檔。

ARP為IP地址到相應的硬件地址之間提供動態映射.我們之所以用動態

這個詞是由于這個過程是自動完畢的,一般應用程序用戶或系統管理員不必

關心。

32位Internet地址

ARPRARP

48位以太網地址

圖4-1ARP協議

4.2ARP舉例

圖4-2ARP舉例

圖3-2當用戶輸入命令"ftp主機名”時ARP的操作

1.圖3-2所示,顯示了ARP的解析過程。

2.應用程序卜IP'客戶端調用函數把主機名(bsdi)轉換成32bit的IP地址。

3.FTP客戶端請求TCP用得到的IP地址建立連接。

4.TCP發送一個連接請求分段到遠端的主機,即用上述IP地址發送一份I

P數據報。

5.假如目的主機在本地網絡L(如以太網、令牌環網或點對點鏈接的另一

端),那么IP數據報可以直接送到目的主機上。假如目的主機在一個遠

程網絡匕那么就通過IP選路函數來擬定位于本地網絡上的下一站路由

器地址,井讓它轉發IP數據報。在這兩種情況下,IP數據報都是被送到

位于本地網絡上的一臺主機或路由器。

6.假定是一個以太網,那么發送端主機必須把32bit的IP地址變換成48

bit的以太網地址。從邏輯Internet地址到相應的物理硬件地址需要進行

翻諾。這就是ARP的功能。ARP本來是用于廣播網絡的,有許名主

機或路由器連在同一個網絡上。

7.ARP發送一份稱作ARP請求的以太網數據幀給以太網上的每個主

機。這個過程稱作廣播,如圖3-2中的虛線所示。ARP請求數據幀中

包含目的主機的IP地址(主機名為bsdi),其意思是“假如你是這個

IP地址的擁有者,請回答你的硬件地址?!?/p>

8.目的主機的ARP層收到這份廣播報文后,辨認出這是發送端在尋問它

的IP地址,于是發送一個ARP應答。這個ARP應答包含IP地址及

相應的硬件地址。

9.收到ARP應答后,使ARP進行請求一應答互換的IP數據報現在就

可以傳送了。

10.發送IP數據報到目的主機。

4.3在ARP背后有一個基本概念,那就是網絡接口有一個硬件地址

(一個48bit的值,標記不同的以太網或令牌環網絡接口)。在硬

件層次上進行的數據幀互換必須有對的的接口地址。但是,TCP/IP

有自己的地址:32bit的IP地址。知道主機的IP地址并不能讓內

核發送一幀數據給主機。內核(如以太網驅動程序)必須知道目

溫馨提示

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

評論

0/150

提交評論