在浏览器中输入url后执行的全过程

一、进行域名解析(获取IP地址)

域名解析过程:

  1、浏览器搜索自己的DNS缓存,缓存中维护了一张域名和IP地址的对应表

  2、若没有则搜索操作系统的DNS缓存

  3、若没有则操作系统将域名发送到本地域名服务器,本地域名服务器在自己的DNS缓存查找(递归查询)

  4、若没有则通过以下方式查找(递归查询/迭代查询)

    本地域名服务器向根域名服务器发送请求,根域名服务器返回com域顶级服务器域名地址

    本地域名服务器向com域顶级域名发送请求,com域顶级域名服务器返回权限域名服务器地址

    本地域名服务器向权限域名服务器发送请求,得到IP地址

  5、本地域名将得到的IP地址返回操作系统,同时自己也将IP地址缓存起来

  6、操作系统得到IP地址返回给浏览器,同时自己也将IP地址缓存起来

  7、浏览器得到IP地址

二、应用层-浏览器发送HTTP请求

作为发送端的客户端在应用层(HTTP协议)发送了一个想要做某件事的HTTP请求(比如请求某个接口)

三、传输层-TCP或者UDP封装数据(HTTP请求报文)

为了传输方便,传输层选择协议(TCP协议或者UDP协议)对从应用层收到的数据(HTTP请求报文)进行封装(对收到的数据进行分割,并在各个报文上打上标记序号及端口号)后转发给网络层

四、网络层-IP协议封装IP地址,获取目的MAC(media access control address)地址

通过IP协议将IP地址封装为IP数据报,此时会使用ARP协议(ARP是一种用以解析地址的协议,根据通信方的IP就可以反查对应的MAC地址)主机发送信息时会将包含目标IP地址信息ARP请求广播到网络上所有的主机,并接受返回消息,以此确定目标的物理地址,找到目的的MAC地址

五、链路层-(又名数据链路层、网络接口层)建立TCP连接

猜你喜欢

转载自www.cnblogs.com/wangxirui/p/12794765.html