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(平等)的追求从未停止过。

解析一下p2p网络的原理?相关推荐

  1. [C#搜片神器] 之P2P中DHT网络爬虫原理

    继续接着上一篇写:使用C#实现DHT磁力搜索的BT种子后端管理程序+数据库设计(开源)[搜片神器] 昨天由于开源的时候没有注意运行环境,直接没有考虑下载BT种子文件时生成子文件夹,可能导致有的朋友运行 ...

  2. P2P对等网络技术原理整合

    P2P(Peer to Peer)对等网络 P2P技术属于覆盖层网络(Overlay Network)的范畴,是相对于客户机/服务器(C/S)模式来说的一种网络信息交换方式.在C/S模式中,数据的分发 ...

  3. P2P如何助力音视频传输,彻底熟悉P2P丨NAT的作用丨网络穿透原理到实战

    P2P如何助力音视频传输,一次课通透P2P 1. NAT的作用 2. 网络穿透的原理 3. 网络穿透实战 [技术分享篇]P2P如何助力音视频传输,彻底熟悉P2P丨NAT的作用丨网络穿透原理到实战 内容 ...

  4. P2P网络摄像机的工作原理是什么

    P2P网络摄像机的工作原理是什么?P2P网络摄像机可以使用户在任意地点,使用能够接入Internet的PC机进行远程监控.下面为大家详细介绍.       P2P网络摄像机的工作原理是什么 当监控主机 ...

  5. p2p网络摄像头的工作原理

    目前上市面上比较流行的p2p网络摄像头. 它的确是p2p的技术. 但是还是需要有类似于bt下载服务的一个中央服务器来交换必要的信息,其基本工作机制是: 1.设备连接上路由器后(通过wifi).该设备向 ...

  6. golang打造p2p网络

    就像1000个人眼中有1000个哈姆雷特一样,每个人眼中的区块链也是不一样的!作为技术人员眼中的区块链就是将各种技术的融合,包括密码学,p2p网络,分布式共识机制以及博弈论等.我们今天就来讨论一下区块 ...

  7. hcip(p2p网络与虚拟专线)

    目录 网络类型 点到点网络协议 1,HDLC 2.PPP GRE,MGRE技术 网络类型 根据数据链路层所使用的协议及规则来进行划分 1.P2P网络 --- 点到点网络 2.MA网络 --- 多点接入 ...

  8. 基于TCP/UDP的P2P网络通信协议研究与实现

    此章节是理论知识,下个章节会奉献源码 摘    要 对等式网络(peer-to-peer,简称P2P),又称点对点技术,是一种实现网络中不同主机直接通信的技术.在物联网的应用中,大量的设备需要能进行点 ...

  9. JXTA 2: 具有高性能、海量伸缩性的 P2P 网络

    JXTA 2 是开放源代码 P2P 网络的第二个主要版本,它利用流行的.基于 Java 的参考实现作为构建基础.在设计方面进行了重要的修改,以获得更高的性能.海量伸缩性和可维护的 P2P 网络.本文建 ...

最新文章

  1. 常用控件产品官方文档/手册/API列表 c#控件文档API列表 asp.net控件产品技术文档中文版...
  2. Django创建应用和项目基本流程学习(二)
  3. 微信小程序 长按属性
  4. 1.java局部变量 实例变量 类变量(静态变量)
  5. ubuntu 安装 CUDA、 cuDNN 的tips
  6. 转:求多边形的面积 算法几何
  7. mysql 介绍 知乎_SQL介绍——Mysql
  8. python3.0程序实例_Python3 编程第一步
  9. 基于消息队列 RocketMQ 的大型分布式应用上云实践
  10. 常见RPM,YUM,DNF指令
  11. 商业计划书范文3000_餐厅 餐饮 饭店项目商业计划书模板范文
  12. Origin画甘特图-II
  13. CrossApp简介
  14. 四旋翼无人机学习第7节--Si24R1以及RGBLED电路分析
  15. Mac必备软件之程序员、设计师、产品经理
  16. Elasticsearch 谷歌插件 Elasticsearch-head 使用
  17. 用CCS搭建简单的F28069M工程并控制LED闪烁
  18. html页面虚化,css实现背景虚化效果的示例代码
  19. 雷军微博拧螺丝CFO为粉丝数发愁
  20. maven安装测试报JAVA_HOME路径安装错误

热门文章

  1. python工程师累吗_学完Python工程师好就业吗?
  2. 中炮七路马右横车对屏风马7卒----左炮巡河
  3. Cordova开发流程-H5 JS转Android 和Ios App
  4. 计算机支持教学管理的各种应用,计算机技术在教学管理中的应用探析
  5. 人工智能带“无人”这两个字,让人类走向慌张!
  6. Python爬中国知网
  7. 两天快速开发一个自己的微信小程序
  8. Python爬虫淘宝基于selenium抓取淘宝商品数据2021年测试过滑动验证
  9. Vue进阶(六十四):iframe更改src后页面未刷新问题解决
  10. 序列化/反序列化,我忍你很久了