摘要:
本文給出ipv4與ipv6資料報格式示意圖,並整理了各個字段含義,最後對比ipv4與ipv6資料報格式的區別。
一、ipv4資料報
圖1 ipv4資料報格式
版本號(version)
不同的ip協議版本使用不同的資料報格式。
首部長度(hl, internet head length)
確定ip資料報中資料部分實際從**開始,包含可變數量的選項。若ip資料報沒有包含選項,則ip資料報首部長度為20位元組。
服務型別(tos, type of service)
更好地服務不同型別ip資料報(如實時資料報ip**應用、非實時通訊流ftp),cisco將tos前3位標識不同服務等級,即優先順序。
資料報長度(tl, total length)
ip資料報長度,即首部+資料。
分片:標識(identification)、標誌(flags)、段位移(fragment offset)
這3個字段跟ip分片有關,當目的主機從同乙個源收到一批資料報時,需要確定這些資料報是完整資料報還是分片後的資料報,資料報首部標識字段解決這個問題,檢查資料報的標識號確定哪些資料報真正是同乙個較大資料報的片;如何判斷最後乙個分片已收到,資料報首部標誌字段解決這個問題,將最後一片的標誌為0,其他標記為1;如何順序重組這些片,這就需要記錄每個片的在資料報有效淨荷的偏移量,這也確定了片是否丟失。若丟失某些片,則丟棄這個不完整的資料報(不會交給傳輸層)。需要可靠傳輸怎麼辦呢,由傳輸層讓源重傳原始資料攝中的資料(如tcp)。
壽命(ttl, time to live)
每次資料報經過一台路由器時,該字段的值減1,若ttl欄位減為0,則丟棄該資料報,從而確保資料報不會永遠在網路迴圈。
上層協議(protocol)
該欄位用於指明ip資料報的資料部分應該交給哪個傳輸層協議(6為tcp、17為udp)。
首部檢查和(header checksum)
只是對ip首部進行檢驗,對整個tcp/udp報文段檢驗交由tcp/udp完成。將首部中的每兩個位元組當作乙個數,用反碼運算對這些數求和,該和按1補碼值存放在檢查和字段。當路由器收到ip資料報時,計算其首部檢查和,與該字段值比較,若出錯則丟棄該資料報。
注:因為ttl欄位及選項字段可能改變,所以每個路由器上的檢查和都須重新計算並存放在原處。(檢查後,再更新)
源和目的ip位址(source/destination address)
選項(options)
選項字段允許ip首部被擴充套件,由此導致資料報首部長度可變,故不能預先確定資料字段從何開始,同時也使路由器處理乙個ip資料報所需時間差異很大(有的要處理選項,有的不需要)。
資料(data)
當使用tcp/udp協議時,資料即為傳輸層報文段(tcp/udp)。資料字段也可承載其他型別資料,如icmp報文段。
二、ipv6資料報
圖2 ipv6資料報格式
版本號(version)
不同的ip協議版本使用不同的資料報格式。
通訊量等級(traffic classes)
使得源節點和路由器能夠識別ipv6資訊包的優先順序。與ipv4服務型別tos欄位含義類似。
流標籤(flow label)
標記那些需要ipv6路由器特殊處理(如一種非預設服務質量或實時服務)的資訊包順序。
有效負載長度(payload length)
定長40位元組資料報首部後面的位元組數量,包括擴充套件報頭和負載資料,即資料報長度-40。
下乙個首部(next header)
當ipv6沒有擴充套件報頭時,該字段的作用和ipv4的上層協議字段一樣。當含有擴充套件報頭時,該字段的值即為第乙個擴充套件報頭的型別。
跳限制(hop limit)
**資料報的每台路由器對該字段的值減1,若減為0則丟棄該資料報。
源和目的ip位址(source/destination address)
資料(data)
當資料報到達目的地時,該有效載荷就從ip資料報移出,並交給下乙個首部欄位中指定的協議。
源和目的ip位址(source/destination address)
選項(options)
選項字段允許ip首部被擴充套件,由此導致資料報首部長度可變,故不能預先確定資料字段從何開始,同時也使路由器處理乙個ip資料報所需時間差異很大(有的要處理選項,有的不需要)。
資料(data)
當使用tcp/udp協議時,資料即為傳輸層報文段(tcp/udp)。資料字段也可承載其他型別資料,如icmp報文段。
三、區別
3.1 首部長度
首部長度可變,ipv4首部的選項字段允許ip首部被擴充套件,由此導致資料報首部長度可變,故不能預先確定資料字段從何開始,同時也使路由器處理乙個ip資料報所需時間差異很大(有的要處理選項,有的不需要)。基於此,ipv6採用固定40位元組長度的報頭長度(稱基本報頭)。ipv6如何實現ipv4選項字段類似的功能,答案是擴充套件報頭,並由ipv6基本報頭的下乙個首部指向擴充套件報頭(如果有的話)。路由器不處理擴充套件報頭,提公升了路由器處理效率。
3.2 分片/重組
ipv6,分片與重組只能在源與目的地上執行,不允許在中間路由器進行。分片與重組是個耗時的操作,將該功能從路由器轉移到端系統,大大加快了網路中的ip**速率。那,如果路由器收到ipv6資料報太大而不能**到出鏈路上怎麼辦?該路由器丟棄該包,並向傳送發發回乙個"分組太大"的icmp差錯報文,於是傳送發使用較小長度的ip資料報重發資料。
3.3 首部檢查和
每個路由器上,ipv4首部檢查和都需要重新計算,是一項耗時操作。加之,傳輸層和鏈結層協議執行了檢驗操作,網路傳輸可靠性提公升,所以ipv6不進行首部檢查和,從而更快速處理ip分組。
既然ipv6有如此之多優勢,那麼,接下來的問題,如何從ipv4向ipv6遷移?
參考資料:
[1] 《tcp/ip指南》
[2] 《計算機網路--自頂向下方法與internet特色》[m].
[3] 基於6lowpan的ipv6無線感測器網路的研究與實現[d].上海交通大學.
ipv4g和ipv6資料報格式visio原檔案 ipv4g和ipv6資料報格式.rar
from:
IPV4與IPV6的區別
在windows 7以上系統中,在設定本地ip位址的時候經常會看到同事含有ipv4協議項與ipv6協議項,並不同於以往windows xp系統中僅有tcp ip協議項,不少朋友都覺得比較奇怪,詢問編輯ipv4與ipv6的區別,下面編輯就為大家權威的介紹下ipv4與ipv6有什麼區別。目前的全球網際網...
IPv4與IPv6位址格式詳解
ipv4位址是類似 a.b.c.d 的格式,它是32位,用 分成四段,用10進製表示 ipv6位址類似 x x x x x x x x的格式,它是128位的,用 分成8段,每個x是乙個16進製制數 16 2 4 可見,ipv6位址空間相對於ipv4位址有了極大的擴充 ipv6 位址的長度為 128 ...
IPv4與IPv6之間的區別
ipv4和ipv6是是目前使用的兩種internet協議版本,ipv4和ipv6協議之間存在各種差異,包括它們的功能,但關鍵的一點是它生成的位址 位址空間 的數量的區別。下面我們就來具體的給大家介紹ipv4和ipv6協議之間的區別。1 位址長度 ipv4協議具有32位 4位元組 位址長度 ipv6協...