为什么需要 DNS 解析域名为 IP 地址?
网络通讯大部分是基于 TCP/IP 的,而 TCP/IP 是基于 IP 地址的,所以计算机在网络上进行通讯时只能识别如 "202.96.134.133" 之类的 IP 地址,而不能认识域名。我们无法记住 10 个以上 IP 地址的网站,所以我们访问网站时,更多的是在浏览器地址栏中输入域名,就能看到所需要的页面,这是因为有一个叫 "DNS 服务器" 的计算机自动把我们的域名 "翻译" 成了相应的 IP 地址,然后调出 IP 地址所对应的网页。
DNS(Domain Name System) 是 "域名系统" 的英文缩写,是一种组织成域层次结构的计算机和网络服务命名系统,它用于 TCP/IP 网络,它所提供的服务是用来将主机名和域名转换为 IP 地址的工作。DNS 就是这样的一位 "翻译官",它的基本工作原理可用下图来表示。
DNS 的过程?
关于 DNS 的获取流程:
DNS 是应用层协议,事实上他是为其他应用层协议工作的,包括不限于 HTTP 和 SMTP 以及 FTP,用于将用户提供的主机名解析为 ip 地址。
具体过程如下:
①用户主机上运行着 DNS 的客户端,就是我们的 PC 机或者手机客户端运行着 DNS 客户端了
②浏览器将接收到的 url 中抽取出域名字段,就是访问的主机名,比如
- http://www.baidu.com/
, 并将这个主机名传送给 DNS 应用的客户端
③DNS 客户机端向 DNS 服务器端发送一份查询报文,报文中包含着要访问的主机名字段(中间包括一些列缓存查询以及分布式 DNS 集群的工作)
④该 DNS 客户机最终会收到一份回答报文,其中包含有该主机名对应的 IP 地址
⑤一旦该浏览器收到来自 DNS 的 IP 地址,就可以向该 IP 地址定位的 HTTP 服务器发起 TCP 连接
转载自 -- 知乎
作者:郭无心
链接:https://www.zhihu.com/question/23042131/answer/66571369