一、DNS解析
- 查询浏览器缓存
- 查询系统缓存(nslookup baidu.com)
- 查询系统host文件
- 查询本地路由器
- ISP的缓存 DNS 服务器(假设在所有缓存上述1-4都没查到域名对应的ip地址,同时不知道默认网关的mac地址)
- 5.1、使用arp获取默认网关地址
- 5.2、组织数据发送给默认网关(ip还是DNS服务器的ip,但是mac地址是默认网关的mac地址)
- 5.3、默认网关转发数据给路由器
- 5.4、路由器根据自己的路由协议会选择一个合社 的较快的路径把数据给DNS服务器的网关
- 5.5、目的网关把数据转发给DNS服务器
- 5.6、DNS服务器查询解析出 baidu.com对应的ip地址,DNS服务器回答报文
二、TCP连接
得到baidu.com对应的 ip地址 ,会与目的服务器进行tcp连接,经过3次握手,建立连接
三 、HTTP请求
- 使用http发送请求数据给baidu.com对应的服务器
- 服务器收到数据请求后,通过查询自己的服务器得到相应的结果,原路返回给浏览器
- 浏览器收到 数据后 ,通过浏览器 自己的渲染功能来显示baidu.com这个页面
四、关闭TCP连接
浏览器主动关闭TCP连接
备注:上述过程可用cisco Packet模拟
思科-网络学习工具cisco Packet (免费使用),支持mac和windows
思科网络学习网站:https://www.netacad.com/zh-hant/courses/packet-tracer