论文部分内容阅读
传统的域名解析系统(DNS-Domain Name System),采用分层的客户-服务器构架,由DNS服务器实现域名到IP地址的转换。因此,域名服务器的性能决定了整个命名服务的质量。而分布式技术有着负载均衡以及鲁棒性好的特点,目前有着越来越广泛的应用。我们将分布式技术应用在传统DNS服务器上,设计出分布式域名服务系统(P2PDNS-Peer-to-Peer Domain Name System),该系统基于分布式哈希表(DHT-Distributed hash table)来实现域名到IP地址的查询和转换,而不依赖于DNS中心服务器。在该分布式网络中,每个P2PDNS节点之间都是平等的,都可作为服务器进行<域名,IP地址>的注册与查询。每个P2PDNS节点采用三层结构,最下层采用Chord算法实现记录的查找和路由,中间是分布式哈希(DHash-Distributed Hash)层,实现将记录散列至网络节点中,即实现分布式存储,最上层是应用接口,实现友好的用户界面提供用户输入与显示。这种设计保持了chord算法较好的可扩展性和负载均衡的特点,用它模拟目前DNS服务器,实现域名和IP地址的存储和查询的功能,体现了较好的灵活性,并可以应用到更广阔的领域。目前,基于Chord算法的应用较少,美国麻省理工大学(MIT)曾于2002年实现了基于Chord算法的分布式文件共享,分布式命名服务等应用,并发表了相关论文,但其具体实现细节并未公开,其他研究者很难在此基础上复制其应用。本论文详细描述了基于Chord算法的分布式域名服务的实现细节,并附有相关代码。此外,本文还通过对Chord源代码的分析,使原本杂乱的Chord源代码结构变得清晰,易于其他研究者在此基础上作进一步研究。