在一个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要满足未来的网络需求,特别是在处理能力和安全性能等方面的要求,必须向下一代技术发展。
目前DNS系统BIND存在的问题
作为一款公开代码的DNS 服务程序,BIND 在现行的DNS 的系统中,得到了非常广泛的运用。但BIND开发只是针对早期网络环境,即使是最新版本的BIND9也只适应90 年代中期的网络环境,而且由于架构设计的原因,很多问题无法通过软件升级来解决。
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 可以提供极高的性能和可靠性。
Nominum的FMC是一个综合的IP网络地址管理系统,使得IP网络的部署和管理更为简单。FMC的管理对象包括DNS和DHCP服务器。其目标主要是提供一个统一的,可以管理CNS/ANS/BIND 系统的、方便易用的控制管理中心。通过其API,可以订制客户化的管理机制以及与其他管理系统的集成。该系统基于SUN 或者Linux 的平台和Oracle/HSQL 数据库,可以提供高的可靠性和扩展性。同时,该系统还支持SNMP。
Foundation 系统的特点
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 还支持很多新技术,包括:命令信道(Command channel)、DNSSEC、动态DNS、EDNS(Extended DNS)、NOTIFY 、IXFR、负载均衡技术等。如:命令信道技术也就是命令行方式的管理和控制,可以在服务器仍然正常工作的同时,控制服务器、更改配置和其他的应用进行交互。动态DNS则是可以自动对其更新等纪录进行更新。再如负载均衡技术:CNS/ANS 提供一定的负载均衡能力,但是需要两个条件配合,Anycast和BGP,也就意味着主和从服务器需要是同一个IP 地址。在满足了这两个条件后,CNS/ANS 可在服务器组间均衡流量。
Foundation 对环境的要求
Foundation 系统在不同的硬件配置下的性能表示是不同的,依情况而定。在使用Foundation 系统为DNS 的时候,一般没有必要附加任何硬件设备如防火墙、负载均衡设备等。在性能方面,我们的优越性已是毫无疑问,在通常情况下,可以轻松地处理业务负荷;在安全方面,我们符合所有的DNS 基于安全方面的标准采用了更多的技术保证安全,我们也不会受到任何知道BIND 安全弱点的人的攻击;在通信量非常大的情况下,可在Foundation 前端采用负载均衡系统。
带给客户超值的投资回报
“尽管Foundation有着BIND无可比拟的技术优势,不过BIND的巨大优势在于它是免费的系统,因此决定采用Foundation替代BIND还是需要考虑的。”Paul V. Mockapetris博士说:“那么我们现在就再来分析一下采用BIND和Foundation所带来的其他方面的成本对比。”
就服务器硬件成本来说,Foundation 的性能是BIND 的几倍,所以一般来说,采用Foundation 后,服务器的数量至少可以减少一半。另外,其他方面的成本节省也不能忽视,包括空调、供电、机架。在一般情况下,采用Foundation 系统后,每台服务器第一年最少节省$8,000。
服务器管理成本,虽然BIND系统是免费的,但是由于其代码实际上也是免费的,所以造成了很多管理BIND 系统方面的成本。BIND 系统每4 到6 个月就会发布补丁来弥补其不断出现的新问题,这就意味着维护DNS工程师必须等到深夜才能对系统去进行升级以尽量减少影响。减少了服务器的数目,也就意味着减少了维护的工作量。采用了Foundation 系统后,每台服务器节省的成本大概是$100,000*5%=$5,000。
业务连续性成本,由于BIND系统固有的技术问题,常使DNS系统经常不可用,这直接导致Internet 的应用变慢甚至使整个网络业务瘫痪。对于电信运营商和ISP来说和一般的企业来说,代价都是惨重的。但采用了Foundation 系统后,由于业务连续性每年节省的成本大约是$150,000*100%=$150,000。
从以上可以看出,尽管BIND 系统本身是免费的,可采用了Foundation 系统后,在其他方面节省的投入远远超过Foundation 本身的成本。
关于Nominum 公司
Nominum 是一个面向网络DNS服务和IP地址管理的一个先导,它提供可信的和安全的DNS、DHCP和IP地址管理工具。1999 年,David Conrad和Paul Vixie创办了Nominum并且接受了编写BIND9 的工作。Conrad和Vixie吸收了许多在Internet领域非常受关注和尊重的,并且有远见卓识的人加入这个公司,其中包括Paul Mockapetris,他在1983 年发明了DNS而且写了最初的DNS RFCs2,还有Ted Lemon,他是ISC-DHCP的主要开发者以及DHCP Handbook3 的共同作者之一。Nominum在2000 年9月向ISC发布了BIND 9.0。在将BIND 9 捐赠给ISC之后,Nominum密切地与全球2000 多个客户合作,很快了解了他们对DNS产品的要求。BIND 9 过去没有也不可能满足他们所有的要求,甚至主要的升级更新也不能完全克服BIND9 在设计上固有的缺陷,Nominum意识到需要重新编写一套全新的DNS系统,于是Nominum转变成为一家商业的软件公司,在市场上竞争有着自己的项目管理、市场和营销团队。但同时他们没有放弃开放代码资源的共享,而是依然是ISC的发展战略伙伴之一,依然在为BIND 9 进行新版本的开发。毫无疑问地,Nominum在写BIND9 的时候积累了很多经验,对DNS的需求有着深刻地理解,并且参与了很多相关国际标准的制定,在DNS方面处于全球的领先地位。关于Nominum的更多资讯,请参见www.nominum.com。
关于北京泰策科技有限公司
北京泰策科技有限公司位于北京市海淀科技园区,是一家专业致力于提供提高网络/设备效率的系统和工具的高科技公司,公司由一群年富力强、长期从事于通信行业的工程师及专家组成,对通信技术及业务的发展有着深刻的认识和良好的把握。北京泰策的合作伙伴包括:Nominum、Argo、Comarco、Polystar、Shura、Abor和Visual Netwoks等,目前,提供的方案有NGN/3G端到端性能测试、3G核心网压力测试、网络流量分析和安全监测方案、大客户服务水平(SLA)监测及分析、DNS及其管理等。
泰策专注在通信领域,并且主要面向下一代网络,也就是以NGN和3G为代表的未来网络。公司的目标是成为一家专业的工具/系统提供商,同时,也希望在公司所专注的领域,并不仅仅只是提供一个产品,而是为客户提供一个全面的方案。这个目标的实现,主要通过我们国际上领先的厂家之间的合作。
由CHINA通信网组稿