Web页面请求历程

Web页面请求历程

OSI七层参考模型
在这里插入图片描述
访问www.google.com过程

在这里插入图片描述

计算机通过以太网电缆连接到学校的以太网交换机,交换机与学校的路由器相连。学校的路由器与一个ISP连接(comcast.net),DNS服务器驻留在comcast网络中。

1️⃣计算机上的操作系统生成一个DHCP请求报文,并将这个报文放入具有目的端口67(DHCP服务器)和源端口68(DHCP客户)的UDP报文段,该报文段被放在一个具有广播IP目的地址255.255.255.255)和源IP地址0.0.0.0)的IP数据报中。

UDP 报文段
在这里插入图片描述
IP 数据报
在这里插入图片描述
2️⃣包含DHCP请求报文的IP数据报则被放置在以太网帧中,该以太网帧具有目的MAC地址 FF:FF:FF:FF:FF:FF,使该帧将广播到交换机连接的所有设备(如果顺利的话也包括DHCP服务器),该帧的源MAC地址
00:16:D3:23:68:8A

以太网帧
在这里插入图片描述
3️⃣包含DHCP请求的广播以太网帧是第一个由计算机发送到以太网交换机的帧,该交换机在所有出口广播该帧,包括连接到路由器的端口

4️⃣路由器在它的具有MAC地址00:22:6B:45:1F的接口接收到该广播以太网帧,该帧中包含DHCP请求,并且从该以太网帧中抽取出IP数据报。该数据库的广播IP地址表明该IP数据报应当由在该节点的高层协议处理,因此该数据报的载荷(一个UDP报文段) 被分解向上到达UDP,DHCP请求报文从此UDP报文段中抽取出来,此时DHCP服务器有了DHCP请求报文

5️⃣路由器中的DHCP服务器能以CIDR块68.95.2.0/24分配IP地址。DHCP服务器生成包含这个IP地址以及DNS服务器的IP地址68.87.71.226,默认网关路由器的IP地址(68.85.2.1)和子网块68.85.2.0/24DHCP ACK报文,该DHCP报文被放入UDP报文段中,UDP报文段被放入一个IP数据报中,IP数据报再被放入一个以太网帧中。这个以太网的源MAC地址是由路由器连接到归属网络时接口的MAC地址(00:22:6B:45:1F:1B),目的MAC地址是计算机的MAC地址(00:16:D3:23:68:8A

6️⃣包含DHCP ACK的以太网由路由器发送给交换机。因为交换机是自学习的,并且先前从计算机收到以太网帧,所以该交换机知道寻址到00:16:D3:23:68:8A的帧仅从通向计算机的输出端口转发

7️⃣计算机接收到包含到DHCP ACK的以太网帧,从该以太网帧中抽取IP数据报,从IP数据报中抽取UDP报文段,从UDP报文段中抽取DHCP ACK报文。计算机的客户则记录下它的IP地址和它的DNS服务器的IP地址。它还在其IP转发表中安装默认网关的地址。


8️⃣计算机上的操作系统生成DNS查询报文,将字符串www.google.com放入DNS报文的问题段中。该DNS报文段被放置在一个具有53号目的端口的UDP报文段中。该UDP报文段则被放入具有IP目的地址68.87.71.226和源地址68.85.2.101的IP数据报中。

9️⃣计算机将包含DNS请求报文的数据报放入一个以太网帧中,该帧发送到学校的路由器(通过ARP协议获得该网关路由器的MAC地址

1️⃣0️⃣计算机生成具有目的IP地址68.85.2.1ARP查询报文,将该ARP报文放置在一个具有广播目的地址(FF:FF:FF:FF:FF:FF)的以太网帧中,由交换机发送

1️⃣1️⃣网关路由器接收到ARP查询报文,因此准备ARP回答,指示它的MAC地址00:22:6B:45:1F:1B对应的IP地址68.85.2.1

1️⃣2️⃣计算机接收包含ARP回答报文的帧,并从ARP回答报文中抽取网关路由器的MAC地址.

1️⃣3️⃣计算机发送包含DNS查询的以太网帧寻址到网关路由器的MAC地址


1️⃣4️⃣网关路由器接收该帧并抽取包含DNS查询的IP数据报.路由器查找该数据报的目的地址,并根据其转发表决定该数据报应当发送到comcast网络最左边的路由器.

1️⃣5️⃣在comcast网络最左边的路由器接收到该帧,抽取IP数据报,检查该数据报的目的地址,并根据其转发表确定出接口,经过该接口朝着DNS服务器转发数据报,而转发表已根据comcast的域内协议(RIP,OSPF,IS-IS)以及因特网的域间协议BGP所填写

1️⃣6️⃣DNS服务器收到包含DNS查询的IP数据报后,抽取出DNS查询报文,在它的DNS数据库中查找名字www.google.com,找到包含对应www.google.com的IP地址的DNS源纪录(存于google.com的权威DNS服务器).DNS服务器形成包含主机名到IP映射的DNS回答报文返回给计算机.

1️⃣7️⃣计算机根据获取的IP地址,生成套接字,用于向www.google.com发送HTTP GET报文,计算机中的TCP先与www.google.com中的TCP三次握手,计算机生成一个具有目的端口80的TCP SYN报文段,将该TCP报文段放入64.233.169.105(www.google.com)的IP数据报中,将该数据报放置在MAC地址为网关路由器地址的帧中,并向交换机中发送该帧

1️⃣8️⃣生成套接字时,首先需要与google.com服务器进行TCP三次握手,建立TCP连接。
TCP SYN请求报文段:几番周折到达google.com
TCP SYN ACK:来自服务器端的应答
TCP SYN再次请求,表示我要开始了

1️⃣9️⃣建立TCP连接之后,就可以开始发送请求了。HTTP GET请求报文段被放入套接字,然后移交给运输层、网络层、数据链路层,经过以太网的路由转发到达google.com服务器。

2️⃣0️⃣google.com服务器,发送响应报文到达计算机,然后就有网页显示了。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值