該報文段則被放入在一個具有廣播 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 報文。