浏览器访问网站的简单过程
- 浏览器向DNS服务器发出解析域名的请求;
- DNS服务器将"www.baidu.com"域名解析为对应的IP地址,并返回给浏览器;
- 浏览器与百度服务器进行三次握手,建立TCP连接;
- 浏览器发出HTTP请求报文;
- 服务器回复HTTP响应报文;
- 浏览器解析响应报文,渲染HTML内容,并显示在页面上;
- 收发报文结束,释放TCP连接,执行四次挥手。
IP地址解析的描述(DNS作用)
在上面所描述的访问网站的过程中,第一个环节就是DNS解析域名并返回IP,但实际上浏览器访问DNS服务器的过程还包含许多步骤:
- 首先DNS服务器通常与本地客户端(假设为图中192.168.1.1)不在同一个网络中,则需要通过网关转发客户端对DNS的请求数据
- 发送ARP数据包获取默认网关(192.168.1.254)的 mac 地址
- 然后将请求DNS的数据包发送给默认网关
- 默认网关拥有转发数据的能力,把数据转发给路由器
- 路由器根据自己的路由协议,来选择一个合适的较快的路径转发数据给目的网关(192.168.2.254)
- 目的网关,把数据转发给 DNS 服务器
- DNS 服务器查询解析出 www.baidu.com 对应的 ip 地址,并原路返回请求这个域名的客户端,至此,客户端才获得了百度的IP地址