複製鏈接
請複製以下鏈接發送給好友

數據報

鎖定
數據報是通過網絡傳輸的數據的基本單元,包含一個報頭(header)和數據本身,其中報頭描述了數據的目的地以及和其它數據之間的關係。數據報是完備的、獨立的數據實體,該實體攜帶要從源計算機傳遞到目的計算機的信息,該信息不依賴以前在源計算機和目的計算機以及傳輸網絡間交換。 [1] 
在數據報操作方式中,每個數據報自身攜帶有足夠的信息,它的傳送是被單獨處理的。整個數據報傳送過程中,不需要建立虛電路,網絡節點為每個數據報作路由選擇,各數據報不能保證按順序到達目的節點,有些還可能會丟失。 [1] 
中文名
數據報
外文名
Data gram
分    類
計算機網絡

目錄

數據報摘要

數據報工作方式的特點:
1.同一報文的不同分組可以由不同的傳輸路徑通過通信子網;
2.同一報文的不同分組到達目的結點時可能出現亂序、重複與丟失現象;
3.每一個分組在傳輸過程中都必須帶有目的地址與源地址;
4.數據報方式報文傳輸延遲較大,適用於突發性通信,不適用於長報文、會話式通信。

數據報IP數據報

TCP/IP協議定義了一個在因特網上傳輸的包,稱為IP數據報(IP Datagram)。這是一個與硬件無關的虛擬包, 由首部和數據兩部分組成。首部的前一部分是固定長度,共20字節,是所有IP數據報必須具有的。在首部的固定部分的後面是一些可選字段,其長度是可變的。首部中的源地址和目的地址都是IP協議地址。
IP數據報首部的固定部分中的各字段
(1)版本:佔4位,指IP協議的版本。通信雙方使用的IP協議版本必須一致。廣泛使用的IP協議版本號為4(即IPv4)。
(2)首部長度:佔4位,可表示的最大十進制數值是15。請注意,這個字段所表示數的單位是32位字(1個32位字長是4字節),因此,當IP的首部長度為1111時(即十進制的15),首部長度就達到60字節。當IP分組的首部長度不是4字節的整數倍時,必須利用最後的填充字段加以填充。因此數據部分永遠在4字節的整數倍開始,這樣在實現IP協議時較為方便。首部長度限制為60字節的缺點是有時可能不夠用。但這樣做是希望用户儘量減少開銷。最常用的首部長度就是20字節(即首部長度為0101),這時不使用任何選項。
(3)區分服務:佔8位,用來獲得更好的服務。這個字段在舊標準中叫做服務類型,但實際上一直沒有被使用過。1998年IETF把這個字段改名為區分服務DS(DifferentiatedServices)。只有在使用區分服務時,這個字段才起作用。
(4)總長度:總長度指首部和數據之和的長度,單位為字節。總長度字段為16位,因此數據報的最大長度為216-1=65535字節。
在IP層下面的每一種數據鏈路層都有自己的格式,其中包括幀格式中的數據字段的最大長度,這稱為最大傳送單元MTU(MaximumTransferUnit)。當一個數據報封裝成鏈路層的幀時,此數據報的總長度(即首部加上數據部分)一定不能超過下面的數據鏈路層的MTU值。
(5)標識(identification):佔16位。IP軟件在存儲器中維持一個計數器,每產生一個數據報,計數器就加1,並將此值賦給標識字段。但這個“標識”並不是序號,因為IP是無連接服務,數據報不存在按序接收的問題。當數據報由於長度超過網絡的MTU而必須分片時,這個標識字段的值就被複制到所有的數據報的標識字段中。相同的標識字段的值使分片後的各數據報片最後能正確地重裝成為原來的數據報。
(6)標誌(flag):佔3位,但只有2位有意義。
①標誌字段中的最低位記為MF(MoreFragment)。MF=1即表示後面“還有分片”的數據報。MF=0表示這已是若干數據報片中的最後一個。
②標誌字段中間的一位記為DF(Don’t Fragment),意思是“不能分片”。只有當DF=0時才允許分片。
(7)片偏移:佔13位。片偏移指出:較長的分組在分片後,某片在原分組中的相對位置。也就是説,相對用户數據字段的起點,該片從何處開始。片偏移以8個字節為偏移單位。這就是説,每個分片的長度一定是8字節(64位)的整數倍。
(8)生存時間:佔8位,生存時間字段常用的的英文縮寫是TTL(TimeToLive),表明是數據報在網絡中的壽命。由發出數據報的源點設置這個字段。其目的是防止無法交付的數據報無限制地在因特網中兜圈子,因而白白消耗網絡資源。最初的設計是以秒作為TTL的單位。每經過一個路由器時,就把TTL減去數據報在路由器消耗掉的一段時間。若數據報在路由器消耗的時間小於1秒,就把TTL值減1。當TTL值為0時,就丟棄這個數據報。
(9)協議:佔8位,協議字段指出此數據報攜帶的數據是使用何種協議,以便使目的主機的IP層知道應將數據部分上交給哪個處理過程。
(10)首部檢驗和:佔16位。這個字段只檢驗數據報的首部,但不包括數據部分。這是因為數據報每經過一個路由器,路由器都要重新計算一下首部檢驗和(一些字段,如生存時間、標誌、片偏移等都可能發生變化)。不檢驗數據部分可減少計算的工作量。
(11)源地址:佔32位。
(12)目的地址:佔32位。
IP數據報首部的可變部分
IP首部的可變部分就是一個可選字段。選項字段用來支持排錯、測量以及安全等措施,內容很豐富。此字段的長度可變,從1個字節到40個字節不等,取決於所選擇的項目。某些選項項目只需要1個字節,它只包括1個字節的選項代碼。但還有些選項需要多個字節,這些選項一個個拼接起來,中間不需要有分隔符,最後用全0的填充字段補齊成為4字節的整數倍。
增加首部的可變部分是為了增加IP數據報的功能,但這同時也使得IP數據報的首部長度成為可變的。這就增加了每一個路由器處理數據報的開銷。實際上這些選項很少被使用。新的IP版本IPv6就將IP數據報的首部長度做成固定的。
這些任選項定義如下:
(1)安全和處理限制(用於軍事領域)
(2)記錄路徑(讓每個路由器都記下它的IP地址
(3)時間戳(讓每個路由器都記下它的IP地址和時間)
(4)寬鬆的源站路由(為數據報指定一系列必須經過的IP地址)
(5)嚴格的源站路由(與寬鬆的源站路由類似,但是要求只能經過指定的這些地址,不能經過其他的地址)
這些選項很少被使用,並非所有主機和路由器都支持這些選項。 [1] 
參考資料
  • 1.    湯小丹等.《計算機操作系統》(第三版):西安電子科技大學,2010