eMule系统客户端设计关键问题研究
详细信息    本馆镜像全文|  推荐本文 |  |   获取CNKI官网全文
摘要
eMule是一个P2P共享文件系统,支持ED2K和Kademlia两种覆盖网络形式,具有庞大的用户群,但由于采用开源方式开发,长期以来,缺乏有效的设计文档,阻碍了基于该系统平台的相关应用的开发。本文研究的内容是eMule系统客户端软件中ED2K网络部分的设计方法和实现技术。简要地介绍了eMule系统的体系结构,系统地分析了eMule客户端的基本机制和主要执行线索,基于对eMule源码的静态分析,结合动态调试手段,深入的剖析了eMule客户端网络通信基础框架。在此基础上,根据协议报文承载方式和交互的节点类型,分客户端与服务器TCP通信,客户端与服务器UDP通信,客户端与客户端TCP通信,客户端与客户端UDP通信四个方面,围绕eMule客户端与其它协议节点的协议交互序列,重点研究了eMule客户端对协议报文的处理过程。
     本文提出了以eMule网络协议节点协议交互关系为中心的分析框架,基于eMule客户端源代码逆向建模,根据eMule客户端的主要执行线索和参与执行的角色,识别了设计实现中主要的类抽象,据此,解析了eMule客户端网络通信基础框架的结构设计和实现方法,获得了完整的eMule网络协议节点间的协议交互序列,勾勒了eMule客户端对协议报文处理的主要流程,给出了其中关键步骤的实现方法。作为宝鸡文理学院院级科研项目“P2P关键技术研究”的一部分,论文在一定程度上解决了eMule缺乏有效设计文档这一问题,可以用于指导基于eMule平台的相关应用开发和eMule自身的改进;解决了相关课程教学中,因为缺乏真实系统,无法有效训练学生工程能力的问题,完成了建立基于eMule系统的教学实验平台的基础性工作。
eMule is a P2P sharing file system, which supports two kinds of overlay networksystems, ED2K and Kademlia, and has a large number of users. However, it was developed in the open source way. Therefore, for a long time, it lacks effective designing documents, which hinders relevant application developments based on the system platform. This paper did researches into the designing method and implementation technology of ED2K network in eMule system client software, briefly introduced the systematic structure of eMule system, and systematically analyzed the basic mechanisms and the main clue of eMule system client. Based on the static analysis of eMule source code and combined with dynamic debugging means, the paper made an in-depth analysis of infrastructure framework of eMule client network communications. On this basis, according to the protocol packet bearing way and the node types of interaction, and four aspects in sub client and server TCP communications, the client and server UDP communication, the client and the client TCP communications, the client and the client UDP communication, the paper focuses on the eMule client's processing of protocol packets, centering on the protocol interactive sequence of eMule client and other protocol nodes.
     Centering on the interaction of eMule network protocol nodes, this paper puts forward the analysis framework. It models reversely on the source code of eMule client. According to the main implementation clues and roles in implementing, the paper identifies the main class abstract in designing, analyzes the structure design and implementing method of eMule client network communication infrastructure framework, obtains a complete protocol interaction sequence between protocol nodes in eMule network, outlines the main flow in processing protocol packets by eMule client, and presents the implementing methods of related key steps. The work as part of "A Research into Key Problems of P2P technology" which is a hospital-level research project of Baoji University of Arts and Sciences, solved the problem of lack of effective designing documents in eMule to some extent, and can be used to guide the relevant application developments based on eMule platform and improvements of eMule itself; solved the problem that students can not be effectively trained to obtain engineering capabilities because of lack of a real system, and completed the basic work of the establishment of the teaching and experimental platform which is based on the eMule system.
引文
[1]罗杰文Peer to Peer(P2P)综述[R].北京:中科院计算技术研究所,2005:1-5.
    [2]张联峰,刘乃安,钱秀槟,张玉清.综述:对等网(P2P)技术[J].计算机工程与应用,2003,(12):142-145.
    [3]冯雪芬,郑秋霞.P2P技术的应用与发展[J].太原科技,2007,(06):56-59.
    [4]陈建华,黄道颖,张尧,张安琳,孙宏.计算机对等网络P2P技术[J].计算机工程与应用,2003,(33):162-164.
    [5]陈洪,刘双与,杨玉华.P2P技术发展与应用[J].计算机工程,2003,(19):127-130.
    [6]欧中洪,宋美娜,战晓苏,宋俊德.移动对等网络关键技术[J].软件学报,2008,(02):404-418.
    [7]刘琼,徐鹏,杨海涛,彭芸.Peer-to-Peer文件共享系统的测量研究[J].软件学报,2006,(10):2131-2140.
    [8]王春刚,王会,杨家海.P2P技术分析与流量管理研究[J].计算机科学,2010,(04):1-6.
    [9]王珏,周莉.BitTorrent模型原理分析[J].华东交通大学学报,2009,(01):82-86.
    [10]孙卫华.基于互联网的合作探究项目—在家搜寻外星人[J].中国教育技术装备,2009,(33):11-15.
    [11]刘德刚,周刚,向金海.基于Napster架构的P2P空间数据共享研究[J].微计算机信息,2007,(27):32-36.
    [12]黄道颖,李祖鹏,庄雷,黄建华,张安琳.分布式Peer-to-Peer网络Gnutella模型研究[J].计算机工程与应用,2003,(05):60-63.
    [13]孙笑庆,刘宝旭,冯登国Freenet下一代路由技术分析[J].计算机工程,2005,(17):126-128
    [14]张尚韬OSPF路由协议的研究[J].福建信息技术教育,2007,(03):14-16.
    [15]米海波,王怀民,尹刚Chord协议的抽象状态机模型[J].计算机工程与科学,2010,(04):83-85.
    [16]吴仲华,王贵竹.基于Pastry改进的P2P模型[J].通信技术,2010,(03):96-98.
    [17]朱正东,胡亚红,伍卫国,王勇,李增智.内容寻址网络的P2P语义Web服务组合系统架构[J].西安交通大学学报,2010,(02):6-10.
    [18]王祖荣,刘清波.P2P路由算法Tapestry及其改进[J].微计算机信息,2009,(36):138-139.
    [19]董芳,费新元,肖敏.基于CFS的P2P文件共享系统的研究[J].计算机工程与应用,2004,(04):154-156.
    [20]马军,郑烩,殷保群.基于CDN和P2P的分布式网络存储系统[J].计算机应用与软件,2010,(02):50-52.
    [21]姜大光,奚加鹏.分布式存储系统(OceanStore)的复制策略[J].计算机工程与科学,2008, (08):144-149.
    [22]胡进锋,洪春辉,郑纬民.一种面向对象的Internet存储服务系统Granary [J].计算机研究与发展,2007,(06):1071-1078.
    [23]田敬.对等存储系统中的数据可用性与安全性研究[D].北京大学,2007.
    [24]eMule download.[EB/OL].[2011-05-03]. http://www.emule-project.net/home/perl/ general. cgi?1=42&rm=download.
    [25]Justin Smith. [EB/OL].[2006-10-17]. http://www.microsoft.com/china/MSDN/library/Windev/ Windows Vista/PeerToPeer.mspx?mfr=true.
    [26]赵恒,陈杰.P2P技术的应用及其研究现状[J].电信快报,2004,(09):39-41.
    [27]JXTA.[EB/OL].[2010-07-06]. http://baike.baidu.com/view/66857.htm
    [28]Feature requests.[EB/OL].[2003-07-13].http://forum.emule-project.net/index.php?showtopic =71770.
    [29]ED2K协议[EB/OL]. [2011-08-07].http://baike.baidu.com/view/267140.htm.
    [30]谢瑾,倪瑾.Kademlia的研究与实现[J].计算机时代,2009,(10).116-121.
    [31]韦巧苗eMule综述[J].黑龙江科技信息,2010,(12):19-23.
    [32]Network Working Group R Rivest. MD4 hash functionspecification[EB/OL]. [2006-08-12].http://www. ietf.org/rfc/rfcl320.txt.
    [33]刘简达,施勇,薛质eMule协议的安全性研究[J].计算机工程,2009,(13):134-136.
    [34]张文等,P2P网络技术原理与C++开发案例.[M].北京:人民邮电出版社,2008:101-123.
    [35]easyMule.[EB/OL].[2010-03-03].http://download.verycd.com/easyMule-VeryCD-src.zip.
    [36]eMuleFAQ[EB/OL].[2005-06-15]http://www.emule-project.net/home/perl/help.cgi-1=1&cat id=276.
    [37]王艳萍Windows网络与通信程序设计(第2版).[M].北京:人民邮电出版社,2009:56-68.
    [38]俞燕燕,李绍滋.eMule系统的协议分析[J].合肥工业大学学报(自然科学版),2006,(09):1096-1110.
    [39]Tanenbaum A S计算机网络(第4版).[M].潘爱民译.北京:清华大学出版社,2004:361-400.
    [40]Yoram Kulbak, Danny Bickson. The eMule Protocol Specification.[M]. Jerusalem:the Hebrew University of Jerusalem,2005:42-53.

© 2004-2018 中国地质图书馆版权所有 京ICP备05064691号 京公网安备11010802017129号

地址:北京市海淀区学院路29号 邮编:100083

电话:办公室:(+86 10)66554848;文献借阅、咨询服务、科技查新:66554700