簡述我抓的一個數據包MAC&IP&TCP

MAC&IP&TCP

一、說明應用層數據是如何被封裝傳輸的?

1.數據發送處理過程數據封裝協議數據單元

數據包分析
(1)應用層將數據交給傳輸層,傳輸層添加上TCP的控制信息(稱爲TCP頭部),這個數據單元稱爲段(Segment),加入控制信息的過程稱爲封裝。然後,將段交給網絡層。
(2)網絡層接收到段,再添加上IP頭部,這個數據單元稱爲包(Packet)。然後,將包交給數據鏈路層。
(3)數據鏈路層接收到包,再添加上MAC頭部和尾部,這個數據單元稱爲幀(Frame)。然後,將幀交給物理層。
(4)物理層將接收到的數據轉化爲比特流,然後在網線中傳送。

2.數據接收處理過程數據封裝協議數據單元

(1)物理層接收到比特流,經過處理後將數據交給數據鏈路層。
(2)數據鏈路層將接收到的數據轉化爲數據幀,再除去MAC頭部和尾部,這個除去控制信息的過程稱爲解封裝,然後將包交給網絡層。
(3)網絡層接收到包,再除去IP頭部,然後將段交給傳輸層。
(4)傳輸層接收到段,再除去TCP頭部,然後將數據交給應用層。
應用層數據被封裝圖

二、根據截獲的數據包說明MAC,IP和TCP協議頭信息各字段的含義

1、我用WireShark抓的一個包

在這裏插入圖片描述

2、分析這個數據包

[1] MAC頭部

在這裏插入圖片描述

目的地址:40 a3 cc c0 e7 66

源地址:54 75 95 15 b3 d6

類型:08 00 表示上層使用的是ip數據包

MAC尾部:MAC幀的幀尾也只有一個字段,爲4字節長,包含的信息是幀校驗序列FCS(使用CRC校驗)。

[2] IP頭部

(1)說明:ip數據包首部最大40字節,最小20字節,一個字節8比特,比如45就是一個字節。

(2)解析該數據包
在這裏插入圖片描述
版本:4,ipv4

首部長度:5,單位爲4字節,因此首部長度爲20字節

服務類型:04

總長度:00 28,單位爲字節,因此該ip數據包的總長度爲28字節

標識:f1 00

標誌和片偏移 04 00

  • 標誌:佔3位 010 (中間的一位記爲DF,Don’t Fragment;最後一個位爲MF,More Fragment)
  • 片偏移:佔13位 13個0

生存時間(TTL):37

協議:06 表示上層使用的是TCP數據段

1:ICMP  4:IP  6:TCP  17:UDP  21:ftp  22:ssh  23:telnet  80:http  88:eigrp 89:ospf 

首部檢驗和:9e 73

源地址:df 6f 12 d8

目的地址:c0 a8 01 68

[3] TCP頭部

在這裏插入圖片描述

源端口號:00 50

目的端口號:cb 70

序號:a6 62 ce 4a

確認號:c7 9e 0d f7

頭部長度保留標誌位:50 10

  • 頭部長度:5(單位爲4字節) 因此長度爲20字節

  • 保留:(6bits)000000

  • 標誌位:010000

    • URG: 表示緊急指針是否有效

    • ACK: 表示確認號是否有效(攜帶ACK標誌的TCP報文段稱爲確認報文段)

    • PSH: 提示接收端應用程序要立即從TCP接收緩衝區讀走數據,以騰出空間接收後續的數據。(若應用程序

      不讀走數據,數據會一直留在TCP模塊的接收緩衝區)

    • RST: 表示要求對方重新建立連接(攜帶RST標誌的TCP報文段爲復位報文段)

    • SYN: 表示請求建立一個連接(攜帶SYN標誌的TCP報文段稱爲同步報文段)

    • FIN: 表示通知對方要關閉連接(攜帶FIN標誌的TCP報文段爲結束報文段)

窗口大小:09 e5(TCP流量控制的一個手段)

校驗和:db 93(作爲TCP可靠傳輸的重要保障,這個校驗不僅包括TCP頭部,也包括數據部分)

緊急指針:00 00

@CopyRight 名偵探柯小啓

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章