kad 网络是一种根本不需要服务器的架构,每个emule客户端负责处理一小部分search和source finding的工作。分配工作的原理是基于客户端的唯一id和search或者source的hash之间的匹配来决定。比如说 LordOfRing1.avi这个文件由用户abc来负责(通过文件的hash决定),则任何用户共享这个文件的时候都会告诉用户abc我有这个文件,其他用户去下载这个文件的时候也会询问abc,abc告诉他们谁有这个文件,source finding就完成了。search的方法也差不多,每个人负责一个keyword。