互联网时代最主要的标志是什么没错就是通过网络去解决人们的问题,那么你是如果访问网页的呢看似简单的一个输入网站,打开网页,他的背后走了多少流程呢来,今天我们就一起看看,我们平时访问度娘的全过程。
!
在192.168.1.1这个电脑上用浏览器访问www.baidu.com的过程如下:
1. 当在浏览器中输入www.baidu.com 后按下回车键 之后,浏览器组织一个数据包
2. 这个数据包是tcp的格式的数据 ,这个数据中需要得到对方的ip以及对方程序的端口(一般情况下网站的端口是80)
3. 为了了能够得到www.baidu.com对应的ip地址,因此接下来需要解析这个域名
为了了能够解析域名,因此192.168.1.1这个电脑首先需要发送dns数据包给dns服务器(dns是一个 专门用来解析域名对应的ip的协议)
dns服务器的ip在电脑能够上网之前 其实早就已经自动设定好了了(此时dns服务器的ip是192.168.2.1)
为了了能够发送dns数据包,需要将数据发送给192.168.2.1这个电脑
通过检查发现192.168.2.1这个ip和本机的ip不不在同一个网段,那么会先将dns数据包发送给默认网关,但是如果没有默认网关的mac的话,需要
首先发送arp数据包获取默认网关的mac, 然后将dns数据包发送给默认网关(192.168.1.254),这个电脑接下来将数据转发到互联网上
通过层层的转发,最终这个数据包到达了了 192.168.2.254这个网关,这个网关将数据转发给192.168.2.1
192.168.2.1这个dns服务器通过解析接收的数据,将www.baidu.com对应的ip(192.168.3.1)返回给192.168.1.1这个电脑
当192.168.1.1这个电脑接收到dns回过来的数据之后,就知道了了www.baidu.com对应的ip(192.168.3.1)
接下来将tcp的数据转发给192.168.1.254这个默认网关 ,默认网关将数据转发到192.168.3.254,然后192.168.3.254将数据转发给192.168.3.1这个
服务器(注意此时收到的数据是tcp的3次握手的第1次),服务器接下来和192.168.1.1之间进行行3次握手(详情看我上篇博客。)
当192.168.1.1建立连接之后,就会发送真正的数据请求到192.168.3.1这个服务器上,然后服务器通过数据的查询最终将数据返回给192.168.1.1
当浏览器收到之后,浏览器通过渲染 最终用户看到了了这个网站上的主页信息 ,,,(当所有的数据都接收完毕之后,就是4次挥手)