TCP/IP

協定資料單元 — 區段 (Segment)、資料包 (Datagram)、訊框 (Frame)

網路協定 (networking protocol) 由許多 層級 (layer) 組成,
每一層所使用的資料結構則統稱為 協定資料單元 (PDU)
其中包含了控制與位址資訊的 表頭/標頭 (header),與實際乘載的 資料 (data)。
 
encapsulation
 


 

封裝與拆裝
(Encapsulation & Decapsulation)

 
先來個簡單的示意圖:
layer
 
發送方 寫好了 信紙 (第 4 層),
將其放入 信封,並寫上收件人、地址…後,成為了信件 (第 3 層),
接著將多封信件封箱,成為了包裹 (第 2 層),
最後交由卡車 將其運輸給 接收方 (第 1 層)。
 
這種在 資料/封包 在傳遞到下一層以前,
新增此層的 表頭 (header) 或其他元資料的動作,稱為 封裝
反之,拆裝 或稱解封裝、解包 (unpack)
是 資料/封包 從底層傳遞到上層前,去除表頭的行為。
 
封裝 (Encapsulation)拆裝 (Decapsulation)
抽象出每層的資料結構,使底層無需知道上層的具體細節,
以增加 酬載 (payload) 的擴充性與彈性。
 


 

TCP/IP Model

相同的觀念,應用在常見的 TCP/IP Model 中:
DoD-Model
 
以 TCP/IP 為例,就像信紙 + 信封,稱為信件:
TCP 表頭 + 資料,稱為 TCP 區段 (TCP Segment)
IP 表頭 + 資料,稱為 IP 資料包 (IP Datagram) 或更常見的名稱 — 封包 (packeet)
資料鏈結層表頭 + 資料 + 表尾 (如果有的話),則稱作 訊框 (Frame)
 
另外,若傳輸層使用 UDP,則稱為 UDP 資料包 (UDP Datagram)
應用層 也可能自我 (或結合其他應用) 進行封裝。
 
而他們有個更通用的名字:

協議資料單元 (Protocol Data Unit, PDU)

 
 

作者: 鄭中勝
喜愛音樂,但不知為何總在打程式 ? 期許能重新審視、整理自身所學,幫助有需要的人。

發表迴響