我們在上一文中介紹了乙太網5層模型,這一節我想學習一下乙太網資料封裝與解封的知識,了解乙太網資料是如何傳輸的。
一、資料封裝
當我們應用程式用tcp傳輸資料的時候,資料被送入協議棧中,然後逐個通過每一層,知道最後到物理層資料轉換成位元流,送入網路。而再這個過程中,每一層都會對要傳送的資料加一些首部資訊。整個過程如下圖。
如圖可以看出,每一層資料是由上一層資料+本層首部資訊組成的,其中每一層的資料
,稱為本層的協議資料單元 ,即pdu.
應用層資料在傳輸層新增tcp報頭後得到的pdu被稱為 segment(資料段 ),圖示為tcp段
傳輸層的資料(tcp段)傳
給網路層,網路層新增ip報頭得到的pdu被稱為packet(資料報); 圖示為ip資料報
網路層資料報(ip資料報)被傳遞到資料鏈路層,封裝資料鏈路層報頭得到的pdu被稱為frame(資料幀),圖示為乙太網幀。
最後,幀被轉換為位元,通過網路介質傳輸。
這種協議棧逐層向下傳遞資料,並新增報頭和報尾的過程稱為封裝。
二、資料格式
需要注意的是,這裡所說的乙太網幀,與我們常說的乙太網是不一樣的。下面我們就來介紹每一層資料的 首部資訊 內容。
首先我們知道世界上有個協會叫作ieee,即電子工程師協會,裡面有個分會,叫作ieee802委員會,是專門來制定區域網各種標準的。而802下面還有個分部,叫作802.3.就是我們經常提到的 ieee802.3,這個部門制定的規範叫乙太網規範,這個乙太網規範中就定義了上面提到的「乙太網首部」,這個乙太網規範,實際只定義了資料鏈路層中的mac層和物理層規範。(注意資料鏈路層包括mac子層和llc子層兩個子層,而llc子層是在ieee802.2中規範的)。
1、乙太網幀格式
乙太網常用幀格式有兩種,
一種是ethernet ii,另一種是ieee 802.3 格式。這兩種格式區別是:ethernet ii中包含乙個type字 段,。而ieee 802.3格式中,此位置是長度字段。
其中type欄位描述了,乙太網首部 後面所跟資料報的型別,例如type為0x8000時為ip協議包,type為8060時,後面為arp協議包。乙太網中多數資料幀使用的是
ethernet ii幀格式。
a、 ethernet ii幀格式
b、 ieee 802.3
幀格式
前導碼:
ethernet ii是由
8個8『b10101010構成,
ieee802.3由7個
8『b10101010+1個位元組sfd..
型別( ethernet ii)
:乙太網首部 後面所跟資料報的型別,例如type為0x8000時為ip協議包,type為8060時,後面為arp協議包。
長度(ieee802.3
):當長度小於1500時,說明該幀為
ieee802.3幀格式,大於1500時,說明該幀為
ethernet ii幀格式。
資料:資料長度最小為46位元組,不足46位元組時,填充至46位元組。因為最小幀長度是64位元組,所以,46+6+6+2+4=64。(不算前導碼)
fcs: 就是crc校驗值
乙太網首部就是:
2、ip資料報格式
ip資料報格式如下圖。ip首部,如圖也表示出來了。
3、tcp資料段格式
如圖所示為tcp首部和tcp資料段格式
下面我們再介紹幾個常見的資料格式
4、udp資料段格式--傳輸層的
其中udp首部如上圖所示。
(1)硬體型別字段指明了傳送方想知道的硬體介面型別,乙太網的值為1;
(2)協議型別字段指明了傳送方提供的高層協議型別,ip為0800(16進製制);
(3)硬體位址長度和協議長度指明了硬體位址和高層協議位址的長度,這樣arp報文就可以在任意硬體和任意協議的網路中使用;
(4)操作字段用來表示這個報文的型別,arp請求為1,arp響應為2,rarp請求為3,rarp響應為4;
(5)傳送方的硬體位址(0-3位元組):源主機硬體位址的前3個位元組;
(6)傳送方的硬體位址(4-5位元組):源主機硬體位址的後3個位元組;
(7)傳送方ip(0-1位元組):源主機硬體位址的前2個位元組;
(8)傳送方ip(2-3位元組):源主機硬體位址的後2個位元組;
(9)目的硬體位址(0-1位元組):目的主機硬體位址的前2個位元組;
(10)目的硬體位址(2-5位元組):目的主機硬體位址的後4個位元組;
(11)目的ip(0-3位元組):目的主機的ip位址。
乙太網資料的封裝
我們在上一文中介紹了乙太網5層模型,這一節我想學習一下乙太網資料封裝與解封的知識,了解乙太網資料是如何傳輸的。一 資料封裝 當我們應用程式用tcp傳輸資料的時候,資料被送入協議棧中,然後逐個通過每一層,知道最後到物理層資料轉換成位元流,送入網路。而再這個過程中,每一層都會對要傳送的資料加一些首部資訊...
乙太網和資料封裝
csma cd 載波偵聽多路訪問 衝突檢測 幫助裝置共享頻寬的協議,可避免兩台裝置同時在網路介質上傳輸資料。乙太網幀 乙太網格式 乙太網幀的各個字段 1 前導碼 交替的0和1,在每個分組的開頭提供5mhz的時鐘訊號,讓接受裝置能夠跟蹤到來的位元流 2 幀起始位置分隔符 sfd 同步 同步並檢測資料開...
乙太網資料報格式
1.802.3報文結構 2.802.1q資料報結構 type 長度為2位元組,取值為0x8100,表示此幀的型別為802.1q tag幀。pri 長度為3位元,可取0 7之間的值,表示幀的優先順序,值越大優先順序越高。該優先順序主要為qos差分服務提供參考依據 cos vlan identifier...