以太網數據格式與封裝解封

      咱們在上一文中介紹了以太網5層模型,這一節我想學習一下以太網數據封裝與解封的知識,瞭解以太網數據是如何傳輸的。
1、數據封裝
       當咱們應用程序用TCP傳輸數據的時候,數據被送入協議棧中,而後逐個經過每一層,知道最後到物理層數據轉換成比特流,送入網絡。而再這個過程當中,每一層都會對要發送的數據加一些首部信息。整個過程以下圖。




        如圖能夠看出,每一層數據是由上一層數據+本層首部信息組成的,其中每一層的數據  ,稱爲本層的協議數據單元   ,即PDU.
        應用 層數據在傳輸層添加TCP報頭後獲得的PDU被稱爲 Segment(數據段 ),圖示爲TCP段
        傳輸層的數據(TCP段)傳 給網絡層,網絡層添加IP報頭獲得的PDU被稱爲Packet(數據包); 圖示爲IP數據包
        網絡層 數據報(IP數據包)被傳遞到數據鏈路層,封裝數據鏈路層報頭獲得的PDU被稱爲Frame(數據幀),圖示爲以太網幀。
         最後,幀被轉換爲比特,經過網絡介質傳輸。 這種協議棧逐層向下傳遞數據,並添加報頭和報尾的過程稱爲封裝。
2、數據格式
        須要注意的是,這裏所說的以太網幀,與咱們常說的以太網是不同的。下面咱們就來介紹每一層數據的 首部信息 內容。
        首先咱們知道世界上有個協會叫做IEEE,即電子工程師協會,裏面有個分會,叫做IEEE802委員會,是專門來制定局域網各類標準的。而802下面還有個分部,叫做802.3.就是咱們常常提到的 IEEE802.3,這個部門制定的規範叫以太網規範,這個以太網規範中就定義了上面提到的「以太網首部」,這個以太網規範,實際只定義了數據鏈路層中的MAC層和物理層規範。(注意數據鏈路層包括MAC子層和LLC子層兩個子層,而LLC子層是在IEEE802.2中規範的)。
一、以太網幀格式
          以太網經常使用幀格式有兩種, 一種是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..
     目的地址:目的設備的MAC物理地址。
     源 地址 :發送設備的MAC物理地址。
     類型( 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校驗值

     以太網首部就是:

二、IP數據包格式
    IP數據包格式以下圖。IP首部,如圖也表示出來了。

    
三、TCP數據段格式
          如圖所示爲TCP首部和TCP數據段格式

下面咱們再介紹幾個常見的數據格式

四、UDP數據段格式--傳輸層的

    
     其中UDP首部如上圖所示。
五、ARP數據包格式(摘自:來源:  http://blog.sina.com.cn/s/blog_9c5d29f70101dwgk.html)



1)硬件類型字段指明瞭發送方想知道的硬件接口類型,以太網的值爲1html

2)協議類型字段指明瞭發送方提供的高層協議類型,IP080016進制);網絡

3)硬件地址長度和協議長度指明瞭硬件地址和高層協議地址的長度,這樣ARP報文就能夠在任意硬件和任意協議的網絡中使用;學習

4)操做字段用來表示這個報文的類型,ARP請求爲1ARP響應爲2RARP請求爲3RARP響應爲4spa

5)發送方的硬件地址(0-3字節):源主機硬件地址的前3個字節;orm

6)發送方的硬件地址(4-5字節):源主機硬件地址的後3個字節;htm

7)發送方IP0-1字節):源主機硬件地址的前2個字節;blog

8)發送方IP2-3字節):源主機硬件地址的後2個字節;接口

9)目的硬件地址(0-1字節):目的主機硬件地址的前2個字節;get

10)目的硬件地址(2-5字節):目的主機硬件地址的後4個字節;it

11)目的IP0-3字節):目的主機的IP地址。








 



         



相關文章
相關標籤/搜索