溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

ip數(shù)據(jù)報的格式有什么

發(fā)布時間:2021-06-17 16:39:05 來源:億速云 閱讀:189 作者:chen 欄目:互聯(lián)網(wǎng)科技

本篇內(nèi)容主要講解“ip數(shù)據(jù)報的格式有什么”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“ip數(shù)據(jù)報的格式有什么”吧!

TCP/IP協(xié)議定義了一個在因特網(wǎng)上傳輸?shù)陌?,稱為IP數(shù)據(jù)報,這是由首部和數(shù)據(jù)兩部分組成。首部的前一部分是固定長度,共20字節(jié),是所有IP數(shù)據(jù)報必須具有的;在首部的固定部分的后面是一些可選字段,其長度是可變的。

本教程操作環(huán)境:windows7系統(tǒng)、Dell G3電腦。

TCP/IP協(xié)議定義了一個在因特網(wǎng)上傳輸?shù)陌?稱為IP數(shù)據(jù)報(IP Datagram).這是一個與硬件無關的虛擬包,由首部和數(shù)據(jù)兩部分組成.首部的前一部分是固定長度,共 20 字節(jié),是所有IP數(shù)據(jù)報必須具有的.在首部的固定部分的后面是一些可選字段,其長度是可變的.

IP協(xié)議提供不可靠無連接的數(shù)據(jù)報傳輸服務,IP層提供的服務是通過IP層對數(shù)據(jù)報的封裝與拆封來實現(xiàn)的。IP數(shù)據(jù)報的格式分為報頭區(qū)和數(shù)據(jù)區(qū)兩大部分,其中報頭區(qū)是為了正確傳輸高層數(shù)據(jù)而加的各種控制信息,數(shù)據(jù)區(qū)包括高層協(xié)議需要傳輸?shù)臄?shù)據(jù)。

IP數(shù)據(jù)報的格式如下:

ip數(shù)據(jù)報的格式有什么

注意,上圖表示的數(shù)據(jù),最高位在左邊,記為0位;最低位在右邊,記為31位。在網(wǎng)絡中傳輸數(shù)據(jù)時,先傳輸0~7位,其次是8~15位,然后傳輸16~23位,最后傳輸24~31位。由于TCP/IP協(xié)議頭部中所有的二進制數(shù)在網(wǎng)絡中傳輸時都要求以這種順序進行,因此把它稱為網(wǎng)絡字節(jié)順序。在實際編程中,以其他形式存儲的二進制數(shù)必須在傳輸數(shù)據(jù)前使用網(wǎng)絡編程API相應的函數(shù)把頭部轉(zhuǎn)換成網(wǎng)絡字節(jié)順序。

IP數(shù)據(jù)報各字段功能如下:

1)版本號:占用4位二進制數(shù),表示該IP數(shù)據(jù)報使用的IP協(xié)議版本。目前Internet中使用的主要是TCP/IP協(xié)議族中版本號為4的IP協(xié)議。

2)頭長度:占用4位二進制位,此域指出整個報頭的長度(包括選項),該長度是以32位二進制數(shù)為一個計數(shù)單位的,接收端通過此域可以計算出報頭在何處結(jié)束及從何處開始讀數(shù)據(jù)。普通IP數(shù)據(jù)報(沒有任何選項)該字段的值是5(即20個字節(jié)的長度)。

3)服務類型(TOS、type of service):占用8位二進制位,用于規(guī)定本數(shù)據(jù)報的處理方式。服務類型字段的8位分成了5個子域:

ip數(shù)據(jù)報的格式有什么

(1)—優(yōu)先權(0-7)數(shù)越大,表示該數(shù)據(jù)報優(yōu)先權越高。網(wǎng)絡中路由器可以使用優(yōu)先權進行擁塞控制,如當網(wǎng)絡發(fā)生擁塞時可以根據(jù)數(shù)據(jù)報的優(yōu)先權來決定數(shù)據(jù)報的取舍。

(2)—短延遲位D(Delay):該位置1時,數(shù)據(jù)報請求以短延遲信道傳輸,0表示正常延時。

(3)—高吞吐量位T(Throughput):該位置1時,數(shù)據(jù)報請求以高吞吐量信道傳輸,0表示普通。

(4)—高可靠位R(Reliability):該位置1時,數(shù)據(jù)報請求以高可靠性信道傳輸,0表示普通。

(5)—保留位。

目前在Internet中使用的TCP/IP協(xié)議大多數(shù)情況下網(wǎng)絡并未對TOS進行處理,但在實際編程時,有專門的函數(shù)來設置該字段的各域。一些重要的網(wǎng)際應用協(xié)議中都設置了建議使用的TOS值:

ip數(shù)據(jù)報的格式有什么

從上表可以看出,對于與用戶直接交互的應用,一般使用短延時;對于有大量數(shù)據(jù)需要進行傳輸?shù)膽?,一般選用高吞吐量;對于數(shù)據(jù)報要傳輸控制信息的應用,一般選用高可靠性。在數(shù)據(jù)報的生存期內(nèi)不支持TOS的,TOS字段就設置為0x00。

4)總長度:占用16位二進制位,總長度字段是指整個IP數(shù)據(jù)報的長度(報頭區(qū)+數(shù)據(jù)區(qū)),以字節(jié)為單位。利用頭部長度字段和總長度字段就可以計算出IP數(shù)據(jù)報中數(shù)據(jù)內(nèi)容的起始位置和長度。由于該字段長度為16位二進制數(shù),因此理論上IP數(shù)據(jù)報最長可達65536個字節(jié)(事實上受物理網(wǎng)絡的限制,要比這個數(shù)值小很多)。

5)生存時間(TTL,time to live):占用8位二進制位,它指定了數(shù)據(jù)報可以在網(wǎng)絡中傳輸?shù)淖铋L時間。實際應用中把生存時間字段設置成了數(shù)據(jù)報可以經(jīng)過的最大路由器數(shù)。TTL的初始值由源主機設置(通常為32、64、128或256),一旦經(jīng)過一個處理它的路由器,它的值就減1。當該字段為0時,數(shù)據(jù)報就丟棄,并發(fā)送ICMP報文通知源主機,因此可以防止進入一個循環(huán)回路時,數(shù)據(jù)報無休止地傳輸下去。

6)上層協(xié)議標識:占用8位二進制位,IP協(xié)議可以承載各種上層協(xié)議,目標端根據(jù)協(xié)議標識就可以把收到的IP數(shù)據(jù)報送到TCP或UDP等處理此報文的上層協(xié)議了。

常用網(wǎng)際協(xié)議編號:

ip數(shù)據(jù)報的格式有什么

7)校驗和:占用16位二進制數(shù),用于協(xié)議頭數(shù)據(jù)有效性的校驗,可以保證IP報頭區(qū)在傳輸時的正確性和完整性。頭部檢驗和字段是根據(jù)IP協(xié)議頭計算出的檢驗和,它不對頭部后面的數(shù)據(jù)進行計算。

原理:發(fā)送端首先將檢驗和字段置0,然后對頭部中每16位二進制數(shù)進行反碼求和的運算,并將結(jié)果存在校驗和字段中。 由于接收方在計算過程中包含了發(fā)送方放在頭部的校驗和,因此,如果頭部在傳輸過程中沒有發(fā)生任何差錯,那么接收方計算的結(jié)果應該是全1。

8)源地址:占用32位二進制數(shù),表示發(fā)送端IP地址。

9)目的地址:占用32位二進制數(shù),表述目的端IP地址。

======================IP數(shù)據(jù)報分片和重組======================

最大傳輸單元:

IP數(shù)據(jù)報在互聯(lián)網(wǎng)上傳輸時,可能要經(jīng)過多個物理網(wǎng)絡才能從源端傳輸?shù)侥康亩?。不同的網(wǎng)絡由于鏈路層和介質(zhì)的物理特性不同,因此在進行數(shù)據(jù)傳輸時,對數(shù)據(jù)幀的最大長度都有一個限制,這個限制值即最大傳輸單元MTU(Maximum Transmission Unit).

同一個網(wǎng)絡上的兩臺主機之間通信時,該網(wǎng)絡的MTU值是確定的,不存在分片問題。分片問題一般只存在于具有不同MTU值的互聯(lián)網(wǎng)中。由于現(xiàn)在互聯(lián)網(wǎng)主要使用路由器進行網(wǎng)絡連接,因此分片工作通常由路由器負責。

當兩臺主機之間的通信要通過多個具有不同MTU值的網(wǎng)絡時,MTU的瓶頸是通信路徑上最小的MTU值,它被稱為路徑MTU。由于路由選擇不一定是對稱的(從A到B的路由可能與從B到A的路由不同),因此,路徑MTU在兩個方向上不一定是一致的,下表是幾種常用網(wǎng)絡的MTU值:

ip數(shù)據(jù)報的格式有什么

分片:

把一個數(shù)據(jù)報為了適合網(wǎng)絡傳輸而分成多個數(shù)據(jù)報的過程稱為分片,被分片后的各個IP數(shù)據(jù)報可能經(jīng)過不同的路徑到達目標主機。

一個IP數(shù)據(jù)報在傳輸過程中可能被分片,也可能不被分片。如果被分片,分片后的IP數(shù)據(jù)報和原來沒有分片的IP數(shù)據(jù)報結(jié)構(gòu)是相同的,即也是由IP頭部和IP數(shù)據(jù)區(qū)兩個部分組成:

ip數(shù)據(jù)報的格式有什么

分片后的IP數(shù)據(jù)報,數(shù)據(jù)區(qū)是原IP數(shù)據(jù)報數(shù)據(jù)區(qū)的一個連續(xù)部分,頭部是原IP數(shù)據(jù)報頭部的復制,但與原來未分片的IP數(shù)據(jù)報頭部有兩點主要不同:標志和片偏移:

(1)—標志:在IP數(shù)據(jù)報頭部有一個叫“標志”的字段,用3位二進制數(shù)表示:

ip數(shù)據(jù)報的格式有什么

不分片DF(Do not Fragment)標志如果被置1,則數(shù)據(jù)報在傳輸過程中不能被分片,如網(wǎng)絡連通性測試命令ping就可以用-F參數(shù)設置為在數(shù)據(jù)傳輸時不分片,但這樣當數(shù)據(jù)不能通過MTU較小的網(wǎng)絡時,將產(chǎn)生數(shù)據(jù)不可達的錯誤。

片未完MF(More Fragment)標志如果被置1,說明該數(shù)據(jù)報不是分片后的最后一個數(shù)據(jù)報,最后一個數(shù)據(jù)報的該位被置0。

(2)—片偏移:IP數(shù)據(jù)報被分片后,各片數(shù)據(jù)區(qū)在原來IP數(shù)據(jù)區(qū)中的位置用13位片偏移來表示。上圖中分片1的偏移為0;分片2的偏移為600;分片3的偏移為1200實際在IP地址中,由于偏移是以8個字節(jié)為單位進行計算的,因而在IP數(shù)據(jù)報中分片1的偏移是0;分片2的偏移是75;分片3的偏移是150。

重組:

當分了片的IP數(shù)據(jù)報到達最終目標主機時,目標主機對各分片進行組裝,恢復成源主機發(fā)送時的IP數(shù)據(jù)報,這個過程叫做IP數(shù)據(jù)報的重組。

在IP數(shù)據(jù)報頭部中,標識用16位二進制數(shù)表示,它唯一地標識主機發(fā)送的每一份數(shù)據(jù)報。在一個數(shù)據(jù)報被分片時,每個分片僅把數(shù)據(jù)報“標識”字段的值原樣復制一份,所以一個數(shù)據(jù)報的所有分片具有相同的標識。

目標端主機重組數(shù)據(jù)報的原理是:

(1)—根據(jù)“標識”字段可以確定收到的分片屬于原來哪個IP數(shù)據(jù)報;

(2)—根據(jù)“標志”字段的“片未完MF”子字段可以確定分片是不是最后一個分片;

(3)—根據(jù)“偏移量”字段可以確定分片在原數(shù)據(jù)報中的位置。

到此,相信大家對“ip數(shù)據(jù)報的格式有什么”有了更深的了解,不妨來實際操作一番吧!這里是億速云網(wǎng)站,更多相關內(nèi)容可以進入相關頻道進行查詢,關注我們,繼續(xù)學習!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI