盛立軍《計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)基礎(chǔ)》課件第四章.ppt
《盛立軍《計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)基礎(chǔ)》課件第四章.ppt》由會(huì)員分享,可在線閱讀,更多相關(guān)《盛立軍《計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)基礎(chǔ)》課件第四章.ppt(100頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)基礎(chǔ) 第4章 TCP IP協(xié)議集 不同的廠家生產(chǎn)的計(jì)算機(jī)運(yùn)行的操作系統(tǒng)可能完全不同 卻因?yàn)橛辛薚CP IP協(xié)議族而能夠進(jìn)行相互通信 TCP IP協(xié)議族包含很多協(xié)議 其中最重要的兩個(gè)協(xié)議分別是傳輸控制協(xié)議 TransmissionControlProtocol TCP 協(xié)議和網(wǎng)際互連協(xié)議 InternetProtocol IP 本章將介紹TCP IP協(xié)議族里比較核心的一些協(xié)議 學(xué)習(xí)目標(biāo) 4 1用戶數(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 1發(fā)送端的UDP傳輸過(guò)程 UDP提供應(yīng)用進(jìn)程之間傳送數(shù)據(jù)的基本機(jī)制 它使用網(wǎng)絡(luò)層協(xié)議所提供的功能 向應(yīng)用層提供服務(wù) 為網(wǎng)絡(luò)層以上和應(yīng)用層以下提供了一個(gè)簡(jiǎn)單的接口 4 1 1UDP的主要特點(diǎn) UDP的主要特點(diǎn)包括 4 1用戶數(shù)據(jù)報(bào)協(xié)議UDP 1 UDP提供無(wú)連接的服務(wù) 即在傳輸數(shù)據(jù)之前不需事先建立連接 UDP無(wú)連接的特點(diǎn)使得數(shù)據(jù)傳輸時(shí)延比較小 2 UDP不提供可靠性 UDP把應(yīng)用層傳給IP層的數(shù)據(jù)發(fā)送出去 使用盡最大努力交付 但是并不保證它們能夠可靠交付 由于缺乏可靠性 UDP應(yīng)用一般必須允許一定量的丟包 出錯(cuò)和復(fù)制 絕大多數(shù)UDP應(yīng)用都不需要可靠機(jī)制 甚至可能因?yàn)橐肟煽繖C(jī)制而降低性能 流媒體 實(shí)時(shí)多媒體游戲和VoIP VoiceoverIP 就是典型的UDP應(yīng)用 4 1用戶數(shù)據(jù)報(bào)協(xié)議UDP 3 UDP缺乏擁塞避免和控制機(jī)制 網(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 1 2UDP端口號(hào)分配 協(xié)議端口是傳輸層引入的一個(gè)非常重要的概念 網(wǎng)絡(luò)中的通信實(shí)際上是進(jìn)程間的通信 應(yīng)用程序才是一個(gè)IP數(shù)據(jù)報(bào)的最終目的地 大多數(shù)計(jì)算機(jī)的操作系統(tǒng)都支持多進(jìn)程并發(fā)功能 即允許多個(gè)應(yīng)用程序同時(shí)運(yùn)行 因此 通信雙方進(jìn)行通信時(shí) 不僅要知道目的主機(jī)的IP地址 還應(yīng)該確定數(shù)據(jù)交付的具體應(yīng)用進(jìn)程 為了解決這個(gè)問(wèn)題 傳輸層協(xié)議引入了不同的協(xié)議端口 簡(jiǎn)稱端口 來(lái)表示不同的應(yīng)用程序 與遠(yuǎn)程服務(wù)程序通信時(shí) 發(fā)送方不僅要知道目的主機(jī)的地址 每個(gè)IP數(shù)據(jù)報(bào)還必須帶有目的主機(jī)的協(xié)議端口號(hào) 同樣 為使接收方知道把回應(yīng)數(shù)據(jù)發(fā)送給誰(shuí) 發(fā)送端在IP數(shù)據(jù)報(bào)中還必須帶有自身的協(xié)議端口號(hào) 4 1用戶數(shù)據(jù)報(bào)協(xié)議UDP TCP 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 1用戶數(shù)據(jù)報(bào)協(xié)議UDP 表4 1列出了常見(jiàn)的UDP服務(wù)端口號(hào) 表4 1常見(jiàn)UDP服務(wù)及端口號(hào) 4 1用戶數(shù)據(jù)報(bào)協(xié)議UDP 提示 4 1用戶數(shù)據(jù)報(bào)協(xié)議UDP 4 1 3UDP數(shù)據(jù)報(bào)格式 圖4 2UDP數(shù)據(jù)報(bào)格式 4 1用戶數(shù)據(jù)報(bào)協(xié)議UDP UDP數(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 2傳輸控制協(xié)議TCP 傳輸控制協(xié)議 TransmissionControlProtocol TCP 是傳輸層上另一著名的協(xié)議 它也是TCP IP最具代表性的協(xié)議 4 2 1TCP的主要特點(diǎn) TCP除提供進(jìn)程通信能力外 主要提供端到端的面向連接的 可靠的字節(jié)流服務(wù) 從應(yīng)用程序的角度看 TCP提供的服務(wù)有如下特征 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 2傳輸控制協(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 2傳輸控制協(xié)議TCP 4 2 2TCP端口號(hào)分配 TCP模塊以IP模塊為傳輸基礎(chǔ) 可以面向多種應(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 2列出了常見(jiàn)的TCP服務(wù)端口號(hào) 4 2傳輸控制協(xié)議TCP 表4 2常見(jiàn)TCP服務(wù)及端口號(hào) 4 2傳輸控制協(xié)議TCP 4 2 3TCP報(bào)文段格式 圖4 3TCP數(shù)據(jù)在IP數(shù)據(jù)報(bào)中的封裝 4 2傳輸控制協(xié)議TCP 圖4 4TCP報(bào)文段的格式 4 2傳輸控制協(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 2傳輸控制協(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 2傳輸控制協(xié)議TCP PSH 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 2傳輸控制協(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)證 9 緊急指針 只有當(dāng)URG 1時(shí) 該字段才有效 緊急指針是一個(gè)正的偏移量 指出本報(bào)文段中緊急數(shù)據(jù)的字節(jié)數(shù) 也就是說(shuō) 緊急指針字段和序號(hào)字段中的值相加表示緊急數(shù)據(jù)最后一個(gè)字節(jié)的序號(hào) 值得注意的是 即使窗口字段為零 也可以發(fā)送緊急數(shù)據(jù) 4 2傳輸控制協(xié)議TCP 10 選項(xiàng) 選項(xiàng)字段長(zhǎng)度可變 最長(zhǎng)可達(dá)40字節(jié) TCP規(guī)定了最長(zhǎng)報(bào)文大小 又稱為MSS MaximumSegmentSize 每個(gè)連接方通常都在通信的第一個(gè)報(bào)文段中指明這個(gè)選項(xiàng) 它指明本端所能接收的報(bào)文段的最大長(zhǎng)度 從圖4 4中可以注意到TCP報(bào)文段中的數(shù)據(jù)部分是可選的 在一個(gè)連接建立和釋放的過(guò)程 具體內(nèi)容在4 2 4節(jié)中進(jìn)行講解 中 雙方交換的報(bào)文段都是僅有TCP首部 沒(méi)有數(shù)據(jù)部分的 如果一方?jīng)]有數(shù)據(jù)要發(fā)送 也可以使用沒(méi)有任何數(shù)據(jù)的首部來(lái)確認(rèn)收到的數(shù)據(jù) 在處理超時(shí)的許多情況中 也會(huì)發(fā)送不帶任何數(shù)據(jù)的報(bào)文段 4 2傳輸控制協(xié)議TCP 4 2 4TCP傳輸連接建立和釋放 TCP是一個(gè)面向連接的協(xié)議 傳輸層連接的建立和釋放是每一次面向連接的通信中所必不可少的過(guò)程 TCP的連接和建立都采用客戶 服務(wù)器方式 主動(dòng)發(fā)起連接建立的應(yīng)用進(jìn)程稱為客戶 client 而被動(dòng)等待連接建立的進(jìn)程稱為服務(wù)器 server 下面具體來(lái)看一下TCP連接的建立與釋放過(guò)程 4 2傳輸控制協(xié)議TCP 建立TCP連接 假設(shè)客戶機(jī)上的一個(gè)進(jìn)程想與服務(wù)器上另一進(jìn)程通信 兩者要通過(guò) 三次握手 three wayhandshake 建立TCP連接 如圖4 5所示 圖4 5三次握手建立TCP連接 1 第1次握手 客戶發(fā)送連接請(qǐng)求 2 第2次握手 服務(wù)器同意連接確認(rèn) 是利用多條網(wǎng)絡(luò)連接來(lái)支持一條運(yùn)輸連接上的數(shù)據(jù)傳輸 目的是使低吞吐量 低速率和高傳輸延遲的網(wǎng)絡(luò)可以支持用戶高速傳輸數(shù)據(jù)的要求 是將多條運(yùn)輸連接上的數(shù)據(jù)匯集到一條網(wǎng)絡(luò)連接上傳輸 使具有高吞吐量 高速率和低傳輸延遲且高費(fèi)用的網(wǎng)絡(luò)可以支持用戶的低傳輸成本的要求 3 第3次握手 客戶確認(rèn)連接 是將一個(gè)長(zhǎng)的運(yùn)輸服務(wù)數(shù)據(jù)單元分成若干個(gè)運(yùn)輸協(xié)議數(shù)據(jù)單元進(jìn)行傳輸 使傳輸長(zhǎng)度有限的網(wǎng)絡(luò)可以支持用戶的無(wú)限長(zhǎng)度數(shù)據(jù)的傳輸 4 2傳輸控制協(xié)議TCP 4 2傳輸控制協(xié)議TCP 1 第1次握手 客戶發(fā)送連接請(qǐng)求 客戶發(fā)送一個(gè)特殊的TCP報(bào)文段給服務(wù)器 這個(gè)報(bào)文段不包含應(yīng)用數(shù)據(jù) 而將段首的SYN標(biāo)志位置1 該報(bào)文段也因此被稱為SYN報(bào)文段 同時(shí) 客戶還為這個(gè)連接設(shè)置初始序列號(hào)seq client isn 該段被封裝成IP數(shù)據(jù)報(bào)發(fā)送給服務(wù)器 2 第2次握手 服務(wù)器同意連接確認(rèn) 一旦包含SYN段的IP數(shù)據(jù)報(bào)到達(dá)服務(wù)器 假設(shè)正常到達(dá) 服務(wù)器從IP數(shù)據(jù)報(bào)中提取出SYN段 并初始化TCP緩存及連接變量 同時(shí)發(fā)送給客戶一個(gè)同意連接的確認(rèn)信息 這個(gè)確認(rèn)報(bào)文段也不包含應(yīng)用數(shù)據(jù) 卻在段首包含三條重要的信息 SYN 1 ACK 1 TCP段首的確認(rèn)號(hào)ack client isn 1 服務(wù)器選擇連接的初始序列號(hào)seq server isn 這個(gè)報(bào)文段通常被稱為SYN ACK報(bào)文段 4 2傳輸控制協(xié)議TCP 3 第3次握手 客戶確認(rèn)連接 在接收到服務(wù)器同意連接的確認(rèn)后 客戶同樣要設(shè)置連接的緩存和變量 并再向服務(wù)器發(fā)送一個(gè)確認(rèn) 即對(duì)服務(wù)器SYN ACK報(bào)文段的確認(rèn) 這時(shí)ACK 1 SYN 0 表示連接已經(jīng)建立 三次握手過(guò)程結(jié)束后 客戶和服務(wù)器就可以相互發(fā)送數(shù)據(jù)了 4 2傳輸控制協(xié)議TCP 釋放TCP連接 客戶和服務(wù)器之間數(shù)據(jù)發(fā)送完成后 需要釋放連接 建立一個(gè)連接需要三次握手 而釋放一個(gè)連接則需要經(jīng)過(guò)四次握手 這是由TCP的半關(guān)閉造成 TCP連接是全雙工通信的 數(shù)據(jù)在兩個(gè)方向上能同時(shí)傳輸 因而每個(gè)方向必須單獨(dú)進(jìn)行關(guān)閉 也就是說(shuō) 當(dāng)任意一方完成數(shù)據(jù)發(fā)送任務(wù)后都可以發(fā)送一個(gè)FIN報(bào)文段來(lái)釋放這個(gè)方向的連接 另一端收到FIN報(bào)文段后 通知應(yīng)用層另一端已經(jīng)終止了該方向的數(shù)據(jù)傳輸 也就是對(duì)FIN報(bào)文段進(jìn)行確認(rèn) 圖4 6四次握手釋放TCP連接 通常情況下都是客戶端主動(dòng)釋放連接 因此以客戶端主動(dòng)關(guān)閉一個(gè)TCP連接為例講解釋放TCP連接的過(guò)程 如圖4 6所示 4 2傳輸控制協(xié)議TCP 1 第1次握手 客戶請(qǐng)求關(guān)閉連接 客戶向服務(wù)器發(fā)送一個(gè)FIN 1的TCP報(bào)文段 并設(shè)置初始序列號(hào)seq client isn 該報(bào)文段封裝成IP數(shù)據(jù)報(bào)傳送給服務(wù)器 2 第2次握手 服務(wù)器確認(rèn)客戶請(qǐng)求 服務(wù)器收到上述TCP報(bào)文段后 發(fā)送一個(gè)ACK報(bào)文段對(duì)這個(gè)報(bào)文進(jìn)行確認(rèn) ACK報(bào)文段中 ACK 1 seq server isn ack client isn 1 這時(shí)的TCP連接處于半關(guān)閉狀態(tài) 即客戶機(jī)無(wú)法向服務(wù)器發(fā)送數(shù)據(jù) 但可以接收服務(wù)器發(fā)來(lái)的數(shù)據(jù) 客戶收到服務(wù)器的確認(rèn)報(bào)文段后 進(jìn)入終止等待狀態(tài) 等待服務(wù)器發(fā)出的連接釋放報(bào)文段 4 2傳輸控制協(xié)議TCP 3 第3次握手 服務(wù)器請(qǐng)求關(guān)閉連接 若服務(wù)器中沒(méi)有需要發(fā)送給客戶的數(shù)據(jù)了 則發(fā)送自己的FIN 1的連接釋放報(bào)文段給客戶端 該報(bào)文段中 ACK 1 seq server isn ack client isn 1 4 第4次握手 客戶確認(rèn)服務(wù)器請(qǐng)求 客戶收到服務(wù)器的連接釋放報(bào)文段后 對(duì)服務(wù)器的FIN報(bào)文段進(jìn)行確認(rèn) 在確認(rèn)報(bào)文段中把ACK位置1 確認(rèn)號(hào)ack server isn 1 序號(hào)seq client isn 1 然后進(jìn)入時(shí)間等待狀態(tài) 經(jīng)過(guò)時(shí)間等待計(jì)時(shí)器設(shè)置的時(shí)間2MSL后 客戶才真正釋放連接 4 2傳輸控制協(xié)議TCP 提示 4 3網(wǎng)際互連協(xié)議IP 網(wǎng)際互連協(xié)議IP是一個(gè)網(wǎng)絡(luò)層協(xié)議 它包含尋址信息和控制信息 可使數(shù)據(jù)包在網(wǎng)絡(luò)中路由 IP協(xié)議是TCP IP協(xié)議族中最為核心的協(xié)議 與TCP協(xié)議結(jié)合組成整個(gè)因特網(wǎng)協(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 3 1IPv4地址 當(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ī) 4 3網(wǎng)際互連協(xié)議IP IP地址的表示 根據(jù)TCP IP協(xié)議規(guī)定 IP地址由32位二進(jìn)制數(shù)所組成 例如 互聯(lián)網(wǎng)上一臺(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ù) 中間用 號(hào)間隔 這種表達(dá)方式稱之為 點(diǎn)分十進(jìn)制 也就是說(shuō) 上述的IP地址可以表示成193 32 216 9 如圖4 7所示 圖4 7點(diǎn)分十進(jìn)制表示IP地址 從概率學(xué)的角度看 32位二進(jìn)制數(shù)能表達(dá)232種不同的情況 也就是說(shuō) 按照IP地址的設(shè)計(jì)初衷考慮 32位的地址空間可以表達(dá)4294967296個(gè)不同的Internet地址 4 3網(wǎng)際互連協(xié)議IP IP地址的分類 每個(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 3網(wǎng)際互連協(xié)議IP IP地址中的網(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 9所示 圖4 9IP地址分類 4 3網(wǎng)際互連協(xié)議IP A B C類地址稱之為單目傳送地址 這些地址通常只能分配給唯一的主機(jī) D類地址是組播地址 E類地址則是在IP地址設(shè)計(jì)之初保留作為科學(xué)研究用的 各類IP地址類別詳述如表4 3所示 表4 3IP地址類別詳述 注 該表中的網(wǎng)絡(luò)號(hào) 主機(jī)號(hào)排除了一些特殊IP地址 4 3網(wǎng)際互連協(xié)議IP 特殊IP地址 在IP地址中 有一些特殊地址被賦予特殊的作用 主機(jī)地址全為1的IP地址稱為廣播地址 廣播地址專門用于同時(shí)向網(wǎng)絡(luò)中所有主機(jī)發(fā)送數(shù)據(jù) 例如 對(duì)于IP地址為192 168 10 0的C類網(wǎng)段 當(dāng)發(fā)出一個(gè)目的地址為192 168 10 255的分組時(shí) 它將被分發(fā)給該網(wǎng)段上的所有主機(jī) 廣播地址又分為直接廣播地址和有限廣播地址兩種 直接廣播地址有網(wǎng)絡(luò)號(hào) 但主機(jī)字段通常全為1 這類廣播會(huì)被送到專門網(wǎng)絡(luò) 由網(wǎng)絡(luò)號(hào)決定 上的每臺(tái)主機(jī) 有限廣播地址是指網(wǎng)絡(luò)字段和主機(jī)字段全為1的地址 即255 255 255 255 它不被路由但會(huì)被送到相同物理網(wǎng)絡(luò)段上的所有主機(jī) 4 3網(wǎng)際互連協(xié)議IP 組播地址就是前面講的D類地址 主要用于視頻廣播和視頻點(diǎn)播系統(tǒng) IP地址范圍從224 0 0 0到239 255 255 255 其中 224 0 0 1特指所有主機(jī) 224 0 0 2特指所有路由器 組播地址和廣播地址是不一樣的 廣播地址按主機(jī)的物理位置來(lái)劃分各組 而組播地址指定一個(gè)特定的邏輯組 參與該組的計(jì)算機(jī)可能遍布整個(gè)Internet 網(wǎng)絡(luò)地址是127的IP地址稱為環(huán)回地址或者回送地址 主要用于對(duì)本地回路測(cè)試及實(shí)現(xiàn)本地機(jī)進(jìn)程間的通信 在實(shí)際中經(jīng)常使用的環(huán)回地址是127 0 0 1 它還有一個(gè)別名叫做localhost 4 3網(wǎng)際互連協(xié)議IP 提示 4 3網(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è)地址 專門為組織機(jī)構(gòu)內(nèi)部使用 常用的私有地址分類如表4 4所示 表4 4私有地址分類 使用私有地址的私有網(wǎng)絡(luò)由于不與外部互連 因而可能使用隨意的IP地址 私有網(wǎng)絡(luò)在接入Internet時(shí) 要使用地址翻譯 NAT 將私有地址翻譯成公用合法IP地址 4 3網(wǎng)際互連協(xié)議IP 提示 4 3網(wǎng)際互連協(xié)議IP 不同類型的特殊IP地址總結(jié)如表4 5所示 表4 5特殊IP地址匯總 4 3網(wǎng)際互連協(xié)議IP 4 3 2子網(wǎng)技術(shù) 在實(shí)際使用過(guò)程中 許多單位會(huì)把單一網(wǎng)絡(luò)劃分為多個(gè)物理網(wǎng)絡(luò) 并使用路由器將它們連接起來(lái) 如圖4 10所示 這些物理網(wǎng)絡(luò)通稱為子網(wǎng) 這種操作方法稱為子網(wǎng)劃分 子網(wǎng) 4 3網(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 3網(wǎng)際互連協(xié)議IP 劃分子網(wǎng)的方法 對(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 11所示 圖4 11IP地址的三層結(jié)構(gòu) 4 3網(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 3網(wǎng)際互連協(xié)議IP 提示 例如 將一個(gè)C類網(wǎng)絡(luò)203 66 77 0劃分為4個(gè)子網(wǎng) 那么需要借用3位主機(jī)位作為子網(wǎng)號(hào) 每個(gè)子網(wǎng)可以容納25 2 30臺(tái)主機(jī) 又例如 一個(gè)B類網(wǎng)絡(luò)172 17 0 0 將主機(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 3網(wǎng)際互連協(xié)議IP 子網(wǎng)掩碼 圖4 12中給出了兩個(gè)B類IP地址 這兩個(gè)IP地址從外觀上沒(méi)有任何差別 那么應(yīng)該如何區(qū)分這兩個(gè)地址呢 這就要用到子網(wǎng)掩碼 圖4 12使用子網(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ò)前綴標(biāo)記法 例如 一個(gè)子網(wǎng)掩碼為255 255 0 0的B類網(wǎng)絡(luò)地址156 81 0 0 用網(wǎng)絡(luò)前綴標(biāo)記法可以表示為156 81 0 0 16 4 3網(wǎng)際互連協(xié)議IP 4 3網(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)掩碼判斷IP地址的方法是用IP地址與子網(wǎng)掩碼進(jìn)行 按位與 AND 運(yùn)算 運(yùn)算結(jié)果即為網(wǎng)絡(luò)地址 4 3網(wǎng)際互連協(xié)議IP 分析 168 16 16 51是B類地址 其默認(rèn)子網(wǎng)掩碼是255 255 0 0 將IP地址與子網(wǎng)掩碼進(jìn)行 按位與 AND 運(yùn)算即可得到網(wǎng)絡(luò)地址 如圖4 13所示 圖4 13使用子網(wǎng)掩碼求網(wǎng)絡(luò)地址 1 4 3網(wǎng)際互連協(xié)議IP 分析 168 16 16 51是B類地址 采用非默認(rèn)子網(wǎng)掩碼255 255 255 0劃分子網(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 3網(wǎng)際互連協(xié)議IP 劃分子網(wǎng)的步驟 劃分子網(wǎng)的步驟如下 4 3網(wǎng)際互連協(xié)議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)位寫為1 主機(jī)位寫為0 即可得到子網(wǎng)掩碼 二進(jìn)制十進(jìn)制11111111 11111111 11111111 11100000255 255 255 224 4 3網(wǎng)際互連協(xié)議IP 4 3網(wǎng)際互連協(xié)議IP 4 3網(wǎng)際互連協(xié)議IP 可變長(zhǎng)子網(wǎng)劃分 當(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 3網(wǎng)際互連協(xié)議IP 1 一個(gè)能容納100臺(tái)主機(jī)的子網(wǎng) 4 3網(wǎng)際互連協(xié)議IP 用主機(jī)號(hào)中的1位 第4個(gè)字節(jié)的最高1位 進(jìn)行子網(wǎng)劃分 產(chǎn)生2個(gè)子網(wǎng) 分別為210 31 233 0 25 和210 31 233 128 25兩個(gè)子網(wǎng)段 這種子網(wǎng)劃分允許每個(gè)子網(wǎng)有126臺(tái)主機(jī) 27 2 選擇210 31 233 0 25 子網(wǎng)掩碼為255 255 255 128 作為網(wǎng)絡(luò)號(hào) 該一級(jí)子網(wǎng)共有126個(gè)IP地址可供分配 能夠滿足市場(chǎng)部的需求 表4 7中給出了能容納126臺(tái)主機(jī)的一個(gè)子網(wǎng) 分析 表4 7劃分市場(chǎng)部子網(wǎng) 2 兩個(gè)能容納52臺(tái)主機(jī)的子網(wǎng) 4 3網(wǎng)際互連協(xié)議IP 為滿足2個(gè)子網(wǎng)各能容納52臺(tái)主機(jī)的需求 可以使用一級(jí)子網(wǎng)中的第2個(gè)子網(wǎng)210 31 233 128 25 子網(wǎng)掩碼為255 255 255 128 取出其主機(jī)號(hào)的1位進(jìn)一步劃分成兩個(gè)二級(jí)子網(wǎng) 其中第1個(gè)二級(jí)子網(wǎng)為210 31 233 128 26 子網(wǎng)掩碼為255 255 255 192 劃分給硬件部門 該二級(jí)子網(wǎng)共有62個(gè)IP地址可供分配 第2個(gè)二級(jí)子網(wǎng)為210 31 233 192 26 子網(wǎng)掩碼為255 255 255 192 劃分給軟件部門 該二級(jí)子網(wǎng)共有62個(gè)IP地址可供分配 表4 8給出了能容納62臺(tái)主機(jī)的兩個(gè)子網(wǎng) 分析 表4 8劃分技術(shù)部的2個(gè)子網(wǎng) 4 3網(wǎng)際互連協(xié)議IP 對(duì)這個(gè)可變長(zhǎng)子網(wǎng)的劃分結(jié)果如圖4 16所示 圖4 16可變長(zhǎng)子網(wǎng)劃分結(jié)果 4 3網(wǎng)際互連協(xié)議IP 超網(wǎng)和無(wú)類域間路由 目前 在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 3網(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 3網(wǎng)際互連協(xié)議IP 將8個(gè)C類網(wǎng)絡(luò)地址的二進(jìn)制表示形式列出 如表4 9所示 分析 表4 98個(gè)C類網(wǎng)絡(luò)地址 4 3網(wǎng)際互連協(xié)議IP CIDR實(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 即255 255 248 0 若用網(wǎng)絡(luò)前綴表示法來(lái)表示 可表示為210 31 224 0 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 3網(wǎng)際互連協(xié)議IP 4 3 3IP數(shù)據(jù)報(bào) 圖4 17IP數(shù)據(jù)報(bào)的格式 4 3網(wǎng)際互連協(xié)議IP IP數(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 3網(wǎng)際互連協(xié)議IP 4 總長(zhǎng)度 總長(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 3網(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 3網(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ī)地址 IP數(shù)據(jù)報(bào)報(bào)頭的可選字段長(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 3網(wǎng)際互連協(xié)議IP 4 3 4地址解析協(xié)議 IP地址與物理地址 實(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 3網(wǎng)際互連協(xié)議IP MAC地址和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 3網(wǎng)際互連協(xié)議IP 圖4 18地址解析協(xié)議 4 3網(wǎng)際互連協(xié)議IP 地址解析協(xié)議ARP 圖4 19ARP協(xié)議的工作過(guò)程 4 3網(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高速緩存中寫入主機(jī)B的IP地址和物理地址的映射 4 3網(wǎng)際互連協(xié)議IP 知識(shí)庫(kù) 4 3網(wǎng)際互連協(xié)議IP 反向地址解析協(xié)議RARP 反向地址解析RARP一般用于無(wú)盤工作站和終端 解決已知物理地址獲取IP地址的問(wèn)題 RARP的基本思想是 網(wǎng)絡(luò)中有一個(gè)RARP服務(wù)器 保存了本網(wǎng)中各個(gè)無(wú)盤工作站的地址綁定 并負(fù)責(zé)響應(yīng)這些節(jié)點(diǎn)的地址請(qǐng)求 新啟動(dòng)的無(wú)盤工作站廣播一個(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 3網(wǎng)際互連協(xié)議IP 4 3 5網(wǎng)際控制報(bào)文協(xié)議 概述 ICMP屬于網(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ì) 這也就是為什么說(shuō)建立在IP層以上的協(xié)議是可能做到安全的原因 通過(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 3網(wǎng)際互連協(xié)議IP 圖4 20ICMP封裝在IP數(shù)據(jù)報(bào)內(nèi)部 4 3網(wǎng)際互連協(xié)議IP ICMP報(bào)文的種類 ICMP報(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 3網(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 3網(wǎng)際互連協(xié)議IP ICMP的應(yīng)用舉例 Ping是TCP IP網(wǎng)絡(luò)中一個(gè)最簡(jiǎn)單而又非常有用的ICMP應(yīng)用程序 常用于驗(yàn)證兩個(gè)主機(jī)之間的連通性 ping在不同的實(shí)現(xiàn)中語(yǔ)法格式不同 在Windows操作系統(tǒng)下的應(yīng)用格式為 ping 可選參數(shù) target name 其中 target name是目的主機(jī)的名字或其IP地址 4 3網(wǎng)際互連協(xié)議IP 表4 10ping命令的常用可選參數(shù)及其含義 4 3網(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)作 圖4 21用ping命令測(cè)試主機(jī)連通性 4 3網(wǎng)際互連協(xié)議IP ICMP另一個(gè)非常有用的應(yīng)用是tracert Windows操作系統(tǒng)下的名字 在UNIX操作系統(tǒng)下稱為traceroute tracert命令用于確定IP數(shù)據(jù)報(bào)訪問(wèn)目標(biāo)所采取的路徑 其命令格式如下 tracert 可選參數(shù) target name 其中 target name是目的主機(jī)的名字或其IP地址 tracert命令的可選參數(shù)可在 命令提示符 窗口中執(zhí)行 tracert 命令進(jìn)行查看 4 3網(wǎng)際互連協(xié)議IP 圖4 22使用tracert命令獲得到目的主機(jī)的路由信息 4 3網(wǎng)際互連協(xié)議IP 4 3 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 3網(wǎng)際互連協(xié)議IP 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 FEDC BA98 7654 3210 FEDC BA98 7654 3210 在IPv6地址段中有時(shí)會(huì)出現(xiàn)連續(xù)的幾組0 為了簡(jiǎn)化書(shū)寫 這些0可以用 代替 但一個(gè)地址中只能出現(xiàn)一次 例如 4 3網(wǎng)際互連協(xié)議IP 在某些情況下 IPv4地址需要包含在IPv6地址中 這時(shí) 最后兩組用現(xiàn)在習(xí)慣使用的IPv4的十進(jìn)制表示方法 前六組表示方法同上 例如 IPv4地址61 1 133 1包含在IPv6地址中時(shí)表示為0 0 0 0 0 0 61 1 133 1 或者是 61 1 133 1 圖4 23IPv6地址的結(jié)構(gòu) 4 3網(wǎng)際互連協(xié)議IP IPv6的特點(diǎn) IPv6協(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 3網(wǎng)際互連協(xié)議IP 3 層次化的地址結(jié)構(gòu) IPv6的設(shè)計(jì)者把IPv6的地址空間按照不同的地址前綴來(lái)劃分 采用了層次化的地址結(jié)構(gòu) 以利于骨干網(wǎng)路由器對(duì)數(shù)據(jù)包的快速轉(zhuǎn)發(fā) 在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種不同的地址類型 單點(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 3網(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 3網(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 3網(wǎng)際互連協(xié)議IP IPv4到IPv6的過(guò)渡技術(shù) 如何完成從IPv4到IPv6的轉(zhuǎn)換 是IPv6發(fā)展中需要解決的首要問(wèn)題 目前 IETF已經(jīng)成立了專門的工作組研究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ù) 4 3網(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 3網(wǎng)際互連協(xié)議IP 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ī)理 在IPv4到IPv6的過(guò)渡過(guò)程中 作為Internet基礎(chǔ)架構(gòu)的應(yīng)用服務(wù)系統(tǒng)DNS也要支持這種網(wǎng)絡(luò)協(xié)議的升級(jí)和轉(zhuǎn)換 IPv4和IPv6的DNS在記錄格式等方面- 1.請(qǐng)仔細(xì)閱讀文檔,確保文檔完整性,對(duì)于不預(yù)覽、不比對(duì)內(nèi)容而直接下載帶來(lái)的問(wèn)題本站不予受理。
- 2.下載的文檔,不會(huì)出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請(qǐng)點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
14.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁(yè)顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開(kāi)word文檔。
- 特殊限制:
部分文檔作品中含有的國(guó)旗、國(guó)徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計(jì)者僅對(duì)作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)基礎(chǔ) 盛立軍 計(jì)算機(jī)網(wǎng)絡(luò)技術(shù) 基礎(chǔ) 課件 第四
鏈接地址:http://www.3dchina-expo.com/p-7819627.html