瀏覽器輸入一個地址的過程分析
阿新 • • 發佈:2019-01-09
瀏覽器輸入一個地址的過程分析?
- 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