KAD网络(P2P电脑网络)

2023-02-13 63阅读

温馨提示:这篇文章已超过519天没有更新,请注意相关的内容是否还可用!

KAD网络

P2P电脑网络

Kad是Kademlia的简称,Kademlia是P2P重叠网络传输协议,以构建分布式的P2P电脑网络。是一种基于异或运算的P2P信息系统。它制定了网络的结构及规范了节点间通讯和交换资讯的方式。在Kad网络中,每个节点只负责处理一小部分搜索和查找源的工作。用户可以进行简单的理解:在Kad网络的世界里,用户可以直接问其他用户“你有没有我要的文件”,如果有,就会进行文件传输,如果没有,就会告之哪个用户有或者可能有,直到文件传输完毕。与ED2K网络的不同在于,KAD网络让用户省去了从服务器寻找用户源的步骤,可以直接找寻到合适的用户源,进行文件传输。

中文名P2P重叠网络传输协议
外文名Kademlia
作用进行文件传输
性质P2P通信协议

简介

Kad是Kademlia的简称,Kademlia是P2P重叠网络传输协议,以构建分布式的P2P电脑网络。是一种基于异或运算的P2P信息系统。它制定了网络的结构及规范了节点间通讯和交换资讯的方式。

Kademlia节点间使用传输通讯协议UDP沟通。Kademlia节点利用分布式散列表(DHT)储存资料索引。透过现有的局域网/广域网(LAN/WAN),建立起一个新的虚拟网络或重叠网络。

工作原理

Kad网络利用UDP,包括了以下五点:

1、查找ed2k散列来源

2、使用文件名称的关键字,来搜索ed2k散列。

3、查找文件的注解与评分。

4、为防火墙内的节点(低ID)提供伙伴服务(buddyservice)

5、贮存位置、注解与(来自关键字的)文件名

注意Kad并不会实际用来在点对点网络中传送文件,而是在文件开始传送时,用户之间彼此直接连接(通过标准IP网络)。

在Kad网络中,每个节点只负责处理一小部分搜索和查找源的工作。分配这些工作的时候,通过我们每个用户端的唯一的ID和搜索文件的Hash值之间的匹配来决定。

用户可以进行简单的理解:在Kad网络的世界里,用户可以直接问其他用户“你有没有我要的文件”,如果有,就会进行文件传输,如果没有,就会告之哪个用户有或者可能有,直到文件传输完毕。

与ED2K网络的不同在于,KAD网络让用户省去了从服务器寻找用户源的步骤,可以直接找寻到合适的用户源,进行文件传输。

KAD端口则是用来进行KAD节点间沟通的端口。

目前实际上只有3个客户端程序支持Kad网络。在国内最主要的体现是eMule下载,其余的软件为aMule以及MLDonkey。

其他说明

Kad(Kademlia)是一种分散式(decentralized)的P2P通信协议,是将所有的用户连成一个网络,不通过服务器,从而直接进行搜索资源和来源的操作。可以减低服务器的负担。

eMule目前支持两种P2P网络:KAD网络和eDonkey网络(全称:eDonkey2000Network,中文叫电驴网络,简称:ed2k)。

kad网络是一种根本不需要服务器的架构,每个emule客户端负责处理一小部分search和source finding的工作。分配工作的原理是基于客户端的唯一id和search或者source的hash之间的匹配来决定。比如说XXX.avi这个文件由用户a来负责,则任何用户共享这个文件的时候都会告诉用户a我有这个文件,其他用户去下载这个文件的时候也会询问a,a告诉他们谁有这个文件,source finding就完成了。至于如何找到用户a则是通过一种将用户id异或的方式,两个id的二进制异或值决定他们之间的逻辑距离,比如1100距离1101要比距离1001近。当一个用户加入kad网络后,首先通过一个已知的用户找到一批用户的id和port。当此用户a要寻找某特定用户x时,a先询问几个已知的逻辑距离x较近的用户,如x1,x2,x3会告诉a他们知道的更加近的用户的id和port,依次类推,a最终就能找到x。

参考资料

1.eMule如何连接到Kademlia·太平洋网络

目录[+]