第七章 網際協議版本4(IPv4)
網際協議(InternetProtocol,IP)是TCP/IP協議族在網絡層使用的傳輸機制。IP是一種不可靠的無連接數據報協議——一種盡最大努力交付(best-effortdelivery)
數據報
數據報(datagram):網絡層的分組
-
版本(VER):4字段,定義了IP協議的版本
-
首部長度(header length,HLEN):4字段,定義了數據報首部的長度
-
服務類型(type of service,TOS):指明如何處理數據報,定義了一組區分服(differentiated services)
-
總長度:16字段,定義了以字節爲單位的數據報總長度,數據長度=總長度-首部長度
-
標識(identification):16字段,標誌了從源主機發出的一個數據報
-
標誌(flag):3字段,第一位保留,第二位稱爲“不分片”位,第三位“還有分片”位
-
分片偏移:13字段,表示分片在整個數據報中的相對位置
-
生存時間:數據報在互聯網中的旅程是有生存時間限制的,絕大多數用來控制數據報所經過的最大跳數(路由器)
-
協議:8字段,定義了使用此IP層服務的高層協議
-
檢驗和
-
源地址:32字段,源點的IP地址
-
目的地址:32字段,終點的IP地址
分片
分片(fragmentation):爲了使IP地址與網絡網絡無關,協議設計者決定讓IP數據報的最大長度爲65535字節。如果使用的協議的MTU正好等於該數值,那麼傳輸的效率會很高。對於其他一些物理網絡,不得不割分數據報,使它們能夠通過這些網絡。
與一個數據報分片與重裝有關的字段是:標識、標誌和分片偏移
選項
選項由TLV(type-length-value)組成:一個字節的類型字段,一個字節的長度字段以及可變長度的值字段
類型
類型字段(type field):8字段,包括三個子字段:複製、類別和編號
-
複製:1位子字段,控制了選項在分片中的出現
-
類別:2位子字段,定義了該選項的一般用途
-
編號:**5位子字段,定義了選項的類型
長度
長度字段(length field):定義了選項的總長度,包括類型字段和長度字段本身
值
值字段(value field):包含的是某些特定選項所需的數據
選項類型
-
無操作選項(no-operation option):**1字節,用作選項和選項之間的填充符
-
選項結束選項(end-operation option):**1字節,用於選項字段結束時的填充
-
記錄路由選項(record-route option):用來記錄處理數據報的因特網路由器
-
嚴格源路由選項(strict-source-route option):被源點用來預先指定數據報在因特網中傳送時的路由
-
不嚴格源路由選項(loose-source-route option):與嚴格源路由選項相似,但條件要放寬一些
-
時間戳(timestamp option):用來記錄路由器處理數據報的時間
檢驗和
檢驗和(checksum):絕大多數TCP/IP協議採用的差錯檢測方法,能夠防止分組在傳輸期間的損壞。
安全性
安全問題
IP協議的三個安全問題:分組竊取(packet sniffing)、分組篡改(packet
modification)0、IP僞裝(IP spoofing)
分組竊取:入侵者可能會截取並複製一個IP分組,攻擊者並沒有改變分組的內容
分組篡改:攻擊者先截取分組,再改變其中的內容,然後把新的分組發送給接收方,而接收方以爲這個分組來自原始的發送方。這類型的攻擊可以被數據完整性機制檢測
IP僞裝:攻擊者僞裝成另一人,創建一個攜帶另一臺計算機的源地址的IP分組,這類攻擊可以通過起源鑑別機制加以防範
IPsec
IPsec提供四種服務:定義算法和密鑰、分組加密、數據完整性、起源鑑別