什么是DNS (Domain Name System)?How it works?
本篇文章源自以下视频链接的字幕:
什么是DNS(域名服务器)?(Powercert animated videos)
在网络世界里,计算机们不像人类,拥有姓名。它们以数字命名,因为这是计算机和其他类似设备在互联网相互交流,识别的方式,也就是用IP地址。而人类习惯于用名字而不是数字。无论是直接和另一个人说话,或者是识别一个国家,地点,或者事务,人类用名字而不是数字。
所以为了在人类和电脑之间建立沟通的桥梁,让沟通更加便利,网络工程开发师开发了DNS。
- DNS将名字转化为数字
- DNS将域名转化成IP地址
所以如果你输入一个网址到浏览器,DNS会把名字转化成数字,因为计算机只懂数字。
例如你想上一个网站,你需要打开浏览器,输入域名,让我们拿yahoo.com举例。
严格地来说,你不用输入yahoo.com去获得yahoo的网页,你可以直接输入IP地址,如果你已经知道的话。但是因为我们不擅长记住和处理数字,特别是当有成千上万的网址在因特网上,我们可以直接输入域名,然后让DNS帮我们转化成IP地址。
回到之前的例子,当你在你的浏览器输入yahoo.com时DNS服务器会在它的数据库搜寻,给那个域名找到匹配的IP地址,当找到时,它会将那个域名转化成yahoo网站的IP地址,所有这些完成时,你的电脑就可以与yahoo的网页服务器开始交流,并且获得它网页。
所以DNS基本上是一个号码簿,当你想找到一个数字时,你不会先去找到数字,而是先找到名字,然后就可以找到号码。
现在我们分析一下,DNS需要哪些步骤去完成工作:
- 当你在你的浏览器去输入yahoo.com时,如果你的浏览器或者操作系统在他们的缓存储存器中找不到IP地址,它会向下一级发送请求,也就是解析服务器。
解析服务器(问路者)
- 将IP地址储存在缓存里
- 解析服务器本质上是你的网络供应商,所以当解析器收到请求时,它会检查它的缓存,看有没有yahoo.com的IP地址,如果它找不到的话,它会接着向下一级发送请求,也就是根域名服务器。
根域名服务器
- 根域名服务器是DNS阶级里的最顶级或者基础的。
- 全世界一共有13组根域名服务器,它们战略性的分布在各个角落。
- 它们被12个不同的组织所管理。
- 每一组根域名服务器都有它们独特的IP地址
- 当根域名服务器收到了对yahoo.com索要IP地址的请求时,根域名服务器实际不知道IP地址是什么,但是知道该向哪问去找到IP地址,然后根域名服务器会将问路者指向顶级域名服务器去找.com的域名,然后问路者就会问顶级域服务器去要yahoo.com的IP地址。
顶级域服务区(TLD server)
- 储存了顶级域名的IP地址的一些信息
- 比如. COM/.NET/.ORG
- 这一台TLD服务器管理.com域名,也就是yahoo.com所属的。当TLD服务器收到询问yahoo.com的IP地址时,TLD服务器不知道yahoo.com的IP地址,但TLD会给问路者指向下一级,也就是最后一级,主域名服务器。
主域名服务器/服务器
- 负责知道所有的域名包括IP地址
- 同样,问路者会询问主域名服务器yahoo.com的IP地址,它们是最后的分权,当主域名服务区从问路者收到询问时,主域名服务器会将yahoo.com的IP地址回应,最后问路者会告诉你的电脑yahoo.com的IP地址,这样你的电脑就可以获取yahoo的网页了。
需要注意的是,一旦问路者收到了IP地址时,它会将其储存在缓存里,以便下一次对yahoo.com访问使用,这样就不用再一次走过这么多步骤了。