《深入理解 TCP 協議:從原理到實戰》學習筆記 1


當發出一個http請求時,如在瀏覽器輸入www.baidu.com並回車時,其流程如下所示:

1595384017463

應用層

應用層規定了應用程序之間如何相互傳遞報文,以HTTP協議為例,規定了:

  • 報文類型:請求或者是響應報文
  • 報文語法:分為幾段,每段的含義 分隔符 每個部分的每個字段的含義
  • 進程應該以什么樣的時序發送報文和處理響應報文

HTTP報文格式由三部分組成:

  • 起始行:確定是請求還是響應報文
  • 首部(header):常見的K-V結構,如 Content-length
  • 可選的實體(entity):實體就是HTTP真正要傳輸的內容,比如傳輸的一段HTML

如下所示:

1595384948393

除了我們熟知的HTTP協議,還有下面這些非常常用的應用層協議

  • 域名解析協議 DNS
  • 郵件收發協議SMTPPOP3
  • 時鍾同步協議NTP
  • 網絡文件共享協議NFS

傳輸層

傳輸層的作用是為兩台主機之間的應用進程提供端到端的邏輯通信,相隔幾千公里的兩台主機的進程可以直接進行通信。傳輸層主要對傳輸行為進行控制,主要的協議有TCPUDPTCP主要為下面兩層協議提供數據包的重傳、流量控制、擁塞控制等。

1595385530539

傳輸層使用端口號來標識不同的應用程序,主機收到數據包以后根據目標端口號將數據包傳遞給對應的應用程序進行處理。比如常見的80端口,服務器在接收到請求之后,將會把這個請求交給監聽80端口的應用程序(也有可能是Ngix等負載均衡器)處理。

1595385784243

網絡互連層

網絡互連層提供了主機到主機的通信,將傳輸層產生的數據包封裝成分組數據包發送到目標主機,並提供路由選擇的能力。這層的主要協議主要是IP協議,TCPUDP都是使用IP協議作為網絡層協議。這一層的主要作用就是給包加上源地址和目標地址,將數據包傳送到目標地址。

1595386146625

網絡訪問層

網絡訪問層也稱之為網絡接口層,以太網、WIFI以及藍牙都是在這一層,網絡訪問層提供了主機連接到物理網絡需要的硬件和相關協議。

整體分層圖如下所示:

1595386659310

分層好處

  • 限制了依賴關系范圍,各層之間使用標准化接口,各層之間不需要知道上下層如何工作
  • 靈活性更好
  • 易於測試和維護
  • 促進標准化


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM