在一个TCP/IP架构的网络环境中,DNS是一个非常重要且常用的系统。DNS本质上作为一个数据库,主要功能就是将人易于记忆的Domain Name与人不容易记忆的IP Address作转换。 DNS系统中的服务器按照在网络中的功能可分为具有授权能力的Authoritative Name Server和具有缓存功能的Caching Name Server。目前全球所采用的DNS大多都是由ISC(Internet Software Consortium)发布的BIND(Berkeley Internet Name Domain)。但是由于BIND软件是针对简单网络设计的,随着网络的迅速发展,BIND 系统已经不适应在如今复杂的网络环境下提供DNS服务了。DNS的创造者,Nominum公司主席兼首席科学家Paul V. Mockapetris博士认为,DNS要满足未来的网络需求,特别是在处理能力和安全性能等方面的要求,必须向下一代技术发展。
Paul V. Mockapetris博士介绍,BIND系统所存在的问题主要有以下几个方面:处理能力差,经常导致查询丢失和查询速度异常缓慢;安全性能不高,DNS欺骗 ,利用软件的漏洞来发动攻击,利用网络协议的漏洞来发动DOS攻击;可靠性不强,需要经常的耗时不短的重启;管理不方便,管理BIND服务器需要系统和网络管理员的大量时间;可扩展性有限,即使BIND 9并不适合当今的大规模的网络;出了问题找不到人解决,因为使用的是免费程序,找不到人为这样的程序负责。
下一代DNS系统能做什么?
针对目前要解决的问题,Nominum公司推出了下一代DNS系统Foundation。按照功能划分,包括CNS(Caching Name Server)、ANS(Authoritative Name Server)和FMC(Foundation Management Center)。CNS完成缓存(Cache)功能,ANS完成授权(Authority)功能,FMC完成对系统的图形化管理。其中授权域名服务器应该部署在宽带骨干网中,冗余备份以提高可靠性。缓存域名服务器应当部署在靠近客户端的地方。Foundation把缓存功能和授权功能分开处理,这对于提高DNS的性能、可靠性和安全性等方面是十分重要的。
Foundation CNS 是一高性能的缓存域名服务器,可以提供电信级的服务,响应大量客户端的域名解析请求。相对于其他DNS 服务器来说,对成功的或不成功的请求,CNS 都可以提供更快的请求响应时间。CNS 还提供了对网络中广泛传播的针对UNIX 系统的各种攻击的防范措施,此外,CNS还支持一些高级设置,比如Global forwarding、Domain-specific forwarding 和IPv6 等。 Foundation ANS 是一授权域名服务器,符合所有的DNS 授权服务器标准,包括DNSSEC、Notify、Dynamic Update、EDNS、IXFR 和IPv6,提高可支持上百万的域名和上百万的区域,可进行灵活、快速地配置,并采用了Berkeley 的数据库技术和更多的安全措施。由于采用了很多先进的技术,ANS 可以提供极高的性能和可靠性。
Foundation 系统有着极高的处理能力。在Red Hat Linux、SuSE 或FreeBSD 系统下,CPU 为Pentium IV 2.4GHz 或更高,RAM 为1GB,磁盘空间2GB 以上的配置环境下,CNS 每秒可以处理88,000 个查询,ANS每秒可以处理66,000 查询。这表明了在相同硬件配置下Foundation 的查询速度大约是BIND 的4~8 倍,在相同的QPS (查询速度)的情况下,Foundation的CPU 利用率大约是BIND 的1/5,RAM 的利用率也大大提高,而且其在高峰期的查询丢失率也比BIND 大大降低。
Foundation 系统相对于BIND 有着不可比拟的安全性。首先,Foundation 的处理能力大大强于BIND,所以对于很多针对DNS 系统的攻击,Foundation 可以充分“吸收”。另外,由于对于一个响应的请求时间大大缩短,也在一定程度上较少了被所谓的“Man in the Middle”攻击的可能性。其次,Foundation 是全新编写的程序,没有共享BIND 的任何代码。再次,BIND 的一个有毒的或者非法的网站域名代替一个经常被访问的网站的域名,就会感染授权服务的数据,这是灾难性的。而在Foundation 中,缓存服务器和授权服务器是分开的,这就避免了这样的问题。而且在CNS 中还可以对特定的非法记录进行删除操作,这也是BIND所不具备的功能。最后,Foundation实现了很多先进的安全技术,使得该DNS系统更加安全,这包括:DNSSEC(DNS Security Extension)、Upstream Recursion Control(这一技术保证系统遭到很多攻击时,CNS 仍能够正常的工作)、Glue Segregation(这种技术可防止缓存中毒)、RV(Response Validation)(可以通过RV防止广为人知的弱点攻击,CNS是唯一可以防止该攻击的缓存域名服务器)。 Foundation 的可靠性。Foundation 系统在对配置进行修改的可靠性;在配置过程中,系统还会自动给出提示,对错误进行修改,无需重新启动;Foundation 系统的重启时间相对BIND 要短,进程加载只需要一秒钟。
Foundation 系统灵活的可扩展性。首先,由于Foundation 系统提供极高的处理能可以为更大规模的网络服务。其次,Foundation 系统可以处0,000 个左右,而每个区域的容量可达100,000,000 条记录左右,这些都远远大于BIND所能够处理的数目,大约是其100 倍。 Foundation 系统提供很多管理信息。可查询速度计参数,比如recursion-contexts-in-use、uptime、user-time、system-time等等;ANS可以统计的信息包括服务器收到的关于每种资源记录类型的请求的数目,也可以随时提供Slaves6的状态。另外,ANS的区域配置模板是一种非常强大的工具,能够有效并容易地创建DNS的配置。此外,ANS可以提供很多其他的统计参数,也和CNS 一样支持命令行,其它DNS 系统都不提供这样的功能。其次,Foundation 系统还可以通过FMC 提供更多的管理功能:定义DNS 数据(Defining DNS Data)、导入DNS 数据(Importing DNS Data)、配置DNS 数据(Deploying DNS Data)、对应DNS 和IP(Bridging DNS and IP),其中对应DNS 和IP 被应用在动态DNS(DDNS)中。
Foundation 系统在不同的硬件配置下的性能表示是不同的,依情况而定。在使用Foundation 系统为DNS 的时候,一般没有必要附加任何硬件设备如防火墙、负载均衡设备等。在性能方面,我们的优越性已是毫无疑问,在通常情况下,可以轻松地处理业务负荷;在安全方面,我们符合所有的DNS 基于安全方面的标准采用了更多的技术保证安全,我们也不会受到任何知道BIND 安全弱点的人的攻击;在通信量非常大的情况下,可在Foundation 前端采用负载均衡系统。
带给客户超值的投资回报 “尽管Foundation有着BIND无可比拟的技术优势,不过BIND的巨大优势在于它是免费的系统,因此决定采用Foundation替代BIND还是需要考虑的。”Paul V. Mockapetris博士说:“那么我们现在就再来分析一下采用BIND和Foundation所带来的其他方面的成本对比。”