1.将www.google.com 输入主机web浏览器,操作系统生成一个DNS查询报文,该报文具有www.google.com以及53端口号,目的IP为DNS服务器地址68.87.71.226, 源IP为主机地址86.85.2.101。
2.主机将DNS请求报文放入以太网帧,该帧将发送到主机所在网络的网关路由器中,使用ARP获取网关路由器的MAC作为下一跳MAC地址。于是,主机生成一个具有目的IP地址68.85.2.1(默认网关)的ARP查询报文,将该报文放置在目的地址为广播FF:FF:FF:FF:FF:FF的以太网帧中,并向交换机发送该帧,交换机将该帧交付给所有连接设备,包括网关路由器。
3.当网关路由器收到该ARP查询包的时候,发现该报文中目的IP地址68.85.2.1匹配其接口的IP地址,因此网关路由器进行ARP回答,指明它的MAC地址00:22:6B:45:1F:1B对应IP地址68.85.2.1。网关路由器将该ARP回答放入以太网帧中,经由交换机发送至主机。
4.主机收到ARP回答,从中抽取网关路由器的MAC地址00:22:6B:45:1F:1B。现在,主机能够使包含DNS查询的以太网帧寻址到网关路由器的MAC地址。
5.网关路由器接收到该帧并抽取包含DNS查询的IP数据报,目的地址68.87.71.226根据转发表决定将数据报发送到comcast网络中的最左边路由器。
6.comcast网络中最左边的路由器接收到该帧,抽取IP数据报,检查目的地址68.87.71.226,根据转发表(RIP、OSPF/IS-IS形成)确定出口,朝着DNS服务器转发数据报。
7.最终DNS查询数据报到达DNS服务器,在数据库中查找www.google.com对应的IP地址64.233.169.105,组成DNS回答报文,传回到主机。
8.主机从DNS回答报文中抽取www.google.com对应的IP地址64.233.169.105,准备连接google服务器。
9.主机通过google的IP地址64.233.169.105,生成TCP套接字(执行三次握手),该套接字用于向www.google.com发送HTTP GET报文。
10.主机的浏览器生成包含要获取的URL的HTTP GET 报文,写入套接字。该GET报文成为TCP报文的负载,交付到www.google.com。
11.在www.google.com的HTTP服务器从TCP套接字读取HTTP GET报文,生成一个HTTP 响应报文,将请求的WEB页面放入HTTP响应体中,并将报文发送进TCP套接字中。通过google,comcast和学校网络的转发,到达主机。
来源:CSDN
作者:Chen_Hulk
链接:https://blog.csdn.net/u010034085/article/details/104416723