区块链技术

P2P技术

2019-10-17  本文已影响0人  lusoer

P2P在区块链中处于底层服务的一层,所以也有必要了解一下基本的P2P技术原理。

网络拓扑

现代的网络环境都是很复杂的,在C/S模式下的网络相对比较好组织。但是在分布式的情况下还要维持一个相对稳定的网络拓扑是比较难的。所以我们需要先学习一下基本的网络拓扑的类型。

P2P网络类型

P2P网络类型很重要的一个区分依据就是网络的拓扑结构的关系。
主要类型有:

集中式P2P网络

这种形式的拓扑图如下:
[图片上传中...(0021pC59zy6QhssSI5jc9&690.jpeg-87f7bd-1571721640609-0)]

一次完整的P2P访问的过程如下L:

  1. Peer A注册自己的信息到目录服务器S上
  2. Peer D需要 FileA,向目录服务器S进行查询,得知Peer A拥有这个资源,服务器通过应答方式,将Peer A的注册信息和文件位置的信息发送回去。
  3. Peer B便可以和Peer A建立起单独的联系,拿到信息。

可以看到这样形式的P2P还是很朴素的,虽然解决了部分服务器带宽和存储上的负担,但是整个系统实际上离开了中心的目录服务器还是无法工作,并不是真正意义上的P2P。
我们急需要新的组织方式来解除对于中心服务器的依赖。这就是第二代“全分布式结构化拓扑P2P网络”所完成的。

全分布式结构式拓扑

为了能够不依赖中心化的服务器,我们碰到的第一个问题就是——如何在分布式的P2P网络中快速定位到资源所在的Peer节点呢?
这也就是DHT(Distributed Hash Table)技术所解决的问题。

DHT技术
DHT技术,用来将不同的资源按照关键字(key)分散存储到网络中去,获取资源时也同样通过这个Key值得到具体的Peer节点的位置。
而这个Key值是通过一定的Hash函数对于一个文件的名字进行哈希得到的。

上一篇 下一篇

猜你喜欢

热点阅读