最近,域名系统(DNS)领域受到了越来越多的关注。举例来说,谷歌就刚刚发布了公共DNS服务,它提供的DNS解析服务器网络中包含了一项叫做预 获取技术的功能。谷歌宣称,它们的技术可以降低整个DNS结构上的延迟。
在一份新闻稿中,NeuStar公司也透露了一些令人振奋的与DNS相关的消息:
“今天(2009年12月10日),NeuStar公司和OpenDNS宣布将共同实施一项由NeuStar公司发起的倡议,通过利用 NeuStar公司的数据库建立的DNS实时目录,在互联网上提供域名系统(DNS)近实时的更新。该技术提供了一个以云为基础的集中系统,允许 NeuStar公司的客户和供应商实时更新DNS信息以满足互联网服务提供商和服务提供者的需求,为世界各地的互联网用户提供更好的体验。”
一些基本概念
Neustar这项技术的概念来源于“生存时间”(TTL),一个所有DNS记录里都包含的参数。TTL是一个计时器,用来决定一条DNS记录 在DNS域名解析服务器上的保存时间。你可能会问,为什么不将它无限期地保存下去呢?
这是因为一个DNS区块文件是有很多部分组成的。使用TTL可以让域名解析服务器在本地记录到期后,也可以保证特定DNS记录记录查询的有效 性。这样的话,就可以以迂回的方式保证本地副本的信息是合理准确的。
问题之所在
在一个完美的世界中,短时间的TTL会是最有效的选择,从而实现在最佳环境下提供正确的DNS记录。但不幸的是,在现实世界中,短时间的TTL 会让权威域名服务器过载,造成的后果类似一次分布式拒绝服务攻击。
一个典型DNS记录的生存时间是86400秒,而这就是NeuStar公司要解决的问题。在权威域名服务器作出更新后,在24小时内运行中的次 级域名服务器还可以使用错误的DNS记录。
最近,我的一位客户就遇到过这样的问题。他希望为电子邮件服务器更换一个不同的公共IP地址。我建议在周末进行更改,以尽量减少造成的负面影 响。我还与互联网服务提供商一起工作将TTL调整为远小于24小时。所有这些工作,到星期天的时间才完成。
另一个例子
关于TTL出现问题的另一个例子就是瑞典国家域名.SE系统在今年10月发生的事情。管理者因特网基础设施基金会向权威域名服务器发送了一个错 误的DNS区块文件。这个错误的DNS记录接着蔓延到所有运行中的域名服务器上。
该基金会在一小时内发现了错误并给予纠正。不过,世界范围内的域名服务器都已经对.SE域返回了无效的DNS记录。这一问题,直到该记录的 TTL过期或记录从服务器手动刷新才会得以解决。
一种可能的解决方法
NeuStar公司提供的解决方案采用的是基于UltraDNS平台的DNS实时目录。理论上来看,该目录就成为DNS区块文件中所有更改的集 合。只要一个区块文件被改变,一条信息(利用UltraDNS)就会发送到所有的域名解析服务器上,通知它们清除无效的记录。
下一次查询的就是已经更新的DNS记录了,域名解析服务器必须向权威域名服务器发送一条查询信息。准确的记录返回并转发到试图解析域名的计算机 上。这种模式将可以避免在.SE网站上出现由于瑞典DNS错误造成的当机事故。
OpenDNS选择的理由
是什么让OpenDNS迅速决定采用Neustar的技术呢?OpenDNS的加入印证了NeuStar公司技术的有效性,并提供了庞大的用户 群。OpenDNS的创始人和首席技术官大卫·尤里维奇,做出了以下说明(引述自NeuStar公司的新闻稿):
“我们很高兴能在这一项目中与NeuStar公司共同工作。与NeuStar公司的合作证明OpenDNS现在不仅仅是全球最大的DNS服务之 一了,而且也是最新最先进的。NeuStar公司提供了世界一流的服务权威DNS服务。OpenDNS提供了世界一流的服务递归DNS服务。我们期待着其 他服务提供商选择采用DNS实时目录作为实时更新标准。”
最后的思考
在DNS领域,OpenDNS是一个世界级别的竞争对手,特别是在用户安全和隐私方面。这种合作将让其变得更加强大。