4 HTTP的“四層”和“七層”


1 四層:TCP/IP 網絡分層模型

四層是指TCP/IP 網絡分層模型。

  1. 第一層:“鏈接層”(link layer),負責在以太網、WiFi 這樣的底層網絡上發送原始數據包,工作在網卡這個層次,使用 MAC 地址來標記網絡上的設備,所以有時候也叫 MAC 層。

  2. 第二層:“網際層”或者“網絡互連層”(internet layer),IP 協議就處在這一層。

    • 因為 IP 協議定義了“IP 地址”的概念,所以就可以在“鏈接層”的基礎上,用 IP 地址取代 MAC 地址,把許許多多的局域網、廣域網連接成一個虛擬的巨大網絡,在這個網絡里找設備時只要把 IP 地址再“翻譯”成 MAC 地址就可以了。
  3. 第三層:“傳輸層”(transport layer),這個層次協議的職責是保證數據在 IP 地址標記的兩點之間“可靠”地傳輸,是 TCP 協議工作的層次,另外還有它的一個“小伙伴”UDP。

    • TCP 是一個有狀態的協議,需要先與對方建立連接然后才能發送數據,而且保證數據不丟失不重復;TCP 的數據是連續的“字節流”,有先后順序。
    • UDP 是一個無狀態的協議,不用事先建立連接就可以任意發送數據,但不保證數據一定會發到對方;UDP 是分散的小數據包,是順序發,亂序收。
  4. 第四層叫“應用層”(application layer),由於下面的三層把基礎打得非常好,所以在這一層就“百花齊放”了,有各種面向具體應用的協議。例如 Telnet、SSH、FTP、SMTP 等等,當然還有我們的 HTTP。

  5. 數據包

    • MAC 層的傳輸單位是幀(frame),IP 層的傳輸單位是包(packet),TCP 層的傳輸單位是段(segment),HTTP 的傳輸單位則是消息或報文(message)。
    • 但這些名詞並沒有什么本質的區分,可以統稱為數據包。

2 七層:OSI網絡分層模型

OSI全稱為 開放式系統互聯通信參考模型(Open System Interconnection Reference Model)`。
image

  1. OSI 模型的優點

    • TCP/IP 是純軟件的棧,沒有網絡應有的最根基的電纜、網卡等物理設備的位置,OSI補上了這個缺失
    • OSI 為每一層標注了明確的編號(第一張圖是我自己為了區分標的,模型上沒有),最底層為第一層,最上層為第七層。
  2. 兩個分層模型的映射關系

    • 第一層,物理層,TCP/IP 無對應
    • 第二層,數據鏈路層,對應 TCP/IP 的鏈路層
    • 第三層,網絡層,對應 TCP/IP 的網際層
    • 第四層,傳輸層,對應 TCP/IP 的傳輸層
    • 第五、六、七層,統一對應到 TCP/IP 的應用層
  3. 四層負載均衡指什么?

    • 指工作在應用層上,基於 TCP/IP 協議的特性,例如 IP 地址,端口號等實現對后端服務器的負載均衡。
  4. 七層負載均衡指什么?

    • 指工作在應用層上,看到的是 HTTP 協議,解析HTTP 報文里的 URI、主機名、資源類型等數據,再用適當的策略轉發給后端服務器。

3 TCP/IP 協議棧的工作方式

逐層打包再拆包,實現數據傳輸,但是細節不可見
image


免責聲明!

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



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