在瀏覽器中輸入url后執行的全過程


一、進行域名解析(獲取IP地址)

域名解析過程:

  1、瀏覽器搜索自己的DNS緩存,緩存中維護了一張域名和IP地址的對應表

  2、若沒有則搜索操作系統的DNS緩存

  3、若沒有則操作系統將域名發送到本地域名服務器,本地域名服務器在自己的DNS緩存查找(遞歸查詢)

  4、若沒有則通過以下方式查找(遞歸查詢/迭代查詢)

    本地域名服務器向根域名服務器發送請求,根域名服務器返回com域頂級服務器域名地址

    本地域名服務器向com域頂級域名發送請求,com域頂級域名服務器返回權限域名服務器地址

    本地域名服務器向權限域名服務器發送請求,得到IP地址

  5、本地域名將得到的IP地址返回操作系統,同時自己也將IP地址緩存起來

  6、操作系統得到IP地址返回給瀏覽器,同時自己也將IP地址緩存起來

  7、瀏覽器得到IP地址

二、應用層-瀏覽器發送HTTP請求

作為發送端的客戶端在應用層(HTTP協議)發送了一個想要做某件事的HTTP請求(比如請求某個接口)

三、傳輸層-TCP或者UDP封裝數據(HTTP請求報文)

為了傳輸方便,傳輸層選擇協議(TCP協議或者UDP協議)對從應用層收到的數據(HTTP請求報文)進行封裝(對收到的數據進行分割,並在各個報文上打上標記序號及端口號)后轉發給網絡層

四、網絡層-IP協議封裝IP地址,獲取目的MAC(media access control address)地址

通過IP協議將IP地址封裝為IP數據報,此時會使用ARP協議(ARP是一種用以解析地址的協議,根據通信方的IP就可以反查對應的MAC地址)主機發送信息時會將包含目標IP地址信息ARP請求廣播到網絡上所有的主機,並接受返回消息,以此確定目標的物理地址,找到目的的MAC地址

五、鏈路層-(又名數據鏈路層、網絡接口層)建立TCP連接

 把網絡層交下來的IP數據添加首部和尾部,封裝為MAC幀,根據目的MAC地址建立TCP連接(三次握手)

 

不同的協議層對數據包有不同的稱謂,在傳輸層叫做段(segment),在網絡層叫做數據報(datagram),在鏈路層叫做幀(frame)。數據封裝成幀后發到傳輸介質上,到達目的主機后每層協議再剝掉相應的首部,最后將應用層數據交給應用程序處理。

 


免責聲明!

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



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