APP下载

IPv6动态域名系统的设计与实现

2011-11-09郭峰吴回李树军

中国教育网络 2011年11期
关键词:域名子系统服务器

文/郭峰 吴回 李树军

IPv6动态域名系统的设计与实现

文/郭峰 吴回 李树军

通过在IPv6环境下动态域名系统的设计方案,可以对Web服务端子系统、DNS更新子系统和DNS服务器子系统的设计与实现提供帮助,有利于对IPv6应用在校园网络上的推广与部署。

设计背景

下一代互联网技术日趋成熟,在发达国家已经成功进入商用领域。我国的下一代互联网建设也在如火如荼地进行中,CNGI骨干网络已经建设成功,IPv4向IPv6网络过渡已是大势所趋。在享受IPv6网络带来的高质量服务的同时,我们也碰到一些新问题,比如IPv6的地址比IPv4的地址更难记忆。

对于采用无状态自动配置IPv6地址的环境,RFC3041引入了一种随机地址配置机制,网络内的主机根据路由器通告的路由前缀和一组随机的数字生成自己的IPv6地址,该地址具有一定的生存周期,随着生存周期的结束,该地址会自动更换,这对普通用户来说也存在诸多不便。比如用户需要远程访问自己的主机,或者临时提供服务给别人访问的时候,往往不知道或者不记得自己的IPv6地址,因此设计一个功能完善的动态域名系统就显得尤为重要。利用动态域名系统提供的服务,用户可以把动态的IPv6地址绑定在一个固定的域名上,通过简短好记的域名来进行网络访问。

系统总体设计

总体设计思想

本系统是一套基于三层或多层的C/S和B/S架构的域名综合服务系统,它包含用户端、Web前台、Web管理后台和DNS服务器四个字系统。系统总体设计思想如下:

(1)Web服务端通过网页方式为系统管理员提供注册用户管理、域名管理和DNS服务器参数配置功能;

(2)用户通过浏览器访问Web服务器端,注册和管理属于自己的账号,注册和管理属于自己的域名;相应信息通过Web服务器保存到数据库服务器;

(3)DNS更新客户端软件实时监测用户的IP地址信息,把IP信息提交到Web服务器并最终保存到数据库服务器中;

(4)DNS服务器接受来自网络的DNS查询,DNS服务器通过查询数据库服务器,取得和域名对应的IP地址,把结果反馈给查询者。

开发工具与支撑环境

本系统Web服务端采用ASP开发,运行在Windows 2008 Server IIS7.0环境下;DNS更新客户端程序采用.NET开发;数据库服务器采用MS SQL Server 2005,DNS服务器参照BIND,采用C++进行开发。

图1 IPv6动态域名系统架构

图2 Web服务子系统功能设计

各子系统设计与实现

Web服务子系统设计与实现的技术要点

作为动态域名系统的重要组成部分之一,Web服务子系统直接面向用户,在功能完善的基础上,要求界面美观大方,操作简洁、人性化。

图3 DNS更新客户端功能设计

Web服务子系统可以看成是一个具有特殊功能的网站系统,相关技术要点如下:

(1)采用JQuery框架与微软的ASP(Active Server Page)进行具体实现;

(2)在编码时,在代码安全性方面要特别注意,防止Web注入攻击和跨站脚本攻击。此外,要特别注意域名更新页面和用户D N S更新客户端程序信息交换时的安全,相关信息要用提前预置的密钥进行加密传输;

(3)要考虑到程序的可扩展性和可移植性,程序部署要简单;

(4) 注意程序的执行逻辑与效率,代码的优化,降低Web程序执行时对服务器资源的消耗,能承受大量用户的并发访问。

DNS更新客户端程序设计与实现的技术要点

DNS更新程序运行在用户端,要求它能随用户电脑的启动而自动运行,能监测到用户IPv6地址的变化,及时把最新的IPv6地址提交到服务器。

在实际实现时,域名更新功能单独设计成一个服务器程序,在用户电脑注册为系统服务,达到开机即可自动运行的效果(即使用户还没有登录系统)。它的功能也比较单一,读取保存在注册表里面的参数,提取用户IPv6地址信息,利用密钥对相关信息加密后,提交到Web服务器。其它功能模块通过一个托盘程序实现(用户登录系统后,程序自动运行并最小化在任务栏右侧,用户单击图标,则弹出程序界面)。相关技术要点如下:

(1)程序采用.NET框架实现。利用.N E T框架强大的应用快速开发能力,可以很方便的进行服务器程序和托盘程序的开发;

(2) 当前用户接入IPv6网络存在多种形式,用户是通过隧道方式还是直接接入IPv6网络的,要分情况对待。此外,在提取用户IPv6地址的时候要特别注意,提交给服务器的应该是全局地址,而不是链路本地地址或者站点本地地址;

(3)在无状态自动配置IPv6地址的网络,如果用户操作系统是Windows XP,系统会存在多个IPv6地址的情况(多个地址都为有效地址),建议不要一得到新地址就提交给服务器;

(4) 为了减轻服务器的压力,应该把客户的当前地址保存下来,只有客户地址有变化的情况下才提交给服务器。

DNS服务器设计

作为服务于IPV6环境下里的动态域名系统,和别的DNS服务器软件相比较,功能相对简单。有开源的程序参考,实现较为容易,相关技术要点如下:

(1)能支持标准AAAA类型的域名查询即可;

(2)服务器收到来自网络的查询请求后,从数据库进行查询,然后把结果反馈回去。为了提高服务器的查询与响应效率,在数据库上通过扩展存储过程进行查询;

(3) 动态域名系统想要发挥作用,每个域名的TTL(生存期)值必须设置得很小,一般以秒为单位,这种机制就决定了不能通过域名缓存方式来提高效率。为了能承受大量用户的并发查询,除了对数据库建立合适的索引和优化外,程序应该采用多线程方式。

此系统由江苏省大学生创新项目——“IPv6环境下动态域名系统设计与实现”小组设计完成。通过此项工作,学生对IPv6相关协议有了较为深入的了解,提高了学生对IPv6新知识的学习与应用能力。

(作者单位为盐城师范学院信息科学与技术学院)

未来数据中心需高性能基因

云计算已经成为一种势不可挡的IT大趋势,变革整体IT服务和计算模式已经迫在眉睫。由于云计算将一系列IT概念,如网络计算、SaaS、效用计算和网格计算等纳入到一个单一的抽象服务中来,因此其依赖于一个复杂的网络基础架构,才能对各种服务进行大量有效处理。为了实现云计算服务,服务商不仅需要一个大型数据中心,更需要一种强大的网络支撑平台。

瞻博网络QFabric是该公司面向未来10年数据中心发展的网络架构。基于此,该公司提出 “3-2-1”的数据中心简化策略,最终使用户实现一层网络架构。瞻博网络亚太区副总裁Matt Kolo指出,QFabric可以将整个数据中心的延迟控制在5微秒以内。这一测试假定采用了最长互联线缆,此外该测试还假设因为光速的原因额外增加了1微秒的延迟。但如果在使用较短电缆的情况下,测量的延迟将只有3.7微妙。QFabric比以往任何基于机架的以太网交换机的速度都要快,并且能够持续保持高速传输。同时瞻博网络已经证明了,QFabric能够以线性方式,从数十个端口扩展至6000多个万兆以太网端口,并且在未来,还将提供能够扩展至数万个端口的巨型fabric。

QFabric由三个Fabric的组件组成。QF节点是该Fabric的分布式决策引擎,QF互连(QF Interconnect)是传输设备,而QF引导器(QF Director)是一个公共窗口,将所有设备作为一个设备来控制。Matt Kolo提到,“QFX3500是一台物理交换机,同时它也是QFabric的一个重要部件。在传统的网络架构中,企业开始可以使用其他厂商的产品,与QFX3500一起组建网络。”

猜你喜欢

域名子系统服务器
不对中转子系统耦合动力学特性研究
GSM-R基站子系统同步方案研究
通信控制服务器(CCS)维护终端的设计与实现
PowerTCP Server Tool
Combosquatting域名抢注的测量研究
驼峰测长设备在线监测子系统的设计与应用
如何购买WordPress网站域名及绑定域名
得形忘意的服务器标准
计算机网络安全服务器入侵与防御
车载ATP子系统紧急制动限制速度计算