1. 程式人生 > 其它 >【網路排查】網路分層

【網路排查】網路分層

網路為什麼分層?

  • 分層可以解耦
  • 分層可以複用

如果實現一個應用!早起可能有兩種做法。

  • 大包大攬:假設我們開發完這個程式,但我們開發第二程式的時候,還是需要開發一個網路模型,一個作業系統等。
  • 應用程式,網路裝置,作業系統各自分工:這樣我們應用程式開發自己程式,當需要系統呼叫的時候就呼叫作業系統,當網路發包的時候通過交換機發送!

常見的網路分層

OSI七層模型和TCP/IP的四層,五層模型

 

 

什麼是TCP流?

TCP流表示一個連續事件的意思!是指有前後順序的。一個TCP流對應的是一個五元組

  • 源IP
  • 源埠
  • 目的IP
  • 目的埠
  • 傳輸協議型別

是指資料鏈路層的概念,代表二層報文。

  • 幀頭
  • 載荷
  • 幀尾

注意:幀是有尾部的,像IP,TCP,HTTP報文都是沒有尾部的!

 

分組

IP層報文。也是狹義的packet

 

TCP segment,也就是TCP報文。segment是指“部分”的意思。那整體是表示什麼呢?它就是在應用層交付給傳輸層的訊息(message)。當 message 被交付給傳輸層時,如果這個 message 的原始尺寸,超出了傳輸層資料單元的限制(比如超出了 TCP 的 MSS),它就會被劃分為多個 segment。這個過程就是分段(segmentation),也是 TCP 層的一個很重要的職責。

 

 

各個分層的排查工具

應用層

各大瀏覽器的開發者工具(Chrome,FireFox等)

表示層和會話層

  • 基於瀏覽器做初步的檢查,主要是圍繞證書本身做檢查
  • 關於 TLS 握手、金鑰交換、密文傳輸等方面的排查,還是需要用 tcpdump 和 Wireshark 來做

傳輸層

  • 路徑可達性測試(telnet nc)
  • 檢視當前連線狀況(netstat ss)
  • 檢視當前連線的傳輸速率(iftop)
  • 檢視丟包和亂序等的統計(netstat -s)
網路層

 網路層

  • 檢視網路路 檢視網路路徑狀況(traceroute  mtr)
  • 檢視路由(route netstat -r)

資料鏈路層和物理層

  • ethtool

 

網路為什麼要分層呢 網路為什麼要分層呢