因特網(wǎng)協(xié)議數(shù)據(jù)報格式
其中,版本字段記錄數(shù)據(jù)報是屬于哪個版本的協(xié)議,例如,可以用此字段區(qū)分出IPv4和IPv6。這個字段使得在不同版本間傳遞數(shù)據(jù)成為可能。
頭部長度字段說明頭部有多長,這個字段有4bit,最小值是5,所以頭部的最大長度可以為15個單位長度(單位長度4字節(jié)),也就是60字節(jié),因此后面的可選字段最多為40字節(jié)。服務質(zhì)量字段用于指示當數(shù)據(jù)報在一個特定網(wǎng)絡中傳輸時對實際服務質(zhì)量的要求是什么。服務質(zhì)量字段從左到右由一個3bit的優(yōu)先順序字段,D、T、R三個標志位和兩個保留位組成。優(yōu)先順序字段用于標志數(shù)據(jù)報的優(yōu)先級;D、T、R三個標志位分別代表是否對低延時(Delay)、高吞吐量(Throughput)和高可靠性(Reliability)有要求。不過實際上,現(xiàn)在的路由器都忽略服務質(zhì)量這個字段??傞L字段是指整個數(shù)據(jù)報的長度,包括頭部和數(shù)據(jù)部分,單位是1字節(jié),最大長度可達65 535字節(jié)。
任何主機都要求能接收至少576字節(jié)的數(shù)據(jù)報。標識字段是為了便于目的主機在組裝分段時判斷新到的分段屬于哪個分組。所有屬于同一分組的分段都會包含同樣的標識值。標記字段包含3個字節(jié),分別是保留位、不可分段(DF,Don’t Fragment)位和更多分段(MF,More Fragments)位。保留位必須為0;DF位為1時表示“該分組不能被分段”;MF位為1時代表“后面還有進一步分段”。在有分段的情況下,除了最后一個分段外的所有分段都設置MF位為1。這個字段可以用來標志是否所有分組都已到達。
TCP/IP(Transport Control Protocol/Internet Protocol,傳輸控制協(xié)議/Internet協(xié)議)的歷史應當追溯到Internet的前身—ARPAnet時代。為了實現(xiàn)不同網(wǎng)絡之間的互連,美國國防部于1977年到1979年間制定了TCP/IP體系結構和協(xié)議。TCP/IP是由一組具有專業(yè)用途的多個子協(xié)議組合而成的,這些子協(xié)議包括TCP、IP、UDP、ARP、ICMP等。TCP/IP憑借其實現(xiàn)成本低、在多平臺間通信安全可靠以及可路由性等優(yōu)勢迅速發(fā)展,并成為Internet中的標準協(xié)議。在上世紀90年代,TCP/IP已經(jīng)成為局域網(wǎng)中的首選協(xié)議,在最新的操作系統(tǒng)(如Windows7、Windows XP、Windows Server2003等)中已經(jīng)將TCP/IP作為其默認安裝的通信協(xié)議。
分段偏移字段用于說明該分段在當前數(shù)據(jù)報的位置,單位是8個字節(jié),第一個分段的偏移是0。生命期字段是一個用來限制分組生命周期的計數(shù)器,單位是s,8bit字段說明最長可達255s。在實際使用中,是以經(jīng)過的節(jié)點記數(shù)的,每過一個節(jié)點,計數(shù)器減一。當生命期字段減為0時,分組就要被丟棄。協(xié)議字段告訴網(wǎng)絡層應該將數(shù)據(jù)報傳送給哪個傳輸進程。協(xié)議的編號在整個因特網(wǎng)上是通用的。頭校驗和字段只對頭部進行校驗。由于一些頭部字段始終都有變化(例如生命期字段),因此頭校驗和在每個節(jié)點處都要重新計算。源地址和目的地址字段指明了源和目的地的IP地址。可選項字段對于主機和網(wǎng)關的IP模塊來說,都是必須實現(xiàn)的。可選是指它們在特定數(shù)據(jù)報中是否出現(xiàn)是可選的,而不是指它們的實現(xiàn)。每個可選項都用第一個字節(jié)標明它的類型。目前已定義的可選項有5個,分別是安全性(指明數(shù)據(jù)報的機密程度)、嚴格路由選擇(要求嚴格按照其后所列路由前進)、寬松路由選擇(只需經(jīng)過其后所列路由即可)、記錄路由(要求所經(jīng)路由器附上其IP地址)和時間戳(要求所經(jīng)路由器都附上其IP地址和時間標記)。