www.baidu
- 先要解析出www.baidu.com对应的IP地址
- 先要知道默认网关的MAC地址(使用ARP协议),哪一步不知道就继续使用ARP
- 组织数据发送给默认网关(IP是DNS服务器的IP)
- 默认网关把数据转发给路由器,路由器寻找一条最优的线路将数据转发给目的网关。
- 目的网关把数据发送给DNS服务器。
- DNS服务器解析出www.baidu.com对应的IP地址。过程如下:
- 我的计算机向本地DNS服务器(当我的设备通过ISP接入互联网,ISP会为我的设备分配一个DNS服务器(也可能是我手工配置的DNS))发起解析www.baidu.com的请求。本地DNS服务器先查询自己的cache,如果有的话则返回www.baidu.com的IP地址。
- 如果本地DNS服务器的cache中没有,则选择一个根域名服务器(本地有这些根域名服务器对应的13个IP地址)向其发起请求。根域名服务器为本地DNS服务器返回.com顶级域名服务器的IP地址。
- 随后本地DNS服务器向.com顶级域名服务器发起请求,.com顶级域名服务器为本地DNS服务器返回baidu.com权威域名服务器的IP地址。
- 本地DNS服务器得到baidu.com权威域名服务器的IP地址之后向baidu.com权威域名服务器发起请求.得到www.baidu.com这台主机的IP地址。
- 本地DNS服务器将www.baidu.com对应的IP地址返回给我的计算机。
- 得到www.baidu.com对应的IP地址之后,我的主机会向该主机发送tcp三次握手,进行连接。
- 使用http协议发送请求数据给web服务器。
- Web服务器收到数据请求之后,通过查询自己的服务器得到相应的结果,将结果返回给我的计算机。
- 我的计算机收到返回的数据后,浏览器将其显示出来。
- 我的计算机进行四次挥手,关闭TCP连接。
整个访问过程完成。
(www.baidu.com实际的域名解析过程要比这个复杂,此处仅仅以此作为访问一个网址的演示,故不深入研究如果想深入了解可以参考https://blog.csdn.net/crazw/article/details/8986504一文)
注意:
1.先发送的是DNS的包,如果被其中一个路由器丢弃就是不知道某个设备(路由器或者服务器的)的MAC地址,当遇到这种情况的 时候就发送ARP的包,获取需要知道的MAC地址,返回给该路由器。使DNS的包可以发送过去。
2.DNS用的是udp协议。
3.主机向本地DNS服务器的查询一般是采用递归查询。
4.本地DNS服务器向根域名服务器的查询通常是采用迭代查询。
相关阅读
/d/file/news/20190606/
在普通用户模式下我们输入www.baidu.com时便会出现如下界面:下面我们从系统网络的角度分析输入www.baidu.com后的过程:1、客户端浏
请参考:https://blog.csdn.net/cql08e/article/details/80066709
1、解析baidu.com域名对应的ip地址 1.1使用arp(Address Resolution Protocol)地址解析协议获得默认网关的MAC地址;
centos7 ping: www.baidu.com: Name or service not k
[root@www ~]# ping www.baidu.comping: www.baidu.com: Name or service not known [root@www ~]# 1、网络配置查看 记住NAT