程序员经典面试题:为什么需要DNS

核心提示不知道大家有没有用过固定电话,在以前,很多电话机都是不智能的,你想要拨打某人的电话,就需要把他们家的电话号码背诵下来,如果他是个手机号,那么就需要背诵11位数字,所以小时候,每逢过年过节,亲朋好友就会用电话号码,来考验孩子们的记忆力。随着手

不知道大家有没有用过固定电话,在以前,很多电话机都是不智能的,你想要拨打某人的电话,就需要把他们家的电话号码背诵下来,如果他是个手机号,那么就需要背诵11位数字,所以小时候,每逢过年过节,亲朋好友就会用电话号码,来考验孩子们的记忆力。随着手机的到来,现在我们发现再也不用去记住每个人那些数字了,而是变成了一个电话本,可以备注不同的姓名,例如客户甲,公司座机等等。

互联网的世界,假如你要去访问某个网站,实际上是去访问某个机器,访问机器的地址,也就是我们常说的IP地址,是一个串数字,也就是一个32位整数。我们知道,当我们想要在浏览器上访问一个网站的时候,几乎不会直接使用IP地址,而是使用一串字符,例如baidu.com。这可比一串数字好记得多,这就是我们常说的网址。

那么,我们需要一个地方,将我们的网址解析成机器的地址,也就是我们常说的DNS。DNS,就是互联网的电话本,那么DNS是如何进行工作的呢?

DNS其实是一组服务器,在这组服务器中,首先有根DNS服务器,会告诉你顶级域名的DNS服务器地址,例如google.cn,会让你去.cn顶级域名DNS服务器中进行查询,到了.cnDNS服务器之后,会根据你的网址,让你去google.cn的权威服务器中进行数据查询。

每一次网络请求,都需要将网址转成对应的IP地址,所以,通常情况下,我们需要把这个DNS缓存在客户端本地。

当你输入一个网址的时候,如果你的本地缓存没有,那么会首先查询本地的DNS服务器,什么是本地DNS服务器呢?其实并不是配置在你家里的,而是你的宽带属于哪个服务商,就会使用哪个服务商的DNS,本地DNS服务器并不会告诉你最终的IP地址,而是让你去请求根域名DNS,然后则是顶级域名DNS,接着是权威域名DNS,最终才换取到想要访问的机器的IP地址。

综上,DNS的作用就好比电话本,有了这个电话本,我们不用去背诵每一个网址背后的IP,让我们能够更加轻松地在互联网中冲浪。

 
友情链接
鄂ICP备19019357号-22