P2P对等服务

简介   

P2P(Peer-2-Peer)对等节点,其是一种协议,也是一种模式,类似于C/S模式。

 C/S与P2P区别

      C/S(Client/Server)客户端服务端模式。其体现出来的是中心化概念,我们作为用户,我们的联网的电脑其实就是客户端,现在有一个桌面应用程序,其服务端在国内的某个性能比较高的服务器上面。

     当用户通过客户端APP发送请求之后,去服务器发送请求,并拿到对应接口的数据,这个过程中,客户端是不固定的,但是服务器端是固定的,如果服务器端挂了,那么这个APP的某些功能是无法使用的(需要和服务端交互的功能)。所有的数据也保存到服务器上面,包括个人信息,如果服务器被攻破或者提供APP的公司因为一些利益将用户的个人信息分享给其他人,那么很不幸的是你的个人信息已经泄漏了,可能当前晚上到最近半个月都有人不断的给你打电话,提供各种服务。说到这,还是告诫一下各位朋友不要轻易在网络上填写个人信息或者浏览一些乱七八糟的网站。毕竟对于我们这些网络小白,可能平常就是上个网淘宝或者浏览一些东西,也都知道网络是具有隐匿的,你不知道和你聊天的人是 谁,所以良性上网。

      因为网络带宽的问题,如果大量用户同一时间请求服务器,可能服务器会瘫痪掉,或者相应非常慢。

   P2P 对等节点,其核心就是我们的所有的人既可以是资源的提供者也可以作为用户去获取资源,其特点就是使用量越到速度就越快。其核心就是,用户如果想要获取一些东西,但是资源可能在你本地存有也有可能在你们小区,它会就近获取到资源,最快的速度相应给你,有点类似于HTTP的CDN(网络内容分发)。

     为什么说,用户使用量越大,获取到资源的效率越高?简单来说就是,你访问的资源恰巧在你之前,你的室友前两天刚访问过,那么你的获取资源将会异常的快,因为你是直接通过你的室友的电脑上面获取的。当然也存在一个问题,你的访问的资源在你的附近的人都没有访问过,可能会比较慢,也仅仅是第一次慢,但是相对来说,获益还是很大的。

     每个人的电脑作为一个服务器,这样的话,你的硬盘估计不够用,没关系,这个已经被考虑到了,加入现在你想要下载一个大文件,有好几个G,然而这个文件可能分布在不同的服务器上面,而不是让其中一台服务器只提供服务,这样也可以提升下载效率。

P2P 缺点

     那么可能朋友会问了,如果用户量少了怎么办,这个可以不用考虑,虽然说C/S使用内容分发,也是就近提供服务,P2P需要先去通过hash值去dht或者tracker去询问节点信息,拿到邻居IP,再去建立连接,但是这些邻居质量良莠不齐,建立起来,可能会比传统HTTP的CDN慢一些。但是即使再慢,P2P最差也会跟CDN差不多,因为现在很多P2P也支持从CDN下载,叫做P2SP,所以一旦建立连接,P2P可以同时从CDN、其他邻居,多个服务器、多个CDN地址去下载。速度很顶比传统的CDN快,而CDN往往是只能够去连接一个服务器节点,P2P是多源下载。

    刚说到,用户少了怎么办,除了通过上面方式得到解决,在区中心化服务IPFS中提供的方式就是虚拟货币激励机制,只要你的服务器的存储能力比较强,并且资源比较多,开机时间比较长,那么你就越有可能获取更多的FileChain。

P2P的应用方向

1、分布式科学计算

2、文件共享

3、流媒体直播

4、流媒体点播

5、IP层语音通话

6、网络游戏平台

P2P实现资源分配的原理

      以bitTorret为例,想要bt下载一个文件,首先你需要有一个种子文件torret,种子文件至少包含至少一个Tracker(一台服务器的地址)信息和文件的分割记录信息。BT软件解析种子文件torret,从里面找出tracker,告诉tracker我要下载哪个文件,tracker同时返回给你现在其他正在下载的节点信息,这时候你的节点就正式加入了P2P下载网络,根据tracker返回的信息直接和其他节点建立联系,开始数据传输。

结束语

参考:

p2p cdn快还是普通http cdn快 

https://blog.csdn.net/dianliang01/article/details/80591236

P2P技术原理以及应用

https://blog.csdn.net/huangyimo/article/details/82879175

IPFS网络是如何运行的

https://blog.csdn.net/omnispace/article/details/79698824

      

猜你喜欢

转载自blog.csdn.net/JavaWeb_Hao/article/details/106257715
P2P