首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

UNIX 網絡編程基礎知識 (一):協議數據單元、層次結構與關鍵參數

     編輯:關於C語言

應用層協議示例

  • HTTP (超文本傳輸協議)
  • SMTP (簡單郵件傳送協議)

核心概念:PDU 與 SDU

各層實體交換的 PDU

  1. 應用層:
    • TCP:無長度限制的雙向字節流
    • UDP:不超過發送緩衝區的單個記錄
    • SCTP:無總長度限制的單個/多個雙向記錄流
  2. 傳輸層 (TCP):將字節流分割封裝為 段
  3. 網絡層:IP 數據報,IPv4 最大 65535 字節,IPv6 最大 65575 字節
  4. 鏈路層:幀,長度取決於具體接口 (如以太網 MTU 1500)

分組與封裝關係

  • IP 數據報作為鏈路層 SDU 封裝入幀 → 稱為 分組
  • 分組可能是完整 IP 包,也可能是分片後的片段 (帶新 IP 頭部)

關鍵接口參數

術語全稱含義
PDUProtocol Data Unit對等實體間交換的單位信息
SDUService Data Unit上層交給下層的服務數據單元,即下層的 PDU 載荷

封裝流向示意

應用數據
  → TCP 段 (加 TCP 首部, ≤ MSS)
    → IP 數據報 (加 IP 首部, ≤ MTU)
      → 幀 (加幀首部/尾部)
        → 物理傳輸

總結

理解 PDU/SDU、各層 PDU 名稱、MSS/MTU 區別是網絡編程調試抓包、MTU 問題排查的基礎。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved
參數全稱層級含義
MSSMaximum Segment Size應用層/傳輸層接口TCP 段最大載荷長度
MTUMaximum Transmission Unit網絡層/鏈路層接口鏈路層幀最大載荷長度