【網路排查】網路分層
阿新 • • 發佈:2022-03-11
網路為什麼分層?
- 分層可以解耦
- 分層可以複用
如果實現一個應用!早起可能有兩種做法。
- 大包大攬:假設我們開發完這個程式,但我們開發第二程式的時候,還是需要開發一個網路模型,一個作業系統等。
- 應用程式,網路裝置,作業系統各自分工:這樣我們應用程式開發自己程式,當需要系統呼叫的時候就呼叫作業系統,當網路發包的時候通過交換機發送!
常見的網路分層
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
網路為什麼要分層呢 網路為什麼要分層呢