解析一下p2p网络的原理?

news/2025/2/13 23:10:02/

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


http://www.ppmy.cn/news/466596.html

相关文章

记录一下曾经写过的P2P金融项目-理财端(PC端)纯代码(续-服务消费者工程)

pom文件&#xff1a; <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">…

p2p通信

1.1 什么是P2P   大多数人最初是从Napster的品牌中知道P2P网络的。在这种应用中&#xff0c;P2P网络概念用于共享文件。但是&#xff0c;P2P不仅仅是用于文件共享&#xff0c;它还包括建立基于P2P形式的通讯网络、P2P计算或其它资源的共享等很多方面。P2P最根本的思想…

p2p sdk接口说明

深圳市好游科技有限公司开发的p2p sdk(HYP2P)&#xff0c;支持linux、安卓、IOS和windows等常见平台,支持c语言&#xff0c;c,c#,java,unity等环境下使用&#xff0c;仅提供了几个简单接口&#xff0c;您只要掌握了这几个简单接口便可以通过这个p2p中间件完成业务通信功能。htt…

端游下载的时候现在很多都是采用HTTP传输,为什么不是P2P传输?

和一个特别喜欢玩端游的朋友聊天说到P2P的强大功能&#xff0c;他说玩过很多大型的游戏&#xff0c;从几G到几十G都有&#xff0c;在下载的时候有官网标准下载&#xff0c;还有推荐下载&#xff0c;也有一些是写着HTTP高速下载这些有什么区别&#xff1f;既然P2P传输的功能像你…

网络类型-P2P

网络类型–P2P 网络类型&#xff1a; 根据数据链路层使用的协议进行划分 MA&#xff1a;多点接入网络 BMA&#xff1a;广播型多点接入 NBMA&#xff1a;非广播型多点接入 P2P&#xff1a;点到点网络类型 ​ 以太网协议&#xff1a;需要使用MAC地址对不同的主机设备进行区…

记录一下曾经写过的P2P金融项目-理财端(PC端)纯代码-提供服务提供者源码

一般项目开发流程 公司领导层做出决策&#xff1b;产品经理根据领导决策勾勒产品需求原型&#xff1b;产品设计技术测试 需求评审讨论&#xff1b;评审讨论调整后进入设计阶段&#xff0c;视觉设计页面设计技术团队技术架构技术选型存储服务器运维等 项目技术选型及开发工具 …

P2P(1)P2P下载

这里写目录标题 P2P下载概述原理BT下载Torrent文件组成Tracker信息文件信息 原理卡种和出种 P2P下载 概述 传统的下载是C/S模式&#xff0c;即提供资源的人作为唯一的服务器&#xff0c;需要下载资源的人&#xff0c;都向这个唯一的服务器发送请求&#xff0c;当同时存在多个…

【转】P2P-BT对端管理协议

对端管理 指的是远端peer集合的管理&#xff08;虽然自身client也可以视为一个peer&#xff0c;但对端管理不包括自身peer&#xff09; 一个客户端(client)必须维持与每一个远程peer连接的状态信息&#xff0c;即1V1关系&#xff08;本端对某个远端peer&#xff09; 在本代码…