Web 頁面請求過程

2021-10-25 20:19:40 字數 1980 閱讀 6260

#1. dhcp 配置主機資訊

假設主機最開始沒有 ip 位址以及其它資訊,那麼就需要先使用 dhcp 來獲取。

主機生成乙個 dhcp 請求報文,並將這個報文放入具有目的埠 67 和源埠 68 的 udp 報文段中。

該報文段則被放入在乙個具有廣播 ip 目的位址(255.255.255.255) 和源 ip 位址(0.0.0.0)的 ip 資料報中。

該資料報則被放置在 mac 幀中,該幀具有目的位址 ff:ff:ff:ff:ff:ff,將廣播到與交換機連線的所有裝置。

連線在交換機的 dhcp 伺服器收到廣播幀之後,不斷地向上分解得到 ip 資料報、udp 報文段、dhcp 請求報文,之後生成 dhcp ack 報文,該報文包含以下資訊:ip 位址、dns 伺服器的 ip 位址、預設閘道器路由器的 ip 位址和子網掩碼。該報文被放入 udp 報文段中,udp 報文段有被放入 ip 資料報中,最後放入 mac 幀中。

該幀的目的位址是請求主機的 mac 位址,因為交換機具有自學習能力,之前主機傳送了廣播幀之後就記錄了 mac 位址到其**介面的交換表項,因此現在交換機就可以直接知道應該向哪個介面傳送該幀。

主機收到該幀後,不斷分解得到 dhcp 報文。之後就配置它的 ip 位址、子網掩碼和 dns 伺服器的 ip 位址,並在其 ip **表中安裝預設閘道器。

#2. arp 解析 mac 位址

主機通過瀏覽器生成乙個 tcp 套接字,套接字向 http 伺服器傳送 http 請求。為了生成該套接字,主機需要知道**的網域名稱對應的 ip 位址。

主機生成乙個 dns 查詢報文,該報文具有 53 號埠,因為 dns 伺服器的埠號是 53。

該 dns 查詢報文被放入目的位址為 dns 伺服器 ip 位址的 ip 資料報中。

該 ip 資料報被放入乙個乙太網幀中,該幀將傳送到閘道器路由器。

dhcp 過程只知道閘道器路由器的 ip 位址,為了獲取閘道器路由器的 mac 位址,需要使用 arp 協議。

主機生成乙個包含目的位址為閘道器路由器 ip 位址的 arp 查詢報文,將該 arp 查詢報文放入乙個具有廣播目的位址(ff:ff:ff:ff:ff:ff)的乙太網幀中,並向交換機傳送該乙太網幀,交換機將該幀**給所有的連線裝置,包括閘道器路由器。

閘道器路由器接收到該幀後,不斷向上分解得到 arp 報文,發現其中的 ip 位址與其介面的 ip 位址匹配,因此就傳送乙個 arp 回答報文,包含了它的 mac 位址,發回給主機。

#3. dns 解析網域名稱

知道了閘道器路由器的 mac 位址之後,就可以繼續 dns 的解析過程了。

閘道器路由器接收到包含 dns 查詢報文的乙太網幀後,抽取出 ip 資料報,並根據**表決定該 ip 資料報應該**的路由器。

因為路由器具有內部閘道器協議(rip、ospf)和外部閘道器協議(bgp)這兩種路由選擇協議,因此路由表中已經配置了閘道器路由器到達 dns 伺服器的路由表項。

到達 dns 伺服器之後,dns 伺服器抽取出 dns 查詢報文,並在 dns 資料庫中查詢待解析的網域名稱。

找到 dns 記錄之後,傳送 dns 回答報文,將該回答報文放入 udp 報文段中,然後放入 ip 資料報中,通過路由器反向**回閘道器路由器,並經過乙太網交換機到達主機。

#4. http 請求頁面

有了 http 伺服器的 ip 位址之後,主機就能夠生成 tcp 套接字,該套接字將用於向 web 伺服器傳送 http get 報文。

在生成 tcp 套接字之前,必須先與 http 伺服器進行三次握手來建立連線。生成乙個具有目的埠 80 的 tcp syn 報文段,並向 http 伺服器傳送該報文段。

http 伺服器收到該報文段之後,生成 tcp syn ack 報文段,發回給主機。

連線建立之後,瀏覽器生成 http get 報文,並交付給 http 伺服器。

http 伺服器從 tcp 套接字讀取 http get 報文,生成乙個 http 響應報文,將 web 頁面內容放入報文主體中,發回給主機。

瀏覽器收到 http 響應報文後,抽取出 web 頁面內容,之後進行渲染,顯示 web 頁面。

Web 頁面請求過程

客戶端作業系統生成乙個 dhcp 請求報文,將報文放入目的地埠67和源埠68的 udp 報文段。該 udp 報文段被放置在乙個具有廣播 ip 目的地位址 255.255.255.255 和源 ip 位址 0.0.0.0 的 ip 資料報中,因為此時客戶端還沒有 ip 位址。包含 dhcp 請求報文的...

Web 頁面請求過程

假設一台計算機最開始沒有 ip 位址以及其它資訊,如何動態獲取ip位址?這就需要用到執行動態主機配置協議 dynamic host configuration,dhcp 以從本地的dhcp伺服器獲取乙個ip位址以及其他資訊。主機生成乙個 dns 查詢報文,該報文具有 53 號埠,因為 dns 伺服器...

web頁面請求過程

一般會經歷以下幾個過程 1 首先,在瀏覽器位址列中輸入url 2 瀏覽器先檢視瀏覽器快取 系統快取 路由器快取,如果快取中有,會直接在螢幕中顯示頁面內容。若沒有,則跳到第三步操作。3 在傳送http請求前,需要網域名稱解析 dns解析 解析獲取相應的ip位址。4 瀏覽器向伺服器發起tcp連線,與瀏覽...