众所周知,服务器是通过IP地址被找到的,但是IP地址没人记得住,于是我们需要一个域名来指向这个IP地址,对于一个网站需要多个服务器或一个服务器对应多个网站的那就更需要一个域名了,从域名变成IP的过程是由DNS服务器完成的~~
不得不说啊,现在运营商的DNS服务实在是太不靠谱了,各种被劫持,延时超级高。。。于是很显然的就需要找个替代品了。。。替代品很简单就是解析正确,迅速~~~ 现在做公共DNS的,都宣称自己防劫持,正确基本上是没问题的,就看速度了。
速度呢,因为有缓存,所以我们主要要看就是DNS服务器的缓存到本地的这个时间了~~
我找了几个国内国外比较常见的公共DNS,使用dig做一个简单的小测试。。。测试方法很简单,dig多次,有了缓存之后,速度就稳定下来了。Google的和OpenDNS的因为受国际网络影响,每次都有一定的波动,偶尔超时,只好写一个大概的范围了,国内的都很稳定。我的网络环境是上海电信20M光纤,网络环境应该是影响比较大的,所以各位可以自己测试一下,具体命令是这个:
dig @8.8.8.8 www.facebook.com
结果如下:
Google 8.8.8.8 / 4.4.4.4
60ms - 200ms
OpenDNS 208.67.222.222 / 208.67.220.220
200ms - 800ms
AliDNS 223.5.5.5 / 223.6.6.6
8ms - 11ms
114DNS 114.114.114.114 / 114.114.115.115
8ms - 11ms
百度DNS 180.76.76.76
30ms - 36ms
CNNIC 1.2.4.8 / 210.2.4.8
30ms - 36ms
看起来还是阿里DNS和114DNS比较快一些~~~~ 现在在用阿里的DNS,感觉还是不错的。DNS服务器的好处是可以在路由里设置,这样全家都直接用上了,其实被和谐的网站DNS都可以正常解析(老大哥显然也不会在这种很多家在做的东西上做文章,不然也太麻烦了。。。),想通过更换DNS访问某些网站是没啥希望了。
顺便看一下DNS服务器是怎么工作的,用dig +trace来看一下,一步一步来查找,先从根DNS找到.com的DNS服务器,然后找163.com的DNS服务器,然后找出www.163.com的地址,指向了一个 CNAME,要到具体IP就要再去trace这个CNAME了。。。~~