web 页面请求

作者: 一块大番薯 | 来源:发表于2018-03-18 18:05 被阅读17次

    一、DHCP 配置主机信息

    1. 假设主机最开始没有 IP 地址以及其它信息,那么就需要先使用 DHCP 来获取。

    2. 主机生成 DHCP 发现报文。

    3. 报文向下传递到运输层,封装成 UDP 报文段(目的端口 67,源端口 68)。

    4. UDP 报文段向下传递到网络层,封装成 IP 分组。
      (源 IP 0.0.0.0,目标 IP 255.255.255.255)

    5. IP 分组向下传递到数据链路层,封装成 MAC 帧。
      (目标 MAC FF:FF:FF:FF:FF:FF,即广播)

    6. MAC 帧广播到与交换机连接的所有设备。

    7. 连接在交换机的 DHCP 服务器收到广播帧之后,不断向上分解得到发现报文,之后生成 DHCP 提供报文。提供报文包含以下信息:IP 地址、DNS 服务器的 IP 地址、默认网关路由器的 IP 地址和子网掩码。该报文不断向下封装成 MAC 帧。

    8. 该帧的目的地址是请求主机的 MAC 地址,因为交换机具有自学习能力,之前主机发送了广播帧之后就记录了 MAC 地址到其转发接口的交换表项,因此现在交换机就可以直接知道应该向哪个接口发送该帧。

    9. 主机收到该帧后,不断分解得到 DHCP 提供报文。之后就配置它的 IP 地址、子网掩码和 DNS 服务器的 IP 地址,并在其 IP 转发表中安装默认网关。

    二、ARP 解析 IP

    1. DHCP 只是获取默认网关的 IP 地址,但是报文最终会封装成 MAC 帧,所以必须知道默认网关的 MAC 地址。

    2. 主机生成一个 ARP 请求分组。(目标 IP 是网关 IP)

    3. ARP 请求分组向下传输的数据链路层,封装成 MAC 帧。
      (目标 MAC 是 FF:FF:FF:FF:FF:FF)

    4. 交换机将该帧转发给所有的连接设备,包括网关。

    5. 网关接收到该帧后,向上分解得到 ARP 分组,之后生成一个 ARP 响应分组,向下封装成 MAC 帧,内含网关 MAC 地址,发回给主机。

    三、DNS 解析域名

    1. 主机根据 URL 生成一个 DNS 查询报文,向下封装成 UDP 报文段,目标端口号为 53。

    2. UDP 报文段向下封装成 IP 分组,目的 IP 为 DNS 服务器 IP 地址。
      (DHCP 中已获取 DNS 服务器的 IP 地址)。

    3. 该 IP 分组向下封装成 MAC 帧,然后发到网关。
      (ARP 解析 IP 处已获取网关 MAC)

    4. 网关收到 MAC 帧后,向上分解得到 IP 分组,然后根据转发表决定该 IP 数据报应该转发的路由器。

    5. MAC 帧到达 DNS 服务器之后,向上分解得到 DNS 查询报文,然后在 DNS 数据库中查找待解析的域名。

    6. 找到 DNS 记录之后,生成 DNS 响应报文,不断向下封装成 MAC 帧,通过路由器反向转发回网关路由器,并经过以太网交换机到达主机。

    四、HTTP 请求页面

    1. 客户端与服务器通过 TCP 三次握手建立连接。

    2. 客户端生成 HTTP 请求报文,交付给服务器。

    3. 服务器从 TCP 套接字读取请求报文,生成一个 HTTP 响应报文,将 Web 页面内容放入报文主体中,发回给主机。

    4. 浏览器收到 HTTP 响应报文后,抽取出 Web 页面内容,之后进行渲染,显示 Web 页面。

    参考资料:CyC2018

    相关文章

      网友评论

        本文标题:web 页面请求

        本文链接:https://www.haomeiwen.com/subject/jureqftx.html