美文网首页
理解P2P系统

理解P2P系统

作者: 风之谷的煤煤球 | 来源:发表于2017-11-19 20:28 被阅读0次

现在的互联网大多是以B /S 或C /S 机构的应用模式为主的,这样的应用必须在网络内设置一个服务器,信息通过服务器才可以传递。信息或是先集中上传到服务器保存,然后再分别下载(如网站);或是信息按服务器上专有规则(软件)处理后才可在网络上传递流动(如邮件)。

C/S构架是一种典型的两层构架,全称是Client/Server,起客户端包含一个或多个在电脑上运行的程序,而服务器有两种,一种是数据库服务器端,客户通过数据库连接访问服务器端的数据,另一种是Socket服务器端,客户端的程序通过 Socket 与服务器端程序通信。

B/S架构的全称是Browser/Server, Browser 指的是Web浏览器,极少数事物逻辑在前端实现,但主要事物逻辑在服务器端实现。Browser客户端、WebApp服务端和DB端构成所谓的三层架构。B/S架构系统无需特别安装,只要有Web浏览器即可。

在以上方式下,一切都是以服务器为核心,以它的正常运转为前提。像现在很多流行的聊天软件也是在这种模式下为大家服务的。但随着P2P技术的日益流行,大家都意识到点对点的通讯更能体现网络应用的原始意义。特别是在局域网内,更加需要一种廉价、效率更高的软件(不需要依赖于服务器的支持,软件本身就兼具了服务器和客户端的功能)。

P2P(peer-to-peer)也称对等网络技术,是一种网络结构的思想。它与B/S、C/S构架本质的区别是它的整个网络结构中不存在中心服务器(去中心化)。每一个节点Peer的逻辑地位相等,兼具客户端和服务器的双重特性,在下载的同时,要继续上传资源以提供下载服务给其他人。找不到Server,因为每一台都是Server,所以P2P构架就是一种“人人为我,我为人人”的资源共享思想。

P2P的服务器系统能力随着用户数量的增加而增加,人越多速度越快,突破了原始系统中服务器的瓶颈,因为每一个Peer都分担了服务能力,单一Peer故障不会造成系统崩溃。但是这样的共享系统,对硬盘的损伤比较大(因为在写的同时还要读),还有对内存占用比较多,影响整机的速度。

除外,另一点就是P2P技术破坏了传统的网络业务访问模型,传统访问模型中,用户只有部分时间活跃(当其访问服务器的时候),而且用户占用的宽带随其活跃程度而变化,使用的上下行宽带通常是不对等的。而在P2P技术中,用户在访问时段内永远活跃,稳定地占用相等的上下带宽。为此,基础运营商不得不为飞速上升地的网络贷款需求而大规模地扩容。更要命的是此时的带宽无法带来合理的收入。(这也是P2P技术与基础网络运营商之间日益凸显的矛盾——由于无法通过改变结算方式解决带宽需求和业务收入之间的矛盾)

那么为了减轻P2P技术给核心贷款带来的压力,我们采用了一种P2P 流量优化技术——P2P 缓存系统。通过在网络边缘缓存P2P 内容,过滤掉传输重复的 P2P 内容,P2P 缓存系统需要完成捕捉网络流量、P2P 协议分析以及内容缓存等操作,并且还需要为后续的P2P 访问提供代理服务。

P2P缓存原理:Peer A 请求下载片段内容X,下载请求由A所归属的Internet路由转发给P2P缓存设备。由于是初次下载,缓存设备发现该内容片段并没有被缓存过,于是将下载请求转发给互联网上的Peer C, Peer A最终通过访问Peer C获得片段X,而且将X缓存下来。当Peer B再次发起下载X请求时,请求还是先转到缓存设备,发下有 X 了,于是Peer B对X的下载直接由缓存设备提供。

目前一共有三种P2P系统存在,第一种是采用带有中继服务器的这种模式,其拓扑网络图如下:

(一)中继服务器(引导服务器)

中继服务器相当于一个中间人,他存储了各个Client的IP地址和端口号的一张表,引导实现Peer  to  Peer的通信。不管实现通信的两个 Peer 是在内网还是外网,他们都需要通过在中继服务器查找地址,建立通信,这样就会加重中继服务器的负担,虽然比起C/S、B/S得到服务端,需要直接提供资源的负担要小得多。

(二)不含中继服务器

存在缺陷,因为实现通信的两方必须知道互相的IP地址和端口号。这如果是在同一个内网内,还是可以实现的,然而如果不是在同一内网下,就需要“穿透内网”技术,又叫“NAT穿透”。

为什么需要这个NAT穿透技术呢?   其实它是由于网络地址转换造成的。目前,互联网面临两大问题:IP地址根本不够我们用的;无限的增加IP地址会使路由表不断增长,给存储、查询等带来麻烦。于是就有了网络地址转换技术。一个端路由器可以虚拟出一些临时IP地址,提供给链接到该路由器上的客户端们,这样就可以通过有限个IP,扩展到更多的用户;并且通过局域网内路由器的地址虚拟方式,隐藏了内网上某个客户端的真实IP,提高了网络安全性。

虽然一个路由器虚拟出的连接到不同客户端的IP地址都是不同的,但是世界上千千万万个路由器,可能虚拟出相同的IP地址,所以这些IP地址不能唯一的表示一个真实的客户端。这也是为什么 我们不能轻易的实现跨局域网的端到端的查找,因为我们根本不知道某一个Peer的真实IP地址,也就没法找到它。

除非我们通过穿透内网技术,那么如何实现呢?  端口映射:我们将某个Client想要提供的某个服务和它的路由器的一个端口进行绑定,这样在访问时,只需要知道该路由的IP地址和该服务的端口号就可以了。不必要找到该路由器下面的具体客户端。

(三)折中妥协

同样需要一个中继服务器,只不过在第一次为Client A和ClientB建立连接的时候就去判断,这两个Peer是否在同一内网内。如果是,就不再需要通过中继服务器查询IP地址了,在内网内直接通过唯一的虚拟IP实现端到端访问;如果不是,则之后还是继续通过中继服务器建立连接,但这足以减轻Server负担。

相关文章

  • 理解P2P系统

    现在的互联网大多是以B /S 或C /S 机构的应用模式为主的,这样的应用必须在网络内设置一个服务器,信息通过服务...

  • NAT穿透的理解

    P2P通信 首先我们需要理解P2P的概念,P2P(peer to peer)通信即点对点通信,简单点讲就是两个端之...

  • P2P与民间借贷

    本篇为近日整理的P2P常识文章中《宏观篇》的一篇文章。 要正确理解P2P,就得首先理解民间借贷,就得了解民间借贷的...

  • p2p理财,这些你了解吗?

    可能对理财有点兴趣的人,最近两年经常听到:“P2P”这个词,P2P是什么意思?怎么理解P2P呢? 打个比方,你是小...

  • 如何深度理解区块链

    如何深度理解区块链? 1什么是区块链? 一、一个权力分散且完全自治的系统。 区块链本质上是一个基于P2P的价值传输...

  • 吃骨头不吐渣的“金融陷阱”

    钱是赚不完的,但是很容易亏的完。 金融产品越复杂越是陷阱。 不懂的!不理解的! 坚决远离! 解读P2P P2P本来...

  • 快播模式分析

    核心优势:P2P加速技术 QVOD是基于UDP协议传输的,针对流媒体点播进行P2P加速的点播系统。 完全穿透防火墙...

  • Apache Geode(三):Geode的拓扑和通信

    Apache Geode允许水平和垂直缩放 所有系统的核心是单一的P2P分布式系统。 在C/S系统中,少数服务器进...

  • 手把手搭建Java金融借贷系统【附源码】(毕设)

    一、项目简介 本课程演示的是一套基于基于JavaWeb实现的金融借贷系统 或 P2P金融管理系统 或 小额贷款系统...

  • P2P平台出现逾期就不安全了吗?

    一般P2P平台只要有真实的标的项目,就难免出现逾期的情况。但是这对很多投资人来说却是难以理解的,认为P2P平台发生...

网友评论

      本文标题:理解P2P系统

      本文链接:https://www.haomeiwen.com/subject/jyzqvxtx.html