




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)基礎(chǔ)第4章04TCP/IP協(xié)議簇章節(jié)導(dǎo)讀不同的廠家生產(chǎn)的計(jì)算機(jī)運(yùn)行的操作系統(tǒng)可能完全不同,卻因?yàn)橛辛薚CP/IP協(xié)議簇而能夠進(jìn)行相互通信。TCP/IP協(xié)議簇包含很多協(xié)議,其中最核心的3個(gè)協(xié)議是網(wǎng)際協(xié)議(internetprotocol,IP)、傳輸控制協(xié)議(transmissioncontrolprotocol,TCP)和用戶數(shù)據(jù)報(bào)協(xié)議(userdatagramprotocol,UDP)。本章就來(lái)介紹這3個(gè)較核心的協(xié)議,以及地址解析協(xié)議(addressresolutionprotocol,ARP)和網(wǎng)際控制報(bào)文協(xié)議(internetcontrolmessageprotocol,ICMP)。學(xué)
習(xí)
目
標(biāo)掌握IP數(shù)據(jù)報(bào)的格式。掌握IPv4地址的結(jié)構(gòu)和分類。掌握TCP傳輸連接的建立和釋放過(guò)程。理解子網(wǎng)掩碼的概念,掌握子網(wǎng)劃分的方法。理解地址解析協(xié)議ARP和網(wǎng)際控制報(bào)文協(xié)議ICMP的工作原理和應(yīng)用。了解IPv6地址的結(jié)構(gòu)和特點(diǎn)。掌握UDP的概念、特點(diǎn)、端口號(hào)分配和數(shù)據(jù)報(bào)格式。掌握TCP的概念、特點(diǎn)、端口號(hào)分配和數(shù)據(jù)報(bào)格式。掌握TCP傳輸連接的建立和釋放過(guò)程。4.1網(wǎng)際協(xié)議IP網(wǎng)際協(xié)議IP是一個(gè)網(wǎng)絡(luò)層協(xié)議,它包含尋址信息和控制信息,可使數(shù)據(jù)包在網(wǎng)絡(luò)中路由。IP協(xié)議是TCP/IP協(xié)議簇中最為核心的協(xié)議。與IP協(xié)議配套使用的還有4個(gè)子協(xié)議:地址解析協(xié)議ARP(AddressResolutionProtocol,ARP);逆地址解析協(xié)議RARP(ReverseAddressResolutionProtocol,RARP);因特網(wǎng)控制報(bào)文協(xié)議ICMP(InternetControlMessageProtocol,ICMP);因特網(wǎng)組管理協(xié)議(InternetGroupManagementProtocol,IGMP)。4.1網(wǎng)際協(xié)議IP4.1.1IP數(shù)據(jù)報(bào)圖4-1IP數(shù)據(jù)報(bào)的格式IP協(xié)議定義了一個(gè)在Internet上傳輸?shù)幕緮?shù)據(jù)單元,稱為IP數(shù)據(jù)報(bào)(IPdatagram),其格式如圖4-1所示。IP數(shù)據(jù)報(bào)包含報(bào)頭和數(shù)據(jù)兩個(gè)部分,數(shù)據(jù)是高層傳輸?shù)臄?shù)據(jù),而報(bào)頭是為了正確傳輸數(shù)據(jù)而增加的控制信息。4.1網(wǎng)際協(xié)議IPIP數(shù)據(jù)報(bào)報(bào)頭包含了一些必要的控制信息,由20個(gè)字節(jié)的固定部分和變長(zhǎng)的可選項(xiàng)部分組成。已知最高位在左邊,記為0位;最低為在右邊,記為31位。那么報(bào)頭中各字段的內(nèi)容如下:(1)版本。版本字段占4位,用來(lái)表明IP協(xié)議的版本。目前廣泛使用的IP協(xié)議版本號(hào)為4(即IPv4),其版本字段為0100。(2)首部長(zhǎng)度。首部長(zhǎng)度字段占4位,表示數(shù)據(jù)報(bào)頭的長(zhǎng)度。(3)區(qū)分服務(wù)。區(qū)分服務(wù)字段占8位,指示數(shù)據(jù)報(bào)內(nèi)容的優(yōu)先權(quán)或者優(yōu)先級(jí)。這個(gè)字段在舊標(biāo)準(zhǔn)中叫做服務(wù)類型,在一般情況下都不使用該字段。只有在使用區(qū)分服務(wù)時(shí),這個(gè)字段才起作用。4.1網(wǎng)際協(xié)議IP(4)總長(zhǎng)度??傞L(zhǎng)度字段是指整個(gè)IP數(shù)據(jù)報(bào)的長(zhǎng)度(以字節(jié)為單位),包括數(shù)據(jù)報(bào)頭和數(shù)據(jù)。由于該字段占16位,所以IP數(shù)據(jù)報(bào)最長(zhǎng)可達(dá)65535字節(jié)。在IP層下面的每一種數(shù)據(jù)鏈路層協(xié)議都規(guī)定了一個(gè)數(shù)據(jù)幀中的數(shù)據(jù)字段的最大長(zhǎng)度,這個(gè)最大長(zhǎng)度被稱為最大傳送單元(MaximumTransmissionUnit,MTU)。當(dāng)一個(gè)IP數(shù)據(jù)報(bào)在鏈路層封裝成幀時(shí),此IP數(shù)據(jù)報(bào)的總長(zhǎng)度一定不能超過(guò)數(shù)據(jù)鏈路層所規(guī)定的MTU。(5)標(biāo)識(shí)符。標(biāo)識(shí)符占16位,每個(gè)數(shù)據(jù)報(bào)都必須由唯一的標(biāo)識(shí)符來(lái)標(biāo)識(shí),以便使接收端能重裝被分段的數(shù)據(jù)包。當(dāng)IP對(duì)數(shù)據(jù)段進(jìn)行分段的時(shí)候,它將給所有的段分配一組編號(hào),然后將這些編號(hào)放入標(biāo)識(shí)符字段,保證分段不會(huì)被錯(cuò)誤地進(jìn)行重組。4.1網(wǎng)際協(xié)議IP(6)標(biāo)志。標(biāo)志字段占用3位,但只有低兩位有效:標(biāo)志字段的最低位記為MF(MoreFragment),又稱最終分段標(biāo)志。當(dāng)MF=1時(shí),表示該數(shù)據(jù)報(bào)后還有分片的數(shù)據(jù)報(bào);當(dāng)MF=0時(shí),表示該數(shù)據(jù)報(bào)是最后一個(gè)分片。標(biāo)志字段的中間一位記為DF(Don’tFragment),又稱禁止分段標(biāo)志。當(dāng)DF=1時(shí),表示該數(shù)據(jù)包不能分片;當(dāng)DF=0時(shí),才允許分片。(7)片偏移。片偏移字段占13位,用于指出在較長(zhǎng)的分組在分片后,某片在原分組中的相對(duì)位置。片偏移以8個(gè)字節(jié)為偏移單位,也就是說(shuō),每個(gè)分片的長(zhǎng)度一定是8字節(jié)(64位)的整數(shù)倍。(8)生存周期(TimeToLive,TTL)。TTL值用于限制數(shù)據(jù)報(bào)在網(wǎng)絡(luò)中的生存時(shí)間。數(shù)據(jù)報(bào)每經(jīng)過(guò)一個(gè)路由器,該路由器將減少TTL的值;當(dāng)TTL的值為0的時(shí)候,該數(shù)據(jù)報(bào)將被丟棄。這樣可以防止一個(gè)數(shù)據(jù)報(bào)在網(wǎng)絡(luò)中無(wú)限循環(huán)地轉(zhuǎn)發(fā)下去。4.1網(wǎng)際協(xié)議IP(9)協(xié)議。協(xié)議字段占8位,用于指定數(shù)據(jù)區(qū)中攜帶的消息是由哪種高級(jí)協(xié)議建立的。常用的協(xié)議和相應(yīng)的協(xié)議字段值如下:(10)首部校驗(yàn)和。首部校驗(yàn)和是一個(gè)16位的循環(huán)冗余校驗(yàn)碼,其值等于IP報(bào)頭內(nèi)每一個(gè)字段中包含的值的和。該字段用于保證頭部數(shù)據(jù)的完整性和傳輸?shù)恼_性。IP數(shù)據(jù)報(bào)每經(jīng)過(guò)一個(gè)路由器,路由器都檢查該校驗(yàn)和的值并進(jìn)行更新,這是因?yàn)閳?bào)頭中的TTL值、標(biāo)志、片偏移等值可能發(fā)生變化。(11)源IP地址和目的IP地址。源IP地址及目的IP地址均占32位,分別用于指定發(fā)送IP數(shù)據(jù)報(bào)的源主機(jī)地址和接收IP數(shù)據(jù)報(bào)的目的主機(jī)地址。協(xié)議名稱ICMPIGMPIPTCPEGPIGPUDPIPv6ESPOSPF協(xié)議字段值12468917415089(12)可選字段??蛇x字段長(zhǎng)度可變,從1個(gè)字節(jié)到40個(gè)字節(jié)不等,用來(lái)支持排錯(cuò)、測(cè)量及安全等措施。增加可選字段是為了增加IP數(shù)據(jù)報(bào)的功能,但同時(shí)也使得IP數(shù)據(jù)報(bào)的首部長(zhǎng)度不固定,增加了路由器處理數(shù)據(jù)報(bào)的開(kāi)銷。4.1網(wǎng)際協(xié)議IP4.1.2IP地址當(dāng)網(wǎng)絡(luò)中的兩臺(tái)主機(jī)要進(jìn)行通信時(shí),必須知道通信雙方各自的地址,這就是我們所理解的Internet地址,即IP地址。IP地址實(shí)際上是一種標(biāo)識(shí)符,TCP/IP協(xié)議通過(guò)IP地址來(lái)識(shí)別網(wǎng)絡(luò)中不同的主機(jī)。IP地址的表示1IP地址由32位二進(jìn)制數(shù)組成。例如,某臺(tái)主機(jī)的IP地址為11000001001000001101100000001001。為了記憶方便,可以將IP地址的32位二進(jìn)制數(shù)進(jìn)行分段,每段8位,共4段,然后將每段8位二進(jìn)制數(shù)轉(zhuǎn)換為相應(yīng)的十進(jìn)制數(shù),中間用“﹒”間隔,這種表達(dá)方式稱為“點(diǎn)分十進(jìn)制”。也就是說(shuō),上述IP地址可以表示成,如圖4-2所示。4.1網(wǎng)際協(xié)議IP圖4-2點(diǎn)分十進(jìn)制表示IP地址從概率學(xué)的角度看,32位二進(jìn)制數(shù)能表達(dá)232種不同的情況。也就是說(shuō),按照IP地址的設(shè)計(jì)初衷考慮,32位的地址空間可以表達(dá)4294967296個(gè)不同的Internet地址。4.1網(wǎng)際協(xié)議IPIP地址的分類2每個(gè)IP地址內(nèi)部分成兩部分,即網(wǎng)絡(luò)號(hào)和主機(jī)號(hào),如圖4-8所示。網(wǎng)絡(luò)號(hào):也叫做網(wǎng)絡(luò)地址,用于標(biāo)識(shí)大規(guī)模TCP/IP網(wǎng)際網(wǎng)絡(luò)(即由網(wǎng)絡(luò)組成的網(wǎng)絡(luò))內(nèi)的單個(gè)網(wǎng)段。主機(jī)號(hào):也叫做主機(jī)地址,用于識(shí)別每個(gè)網(wǎng)絡(luò)內(nèi)部的TCP/IP節(jié)點(diǎn),如工作站、服務(wù)器、路由器或其他TCP/IP設(shè)備。圖4-8IP地址的結(jié)構(gòu)4.1網(wǎng)際協(xié)議IPIP地址中的網(wǎng)絡(luò)號(hào)和主機(jī)號(hào)總共32位(4個(gè)字節(jié)),那么,如果網(wǎng)絡(luò)號(hào)占總地址空間比較少,相應(yīng)的主機(jī)號(hào)位數(shù)就增多,這樣的網(wǎng)絡(luò)容納的主機(jī)數(shù)就比較多,也就是說(shuō)網(wǎng)絡(luò)規(guī)模就比較大;反之亦然。因網(wǎng)絡(luò)規(guī)模有所不同,為了方便網(wǎng)絡(luò)的管理,IP地址分為A、B、C、D、E五類,如圖4-4所示。圖4-4IP地址分類4.1網(wǎng)際協(xié)議IPA、B、C類地址稱之為單目傳送地址,這些地址通常只能分配給唯一的主機(jī);D類地址是組播地址;E類地址則是在IP地址設(shè)計(jì)之初保留作為科學(xué)研究用的。各類IP地址類別詳述如表4-3所示。表4-2IP地址類別詳述IP地址類型二進(jìn)制固定最高位二進(jìn)制網(wǎng)絡(luò)位二進(jìn)制主機(jī)位網(wǎng)絡(luò)號(hào)地址范圍每個(gè)網(wǎng)絡(luò)中最多可容納主機(jī)數(shù)A類08位24位~224-2B類1016位16位~216-2C類11024位8位~28-2(254)D類1110組播地址~55——E類11110保留地址~55——4.1網(wǎng)際協(xié)議IP特殊IP地址3在IP地址中,有一些特殊地址被賦予特殊的作用。主機(jī)地址全為1的IP地址稱為廣播地址。廣播地址專門(mén)用于同時(shí)向網(wǎng)絡(luò)中所有主機(jī)發(fā)送數(shù)據(jù)。例如,對(duì)于IP地址為的C類網(wǎng)段,當(dāng)發(fā)出一個(gè)目的地址為55的分組時(shí),它將被分發(fā)給該網(wǎng)段上的所有主機(jī)。廣播地址又分為直接廣播地址和有限廣播地址兩種。直接廣播地址有網(wǎng)絡(luò)號(hào),但主機(jī)字段通常全為1,這類廣播會(huì)被送到專門(mén)網(wǎng)絡(luò)(由網(wǎng)絡(luò)號(hào)決定)上的每臺(tái)主機(jī)。有限廣播地址是指網(wǎng)絡(luò)字段和主機(jī)字段全為1的地址,即55,它不被路由但會(huì)被送到相同物理網(wǎng)絡(luò)段上的所有主機(jī)。1)廣播地址4.1網(wǎng)際協(xié)議IP組播地址就是前面講的D類地址,主要用于視頻廣播和視頻點(diǎn)播系統(tǒng),IP地址范圍從到55。其中,特指所有主機(jī),特指所有路由器。組播地址和廣播地址是不一樣的:廣播地址按主機(jī)的物理位置來(lái)劃分各組,而組播地址指定一個(gè)特定的邏輯組,參與該組的計(jì)算機(jī)可能遍布整個(gè)Internet。2)組播地址網(wǎng)絡(luò)地址是127的IP地址稱為環(huán)回地址或者回送地址,主要用于對(duì)本地回路測(cè)試及實(shí)現(xiàn)本地機(jī)進(jìn)程間的通信。在實(shí)際中經(jīng)常使用的環(huán)回地址是,它還有一個(gè)別名叫做localhost。3)環(huán)回地址4.1網(wǎng)際協(xié)議IP提示事實(shí)上,只要第一字節(jié)為127的任意IP地址(甚至是非法的IP地址),系統(tǒng)都會(huì)自動(dòng)識(shí)別為。4.1網(wǎng)際協(xié)議IP一般的IP地址是由網(wǎng)絡(luò)信息中心(NetworkInformationCenter,NIC)統(tǒng)一管理并分配給提出注冊(cè)申請(qǐng)的組織機(jī)構(gòu)的,這類IP地址稱為公有地址,通過(guò)它可以直接訪問(wèn)因特網(wǎng)。而私有地址屬于非注冊(cè)地址,專門(mén)為組織機(jī)構(gòu)內(nèi)部使用。常用的私有地址分類如表4-4所示。4)私有地址私有地址類別范圍A類~55B類~55C類~55表4-4私有地址分類使用私有地址的私有網(wǎng)絡(luò)由于不與外部互連,因而可能使用隨意的IP地址。私有網(wǎng)絡(luò)在接入Internet時(shí),要使用地址翻譯(NAT),將私有地址翻譯成公用合法IP地址。4.1網(wǎng)際協(xié)議IP提示在實(shí)際生活中,一些寬帶路由器往往使用作為缺省地址。4.1網(wǎng)際協(xié)議IP不同類型的特殊IP地址總結(jié)如表4-5所示。表4-5特殊IP地址匯總網(wǎng)絡(luò)地址主機(jī)地址地址類型用
途全0全0本機(jī)地址啟動(dòng)時(shí)使用有網(wǎng)絡(luò)號(hào)全0網(wǎng)絡(luò)地址標(biāo)識(shí)一個(gè)網(wǎng)絡(luò)有網(wǎng)絡(luò)號(hào)全1直接廣播地址在專門(mén)網(wǎng)絡(luò)上廣播全1全1有限廣播地址在本地網(wǎng)上廣播127任意環(huán)回地址回送測(cè)試4.1網(wǎng)際協(xié)議IP4.1.3子網(wǎng)劃分技術(shù)在實(shí)際使用過(guò)程中,許多單位會(huì)把單一網(wǎng)絡(luò)劃分為多個(gè)物理網(wǎng)絡(luò),并使用路由器將它們連接起來(lái),如圖4-5所示。這些物理網(wǎng)絡(luò)通稱為子網(wǎng),這種操作方法稱為子網(wǎng)劃分。子網(wǎng)1圖4-5子網(wǎng)劃分4.1網(wǎng)際協(xié)議IP劃分子網(wǎng)的好處有很多,主要體現(xiàn)在以下3個(gè)方面。充分利用IP地址:由于A類網(wǎng)和B類網(wǎng)的地址空間太大,致使在不使用路由設(shè)備的單一網(wǎng)絡(luò)中無(wú)法使用全部地址。因此,為了能更有效地使用地址空間,有必要把可用地址分配給更多較小的網(wǎng)絡(luò)。易于管理網(wǎng)絡(luò):當(dāng)一個(gè)網(wǎng)絡(luò)被劃分為多個(gè)子網(wǎng)時(shí),每個(gè)子網(wǎng)變得易于控制,管理變得簡(jiǎn)單,減輕了大型網(wǎng)絡(luò)的管理難度。提高網(wǎng)絡(luò)性能:將一個(gè)大型的網(wǎng)絡(luò)劃分為若干個(gè)子網(wǎng),其中的路由器設(shè)備可以把不同的子網(wǎng)隔離開(kāi)來(lái)。同一子網(wǎng)中的主機(jī)之間只能在各自的子網(wǎng)中進(jìn)行廣播和通信,不會(huì)轉(zhuǎn)到其他子網(wǎng)中。另外,用路由器隔離還可以將網(wǎng)絡(luò)分為內(nèi)外兩個(gè)子網(wǎng),限制外部網(wǎng)絡(luò)用戶對(duì)內(nèi)部網(wǎng)絡(luò)的訪問(wèn),從而提高內(nèi)部子網(wǎng)的安全性。4.1網(wǎng)際協(xié)議IP劃分子網(wǎng)的方法2對(duì)于標(biāo)準(zhǔn)的A類、B類和C類地址來(lái)說(shuō),它們只具有網(wǎng)絡(luò)號(hào)和主機(jī)號(hào)兩層結(jié)構(gòu)。為了劃分子網(wǎng),可以將其主機(jī)號(hào)分為兩個(gè)部分,其中一部分用于子網(wǎng)號(hào)的編制,剩余部分用于主機(jī)號(hào)的編制。這樣就形成了一個(gè)三層結(jié)構(gòu),即網(wǎng)絡(luò)號(hào)、子網(wǎng)號(hào)和主機(jī)號(hào),如圖4-6所示。圖4-6IP地址的三層結(jié)構(gòu)4.1網(wǎng)際協(xié)議IP子網(wǎng)號(hào)的位數(shù)取決于組網(wǎng)的實(shí)際需要:子網(wǎng)號(hào)所占的比特位越多,則可以分配給主機(jī)的位數(shù)就越少。也就是說(shuō),在一個(gè)子網(wǎng)中所包含的主機(jī)就少。(1)假設(shè)當(dāng)前主機(jī)號(hào)有M位,向主機(jī)位部分借用n位來(lái)劃分子網(wǎng),則可以劃分出2n個(gè)子網(wǎng)。反之,知道所需網(wǎng)絡(luò)數(shù),也可以計(jì)算出所需借用的主機(jī)位位數(shù)。(2)假設(shè)當(dāng)前主機(jī)號(hào)有M位,劃分子網(wǎng)后主機(jī)位有m位,則最多可容納主機(jī)數(shù)量為2m-2臺(tái)。反之,知道子網(wǎng)中的主機(jī)數(shù)量,也可以計(jì)算出所需主機(jī)位數(shù)。用當(dāng)前主機(jī)位M減去劃分子網(wǎng)后的m位,即可得到需借用的主機(jī)位位數(shù)。4.1網(wǎng)際協(xié)議IP提示如果網(wǎng)絡(luò)不是無(wú)類別域間路由(CIDR)的環(huán)境,則必須去除全0和全1的子網(wǎng)號(hào),因此只能劃分出2n-2個(gè)子網(wǎng),每個(gè)子網(wǎng)中最多容納2m-n-2臺(tái)主機(jī)。例如,將一個(gè)C類網(wǎng)絡(luò)劃分為4個(gè)子網(wǎng),那么需要借用3位主機(jī)位作為子網(wǎng)號(hào),每個(gè)子網(wǎng)可以容納25-2=30臺(tái)主機(jī)。又例如,一個(gè)B類網(wǎng)絡(luò),將主機(jī)號(hào)的前8位作為子網(wǎng)號(hào),另外8位作為主機(jī)號(hào),那么這個(gè)B類網(wǎng)絡(luò)就被分為28-2=254個(gè)子網(wǎng),每個(gè)子網(wǎng)可以容納28-2=254臺(tái)主機(jī)。4.1網(wǎng)際協(xié)議IP子網(wǎng)掩碼3圖4-7中給出了兩個(gè)B類IP地址,這兩個(gè)IP地址從外觀上沒(méi)有任何差別,那么應(yīng)該如何區(qū)分這兩個(gè)地址呢?這就要用到子網(wǎng)掩碼。圖4-7使用子網(wǎng)劃分和未使用子網(wǎng)劃分的IP地址子網(wǎng)掩碼(或稱子網(wǎng)屏蔽碼)與IP地址相同,也是一個(gè)32位的二進(jìn)制數(shù)。對(duì)于子網(wǎng)掩碼的取值,通常是將對(duì)應(yīng)于IP地址中網(wǎng)絡(luò)地址(網(wǎng)絡(luò)號(hào)和子網(wǎng)號(hào))的所有位設(shè)置為“1”,對(duì)應(yīng)于主機(jī)地址(主機(jī)號(hào))的所有位都設(shè)置為“0”。子網(wǎng)掩碼有兩種表示方法,一是“點(diǎn)分十進(jìn)制”表示法,二是網(wǎng)絡(luò)前綴標(biāo)記法。(1)“點(diǎn)分十進(jìn)制”表示法與IP地址中相同。(2)子網(wǎng)號(hào)是從IP地址高字節(jié)以連續(xù)方式選取的,即從左到右連續(xù)地取若干位作為網(wǎng)絡(luò)號(hào)。因此,可用網(wǎng)絡(luò)地址(網(wǎng)絡(luò)號(hào)和子網(wǎng)號(hào))的位數(shù)來(lái)表示子網(wǎng)掩碼,形式為“/<網(wǎng)絡(luò)地址位數(shù)>”,這種表示方法稱為“網(wǎng)絡(luò)前綴標(biāo)記法”。例如,一個(gè)子網(wǎng)掩碼為的B類網(wǎng)絡(luò)地址,用網(wǎng)絡(luò)前綴標(biāo)記法可以表示為/16。4.1網(wǎng)際協(xié)議IP4.1網(wǎng)際協(xié)議IP標(biāo)準(zhǔn)的A類、B類、C類網(wǎng)絡(luò)地址的默認(rèn)子網(wǎng)掩碼如表4-6所示。表4-6標(biāo)準(zhǔn)的A類、B類、C類網(wǎng)絡(luò)地址的默認(rèn)子網(wǎng)掩碼地址類型子網(wǎng)掩碼二進(jìn)制位點(diǎn)分十進(jìn)制網(wǎng)絡(luò)前綴A類地址11111111000000000000000000000000/8B類地址11111111111111110000000000000000/16C類地址11111111111111111111111100000000/24用子網(wǎng)掩碼判斷IP地址的方法是用IP地址與子網(wǎng)掩碼進(jìn)行“按位與(AND)”運(yùn)算,運(yùn)算結(jié)果即為網(wǎng)絡(luò)地址。4.1網(wǎng)際協(xié)議IP例4-1已知IP地址為1,子網(wǎng)掩碼為,指出其網(wǎng)絡(luò)地址。分析:1是B類地址,其默認(rèn)子網(wǎng)掩碼是,將IP地址與子網(wǎng)掩碼進(jìn)行“按位與(AND)”運(yùn)算即可得到網(wǎng)絡(luò)地址,如圖4-8所示。圖4-8
使用子網(wǎng)掩碼求網(wǎng)絡(luò)地址(1)4.1網(wǎng)際協(xié)議IP例4-2已知IP地址為1,子網(wǎng)掩碼為,請(qǐng)指出其網(wǎng)絡(luò)地址。分析:1是B類地址,采用非默認(rèn)子網(wǎng)掩碼劃分子網(wǎng),將IP地址與子網(wǎng)掩碼進(jìn)行“按位與(AND)”運(yùn)算即可得到網(wǎng)絡(luò)地址,如圖4-14所示。圖4-14使用子網(wǎng)掩碼求網(wǎng)絡(luò)地址(2)通過(guò)例4-1和例4-2可以看出,使用子網(wǎng)掩碼可以區(qū)分一個(gè)IP地址是否使用子網(wǎng)劃分,還可以計(jì)算出其網(wǎng)絡(luò)地址。4.1網(wǎng)際協(xié)議IP劃分子網(wǎng)的步驟4劃分子網(wǎng)的步驟如下:(1)根據(jù)所需網(wǎng)絡(luò)數(shù)確定需要多少位子網(wǎng)號(hào)來(lái)唯一標(biāo)識(shí)網(wǎng)絡(luò)上的每一個(gè)子網(wǎng)。(2)根據(jù)子網(wǎng)中的主機(jī)數(shù)確定需要多少主機(jī)號(hào)來(lái)標(biāo)識(shí)每個(gè)子網(wǎng)上的每一臺(tái)主機(jī)。(3)計(jì)算符合網(wǎng)絡(luò)要求的子網(wǎng)掩碼。(4)確定標(biāo)識(shí)每一個(gè)子網(wǎng)的網(wǎng)絡(luò)地址。(5)確定每一個(gè)子網(wǎng)上所使用的主機(jī)的地址范圍。4.1網(wǎng)際協(xié)議IP例4-3假設(shè)某公司網(wǎng)絡(luò)不是無(wú)類別域間路由(CIDR)的環(huán)境,且只向相關(guān)機(jī)構(gòu)申請(qǐng)了一個(gè)C類網(wǎng)絡(luò)號(hào),為203.66.77。但是該公司有4個(gè)分布于各地的局域網(wǎng)絡(luò),每個(gè)網(wǎng)絡(luò)各約有15臺(tái)主機(jī)。請(qǐng)為這4個(gè)子網(wǎng)分配子網(wǎng)地址及子網(wǎng)掩碼,并計(jì)算IP地址范圍。(1)確定子網(wǎng)號(hào)位數(shù)。網(wǎng)絡(luò)中有4個(gè)子網(wǎng),則2n-2>=4,計(jì)算得出n=3,即需要從IP地址中借用3位主機(jī)位。注意,n采用向上取整。剩余主機(jī)位為8-3=5位,則子網(wǎng)中最多容納25=32臺(tái)主機(jī),符合題目要求。(2)將IP地址的網(wǎng)絡(luò)位和子網(wǎng)位寫(xiě)為1,主機(jī)位寫(xiě)為0,即可得到子網(wǎng)掩碼。二進(jìn)制十進(jìn)制11111111.11111111.11111111.11100000 244.1網(wǎng)際協(xié)議IP(3)3位子網(wǎng)位共有000、001、010、011、100、101、110、111等8種組合,扣掉不可使用的000(代表本身)與111(代表廣播),還有6個(gè)組合,也就是它共可提供6個(gè)子網(wǎng),如下:二進(jìn)制十進(jìn)制11001001.01000010.01001101.00100000 211001001.01000010.01001101.01000000 411001001.01000010.01001101.01100000 611001001.01000010.01001101.10000000 2811001001.01000010.01001101.10100000 6011001001.01000010.01001101.11000000 92
網(wǎng)絡(luò)號(hào)子網(wǎng)號(hào)主機(jī)號(hào)4.1網(wǎng)際協(xié)議IP(4)各子網(wǎng)提供的IP地址范圍如圖4-15所示。
圖4-15每個(gè)子網(wǎng)的主機(jī)地址范圍4.1網(wǎng)際協(xié)議IP可變長(zhǎng)子網(wǎng)劃分5當(dāng)用戶選擇了一個(gè)普通子網(wǎng)掩碼之后,就不能支持不同尺寸的子網(wǎng)了,這對(duì)于網(wǎng)絡(luò)內(nèi)部不同網(wǎng)段需要不同大小子網(wǎng)的情形來(lái)說(shuō)非常不方便。相對(duì)于普通子網(wǎng)掩碼,在RFC1878中定義了可變長(zhǎng)子網(wǎng)掩碼(VariableLengthSubnetMask,VLSM),它在劃分子網(wǎng)并保留足夠的主機(jī)數(shù)的同時(shí),將子網(wǎng)進(jìn)一步分成多個(gè)小子網(wǎng),這種方法能將網(wǎng)絡(luò)劃分為三級(jí)或更多級(jí)子網(wǎng),使子網(wǎng)劃分具有更大的靈活性,也使IP地址具有更高的利用率。如果對(duì)一個(gè)網(wǎng)絡(luò)進(jìn)行了可變長(zhǎng)子網(wǎng)劃分,那么就可以用不同長(zhǎng)度的子網(wǎng)網(wǎng)絡(luò)號(hào)來(lái)唯一標(biāo)識(shí)每個(gè)子網(wǎng),并能通過(guò)對(duì)應(yīng)的子網(wǎng)掩碼進(jìn)行區(qū)分。VLSM規(guī)定了如何在一個(gè)進(jìn)行了子網(wǎng)劃分的網(wǎng)絡(luò)中的不同部分使用不同的子網(wǎng)掩碼。4.1網(wǎng)際協(xié)議IP例4-4某公司有兩個(gè)主要部門(mén):市場(chǎng)部和技術(shù)部。市場(chǎng)部有員工100人;技術(shù)部又分為硬件設(shè)計(jì)部和軟件設(shè)計(jì)部?jī)蓚€(gè)部門(mén),各有員工52人。該公司申請(qǐng)到了一個(gè)完整的C類IP地址段:,子網(wǎng)掩碼。為了便于分級(jí)管理,該公司準(zhǔn)備采用VLSM計(jì)算,將原主網(wǎng)絡(luò)劃分為兩級(jí)子網(wǎng),請(qǐng)給出可變長(zhǎng)子網(wǎng)掩碼劃分方案。(1)一個(gè)能容納100臺(tái)主機(jī)的子網(wǎng)。4.1網(wǎng)際協(xié)議IP用主機(jī)號(hào)中的1位(第4個(gè)字節(jié)的最高1位)進(jìn)行子網(wǎng)劃分,產(chǎn)生2個(gè)子網(wǎng),分別為/25、和28/25兩個(gè)子網(wǎng)段。這種子網(wǎng)劃分允許每個(gè)子網(wǎng)有126臺(tái)主機(jī)(27?2)。選擇/25(子網(wǎng)掩碼為28)作為網(wǎng)絡(luò)號(hào),該一級(jí)子網(wǎng)共有126個(gè)IP地址可供分配,能夠滿足市場(chǎng)部的需求,如表4-6所示。分析表4-6劃分市場(chǎng)部子網(wǎng)子網(wǎng)編號(hào)子網(wǎng)網(wǎng)絡(luò)(點(diǎn)分十進(jìn)制)子網(wǎng)掩碼子網(wǎng)網(wǎng)絡(luò)(網(wǎng)絡(luò)前綴)128/25(2)兩個(gè)能容納52臺(tái)主機(jī)的子網(wǎng)。4.1網(wǎng)際協(xié)議IP為滿足2個(gè)子網(wǎng)各能容納52臺(tái)主機(jī)的需求,可以使用一級(jí)子網(wǎng)中的第2個(gè)子網(wǎng)28/25(子網(wǎng)掩碼為28),取出其主機(jī)號(hào)的1位進(jìn)一步劃分成兩個(gè)二級(jí)子網(wǎng),其中第1個(gè)二級(jí)子網(wǎng)為28/26(子網(wǎng)掩碼為92),劃分給硬件設(shè)計(jì)部,該二級(jí)子網(wǎng)共有62個(gè)IP地址可供分配;第2個(gè)二級(jí)子網(wǎng)為92/26(子網(wǎng)掩碼為92)劃分給軟件設(shè)計(jì)部,該二級(jí)子網(wǎng)共有62個(gè)IP地址可供分配,如表4-7所示。分析表4-8劃分技術(shù)部的2個(gè)子網(wǎng)子網(wǎng)編號(hào)子網(wǎng)網(wǎng)絡(luò)(點(diǎn)分十進(jìn)制)子網(wǎng)掩碼子網(wǎng)網(wǎng)絡(luò)(網(wǎng)絡(luò)前綴)1289228/262929292/264.1網(wǎng)際協(xié)議IP對(duì)這個(gè)可變長(zhǎng)子網(wǎng)的劃分結(jié)果如圖4-16所示。圖4-16可變長(zhǎng)子網(wǎng)劃分結(jié)果4.1網(wǎng)際協(xié)議IP超網(wǎng)和無(wú)類域間路由6目前,在Internet上使用的IP地址是在1978年確立的協(xié)議,它由4段8位二進(jìn)制數(shù)字組成。由于Internet協(xié)議當(dāng)時(shí)的版本號(hào)為4,因而稱為“IPv4”。盡管這個(gè)協(xié)議在理論上有大約43億個(gè)IP地址,但是,并不是所有的地址都得到了充分的利用。A類和B類地址所包含的主機(jī)數(shù)又太多,而C類地址包含的主機(jī)數(shù)又太少,如一個(gè)B類網(wǎng)絡(luò)其中所包含的主機(jī)數(shù)可以達(dá)到65534個(gè),一個(gè)C類網(wǎng)絡(luò)中只能容納254臺(tái)主機(jī),這對(duì)于擁有上千臺(tái)主機(jī)的單位來(lái)說(shuō),選擇哪類網(wǎng)絡(luò)地址都是不合適的。此外,由于Internet的迅猛發(fā)展,主機(jī)數(shù)量急劇增加,它正以非??斓乃俣认闹鳬P地址。為了解決當(dāng)前IP地址面臨的嚴(yán)重資源不足的問(wèn)題,InterNIC設(shè)計(jì)了一種新的網(wǎng)絡(luò)分配方法:對(duì)于一個(gè)主機(jī)數(shù)量介于B類網(wǎng)絡(luò)和C類網(wǎng)絡(luò)的單位,InterNIC給它分配多個(gè)C類網(wǎng)絡(luò)的范圍,該范圍能夠容納足夠的網(wǎng)絡(luò)和主機(jī)。這種方法實(shí)質(zhì)上就是將若干個(gè)C類網(wǎng)絡(luò)合并成一個(gè)網(wǎng)絡(luò),這個(gè)合并后的網(wǎng)絡(luò)就稱為超網(wǎng)。例如,假設(shè)一個(gè)單位擁有2000臺(tái)主機(jī),那么InterNIC并不是給它分配一個(gè)B類網(wǎng)絡(luò),而是分配8個(gè)C類網(wǎng)絡(luò)。每個(gè)C類網(wǎng)絡(luò)可以容納254臺(tái)主機(jī),總共2032臺(tái)主機(jī),能夠滿足實(shí)際需求。4.1網(wǎng)際協(xié)議IP雖然這種方法有助于節(jié)約B類網(wǎng)絡(luò),但它又導(dǎo)致新的問(wèn)題:采用通常的路由選擇計(jì)算,在Internet上每個(gè)路由器的路由表中必須有8個(gè)C類網(wǎng)絡(luò)表項(xiàng)才能把IP包路由到該單位。為防止Internet路由器被過(guò)多的路由淹沒(méi),必須采用一種稱為無(wú)類域間路由(ClasslessInter-DomainRouting,CIDR)的計(jì)算,把多個(gè)表項(xiàng)縮成一個(gè)表項(xiàng)。使用了CIDR后,路由表中只用一個(gè)路由表項(xiàng)就可以表示分配給該單位的所有C類網(wǎng)絡(luò)。在概念上,CIDR創(chuàng)建的路由表項(xiàng)可以表示為:[起始網(wǎng)絡(luò),數(shù)量]其中,“起始網(wǎng)絡(luò)”表示的是所分配的第一個(gè)C類網(wǎng)絡(luò)地址,“數(shù)量”是分配的C類網(wǎng)絡(luò)的總個(gè)數(shù)。實(shí)際上,它可以用一個(gè)超網(wǎng)子網(wǎng)掩碼來(lái)表示相同的信息。4.1網(wǎng)際協(xié)議IP例4-5某公司申請(qǐng)到1個(gè)網(wǎng)絡(luò)地址塊(共8個(gè)C類網(wǎng)絡(luò)地址):~/24,為了對(duì)這8個(gè)C類網(wǎng)絡(luò)地址塊進(jìn)行匯總,該采用什么樣的超網(wǎng)子網(wǎng)掩碼呢?CIDR前綴為多少?將8個(gè)C類網(wǎng)絡(luò)地址的二進(jìn)制表示形式列出,如表4-8所示。分析表4-88個(gè)C類網(wǎng)絡(luò)地址C類網(wǎng)絡(luò)地址二進(jìn)制數(shù)1101001000011111111000000000000011010010000111111110000100000000110100100001111111100010000000001101001000011111111000110000000011010010000111111110010000000000110100100001111111100101000000001101001000011111111001100000000011010010000111111110011100000000超網(wǎng)21位網(wǎng)絡(luò)號(hào)3位主機(jī)號(hào)4.1網(wǎng)際協(xié)議IPCIDR實(shí)際上是借用部分網(wǎng)絡(luò)號(hào)來(lái)充當(dāng)主機(jī)號(hào)。在表4-9中,因?yàn)?個(gè)C類地址網(wǎng)絡(luò)號(hào)的前21位完全相同,變化的只是最后3位網(wǎng)絡(luò)號(hào),因此,可以將網(wǎng)絡(luò)號(hào)的后3位看成是主機(jī)號(hào),由此得到超網(wǎng)的子網(wǎng)掩碼的二進(jìn)制數(shù)為“11111111111111111111100000000000”,即。若用網(wǎng)絡(luò)前綴表示法來(lái)表示,可表示為/21。利用CIDR實(shí)現(xiàn)地址匯總有兩個(gè)基本條件:(1)待匯總地址的網(wǎng)絡(luò)號(hào)擁有相同的高位。如表4-9所示,8個(gè)待匯總的網(wǎng)絡(luò)地址的第3個(gè)位域的前5位完全相等,均為11100。(2)待匯總的網(wǎng)絡(luò)地址數(shù)目必須是2n個(gè),如2個(gè),4個(gè),8個(gè),16個(gè)等;否則,可能會(huì)使匯總后的網(wǎng)絡(luò)可能包含實(shí)際中并不存在的子網(wǎng),導(dǎo)致路由黑洞。使用可變長(zhǎng)子網(wǎng)劃分、超網(wǎng)和CIDR配置網(wǎng)絡(luò)時(shí),要求相關(guān)的路由器和路由協(xié)議必須能夠提供支持,IP路由信息協(xié)議版本2(RIPv2)和邊界網(wǎng)關(guān)協(xié)議版本4(BGPv4)都支持可變長(zhǎng)子網(wǎng)劃分和CIDR,而路由信息協(xié)議版本1(RIPv1)則不支持。具體路由協(xié)議將在第六章進(jìn)行講解。4.1網(wǎng)際協(xié)議IP4.1.4地址解析協(xié)議IP地址與物理地址1實(shí)際通信時(shí),在一個(gè)網(wǎng)絡(luò)中對(duì)其內(nèi)部的一臺(tái)計(jì)算機(jī)進(jìn)行尋址所使用的地址稱為物理地址。通常將物理地址固化在網(wǎng)卡的ROM中,因此也稱其為硬件地址或MAC地址。MAC地址的長(zhǎng)度為48位(6個(gè)字節(jié)),通常表示為12個(gè)十六進(jìn)制數(shù),每?jī)蓚€(gè)十六進(jìn)制數(shù)之間用冒號(hào)隔開(kāi),如“08:00:20:0A:8C:6D”。網(wǎng)絡(luò)中每個(gè)以太網(wǎng)設(shè)備都具有唯一的MAC地址。這個(gè)地址與網(wǎng)絡(luò)無(wú)關(guān),也就是說(shuō)無(wú)論將這個(gè)硬件(如網(wǎng)卡、集線器、路由器等)接入到網(wǎng)絡(luò)的何處,它都有相同且唯一的MAC地址。4.1網(wǎng)際協(xié)議IPMAC地址和IP地址的相同點(diǎn)是它們都唯一,不同點(diǎn)主要體現(xiàn)在以下幾個(gè)方面:可變性不同:對(duì)于網(wǎng)絡(luò)上的某一設(shè)備,其IP地址可變(但必須唯一),而MAC地址不可變。長(zhǎng)度不同:IP地址長(zhǎng)度為32位,MAC地址長(zhǎng)度為48位。分配依據(jù)不同:IP地址的分配是基于網(wǎng)絡(luò)拓?fù)涞?,而MAC地址的分配是由制造商決定的。尋址協(xié)議層不同:IP地址應(yīng)用于網(wǎng)絡(luò)層,而MAC地址應(yīng)用在數(shù)據(jù)鏈路層。在OSI參考模型中,網(wǎng)絡(luò)層的數(shù)據(jù)傳輸依賴于32位的IP地址,而當(dāng)一臺(tái)主機(jī)把以太網(wǎng)數(shù)據(jù)幀發(fā)送到位于同一局域網(wǎng)上的另一臺(tái)主機(jī)時(shí),物理網(wǎng)絡(luò)實(shí)際是根據(jù)48位的物理地址來(lái)傳輸數(shù)據(jù)的。因此,對(duì)于網(wǎng)絡(luò)中的任一硬件設(shè)備而言,它既有一個(gè)邏輯地址(IP地址),又有一個(gè)物理地址(MAC地址),需要有一種機(jī)制能夠把IP地址與對(duì)物理地址進(jìn)行映射才能完成數(shù)據(jù)的通信。4.1網(wǎng)際協(xié)議IPIP地址和物理地址的映射包含兩個(gè)方面:從IP地址到物理地址的映射和從物理地址到IP地址的映射。這種地址之間的映射關(guān)系也稱為地址解析,實(shí)現(xiàn)地址解析的協(xié)議有兩種:地址解析協(xié)議(AddressResolutionProtocol,ARP)和反向地址解析協(xié)議(ReverseAddressResolutionProtocol,RARP),如圖4-12所示。圖4-12地址解析協(xié)議4.1網(wǎng)際協(xié)議IP地址解析協(xié)議ARP2ARP為IP地址到對(duì)應(yīng)的物理地址提供動(dòng)態(tài)的映射。之所以用“動(dòng)態(tài)”這個(gè)詞是因?yàn)檫@個(gè)過(guò)程是自動(dòng)完成的,一般應(yīng)用程序和系統(tǒng)管理員并不關(guān)心或干涉這個(gè)過(guò)程。ARP協(xié)議的工作過(guò)程如圖4-13所示。圖4-13ARP協(xié)議的工作過(guò)程4.1網(wǎng)際協(xié)議IP(1)主機(jī)A首先查看自己的高速緩存中的ARP表中是否有主機(jī)B對(duì)應(yīng)的ARP表項(xiàng)。如果找到,則直接利用該ARP表項(xiàng)中的物理地址將IP數(shù)據(jù)報(bào)封裝成幀發(fā)送給主機(jī)B。(2)如果緩存表中沒(méi)有所需的表項(xiàng),則主機(jī)A首先廣播發(fā)送一個(gè)ARP請(qǐng)求數(shù)據(jù)報(bào)文,請(qǐng)求IP地址為IPB的主機(jī)返回自己的物理地址。ARP請(qǐng)求數(shù)據(jù)報(bào)文中含有主機(jī)B的IP地址,以及主機(jī)A本身的IP地址和物理地址的映射關(guān)系。(3)本局域網(wǎng)上包括主機(jī)B在內(nèi)的所有主機(jī)都會(huì)接收到這個(gè)查詢請(qǐng)求,然后將主機(jī)A的IP地址與物理地址的映射關(guān)系存入各自的ARP表中。(4)主機(jī)B識(shí)別ARP請(qǐng)求報(bào)文后,發(fā)送一個(gè)ARP響應(yīng)報(bào)文給主機(jī)A,該報(bào)文中包含主機(jī)B的IP地址和物理地址的映射關(guān)系。(5)主機(jī)A收到主機(jī)B的響應(yīng)報(bào)文后,就在其ARP高速緩存中寫(xiě)入主機(jī)B的IP地址和物理地址的映射。4.1網(wǎng)際協(xié)議IP知識(shí)庫(kù)每臺(tái)主機(jī)都要在各自的高速緩存區(qū)中存放一張IP地址到物理地址的映射表,這張表稱為ARP表。在主機(jī)初始啟動(dòng)時(shí),ARP表為空;在不斷地通信過(guò)程中,主機(jī)會(huì)逐漸添加ARP表項(xiàng)。ARP表的內(nèi)容是定期更新的,如果一條ARP表項(xiàng)很長(zhǎng)時(shí)間沒(méi)有使用了,則它將被從ARP表中刪除。4.1網(wǎng)際協(xié)議IP反向地址解析協(xié)議RARP3反向地址解析RARP一般用于無(wú)盤(pán)工作站和終端,解決已知物理地址獲取IP地址的問(wèn)題。RARP的基本思想是:網(wǎng)絡(luò)中有一個(gè)RARP服務(wù)器,保存了本網(wǎng)中各個(gè)無(wú)盤(pán)工作站的地址綁定,并負(fù)責(zé)響應(yīng)這些節(jié)點(diǎn)的地址請(qǐng)求;新啟動(dòng)的無(wú)盤(pán)工作站廣播一個(gè)RARP請(qǐng)求分組,分組中給出自己的物理地址;RARP服務(wù)器查找地址綁定表,用單播方式發(fā)回RARP應(yīng)答分組,給出所請(qǐng)求的IP地址。RARP的缺點(diǎn)在于要求每個(gè)網(wǎng)絡(luò)都要有一個(gè)RARP服務(wù)器,并且RARP響應(yīng)中只包含很少的信息。它在概念上很簡(jiǎn)單,但是RARP服務(wù)器的實(shí)現(xiàn)卻與系統(tǒng)相關(guān)。因此,并不是所有的TCP/IP實(shí)現(xiàn)都提供RARP服務(wù)器。使用RARP的常見(jiàn)協(xié)議是BOOTP(BOOTstrapProtocol,自舉協(xié)議)和DHCP(DynamicHostConfigurationProtocol,動(dòng)態(tài)主機(jī)配置協(xié)議)。4.1網(wǎng)際協(xié)議IP4.1.5網(wǎng)際控制報(bào)文協(xié)議ICMP概述1ICMP屬于網(wǎng)絡(luò)層協(xié)議,允許主機(jī)或路由器報(bào)告差錯(cuò)情況和提供有關(guān)異常情況的報(bào)告。當(dāng)傳送IP數(shù)據(jù)報(bào)發(fā)生錯(cuò)誤,比如主機(jī)不可達(dá),路由不可達(dá)等,ICMP將會(huì)把錯(cuò)誤信息封包,然后傳送回給主機(jī),給主機(jī)一個(gè)處理錯(cuò)誤的機(jī)會(huì)。通過(guò)之前的學(xué)習(xí)了解到IP協(xié)議并不是一個(gè)可靠的協(xié)議,它不保證數(shù)據(jù)被送達(dá)。那么,保證數(shù)據(jù)送達(dá)的工作應(yīng)該由其他的模塊來(lái)完成。其中一個(gè)重要的模塊就是網(wǎng)際控制報(bào)文協(xié)議(InternetControlMessageProtocol,ICMP)。4.1網(wǎng)際協(xié)議IPICMP報(bào)文通常被網(wǎng)際層或更高層協(xié)議(TCP或UDP)所使用,但它并不是高層協(xié)議。通常將ICMP報(bào)文作為IP數(shù)據(jù)報(bào)的數(shù)據(jù),并為其加上IP首部組成IP數(shù)據(jù)報(bào),如圖4-14所示。因此,ICMP報(bào)文是在IP數(shù)據(jù)報(bào)內(nèi)部傳輸?shù)摹D4-14ICMP封裝在IP數(shù)據(jù)報(bào)內(nèi)部4.1網(wǎng)際協(xié)議IPICMP報(bào)文的種類2ICMP報(bào)文大致分為兩類:一種是查詢報(bào)文,一種是差錯(cuò)報(bào)文。查詢報(bào)文:是成對(duì)出現(xiàn)的,它幫助主機(jī)或網(wǎng)絡(luò)管理員從一個(gè)路由器或另一個(gè)主機(jī)得到特定的信息,主要有以下幾種用途:Ping查詢、子網(wǎng)掩碼查詢和時(shí)間戳查詢。差錯(cuò)報(bào)文:用于報(bào)告路由器或主機(jī)在處理一個(gè)IP數(shù)據(jù)報(bào)時(shí)可能遇到的一些問(wèn)題。差錯(cuò)報(bào)文產(chǎn)生在數(shù)據(jù)傳送發(fā)生錯(cuò)誤的時(shí)候。4.1網(wǎng)際協(xié)議IP盡管在大多數(shù)情況下,數(shù)據(jù)的傳送錯(cuò)誤應(yīng)該給出ICMP報(bào)文。但是在如下幾種特殊情況下,是不產(chǎn)生ICMP差錯(cuò)報(bào)文的:(1)ICMP差錯(cuò)報(bào)文不會(huì)產(chǎn)生ICMP差錯(cuò)報(bào)文(ICMP查詢報(bào)文卻可能產(chǎn)生);(2)目的地址是廣播地址或多播地址的IP數(shù)據(jù)報(bào)不產(chǎn)生ICMP差錯(cuò)報(bào)文;(3)作為鏈路層廣播的數(shù)據(jù)報(bào)不產(chǎn)生ICMP差錯(cuò)報(bào)文;(4)不是IP分片的第一片的不發(fā)送ICMP差錯(cuò)報(bào)文;(5)源地址不是單個(gè)主機(jī)的數(shù)據(jù)報(bào)(零地址、環(huán)回地址、廣播地址或多播地址)不產(chǎn)生ICMP差錯(cuò)報(bào)文。4.1網(wǎng)際協(xié)議IPICMP的應(yīng)用舉例3Ping是TCP/IP網(wǎng)絡(luò)中一個(gè)最簡(jiǎn)單而又非常有用的ICMP應(yīng)用程序,常用于驗(yàn)證兩個(gè)主機(jī)之間的連通性。1)pingping在不同的實(shí)現(xiàn)中語(yǔ)法格式不同,在Windows操作系統(tǒng)下的應(yīng)用格式為:ping[可選參數(shù)]target_name其中,target_name是目的主機(jī)的名字或其IP地址。4.1網(wǎng)際協(xié)議IP表4-9ping命令的常用可選參數(shù)及其含義可選參數(shù)含
義-t連續(xù)ping指定的主機(jī),直到中斷-a將地址解析為主機(jī)名-ncount定義用來(lái)測(cè)試所發(fā)出的測(cè)試包的個(gè)數(shù),缺省值為4-lsize定義所發(fā)送緩沖區(qū)的數(shù)據(jù)包的大小,在默認(rèn)的情況下windows的ping發(fā)送的數(shù)據(jù)包大小為32byte-wtimeout等待每次回復(fù)的超時(shí)時(shí)間,單位為毫秒(ms),默認(rèn)值為1000-4強(qiáng)制使用IPv4版本-6強(qiáng)制使用IPv6版本ping命令中的常用可選參數(shù)及其含義如表4-9所示。4.1網(wǎng)際協(xié)議IP當(dāng)使用ping命令時(shí),實(shí)際上是當(dāng)前主機(jī)發(fā)送一個(gè)ICMP回送請(qǐng)求報(bào)文;如果目的主機(jī)能接收到這個(gè)請(qǐng)求報(bào)文并且愿意作出回應(yīng),則發(fā)送一個(gè)回送回答的ICMP報(bào)文;當(dāng)這個(gè)回應(yīng)報(bào)文能順利抵達(dá)當(dāng)前主機(jī)時(shí),就完成了一個(gè)ping的動(dòng)作。例如,在IP地址為9的主機(jī)上測(cè)試與IP地址為1的主機(jī)的連通性,可執(zhí)行“開(kāi)始”>“命令提示符”命令,在打開(kāi)的“命令提示符”窗口輸入“ping1”,按【Enter】鍵執(zhí)行,結(jié)果如圖4-15所示??梢钥闯?,兩臺(tái)主機(jī)網(wǎng)絡(luò)相連通。圖4-15
用ping命令測(cè)試主機(jī)連通性4.1網(wǎng)際協(xié)議IPICMP另一個(gè)非常有用的應(yīng)用是tracert(Windows操作系統(tǒng)下的名字,在UNIX操作系統(tǒng)下稱為traceroute)。tracert命令用于確定IP數(shù)據(jù)報(bào)訪問(wèn)目標(biāo)所采取的路徑,其命令格式如下:2)tracerttracert[可選參數(shù)]target_name其中,target_name是目的主機(jī)的名字或其IP地址。tracert命令的可選參數(shù)可在“命令提示符”窗口中執(zhí)行“tracert-?”命令進(jìn)行查看。4.1網(wǎng)際協(xié)議IP例如,查看當(dāng)前主機(jī)訪問(wèn)新浪網(wǎng)的郵件服務(wù)器()時(shí)所采取的路徑,可以在“命令提示符”窗口輸入“tracert”,即可顯示出經(jīng)過(guò)的每一個(gè)路由器及使用的時(shí)間,如圖4-16所示。圖4-16使用tracert命令獲得到目的主機(jī)的路由信息4.1網(wǎng)際協(xié)議IP4.1.6IPv6現(xiàn)在使用的IPv4采用32位地址長(zhǎng)度,只有大約43億個(gè)地址,估計(jì)在未來(lái)的若干年間將被分配完畢。1990年,因特網(wǎng)工程任務(wù)組(IETF)開(kāi)始啟動(dòng)IP新版本的設(shè)計(jì)工作。經(jīng)過(guò)多次討論、修訂和定位之后,在1993年得到了一個(gè)名為SIPP(SimpleInternetProtocolPlus)的協(xié)議,即IPv6(網(wǎng)際協(xié)議第6版)。4.1網(wǎng)際協(xié)議IPIPv6地址11)IPv6地址的表示方法IPv6地址采用十六進(jìn)制的表示方法,共128位,分8組表示,每組16位。因?yàn)橐粋€(gè)十六進(jìn)制數(shù)可以表示4位,所以每組由4個(gè)十六進(jìn)制數(shù)組成,各組之間用“:”隔開(kāi)。每組中前面的0可以省略,但每組必須有一個(gè)數(shù),例如:1080:0:0:0:8:800:200C:417A,F(xiàn)EDC:BA98:7654:3210:FEDC:BA98:7654:3210。在IPv6地址段中有時(shí)會(huì)出現(xiàn)連續(xù)的幾組0,為了簡(jiǎn)化書(shū)寫(xiě),這些0可以用“::”代替,但一個(gè)地址中只能出現(xiàn)一次“::”。例如:4.1網(wǎng)際協(xié)議IP在某些情況下,IPv4地址需要包含在IPv6地址中,這時(shí),最后兩組用現(xiàn)在習(xí)慣使用的IPv4的十進(jìn)制表示方法,前六組表示方法同上,例如,IPv4地址包含在IPv6地址中時(shí)表示為0:0:0:0:0:0:,或者是::。2)IPv6地址的結(jié)構(gòu)128位的IPv6地址由64位網(wǎng)絡(luò)地址和64位主機(jī)地址組成。其中,64位的網(wǎng)絡(luò)地址又分為48位的全球網(wǎng)絡(luò)標(biāo)識(shí)符和16位的本地子網(wǎng)標(biāo)識(shí)符,如圖4-17所示。圖4-17IPv6地址的結(jié)構(gòu)4.1網(wǎng)際協(xié)議IPIPv6的特點(diǎn)2IPv6協(xié)議不僅是為網(wǎng)絡(luò)上的計(jì)算機(jī)設(shè)計(jì),還應(yīng)用于所有的通信設(shè)備,如手機(jī)、無(wú)線設(shè)備、電話等。IPv6的主要特點(diǎn)如下。(1)更大的地址空間。IPv6地址長(zhǎng)度為128位(16字節(jié)),即有2128-1(3.4E+38)個(gè)地址,這一地址空間是IPv4地址空間的1E28倍。在IPv6的龐大地址空間中,目前全球連網(wǎng)設(shè)備已分配掉的地址僅占其中的極小一部分,有足夠的余量可供未來(lái)的發(fā)展之用。(2)簡(jiǎn)化的報(bào)頭和靈活的擴(kuò)展。IPv6對(duì)數(shù)據(jù)報(bào)頭作了簡(jiǎn)化,將其基本報(bào)頭長(zhǎng)度固定為40字節(jié),減少了處理器開(kāi)銷并節(jié)省了網(wǎng)絡(luò)帶寬。此外,IPv6定義了多種擴(kuò)展報(bào)頭,使得IPv6變得極其靈活,能提供對(duì)多種應(yīng)用的強(qiáng)力支持,同時(shí)又為以后支持新的應(yīng)用提供了可能。4.1網(wǎng)際協(xié)議IP(3)多樣化的地址類型。IPv6定義了3種不同的地址類型:?jiǎn)吸c(diǎn)傳送地址、多點(diǎn)傳送地址和任意點(diǎn)傳送地址。在IPv6網(wǎng)絡(luò)中,網(wǎng)絡(luò)被分為多個(gè)區(qū)域,每個(gè)區(qū)域中都有多個(gè)骨干節(jié)點(diǎn),每個(gè)骨干節(jié)點(diǎn)匯聚多個(gè)接入網(wǎng)(站)點(diǎn),通過(guò)接入網(wǎng)點(diǎn)連接終端網(wǎng)點(diǎn)(企業(yè)或個(gè)人用戶)提供服務(wù)。IPv6定義了3種不同的地址類型:?jiǎn)吸c(diǎn)傳送地址、多點(diǎn)傳送地址和任意點(diǎn)傳送地址。所有類型的IPv6地址都屬于接口(Interface)而不是節(jié)點(diǎn)(Node)。一個(gè)IPv6單點(diǎn)傳送地址被賦給某一個(gè)接口,而一個(gè)接口又只能屬于某一個(gè)特定的節(jié)點(diǎn),因此一個(gè)節(jié)點(diǎn)的任意一個(gè)接口的單點(diǎn)傳送地址都可以用來(lái)標(biāo)識(shí)該節(jié)點(diǎn)。4.1網(wǎng)際協(xié)議IP(4)即插即用的連網(wǎng)方式。IPv6允許主機(jī)發(fā)現(xiàn)自身地址并自動(dòng)完成地址更改,這種機(jī)制既不需要用戶花精力進(jìn)行地址設(shè)定,又可以大大減輕網(wǎng)絡(luò)管理者的負(fù)擔(dān)。IPv6有兩種自動(dòng)設(shè)定功能,一種是和IPv4自動(dòng)設(shè)定功能相同的名為“全狀態(tài)自動(dòng)設(shè)定”功能,另一種是“無(wú)狀態(tài)自動(dòng)設(shè)定”功能。(5)網(wǎng)絡(luò)層的認(rèn)證與加密。IP安全協(xié)議(IPSec)是IPv4的一個(gè)可選擴(kuò)展協(xié)議,是IPv6的一個(gè)必須組成部分,主要功能是在網(wǎng)絡(luò)層對(duì)數(shù)據(jù)分組提供加密和鑒別等安全服務(wù)。IPSec提供了認(rèn)證和加密兩種安全機(jī)制。認(rèn)證機(jī)制:使IP通信的數(shù)據(jù)接收方能夠確認(rèn)數(shù)據(jù)發(fā)送方的真實(shí)身份以及數(shù)據(jù)在傳輸過(guò)程中是否遭到改動(dòng)。加密機(jī)制:通過(guò)對(duì)數(shù)據(jù)進(jìn)行編碼來(lái)保證數(shù)據(jù)的機(jī)密性,以防數(shù)據(jù)在傳輸過(guò)程中被他人截獲而失密。4.1網(wǎng)際協(xié)議IP(6)服務(wù)質(zhì)量的滿足。服務(wù)質(zhì)量(QualityofService,QoS)通常是指通信網(wǎng)絡(luò)在承載業(yè)務(wù)時(shí)為業(yè)務(wù)提供的品質(zhì)保證。基于IPv4的Internet在設(shè)計(jì)之初,只有一種簡(jiǎn)單的服務(wù)質(zhì)量,即采用“盡最大努力(Besteffort)”傳輸。但是隨著IP網(wǎng)上多媒體業(yè)務(wù)增加(如IP電話、VoD、電視會(huì)議),對(duì)傳輸延時(shí)和延時(shí)抖動(dòng)均有嚴(yán)格的要求,因此對(duì)服務(wù)質(zhì)量的要求也就越來(lái)越高。IPv6數(shù)據(jù)包的格式包含一個(gè)8位的業(yè)務(wù)流類別(Class)和一個(gè)新的20位的流標(biāo)簽(FlowLabel)。它的目的是允許發(fā)送業(yè)務(wù)流的源節(jié)點(diǎn)和轉(zhuǎn)發(fā)業(yè)務(wù)流的路由器在數(shù)據(jù)包上加上標(biāo)記,中間節(jié)點(diǎn)在接收到一個(gè)數(shù)據(jù)包后,通過(guò)驗(yàn)證它的流標(biāo)簽,就可以判斷它屬于哪個(gè)流,然后就可以知道數(shù)據(jù)包的QoS需求,并進(jìn)行快速地轉(zhuǎn)發(fā)。(7)對(duì)移動(dòng)通信更好的支持。未來(lái)移動(dòng)通信與互聯(lián)網(wǎng)的結(jié)合將是網(wǎng)絡(luò)發(fā)展的大趨勢(shì)之一。移動(dòng)互聯(lián)網(wǎng)將成為我們?nèi)粘I畹囊徊糠郑淖兾覀兩畹姆椒矫婷?。IPv6為用戶提供可移動(dòng)的IP數(shù)據(jù)服務(wù),讓用戶可以在世界各地都使用同樣的IPv6地址,非常適合未來(lái)的無(wú)線上網(wǎng)。4.1網(wǎng)際協(xié)議IPIPv4到IPv6的過(guò)渡技術(shù)3如何完成從IPv4到IPv6的轉(zhuǎn)換,是IPv6發(fā)展中需要解決的首要問(wèn)題。目前,IETF已經(jīng)成立了專門(mén)的工作組研究IPv4到IPv6的轉(zhuǎn)換,并且提出了很多方案,主要包括以下幾個(gè)類型。隧道技術(shù):路由器將IPv6的數(shù)據(jù)分組封裝入IPv4,IPv4分組的源地址和目的地址分別是隧道入口和出口的IPv4地址。當(dāng)分組到達(dá)隧道的出口處,再將IPv6分組取出轉(zhuǎn)發(fā)給目的站點(diǎn)。利用隧道技術(shù),可以通過(guò)運(yùn)行IPv4協(xié)議的Internet骨干網(wǎng)絡(luò)(即隧道)將局部的IPv6網(wǎng)絡(luò)連接起來(lái),因而是IPv4向IPv6過(guò)渡的初期最易于采用的技術(shù)。1)網(wǎng)絡(luò)過(guò)渡技術(shù)4.1網(wǎng)際協(xié)議IP網(wǎng)絡(luò)地址轉(zhuǎn)換/協(xié)議轉(zhuǎn)換技術(shù):網(wǎng)絡(luò)地址轉(zhuǎn)換/協(xié)議轉(zhuǎn)換(NetworkAddressTranslation-ProtocolTranslation,NAT-PT)技術(shù),通過(guò)與無(wú)狀態(tài)IP/ICMP翻譯(SIIT)協(xié)議轉(zhuǎn)換和傳統(tǒng)的IPv4下的動(dòng)態(tài)地址翻譯(NAT)以及適當(dāng)?shù)膽?yīng)用層網(wǎng)關(guān)(ALG)相結(jié)合,可以實(shí)現(xiàn)只安裝IPv6的主機(jī)和只安裝了IPv4機(jī)器的大部分應(yīng)用的相互通信。4.1網(wǎng)際協(xié)議IP2)主機(jī)過(guò)渡技術(shù)IPv6和IPv4是功能相近的網(wǎng)絡(luò)層協(xié)議,兩者都基于相同的物理平臺(tái),而且加載于其上的傳輸層協(xié)議TCP和UDP又沒(méi)有任何區(qū)別??梢钥闯?,如果一臺(tái)主機(jī)同時(shí)支持IPv6和IPv4兩種協(xié)議,那么該主機(jī)既能與支持IPv4的主機(jī)通信,又能與支持IPv6的主機(jī)通信,這就是雙協(xié)議棧技術(shù)的工作機(jī)理。3)應(yīng)用服務(wù)系統(tǒng)過(guò)渡技術(shù)在IPv4到IPv6的過(guò)渡過(guò)程中,作為Internet基礎(chǔ)架構(gòu)的應(yīng)用服務(wù)系統(tǒng)DNS也要支持這種網(wǎng)絡(luò)協(xié)議的升級(jí)和轉(zhuǎn)換。IPv4和IPv6的DNS在記錄格式等方面有所不同。為了實(shí)現(xiàn)IPv4網(wǎng)絡(luò)和IPv6網(wǎng)絡(luò)之間的DNS查詢和響應(yīng),可以采用應(yīng)用層網(wǎng)關(guān)DNS-ALG結(jié)合NAT-PT的方法,在IPv4和IPv6網(wǎng)絡(luò)之間起到一個(gè)翻譯的作用。4.1網(wǎng)際協(xié)議IPIPv6正在贏得越來(lái)越多的支持,而且很多網(wǎng)絡(luò)硬件和軟件制造商已經(jīng)表示支持這個(gè)協(xié)議。從IPv4向lPv6的過(guò)渡是人們未來(lái)實(shí)現(xiàn)全球Internet不可跨越的步驟,它不是一朝一夕就可以辦得到的,而將是一個(gè)緩慢和長(zhǎng)期的過(guò)程。4.2用戶數(shù)據(jù)報(bào)協(xié)議UDP在TCP/IP協(xié)議簇中,有兩個(gè)傳輸層協(xié)議:傳輸控制協(xié)議(TransmissionControlProtocol,TCP)和用戶數(shù)據(jù)報(bào)協(xié)議(UserDatagramProtocol,UDP)。其中,TCP是面向連接的、提供可靠服務(wù)的協(xié)議;UDP則是無(wú)連接的,它提供高效但低可靠性的服務(wù)。UDP是一個(gè)簡(jiǎn)單的面向數(shù)據(jù)報(bào)的傳輸層協(xié)議:發(fā)送端的UDP對(duì)應(yīng)用程序傳下來(lái)的報(bào)文,只在其首部?jī)H僅加入了復(fù)用和數(shù)據(jù)校驗(yàn)字段后就交付IP層。也就是說(shuō),應(yīng)用層交給UDP多長(zhǎng)的報(bào)文,UDP就一次照樣發(fā)送一個(gè)報(bào)文,如圖4-1所示。在接收端的UDP收到IP層交付的數(shù)據(jù)報(bào)后,去掉首部后原封不動(dòng)地交付給上層的應(yīng)用程序。圖4-18
發(fā)送端的UDP傳輸過(guò)程4.1.1UDP的主要特點(diǎn)UDP的主要特點(diǎn)包括:4.2用戶數(shù)據(jù)報(bào)協(xié)議UDP(1)無(wú)連接的服務(wù),即在傳輸數(shù)據(jù)之前不需事先建立連接。UDP無(wú)連接的特點(diǎn)使得數(shù)據(jù)傳輸時(shí)延比較小。(2)不可靠性。UDP把應(yīng)用層傳給IP層的數(shù)據(jù)發(fā)送出去,使用盡最大努力交付,但是并不保證它們能夠可靠交付。由于缺乏可靠性,UDP應(yīng)用一般必須允許一定量的丟包、出錯(cuò)和復(fù)制。絕大多數(shù)UDP應(yīng)用都不需要可靠機(jī)制,甚至可能因?yàn)橐肟煽繖C(jī)制而降低性能。絕大多數(shù)UDP應(yīng)用都不需要可靠機(jī)制,如流媒體、實(shí)時(shí)多媒體游戲和VoIP(voiceoverIP),甚至可能因?yàn)橐肟煽繖C(jī)制而降低性能。4.2用戶數(shù)據(jù)報(bào)協(xié)議UDP(3)缺乏擁塞避免和控制機(jī)制,使用UDP時(shí),網(wǎng)絡(luò)出現(xiàn)的擁塞不會(huì)使源主機(jī)的發(fā)送速率變低,因此需要基于網(wǎng)絡(luò)的擁塞控制機(jī)制來(lái)減小因失控和高速UDP流量負(fù)荷而導(dǎo)致的擁塞崩潰效應(yīng)。使用包隊(duì)列和丟棄技術(shù)的路由器等網(wǎng)絡(luò)設(shè)備往往就成為降低UDP過(guò)大通信量的有效工具。此外,數(shù)據(jù)報(bào)擁塞控制協(xié)議(datagramcongestioncontrolprotocol,DCCP)可以通過(guò)在諸如流媒體類型的高速率UDP流中增加主機(jī)擁塞控制來(lái)解決擁塞問(wèn)題。(4)支持多種交互通信。UDP支持一對(duì)一、一對(duì)多、多對(duì)一和多對(duì)多的交互通信。4.2.2UDP端口號(hào)分配網(wǎng)絡(luò)中的通信實(shí)際上是進(jìn)程間的通信,大多數(shù)操作系統(tǒng)都支持多進(jìn)程并發(fā)功能,即允許多個(gè)應(yīng)用程序同時(shí)運(yùn)行。因此,通信雙方進(jìn)行通信時(shí),不僅要知道目的主機(jī)的地址,還應(yīng)該確定數(shù)據(jù)交付的具體進(jìn)程。為了解決這個(gè)問(wèn)題,傳輸層協(xié)議引入了不同的協(xié)議端口(簡(jiǎn)稱端口)來(lái)表示不同的應(yīng)用程序。與遠(yuǎn)程應(yīng)用程序通信時(shí),發(fā)送端不僅要知道接收端的地址,每個(gè)數(shù)據(jù)報(bào)還必須帶有接收端的協(xié)議端口號(hào)。同樣,為使接收端知道把回應(yīng)數(shù)據(jù)發(fā)送給誰(shuí),發(fā)送端在數(shù)據(jù)報(bào)中還必須帶有自身的協(xié)議端口號(hào)。4.2用戶數(shù)據(jù)報(bào)協(xié)議UDPTCP/IP參考模型的傳輸層用一個(gè)16位的端口號(hào)來(lái)標(biāo)志一個(gè)端口,因此允許有65535個(gè)不同的端口號(hào),這對(duì)于一個(gè)計(jì)算機(jī)來(lái)講是足夠用的。TCP/IP協(xié)議約定:0~1023為保留端口號(hào),為標(biāo)準(zhǔn)應(yīng)用服務(wù)使用;1024以上是自由端口號(hào)(也稱動(dòng)態(tài)端口號(hào)),為用戶應(yīng)用服務(wù)使用。4.2用戶數(shù)據(jù)報(bào)協(xié)議UDP表4-10列出了常見(jiàn)的UDP服務(wù)端口號(hào)。表4-10常見(jiàn)UDP服務(wù)及端口號(hào)UDP端口號(hào)協(xié)議名稱說(shuō)
明53DOMAIN域名服務(wù)(DNS)69TFTP簡(jiǎn)單文件傳輸協(xié)議161SNMP簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議520RIP路由信息協(xié)議4.2用戶數(shù)據(jù)報(bào)協(xié)議UDP提示由于TCP和UDP是兩個(gè)獨(dú)立的模塊,因此,它們的端口號(hào)也是相互獨(dú)立的。也就是說(shuō),TCP和UDP可以使用相同的端口號(hào),TCP端口號(hào)由TCP協(xié)議來(lái)查看,UDP端口號(hào)由UDP協(xié)議來(lái)查看。4.2用戶數(shù)據(jù)報(bào)協(xié)議UDP4.2.3UDP數(shù)據(jù)報(bào)格式UDP數(shù)據(jù)報(bào)有數(shù)據(jù)字段和首部字段兩個(gè)字段。首部字段只有8個(gè)字節(jié),由4個(gè)字段組成,每個(gè)字段長(zhǎng)度都是兩個(gè)字節(jié),如圖4-19所示。圖4-19UDP數(shù)據(jù)報(bào)格式4.2用戶數(shù)據(jù)報(bào)協(xié)議UDPUDP數(shù)據(jù)報(bào)首部中各16位的源端口號(hào)和目的端口號(hào)用來(lái)標(biāo)記發(fā)送和接收的應(yīng)用進(jìn)程。因?yàn)閁DP不需要應(yīng)答,所以源端口號(hào)是可選的(如果源端口不用,那么置為零)。在目的端口號(hào)后面是長(zhǎng)度固定的以字節(jié)為單位的長(zhǎng)度字段,用來(lái)指定UDP數(shù)據(jù)報(bào)中包括數(shù)據(jù)部分的長(zhǎng)度,最小值為8(僅有首部)。16位的UDP校驗(yàn)和是用來(lái)對(duì)首部和數(shù)據(jù)部分一起做校驗(yàn)和的,檢測(cè)UDP用戶數(shù)據(jù)報(bào)在傳輸中是否出錯(cuò)。當(dāng)傳輸層從IP層收到UDP數(shù)據(jù)報(bào)后,根據(jù)首部中的目的端口將其交付給相應(yīng)的應(yīng)用程序。如果接收方UDP發(fā)現(xiàn)沒(méi)有與收到的報(bào)文中的目的端口號(hào)匹配的端口,則丟棄該報(bào)文,并發(fā)送“端口不可達(dá)”差錯(cuò)報(bào)文給發(fā)送端;如果匹配端口號(hào)已滿,也丟棄該報(bào)文,但不回送差錯(cuò)報(bào)文,只能等待超時(shí)重發(fā)。4.3傳輸控制協(xié)議TCP傳輸控制協(xié)議(TransmissionControlProtocol,TCP)是傳輸層上另一著名的協(xié)議,它也是TCP/IP最具代表性的協(xié)議。TCP除提供進(jìn)程通信外,主要提供面向連接的、可靠的字節(jié)流服務(wù)。TCP數(shù)據(jù)被封裝在一個(gè)IP數(shù)據(jù)報(bào)中進(jìn)行傳輸,如圖4-20所示。圖4-20TCP數(shù)據(jù)在IP數(shù)據(jù)報(bào)中的封裝4.3傳輸控制協(xié)議TCP4.3.1TCP的特點(diǎn)從應(yīng)用程序的角度看,TCP提供的服務(wù)主要有以下幾個(gè)特點(diǎn)。(1)面向連接的服務(wù)。面向連接意味著兩個(gè)使用TCP的應(yīng)用程序(通常為一個(gè)客戶和一個(gè)服務(wù)器)在彼此交換數(shù)據(jù)之前必須先建立一個(gè)TCP連接。TCP連接只存在于兩個(gè)終端結(jié)點(diǎn),網(wǎng)絡(luò)當(dāng)中的中間結(jié)點(diǎn)(如路由器和網(wǎng)橋)對(duì)這個(gè)連接毫不知情(只知道傳輸?shù)臄?shù)據(jù)而不是連接本身)。4.3傳輸控制協(xié)議TCP(2)面向字節(jié)流的服務(wù)。流是無(wú)報(bào)文丟失、重復(fù)和失序的數(shù)據(jù)序列,兩個(gè)應(yīng)用程序通過(guò)TCP連接交換字節(jié)流。TCP協(xié)議從應(yīng)用程序處收集數(shù)據(jù)后,封裝成長(zhǎng)度適中的一個(gè)數(shù)據(jù)報(bào)文段。在報(bào)文頭中的序號(hào)域指出段中數(shù)據(jù)在發(fā)送端數(shù)據(jù)流中的位置。TCP協(xié)議為實(shí)現(xiàn)流傳輸服務(wù)付出了大量開(kāi)銷。(3)可靠交付。TCP的傳輸過(guò)程由建立連接、傳輸數(shù)據(jù)和釋放連接3個(gè)步驟組成。一個(gè)應(yīng)用程序在發(fā)送數(shù)據(jù)時(shí),首先要請(qǐng)求建立連接。通過(guò)TCP連接傳送的數(shù)據(jù),無(wú)差錯(cuò)、不丟失、不重復(fù)并且按序到達(dá)。(4)全雙工通信。TCP連接提供的是全雙工的數(shù)據(jù)傳輸,采用點(diǎn)對(duì)點(diǎn)的方式,即在一個(gè)TCP連接中僅有兩方進(jìn)行通信,因此廣播和多播方式不能用TCP。(5)流量控制。TCP連接的雙方都有固定大小的緩沖區(qū),流量控制可以防止較快主機(jī)致使較慢主機(jī)的緩沖區(qū)溢出。通常把緩沖區(qū)中的空閑部分稱為窗口。TCP采用可變滑動(dòng)窗口協(xié)議,并且當(dāng)交付的數(shù)據(jù)不夠填滿一個(gè)緩沖區(qū)時(shí),流服務(wù)提供“PUSH”機(jī)制,應(yīng)用程序可以用其進(jìn)行強(qiáng)迫傳送。4.3傳輸控制協(xié)議TCP4.3.2TCP端口號(hào)分配TCP可以面向多種應(yīng)用程序提供傳輸服務(wù)。為了能夠區(qū)分出對(duì)應(yīng)的應(yīng)用程序,引入了TCP端口的概念(與UDP類似)。TCP端口號(hào)采用了動(dòng)態(tài)和靜態(tài)相結(jié)合的分配方法,對(duì)于一些常用的應(yīng)用服務(wù)使用固定的端口號(hào);對(duì)于其他的應(yīng)用服務(wù),尤其是用戶自行開(kāi)發(fā)的應(yīng)用服務(wù),端口號(hào)采用動(dòng)態(tài)分配方法,由用戶指定其分配。表4-11列出了常見(jiàn)的TCP服務(wù)端口號(hào)。4.3傳輸控制協(xié)議TCPTCP端口號(hào)協(xié)議名稱說(shuō)
明21FTP文件傳輸協(xié)議-控制(FileTransferProtocol-Control)22SSHSSH遠(yuǎn)程登陸協(xié)議(SSHRemoteLoginControl)23TELNET遠(yuǎn)程登錄(Telnet)25SMTP簡(jiǎn)單郵件傳輸協(xié)議(SimpleMailTransferProtocol)53DNS域名服務(wù)器(DomainNameServer)69TFTP簡(jiǎn)單文件傳輸協(xié)議(TrivialFileTransferProtocol)80WWWWeb服務(wù)(WorldWideWeb)119NNTP網(wǎng)絡(luò)新聞傳輸協(xié)議(NetworkNewsTransferProtocol)表4-11常見(jiàn)TCP服務(wù)及端口號(hào)4.3傳輸控制協(xié)議TCPTCP雖然是面向字節(jié)流的,但TCP傳送的數(shù)據(jù)單元是報(bào)文段。一個(gè)TCP報(bào)文段分為首部和數(shù)據(jù)兩個(gè)部分,如圖4-21所示。TCP首部的前20個(gè)字節(jié)是固定的,后面的選項(xiàng)字段根據(jù)需要而增加,因此TCP報(bào)文段的最小長(zhǎng)度為20字節(jié)。4.3傳輸控制協(xié)議TCPTCP雖然是面向字節(jié)流的,但TCP傳送的數(shù)據(jù)單元是報(bào)文段。一個(gè)TCP報(bào)文段分為首部和數(shù)據(jù)兩部分,如圖4-21所示。TCP首部的前20個(gè)字節(jié)是固定的,后面的選項(xiàng)字段根據(jù)需要而增加,因此TCP報(bào)文段的最小長(zhǎng)度為20字節(jié)。圖4-21TCP報(bào)文段的格式4.2.3TCP報(bào)文段格式4.3傳輸控制協(xié)議TCP(1)源端口號(hào)和目的端口號(hào)。源端口號(hào)和目的端口號(hào)用于表示發(fā)送端和接收端的端口號(hào)。這兩個(gè)值加上IP首部中的源IP地址和目的IP地址可以確定一條唯一的TCP連接。(2)序號(hào)。序號(hào)字段用于標(biāo)識(shí)從TCP發(fā)送端向TCP接收端發(fā)送的數(shù)據(jù)字節(jié)流,它表示在這個(gè)報(bào)文段中的第一個(gè)數(shù)據(jù)字節(jié)的序號(hào)。例如,當(dāng)前報(bào)文段的第一個(gè)數(shù)據(jù)字節(jié)的序號(hào)為201,數(shù)據(jù)長(zhǎng)度為100字節(jié),則當(dāng)前報(bào)文段的序號(hào)字段的值為201,下一報(bào)文段的序號(hào)值為301。序號(hào)字段占4個(gè)字節(jié),當(dāng)序號(hào)到達(dá)232-1后又從0開(kāi)始。(3)確認(rèn)序號(hào)。確認(rèn)序號(hào)包含發(fā)送確認(rèn)的一端所期望收到的下一個(gè)序號(hào)。既然每個(gè)傳輸?shù)淖止?jié)都被計(jì)數(shù),確認(rèn)序號(hào)應(yīng)當(dāng)是上次已成功收到數(shù)據(jù)字節(jié)序號(hào)加1。例如,接收端已成功接收發(fā)送端發(fā)送的序號(hào)為501,數(shù)據(jù)長(zhǎng)度為200的報(bào)文段。那么,接收端期望收到的下一個(gè)數(shù)據(jù)序號(hào)是701,則該確認(rèn)序號(hào)為701。TCP為應(yīng)用層提供全雙工服務(wù)。這意味著數(shù)據(jù)能在兩個(gè)方向上獨(dú)立地進(jìn)行傳輸。因此,TCP連接的每一端必須保持每個(gè)方向上的傳輸數(shù)據(jù)序號(hào)。4.3傳輸控制協(xié)議TCP(4)數(shù)據(jù)偏移。數(shù)據(jù)偏移字段指出TCP報(bào)文段的數(shù)據(jù)起始處距離TCP報(bào)文段的起始處有多遠(yuǎn)。需要這個(gè)字段是因?yàn)檫x項(xiàng)字段的長(zhǎng)度是可變的。這個(gè)字段占4位,以4字節(jié)為單位,因此TCP數(shù)據(jù)偏移的最大值是60字節(jié),也就是說(shuō)TCP首部的最大長(zhǎng)度為60字節(jié)。(5)保留。保留字段占6位,保留為今后使用,目前設(shè)置為0。(6)標(biāo)志位。在TCP首部中有6個(gè)標(biāo)志位,具體含義如下:URG(urgent)為緊急數(shù)據(jù)標(biāo)志。當(dāng)URG=1時(shí),表示緊急指針字段的值有效。此時(shí),該報(bào)文段中有緊急數(shù)據(jù),應(yīng)盡快傳送,而不是按照原來(lái)的順序傳送。這時(shí)需要與首部中的緊急指針字段配合使用。ACK(acknowledgement)為確認(rèn)標(biāo)志位。當(dāng)ACK=1時(shí),表示報(bào)文段中的確認(rèn)序號(hào)有效;當(dāng)ACK=0時(shí),確認(rèn)序號(hào)無(wú)效。TCP規(guī)定:在連接建立后,所有傳送的報(bào)文段的ACK字段必須置1。4.3傳輸控制協(xié)議TCPPSH(push)為推送標(biāo)志位。當(dāng)PSH=1時(shí),表示發(fā)送端希望立即得到接收端的響應(yīng)。此時(shí),發(fā)送方的TCP協(xié)議軟件馬上發(fā)送該數(shù)據(jù)包,接收方收到后也應(yīng)盡快把這個(gè)報(bào)文段交給應(yīng)用層。RST(reset)為復(fù)位標(biāo)志位,用來(lái)復(fù)位一條連接。如果TCP收到的數(shù)據(jù)不屬于該主機(jī)上的任何一個(gè)連接,則將RST字段置1,向發(fā)送端發(fā)送一個(gè)復(fù)位數(shù)據(jù)包,釋放當(dāng)前連接。RST字段置1還可用來(lái)拒絕一個(gè)非法的報(bào)文段或拒絕打開(kāi)一個(gè)連接。SYN(synchronous)為同步標(biāo)志位,在建立連接時(shí)用來(lái)同步序號(hào)。如果SYN=1,而ACK=0,表示這是一個(gè)連接請(qǐng)求報(bào)文段;如果SYN=1,而ACK=1,則表示這是一個(gè)連接接受報(bào)文段。具體的連接過(guò)程將在4.2.4節(jié)中進(jìn)行講解。FIN(finish)為終止標(biāo)志位,用來(lái)釋放連接。當(dāng)FIN=1時(shí),表示發(fā)送端端完成發(fā)送任務(wù),希望釋放連接。4.3傳輸控制協(xié)議TCP(7)窗口。窗口表明該報(bào)文段的發(fā)送端當(dāng)前能夠接收的從確認(rèn)序號(hào)開(kāi)始的最大數(shù)據(jù)長(zhǎng)度,該值主要向?qū)Ψ铰暶鞅镜亟邮站彌_區(qū)的使用情況。窗口大小是一個(gè)16位字段,因而窗口字段最大65535字節(jié)。(8)校驗(yàn)和。校驗(yàn)和覆蓋了整個(gè)TCP報(bào)文段:TCP首部和TCP數(shù)據(jù)。這是一個(gè)強(qiáng)制性的字段,一定是由發(fā)送端計(jì)算和存儲(chǔ),并由接收端進(jìn)行驗(yàn)證。
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年聚苯乙烯(PS)項(xiàng)目規(guī)劃申請(qǐng)報(bào)告
- 2025年衣架衣夾項(xiàng)目提案報(bào)告
- 小花仙成長(zhǎng)故事童話作文(8篇)
- 2025年脫硫除塵設(shè)備項(xiàng)目提案報(bào)告
- 2025年理財(cái)規(guī)劃師(二級(jí))考試試卷:金融衍生品市場(chǎng)分析
- 2025年工具油項(xiàng)目立項(xiàng)申請(qǐng)報(bào)告模板
- 2025年密閉式雞舍光周期自動(dòng)控制設(shè)備項(xiàng)目規(guī)劃申請(qǐng)報(bào)告模范
- 金融行業(yè)從業(yè)資格及表現(xiàn)證明(7篇)
- 2025年智慧醫(yī)療建設(shè)模式與醫(yī)療數(shù)據(jù)安全法規(guī)研究報(bào)告
- 建筑勞務(wù)分包項(xiàng)目合同協(xié)議
- 《大學(xué)計(jì)算機(jī)基礎(chǔ)案例教程(微課版)第2版》全套教學(xué)課件
- 公司增資擴(kuò)股說(shuō)明書(shū)范文
- 雙輪銑攪拌樁施工方案
- 食堂食材配送采購(gòu) 投標(biāo)方案(技術(shù)方案)
- 貴州遵義四中2022自主招生物理試卷試題真題(含答案)
- NBT 35095-2017 水電工程小流域水文計(jì)算規(guī)范
- 2024年廣東省中考生物試卷(含答案)
- 江蘇省宿遷市泗洪縣2023-2024學(xué)年六年級(jí)下學(xué)期期末綜合(道德與法治+科學(xué))試卷
- 煙葉道路運(yùn)輸服務(wù)方案
- 胎膜早破護(hù)理查房完整版
- 急性左心衰護(hù)理查房課件
評(píng)論
0/150
提交評(píng)論