1. 程式人生 > >瀏覽器輸入一個地址的過程分析

瀏覽器輸入一個地址的過程分析

瀏覽器輸入一個地址的過程分析?

  • DNS解析過程,尋找對應的伺服器ip地址 (應用層)
    可能會有一次向外部DNS的請求
    (參照 DNS過程分析)
  • 建立TCP連線,利用這個連線傳送資料 (傳輸層)
    三次握手
  • 封裝HTTP請求包,HTTP或HTTPS,新增相應的協議內容 (應用層)
    HTTP頭
  • 封裝TCP請求包,TCP或UDP,新增相應的協議內容(傳輸層
    TCP頭
  • 封裝IP請求包,新增IP協議相應內容 (網路層
    IP頭
  • 封裝ARP請求包,新增ARP協議相應內容 (網路層

    網絡卡發出去封裝好的mac包,到達閘道器
    MAC頭
  • 請求包打包完畢,通過網路,到達網路上,新增相應的乙太網頭 (資料鏈路層)
    乙太網頭
  • 請求包根據路由協議(相關路由表),傳輸網路包 (網路層)
  • 網路包根據RARP協議,找到目標伺服器的IP地址 (網路層
  • 目標伺服器發現MAC地址對的上,交給作業系統的網路層 (網路層 傳輸層
    網路層發現IP對的上,交給傳輸層TCP(TCP都會發送回復包,用於訊息確認)
    通過TCP包中的埠號,交給正在監聽此埠號的程序
    假設是Nginx,處理完成後,將相關資料打包,經過資料包的流轉,回覆給瀏覽器

應用層協議:DNS HTTP HTTPS
傳輸層協議:TCP UDP
網路層協議:IP ARP RARP

參考資料

網路協議 1 - 概述
一次完整的HTTP請求過程
圖解TCP/IP