深入剖析eMule 【for_wind】

本文是关于eMule分布式文件共享系统的深入分析,探讨了eMule的eD2K协议和引入的Kademlia协议。文章详细介绍了Kademlia的特性,如异或算法为基础的距离度量、K桶机制以及路由查询和节点加入离开过程。同时,文章还关注了P2P网络的安全问题,如身份认证、数据保密性和完整性。最后,总结了eMule的发展历程及其对P2P技术的贡献。

分布式系统课程的读书笔记,关于eMule的整理。不算透彻,欢迎指正,提供相关的资料链接。//for_wind

前言

针对P2P分布式系统这个大课题,本人将研究重点锁定到eMule这个经典的点对点文件分享系统上,并通过查阅图书馆书籍、搜索图书馆数据库资料、查阅有关期刊和查找网页上相关的资料四种方式,寻找到相关的信息资料,从2012年11月到2012年12月根据所收集的资料完成如下文献综述。本文介绍了eMule系统的背景和体系类别,详细阐述了它所支持的两种协议(eMule协议和Kademlia协议),此外还探讨了eMule系统存在的安全问题,以便为下一步的理论研究和发展应用提供参考。

关键字

eMule  Kademlia

 

一、引言

随着宽带、计算机的普及,大容量文件(高清的音视频资料)的交换越来越频繁,传统C/S架构下的文件交换,服务器的计算能力、宽度往往成为瓶颈。70年代中期,源于局域网的文件共享P2P[1]技术开始流行。它是一种网络模型,在这种网络中各节点是对等的,具有相同的责任和能力并协同完成任务。对等点之间通过直接互连共享信息资源、处理器资源、存储资源和高速缓存资源等,无需依赖集中式服务器资源就可完成。P2P引导网络模式从“中心化”走向“边缘化”,所有网络中的节点都具有服务器和客户双重特征,这使得人们以更加方便快捷的方式参加到共享网络中去。[2]

本文将分析一个实际的广泛应用P2P系统实例——eMule[3]系统,来探讨P2P系统体系结构、网络协议和安全性等实现细节。

二、eMule系统

eMule诞生于2002年5月13日,是一个非盈利免费开源软件,作者是网名为Merkur的德国人亨德里克·布雷特克鲁兹(Hendrik Breitkreuz)[4]。今年正好是它十周年诞辰。

eMule建立在点对点(peer to peer)技术上,是一个基于eDonkey协议的文件共享软件[5]。它是eD2k网络(edonkey2000 network)中无与匹敌的客户端。电驴已死,电骡(eMule)依旧。2004年上半年, eMule引入了Kademlia网络。目前它主要支持两种网络协议:中央集中式网络ed2k协议和结构化网络Kad。

下面,本文将阐述eMule协议(扩展的eD2K网络)和Kademlia协议(结构化网络)。

三、eMule网络协议

eMule网络是一种集中式网络,相对容易理解。eMule网络由上百个eMule服务器和上百万个eMule客户端共同组成。eMule客户端通过连接eMule服务器获得网络服务,该连接在运行过程中一直打开。eMule服务器执行集中式的索引服务(类似Napster),不和其他服务器进行通信。[5~7]

eMule服务器使用一个内容数据库,存储客户端和文件的信息。eMule服务器并不存储实际的文件,仅仅提供文件位置信息的集中索引。此外,eMule服务器还提供穿越防火墙的客户端和无法连接到输入连接的客户端之间的桥梁作用。eMule协议通过使用UDP来削弱eMule客户端对eMule服务器和其他eMule客户端的依赖性。eMule的系统示意图 [5]如下。


每一个eMule客户端都在其本体文件系统中预先配置了一个服务器列表和共享文件列表文件。客户端只使用TCP来连接服务端来加入网络

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值