p2p的工作原理

P2P 全称是 Peer to Peer ,翻译成中文”地位对等的两个节点之间“,亦或者”点对点“。区别于现在诸多 ”C/S“(客户端

/服务器)模式。

C/S 模式

假如要在 Server 下载 1G 的视频。

对与传统的 C/S 模式,从上图中我们就可以看出一些问题。

  • 如果服务器挂了,那我们视频肯定也下载不了了。
  • 如果下载视频的人变多,服务器的带宽就是制约下载速度的瓶颈,下载的人越多,下载速度越慢,深夜可真是急死个人啊。(通往彼岸的桥只有一座,去的人多了,能不挤么?)
  • 因为资源都集中在服务器,往往很会成为黑客攻击的目标。

P2P

P2P 打破了传统的 C/S 模式,在网络中的每个结点的地位都是对等的。每个结点既充当服务器,为其他结点提供服务,同时也享用其他结点提供的服务。

P2P 网络最大的特点是不需要中央服务器的调度,自我组织协调,各个节点之间可以直接通信。具体的通信协议有多种,常见的一种叫 Gossip ,翻译过来就是八卦协议。协议的基本通信原理非常简单,所有节点都会把信息传递给自己的邻居,就像村里长舌妇之间传闲话,或者白领在办公室传八卦。

继续说上面的 1G 电影下载,那我得提一提快播

,作为一款播放器,他所用的就是 P2P 技术, 也相信很多人都听说过它。从上面的 P2P 网络图来看,每个节点即使服务器,又是客户端。

  • 一个节点的毁坏并不影响其他节点继续下载电影。
  • 如果下载电影的人越多,那么,提供资源下载的服务器也就越多,所以它并不存在带宽不够的问题,我可以通过很多个节点下载完 1G 电影的小片段,最后在重组片段,合成 1G 电影。下载的人越多,下载速度越快,是不是很神奇。所以你可以理解为啥快播那么下载那么快了吧。

快播使得服务端运营成本降低,因为你不必邀花大钱去买很大的带宽,基于核心的 P2P 架构,一部电影只要有一个人在观看,即一台电脑做为种子时,就基本不从服务器取数据,不占用服务器带宽。这使得运营一个视频网最大的门槛障碍,服务器带宽被彻底废除。任何一个个人站长,租用一台很低廉的服务器,就可以依托快播的 p2p 服务网络运营一个视频网站,从而吸引了大量的个人站长基于快播平台搭建视频网站,带火了个人站长。那段时间,可谓风华正茂。

然而快播终究只是一个播放器,它所播放的视频,并没有属于自己的版权。最终也走向了末路,一个明星企业倒下,似乎只需要一纸文件的压力。

感觉扯远了,回过头来继续说 P2P。

P2P 的几个优点

  • 非中心化:网络中的资源和服务分散在所有结点上,信息的传输和服务的实现都直接在结点之间进行,可以无需中间环节和服务器的介入,避免了可能的瓶颈。P2P 的非中心化基本特点,带来了其在可扩展性、健壮性等方面的优势。
  • 安全:当代的互联网已经非常中心化了,大部分的通信都会通过中央服务器来完成。两个人微信聊天,信息要走腾讯的服务器。我的支付宝,也要走中央服务器。这样,中央服务器上汇集了所有人的信息,成了对攻击者最有诱惑力的攻击目标。一旦服务器被拿下,或者公司出了事,那么所有用户的信息安全就都荡然无存了。而 P2P 就是一套更安全的替代方案,尤其是实现了点对点加密 之后的 P2P 网络。
  • 性能:目前的互联网架构其实挺傻的,所有事情都要去服务器上去办。这就好比一个城市有这样的规定,不允许从 A 点开车直接去 B 点,所有车都必须先开到市中心,而如果能够实现 P2P 的架构,让两地直接互联,这样就实现了直接从 A 点开车到 B 点的效果了,完全不会造成对市中心的拥堵。但是,发展至今,即使 A,B 两地的路通了,你也可能会选择先到市中心,再到 B,因为 A,B 之间的路并不好走。所以说,这都是一个发展的过程。
  • 更加隐私:P2P 架构下,由于没有中央服务器,所以也就没有发挥中心作用的公司。于是 P2P 架构下,我们构建的是无信任,trust-less 系统。用户掌握了自己的隐私,不需要去信任公司不会泄露他们的数据,而只是需要相信通信协议的数学原理即可。来做一个类比。现实中人类最为隐私的交流方式是什么?很简单,就是见面耳语。这就是一个基本的 P2P 的架构,没有中央服务器,各个参与方直接通过一套协议来进行沟通,这套协议就是人类语言。这种见面耳语的方式是有局限性的,因为受到肉身距离的限制。而通过 P2P 网络,我们可以和世界上任意位置的人进行耳语,这将会给人类社会的政治,伦理,商业等各个方面都带来根本性的变化。

P2P 网络的真实应用

P2P 现如今被用到很多领域:文件共享,计算能力存储共享,即时通讯等等,但比较成功的

一类是区块链类应用,如 Bitcoin(比特币)。

一类是文件分享类应用,例如 BitTorrent ,别说你不知道,如果你用迅雷下载,请你留意一下下载链接的后缀名。

小结

P2P 网络是一种去中心化的应用架构,任务要通过地位平等的各个节点相互配合来完成。P2P 在安全,性能和隐私各个方面都比现有的互联网中心化架构有优势。实际应用方面,除了已经比较成功的区块链和文件分享类应用之外,人们正在努力建设一个真正 P2P 架构的互联网。正如人类历史一样,人们对于 Peer(平等)的追求从未停止过。

posted @ 2022-04-23 15:09  西门长海  阅读(1729)  评论(0编辑  收藏  举报