1 概述
随着数字化校园建设的不断发展,各高校校园网大多采用同时接入到教育网、中国联通和中国电信等多出口的链接方式来满足学校师生的网络服务需求。但由于我国网络发展的特殊性,这样的多出口网络也存在着教育网国际流量费用昂贵以及由于网间互联带宽太窄带来的带宽瓶颈等问题。为了有效利用各网络出口的网络带宽资源,提高网络访问速度,增强学校网络服务的可用性,各高校进行了积极的研究和探讨,其中智能DNS是一个比较成熟的解决方案[1,2]。
2 智能DNS系统的现状分析
DNS 是域名系统 (Domain Name System) 的缩写,是互联网的一项核心服务,它作为可以将域名和IP地址相互映射的一个分布式数据库,能够使人们更方便的访问互联网,而不用去记住那些繁琐难记的IP地址。普通的DNS服务器只负责为访问用户解析该域名所对应的IP地址,而不去判断访问用户源IP属于哪个ISP,这样会造成所有的访问用户即使属于不同的ISP都只会解析到设置的同一个IP地址上。这样得到的网络链路在多出口网络环境中可能不是具有最小延时或者性能最优的,从而达不到用户访问网络资源的最优方式。智能DNS颠覆了这个概念,它通过将域名和多个ISP服务商IP地址进行对应连接,判断访问用户源IP所属ISP服务商,最后把域名智能的解析到与访问用户相同的ISP服务商IP地址上,从而保证用户访问的网络资源是在相同的网络线路上,提高了网络访问的速度。
目前,很多智能DNS系统都采用BIND来实现,BIND(Berkeley Internet Name Domain)是一种开源的DNS协议的实现,是最广泛使用的一种DNS服务器软件,目前最新版本是BIND9。BIND9主要特点有,支持IPv6、实现了DNS协议新扩展的功能和视图(Views)功能等。基于BIND9的智能DNS系统通过BIND9的视图功能,可以实现根据用户源IP地址把域名解析到不同服务器IP地址上[3]。
3 智能DNS系统的设计
基于BIND9的智能DNS方案在一定程度上解决了多线路接入网络的网速问题,但由于BIND9功能上的不足,依然存在一些问题,在处理能力、可扩展性和管理等方面有着一定的局限性。首先BIND9的视图功能,基本属于静态情况,无法获取解析目标的状态,因此无法做到宕机检测;其次,在BIND9的配置中,区域的归属比较死板,如果对区域进行更加细化控制则会出现大量的配置,这对于多域和多区域规划的DNS服务器不适用。为此,为解决多线路接入网络的问题,需要重新设计一套智能DNS服务器系统,该智能DNS系统主要由三个模块构成,分别是主服务器模块、宕机检测模块和web管理模块。
3.1 主服务器模块
主服务器模块主要功能是接收访问用户的域名查询请求,查询数据库,并将相应的数据信息返回给访问用户。
为实现主服务器模块的功能,需要把相应的数据信息存放到数据库中,主要的数据结构如下:
3) 查询访问用户所属ISP服务商,依据访问用户地址在运营商区域IP缓存表进行查询,如果查询到访问用户所属ISP服务商,则执行下一步操作;如果在运营商区域IP缓存表没有查询到,则在运营商区域IP地址表中对访问用户地址进行匹配,得到访问用户所属ISP服务商,并把结果更新到运营商区域IP缓存表后执行下一步操作;
4) 对DNS记录中的ISP服务商与访问用户所属ISP服务商相比较,如果符合,则把该DNS记录返回给访问用户;如果经过比较,都没有符合的,则把其中默认设置的DNS记录返回给访问用户。
3.2 宕机检测模块
宕机检测技术是在智能DNS的基础上,对各条线路的连通性进行检测。通过宕机检测可以识别线路的连通性,智能DNS在域名解析的时候,可以避开已经不连通的线路,从而提高网站的可访问性。
服务器状态检测常用的2种检查类型分别是ICMP和HTTP两种,其中HTTP采用标准端口TCP80。宕机检测模块通过检测ICMP状态和HTTP端口状态来判断服务器是否在线,从而识别线路的连通性。ICMP检测工作原理是:首先检测DNS服务器网络是否通畅,如果通畅则发送ICMP信息到服务器,如果服务器在线则返回1,如果服务器不在线则返回0。HTTP端口状态工作原理是:首先检测DNS服务器网络是否通畅,如果DNS服务器通畅则进入HTTP端口检测状态,DNS服务器在网络通畅的状态下访问服务器的HTTP端口,当HTTP端口工作正常则返回代码1,如果服务器的HTTP端口工作不正常则返回代码0。
宕机检测模块得到服务器的状态信息会实时更新到DNS记录表中,智能DNS在解析访问用户域名请求时会根据服务器的状态信息避开已经不连通的线路,提高网站的可访问性。
3.3 WEB管理模块
WEB管理模块提供了一个简洁的界面,方便对智能DNS系统的ISP地址信息及域名的进行配置,主要由系统管理和域名管理
两部分组成。通过系统管理模块,可以实现对智能DNS系统使用用户的管理和获取系统的状态及操作日志等;域名管理模块主要是配置域名及维护域名与IP地址之间的对应关系。
4 结束语
本文针对校园网多出口存在的问题,在仔细分析目前智能DNS系统现状的基础上,设计了一套多线路智能DNS服务器系统。该系统在多个高校中成功运行,有效的解决了校园网由于多出口而产生的问题,使网络设备和资源得到更加充分的利用,具有较高的实践应用价值。
参考文献:
[1] 张涛,朱楠.基于智能DNS的校园网络双出口的设计与实现[J].中山大学学报,2009,26(1):126-128.
[2] 陈卫民.基于智能DNS的校园网多出口访问研究[J].电脑知识与技术,2011,7(18).
[3] 潘中强,孙亚南.基于BIND9架构的智能DNS实现[J].平顶山学院学报,2008(5):81-83.