Please enable JavaScript.
Coggle requires JavaScript to display documents.
P2P (DHT协议 (综述 (1)在DHT存储系统中,所有的资源都被表示成<key,value>的形式,这些<key…
P2P
DHT协议
综述
1)在DHT存储系统中,所有的资源都被表示成<key,value>的形式,这些<key,value>对构成一个很大的散列表,即分布式散列表。其中,key是关键字哈希,value是要存储的信息或信息地址。
-
-
定义
DHT(Distributed Hash Table),是一种分布式存储方法。在不需要服务器的情况下,每个客户端负责一个小范围的路由,并负责存储一小部分数据,从而实现整个DHT网络的寻址和存储。
原理
每一份资源都由一组关键字进行标志,系统对其中的每个关键字进行哈希,得到关键字标志符key;同样地,网络中的每个节点标识(比如节点的IP地址)也通过哈希得到关键字标志符ID;关键字标志符与节点标志符在系统中都是唯一的;按照某种映射关系,将关键字标志符映射到节点标志符上,该关键字标志符所对应的信息value就存储在相应的节点标志符对应的节点上。
-
-
雏形: Napster
-
工作流程
-
-
-
说明:Napster系统一个中心服务器,这个服务器并不是传统的Web服务器,它不对外提供应用服务,也不存放任何实体资源,只是作为实体资源的目录或索引而存在,因而也成为目录服务器。它存放所有文件的元数据信息,如文件的标题和一些简单的描述信息,以及拥有此文件的结点机器的IP地址。
-
-
-
-
集中式P2P网络拓扑结构
-
-
工作原理
在网路的运行过程中,P2P结点向中央目录服务器注册关于自身的信息(名称、地址、资源和元数据),但这些注册的资源都分散式地存储在各个结点中而非服务器上,查询结点根据目录服务器中信息的查询以及网络流量和延迟等信息,来选择与定位其他对等点并直接建立连接,而不必经过中央目录服务器进行。
-
代表产品
文件传输技术:BT
-
规范
1)文件发布者会根据发布的文件信息生成一个包含元文件信息的.torrent文件,即种子文件。torrent文件本质上是文本文件,包含Tracker信息和文件信息两部分。
Tracker信息主要是BT下载中需要用到的Tracker服务器的地址和针对Tracker服务器的设置信息。
2)下载者,也就是参与到P2P网络中下载资源的一个客户端主机,在BT网络中称为Peer结点。当Peer结点要下载文件内容时,需要得到相应的。torrent文件,然后使用BT客户端软件进行下载。
下载时,BT客户端需要解析.torrent文件得到Tracker服务器地址,然后连接Tracker服务器。Tracker服务器回应下载者的请求,并提供给下载者其他拥有此资源的Peer的IP地址和端口号。
得到这些Peer信息后,下载者根据IP地址、端口等与其它Peer进行连接,通过解析.torrent文件,双方进行交流对比目前已有的数据块,然后将对方所没有的数据进行交换。在资源交互过程中,不需要其它服务器参与,这样两个Peer结点之间就可以进行对等的点到点资源交互和传输了。
-
下载技术:Thunder
-
主要技术
1)对现有的Internet下载资源的搜索和整合,将现有的Internet上的下载资源进行校验,将相同校验值的统一资源定位的信息进行整合。当用户单击某个下载链接时,迅雷服务器按照一定的策略返回该URL信息所在聚合的子集,并将该用户的信息返回给迅雷服务器。
-
总结:迅雷高速稳定下载的根本原因,在于同时整合多个稳定服务器的资源以实现多资源多线程的数据传输。在使用迅雷进行下载的时候,每个用户在网上下载的文件都会在迅雷的服务器中进行数据记录,如果有其他用户再下载同样的文件,迅雷服务器会在它的数据库中搜索曾经下载过这些文件的用户,服务器再连接这些用户,通过用户已下载文件中的记录进行判断,如果用户下载文件中仍存在此文件(文件如改名或改变保存位置则无效),用户将在不知不觉中扮演下载中间服务器的角色,在下载文件的同时也上传文件。
-
基于拓扑结构的P2P网络分类
第一代P2P网络
集中式拓扑(Centralized Topology),也称作中心化拓扑。
第二代P2P网络
全分布式结构化拓扑(Decentralized Structured Topology),也称为DHT网络。
-
-
-
-
-
-