精华内容
下载资源
问答
  • 属于p2p模式的网络服务是
    千次阅读
    2021-06-23 03:19:07

    对等网络,简称P2P,是指使用分布式体系结构的计算机网络。在P2P网络中,属于它们的所有计算机和设备都称为对等设备,它们共享和交换工作负载。对等网络中的每个对等方都等于其他对等方。网络中没有特权对等体,也没有主要的管理员设备。

    5e750e02f561c383f2699e70a4054df5.png

    从某种意义上说,对等网络是计算机世界中最平等的网络。每个对等方都相等,并且每个对等方具有与其他对等方相同的权利和义务。对等体同时是客户端和服务器。

    实际上,对等网络中可用的每个资源和每个资产都是在对等之间共享的,而无需任何中央服务器。P2P网络中的共享资源可以是诸如处理器使用率,磁盘存储容量或网络带宽之类的东西。

    P2P(对等)用途是什么?

    对等网络的主要目标是共享资源并帮助计算机和设备协同工作,提供特定服务或执行特定任务。如前所述,P2P用于共享各种计算资源,例如处理能力,网络带宽或磁盘存储空间。

    但是,对等网络最常见的用例是Internet上的文件共享。对等网络是文件共享的理想选择,因为它们允许连接到它们的计算机同时接收文件和发送文件。

    想象一下这种情况:打开Web浏览器并访问一个网站,在该网站上下载文件。在这种情况下,网站充当服务器,而您的计算机充当接收文件的客户端。

    8a3e9af5c8aaf851f9950425cfeae462.png

    从对等网络以BitTorrent平台为起点下载相同文件时,下载的执行方式有所不同。该文件是从许多其他计算机(也连接到同一P2P网络,并且已经拥有该文件或至少一部分文件)中分批下载到您的计算机的。同时,该文件还会从您的计算机发送(上传)到其他需要该文件的设备。这种情况类似于两条路:文件就像多辆小型汽车进入您的PC,同时在请求时也留给其他人。

    22231da1ada6ce2532cb7b48fd47c11d.png

    点对点网络为何有用?

    P2P网络具有一些使它们有用的特征:

    即使其中一个对等方关闭,其他对等方仍在运行并进行通信。为了使P2P(对等)网络停止工作,您必须关闭所有对等网络。

    对等网络具有不可思议的可扩展性。添加新的对等节点很容易,因为您无需在中央服务器上进行任何中央配置。

    当涉及到文件共享时,对等网络越大,速度越快。在P2P网络中的许多对等点上存储相同的文件意味着当某人需要下载文件时,该文件会同时从多个位置下载。

    可以说p2p网络是最具有互联网精神的产品。免费、平等、自由、互助都是互联网的核心精神。但是过度的自由也会导致很多相关问题产生。

    相关推荐:什么是VRM?VRM如何工作? 电压调节器模块(Voltage Regulator Module-VRM)是主板系统总体结构中的重要硬件组件之 […]...

    6个简单的电子邮件营销技巧 通过电子邮件购买向他们营销的产品的人比在电子邮件营销活动之外的人花费高达138%。有了这样的数字,电子邮件是您 […]...

    什么是FTP:FTP初学者介绍 文件传输协议(FTP)是在计算机之间获取和传输文件的一种方法。该协议是当今仍在使用的最古老的方法之一。它的早期 […]...

    什么是SEA?和SEO的区别 互联网上有很多关于SEO和SEA的话题,但是这些词到底是什么意思?本文将阐述SEA是什么以及SEA和SEO之间 […]...

    阅 417

    更多相关内容
  • P2P网络模式中,每个节点的地位都是对等的,整个网络一般不依赖于专用集中的服务器。每个节点同时承担服务器和客户端两个角色,既提供资源和服务,也享用其他节点的资源和服务。通常这些资源和服务包括:信息的...
  • 以博弈论为理论基础,建立纯平台模式P2P网络借贷平台、贷款人、借款人3方博弈模型,分析与P2P网络借贷平台审核通过借款申请、贷款人出借资金以及借款人还清欠款的决策相关的因素,并对我国纯平台模式P2P网络借贷...
  • 由于网络课需要实现Socket网络编程,所以简单实现了一下,C/S模式分别用TCP/IP协议与UDP协议实现,下面将分别讲解。 TCP/IP协议 TCP/IP协议是面向连接的,即客户端与服务器需要先建立连接后才能传输数据,以下是...
  • t-io Java构建p2p网络

    2021-01-08 03:55:57
    Java 构建p2p网络 这篇文章是一篇关于pbft算法实现的一篇补充文章,但是在这里不会涉及pbft的算法方面,所以可以当做一篇单独的文章食用。如果想查看关于区块链或者PBFT算法的文章,可以参考一下我的文章。 文章...
  • P2P网络穿透实战例子

    2019-07-03 14:09:18
    P2P技术起源于文件交换技术,在发展过程中,文件交换技术的演变最具代表性,下面介绍P2P模式的几种形式: (1) 集中式对等网络。集中式P2P模式由一个中心服务器来负责记录共享信息以及反馈对这些信息的查询。每一...
  • P2P网络借贷研究:模式、风险和监管的文献综述,苏为华,王景裕,作为互联网金融模式之一的P2P网络借贷,近年来取得了高速发展,引起了学术界的广泛关注和讨论。本文首先简要介绍了P2P网络借贷的概
  • 目前,P2P已经作为一种流行的网络技术...P2P的共同点就是它打破了传统的Client/Server(C/S)模式,在网络中的每个结点的地位都是对等的。每个结点既充当服务器,为其他结点提供服务,同时也享用其他结点提供的服务
  • P2P网络借贷行业运营模式问题的金融学研究——以陆金服为例.docx
  • 关于 C/S模式,B/S模式,P2P模式

    千次阅读 2022-03-14 22:36:31
    关于 C/S模式,B/S模式,P2P模式

    1. C/S模式

    服务器-客户机,即Client-Server(C/S)结构。C/S结构通常采取两层结构。服务器负责数据的管理,客户机负责完成与用户的交互任务

    在这里插入图片描述
    如上图,所有的“微信”都可客户端,而他们向和对应的使用微信的人发消息,都需要先把请求发送给服务器Server,然后服务器处理之后,再发给接收方。

    生活中,过年时抢红包有时候会觉得“卡住了”,就是因为对服务器请求很频繁,于是会响应得慢。

    2. B/S模式

    B/S结构(Browser/Server,浏览器/服务器模式),是WEB兴起后的一种网络结构模式,WEB浏览器是客户端最主要的应用软件。
    这种模式统一了客户端,将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用。
    客户机上只要安装一个浏览器,如Chrome、Safari、Microsoft Edge、Netscape Navigator或Internet Explorer,服务器安装SQL Server、Oracle、MYSQL等数据库。浏览器通过Web Server 同数据库进行数据交互。

    和C/S模式类似,只是将客户端换成了浏览器browser,客户主体不同了

    在这里插入图片描述

    3. P2P模式

    端对端服务模式(Peer to Peer,简称P2P),亦称为“点对点模式”,是指通过互联网将个人与个人连接起来,绕开中心平台而直接提供服务、完成交易的模式。Peer一词在英语里就有“对等者”和“伙伴”的意思。

    P2P的早期含意是计算机通信领域中的“对等网络协议”,它打破了传统的Client/Server(C/S)模式,使得成千上万台彼此连接的计算机都处于对等地位。

    每个主机都有2个身份,既可以是Server,又可以是Client。

    下面举一个P2P下载的例子,P2P下载就是把一个大的文件切分成几个大小相等/不等的数据块。

    假设有A,B,C,D四个人,A有一个视频 500M,B,C,D都想下载这个视频,想让A传给他们。

    在这里插入图片描述
    a可以先传250m给B,B一边得到后也能传一部分给C和D,C又能传给D一部分,A也能传给D。。可以理解为“人人为我,我为人人”,最后B,C,D都下载成功了这个视频。

    P2P下载环境中,主机越多,下载越快,刚好和C/S相反。

    展开全文
  • P2P网络借贷风险的三种市场域治理模式.pdf
  • EDITED BY CHENYU * 移动互联网产品设计 移动互联网产品设计课程 Mobile Internet Product Design 主讲教师 陈煜 移动通信技术专业教学资源库 深圳信息职业技术学院电子与通信学院 电商平台的P2P模式 目录 01 02 P2P...
  • 基于P2P混合模式网络即时通讯与资源共享软件研究与实现,余华平,白辉万,P2P混合模式能有效平衡网络服务器端和客户端的负载,提升软件系统的整体性能。文章首先分析了TCP/IP协议、Socket套接字在Windows中的实�...
  • 为了解决异构数据间的共享问题,提供标准、统一、功能丰富的接口,对传统的SDO的数据集成做了改进,并在P2P上加上了对server的支持,提高了模块的复用程度,降低了通讯的复杂度,用户获取数据时既可以从peer那获取,...
  • 非常好的学习p2p模式开发,深层次理解p2p模式,基于c++
  • 计算机网络-p2p(示例代码)

    千次阅读 2021-07-13 00:51:34
    p2p架构P2P应用:原理与文件分发纯P2P架构:Peer-to-peer没有服务器任意端系统之间直接通信节点阶段性接入Internet节点可能更换IP地址文件分发:客户机/服务器vs. P2P从一个服务器向N个节点分发一个文件需要多长时间...

    p2p架构

    P2P应用:原理与文件分发

    纯P2P架构:Peer-to-peer

    50ed88adbc891dd8932d1b1b8e38fe6e.png

    没有服务器

    任意端系统之间直接通信

    节点阶段性接入Internet

    节点可能更换IP地址

    文件分发:客户机/服务器vs. P2P

    从一个服务器向N个节点分发一个文件需要多长时间?

    客户机/服务器

    e81948c3a7da4fcbee8ddd03971009d4.png

    服务器串行地发送N个副本,时间:NF/us,客户机i需要F/di时间下载

    846b99f45a69b45928c1183e06baa001.png

    P2P

    服务器必须发送一个副本,时间:F/us,客户机i需要F/di时间下载,总共需要下载NF比特,最快的可能上传速率:us+ ∑ui

    43c9bfbe5f02f7dc86a066dd61023b78.png

    494aac73f0de091bf4abad281225f969.png

    文件分发:BitTorrent

    16c8923407c44e7c19c47af1f9d88a0e.png

    文件划分为256KB的chunk

    节点加入torrent

    没有chunk,但是会逐渐积累

    向tracker注册以获得节点清单,与某些节点(“邻居”)建立连接

    下载的同时,节点需要向其他节点上传chunk

    节点可能加入或离开

    一旦节点获得完整的文件,它可能(自私地)离开或(无私地)留下

    获取chunk

    给定任一时刻,不同的节点持有文件的不同chunk集合

    节点(Alice)定期查询每个邻居所持有的chunk列表

    节点发送请求,请求获取缺失的chunk

    稀缺优先

    发送chunk: tit-for-tat

    Alice向4个邻居发送chunk:正在向其发送Chunk,速率最快的4个

    每10秒重新评估top 4

    每30秒随机选择一个其他节点,向其发送chunk

    新选择节点可能加入top 4

    “optimistically unchoke”10

    7672663f2b6014f2caf57308710576f1.png

    P2P应用:索引技术

    P2P: 搜索信息

    P2P系统的索引:信息到节点位置(IP地址+端口号)的映射

    文件共享(电驴):利用索引动态跟踪节点所共享的文件的位置,节点需要告诉索引它拥有哪些文件,节点搜索索引,从而获知能够得到哪些文件

    即时消息(QQ)?索引负责将用户名映射到位置,当用户开启IM应用时,需要通知索引它的位置,节点检索索引,确定用户的IP地址

    集中式索引

    Napster最早采用这种设计:1) 节点加入时,通知中央服务器:?IP地址?内容,2) Alice查找“Hey Jude”,3) Alice从Bob处请求文件

    2b13a5a5c81a134c43474df20a7b76d8.png

    内容和文件传输是分布式的,但是内容定位是高度集中式的,存在:单点失效问题,性能瓶颈,版权问题

    洪泛式查询: Query flooding

    完全分布式架构,Gnutella采用这种架构,每个节点对它共享的文件进行索引,且只对它共享的文件进行索引

    覆盖网络(overlay network): Graph

    节点X与Y之间如果有TCP连接,那么构成一个边

    所有的活动节点和边构成覆盖网络

    边:虚拟链路

    节点一般邻居数少于10个

    查询消息通过已有的TCP连接发送

    节点转发查询消息

    如果查询命中,则利用反向路径发回查询节点

    ee3b9774201d786d0a7184406c220315.png

    层次式覆盖网络

    介于集中式索引和洪泛查询之间的方法,每个节点或者是一个超级节点,或者被分配一个超级节点,节点和超级节点间维持TCP连接,某些超级节点对之间维持TCP连接,超级节点负责跟踪子节点的内容

    dda8e77b183e7a440a1459e2640ccf49.png

    P2P案例应用:Skype

    本质上是P2P的:用户/节点对之间直接通信,是私有应用层协议,所以只能猜,采用层次式覆盖网络架构,索引负责维护用户名与IP地址间的映射,索引分布在超级节点上

    65326b8644b9ddb730c21d8760b87438.png

    所谓P2P(Peer to Peer),其最本质的含义即“对等”,该技术最早是用于网络中对等节点之间的资源和信息共享的技术,通常人们所知道的是将P2P技术用在文件下载过程中,即网络上的对等终端在下载共享文件的同时又作为一个“种子”为其他对等终端提供资源和信息。后来,Skype在网络通话业务系统中灵活应用了该技术

    由于冲击了传统通信领域,Skype在引起很多争议的同时也使人耳目一新,可以说,Skype是发展和演进了的P2P应用。对于P2P技术还没有规范的定义,结合其已有的应用,就更广泛的意义而言,P2P技术是指网络中的所有节点都动态参与到路由、信息处理和带宽增强等工作中,而不是单纯依靠服务器来完成这些工作。Skype是P2P技术演进到混合模式后的典型应用,它结合了集中式和分布式的特点,在网络的边缘节点采用集中式的网络结构,而在超级节点之间采用分布式的网络结构

    展开全文
  • 在分析、比对现有的多种对等网络流媒体服务系统架构的基础上,提出了一种新的基于合作节点的流媒体系统,利用冗余合作节点的节点组织模式,较好地解决了校园网内节点组织和传输的问题,使流媒体服务质量得到了保障和...
  • P2P借贷模式习题练习及答案课件.pdf
  • 基于P2P混合模式网络即时通讯与资源共享软件研究与实现.pdf
  • P2P网络小贷模式与小微企业融资难题的破解路径_王桂堂.pdf
  • 互联网金融模式研究 – P2P 摘要: 文章首先主要介绍了互联网金融的概念以及国内外近几年的发展状况以及对理论的实践,其次选取互联网金融最具代表性的P2P网络借贷平台来进行分析,并运用"羊群行为"理论分析了P2P...
  • P2P网络原理

    千次阅读 2021-03-31 15:06:36
    P2P网络: 下面是我在网上找到的一副图: P2P(Peer to Peer)是点对点的连接,在P2P网络中,用户同时利用并提供网络的基础,尽管提供资源完全是自愿的。每个对等体(“对等体”是网络上的计算机系统)被认为是相等...

    P2P网络:

    下面是我在网上找到的一副图:
    在这里插入图片描述

    P2P(Peer to Peer)是点对点的连接,在P2P网络中,用户同时利用并提供网络的基础,尽管提供资源完全是自愿的。每个对等体(“对等体”是网络上的计算机系统)被认为是相等的并且通常被称为节点。对等体可以将一部分计算资源(如磁盘存储,处理能力或网络带宽)直接提供给其他参与者,而无需服务器或稳定主机进行任何集中协调。有点我为人人,人人为我的意思。

    NAT技术:

    NAT技术(Network Address Translation,网络地址转换)是一种把内部网络(简称为内网)私有IP地址转换为外部网络(简称为外网)公共IP地址的技术,它使得一定范围内的多台主机只利用一个公共IP地址连接到外网,可以在很大程度上缓解了公网IP地址紧缺的问题,在网上随便找了一张NAT的图:

    在这里插入图片描述

    一般来说都是由私网内主机(例如上图中“电脑A-01”)主动发起连接,数据包经过NAT地址转换后送给公网上的服务器(例如上图中的“Server”),连接建立以后可双向传送数据,NAT设备允许私网内主机主动向公网内主机发送数据,但却禁止反方向的主动传递,但在一些特殊的场合需要不同私网内的主机进行互联(例如P2P软件、网络会议、视频传输等),TCP穿越NAT的问题必须解决。

    实现方式:

    静态转换、动态转换、端口多路复用。
    1. 静态转换:是指将内部网络的私有IP地址转换为公有IP地址,IP地址对是一对一的,是一成不变的。通过静态配置,把一个固定的私网IP地址和端口关联到一个公网地址和端口,这种方式适用于在NAT网关上把一个知名服务(如HTTP)映射到一个内部主机上。
    2. 动态转换:是指将内部网络的私有IP地址转换为公用IP地址时,IP地址对是不确定的,而是随机的,所有被授权访问Internet的私有IP地址可随机转换为任何指定的合法IP地址。也就是说,只要指定哪些内部地址可以进行转换,以及用哪些合法地址作为外部地址时,就可以进行动态转换。
    3. 端口多路复用:是指改变外出数据包的源端口并进行端口转换,即端口地址转换(Port Address
      Translation,PAT)。采用端口多路复用方式,内部网络的所有主机均可共享一个合法外部IP地址实现对Internet的访问,从而最大限度地节约IP地址资源。同时,又可隐藏网络内部的所有主机,避免来自Internet的攻击。因此,目前网络中应用最多的就是端口多路复用方式。

    分类:

    NAT设备的类型对于TCP穿越NAT,有着十分重要的影响,根据端口映射方式,NAT可分为如下4类,前3种NAT类型可统称为cone类型。下面是NAT的几种类型:

    1. 全克隆( Full Clone) :NAT把所有来自相同内部IP地址和端口的请求映射到相同的外部IP地址和端口。任何一个外部主机均可通过该映射发送IP包到该内部主机。
    2. 限制性克隆(Restricted Clone) :NAT把所有来自相同内部IP地址和端口的请求映射到相同的外部IP地址和端口。但是,只有当内部主机先给IP地址为X的外部主机发送IP包,该外部主机才能向该内部主机发送IP包。
    3. 端口限制性克隆( Port Restricted Clone):端口限制性克隆与限制性克隆类似,只是多了端口号的限制,即只有内部主机先向IP地址为X,端口号为P的外部主机发送1个IP包,该外部主机才能够把源端口号为P的IP包发送给该内部主机。
    4. 对称式NAT ( Symmetric NAT):这种类型的NAT与上述3种类型的不同,在于当同一内部主机使用相同的端口与不同地址的外部主机进行通信时,NAT对该内部主机的映射会有所不同。对称式NAT不保证所有会话中的私有地址和公开IP之间绑定的一致性。相反,它为每个新的会话分配一个新的端口号。

    NAT地址转换:

    NAT的基本工作原理是,当私有网主机和公共网主机通信的IP包经过NAT网关时,将IP包中的源IP或目的IP在私有IP和NAT的公共IP之间进行转换。

    如下图所示,NAT网关有2个网络端口,其中公共网络端口的IP地址是统一分配的公共 IP,为202.20.65.5;私有网络端口的IP地址是保留地址,为192.168.1.1。私有网中的主机192.168.1.2向公共网中的主机202.20.65.4发送了1个IP包(Dst=202.20.65.4,Src=192.168.1.2)。
    在这里插入图片描述
    当IP包经过NAT网关时,NAT Gateway会将IP包的源IP转换为NAT Gateway的公共IP并转发到公共网,此时IP包(Dst=202.20.65.4,Src=202.20.65.5)中已经不含任何私有网IP的信息。由于IP包的源IP已经被转换成NAT Gateway的公共IP,Web Server发出的响应IP包(Dst= 202.20.65.5,Src=202.20.65.4)将被发送到NAT Gateway。

    这时,NAT Gateway会将IP包的目的IP转换成私有网中主机的IP,然后将IP包(Des=192.168.1.2,Src=202.20.65.4)转发到私有网。对于通信双方而言,这种地址的转换过程是完全透明的。转换示意图如下。

    在这里插入图片描述
    如果内网主机发出的请求包未经过NAT,那么当Web Server收到请求包,回复的响应包中的目的地址就是私网IP地址,在Internet上无法正确送达,导致连接失败。

    连接跟踪:

    在上述过程中,NAT Gateway在收到响应包后,就需要判断将数据包转发给谁。此时如果子网内仅有少量客户机,可以用静态NAT手工指定;但如果内网有多台客户机,并且各自访问不同网站,这时候就需要连接跟踪(connection track)。如下图所示:
    在这里插入图片描述
    在NAT Gateway收到客户机发来的请求包后,做源地址转换,并且将该连接记录保存下来,当NAT Gateway收到服务器来的响应包后,查找Track Table,确定转发目标,做目的地址转换,转发给客户机。

    端口转换:

    以上述客户机访问服务器为例,当仅有一台客户机访问服务器时,NAT Gateway只须更改数据包的源IP或目的IP即可正常通讯。但是如果Client A和Client B同时访问Web Server,那么当NAT Gateway收到响应包的时候,就无法判断将数据包转发给哪台客户机,如下图所示。
    在这里插入图片描述
    此时,NAT Gateway会在Connection Track中加入端口信息加以区分。如果两客户机访问同一服务器的源端口不同,那么在Track Table里加入端口信息即可区分,如果源端口正好相同,那么在时行SNAT和DNAT的同时对源端口也要做相应的转换,如下图所示。(这里的理解灰常重要)
    在这里插入图片描述

    NAT打洞技术:

    NAT技术虽然在一定程度上解决了IPv4地址短缺的问题,在构建防火墙、保证网络安全方面都发挥了一定的作用,却破坏了端到端的网络通信。NAT阻碍主机进行P2P通信的主要原因是NAT不允许外网主机主动访问内网主机,因为NAT设备上没有相关转发表项,要在NAT网络环境中进行有效的P2P通信,就必须寻找相应的解决方案——NAT穿越打洞。下面分各种NAT场景(如图2)来说明UDP打洞的过程:

    在这里插入图片描述
    假设现在有A和B通信双方,同时为了便于描述打洞过程,假定图2中的NAT类型均为Full Cone NAT:

    1. A和B都处于公网下,无需打洞,A和B可直接P2P直连。
    2. A处于公网,B在内网。若A去连B,由于B没有向A发送过数据,A的数据包会被B的NAT1丢弃,所以即使A知道了B通过NAT1转换后的地址和端口,也是无法连接成功的。但是由于A在公网下,所以反过来B可以连接A,P2P通信成功。
    3. A和B都处于内网,分属不同的内网,它们彼此的内网地址在外网中是没有路由的,所以发往各自内网地址的UDP数据包会发送到错误的主机或者根本不存在的主机上。由于双方都不知道对方的公网IP和端口,就会无从下手,所以要在A和B之间架设一台服务器S来为它们牵线,而且S是处在公网,以保证A和B都能连接到S。A和B登录时都首先连接S,S就会知道A和B经过NAT后的IP和端口,当A想要连接B时,就向S发出请求,S会把B经过NAT后的IP和端口告诉A,同时S向B发送A经过NAT后的IP和端口,并要求B发送数据给A,B发送数据到达A时会被A的NAT抛弃(不同的路由器会有不同的结果,有些路由器在这个操作就能建立连接,大多数路由器对于不请自到的SYN请求包直接丢弃而导致connect失败),但是B的NAT会有B发送数据到A的记录,这时A再向B发送数据时就会被B的NAT放行,因为B曾经向A的外网IP和端口发送过数据。A向B的外网地址发送消息的过程就是“打洞”的过程,一旦A与B都向对方的外网地址发送了数据包,就打开了A与B之间的“洞”,一旦应用程序确认已经可以通过往对方的外网地址发送数据包的方式让数据包到达NAT后面的目的应用程序,程序会自动停止继续发送用于“打洞”的数据包,转而开始真正的P2P数据传输。这个过程可借助于网上的一个形象比喻来理解(见图3)。
      在这里插入图片描述
    4. NAT1和NAT2是由ISP(Internet Service
      Provider)提供的NAT设备,提供将多个用户节点映射到有限的几个公网IP的服务。NAT3作为NAT1的内网节点将把用户的家庭网络或内部网络接入NAT1的内网,然后用户的内部网络就可以经由NAT1访问公网了(NAT4同理)。从这种拓扑结构上来看,只有服务器S与NAT1、NAT2是真正拥有公网可路由IP地址的设备,而NAT3和NAT4所使用的公网IP地址,实际上是由ISP服务提供商设定的(相对于NAT1和NAT2而言)内网地址(这个由ISP提供的内网地址相对于NAT1和NAT2被称之为“伪”公网地址)。现在假定A和B希望通过UDP“打洞”完成P2P直连。最优化的路由策略是A向B的“伪公网”IP上发送数据包。由于从服务器S的角度只能观察到真正的公网地址,也就是NAT3、NAT4分别通过NAT1、NAT2转换的外网地址,非常不幸的是A与B是无法通过服务器S知道这些“伪”公网的地址,而且即使客户端A和B通过某种手段可以得到NAT3和NAT4的“伪”公网地址,我们仍然不建议采用上述的“最优化”的打洞方式,这是因为这些地址是由ISP服务提供商提供的,或许会存在与客户端本身所在的内网地址重复的可能性,这样就会导致打洞数据包无法发出的问题。因此客户端别无选择,只能使用由服务器S观察到的A,B的公网地址进行“打洞”操作,打洞过程与(3)类似。
    5. A和B位于同一个NAT设备后面,并且处于同一局域网中,发出的数据包不需要路由,可进行速度较快的常规P2P通信。另外,A和B发往对方公网地址的UDP数据包不一定会被对方收到,这取决于当前的NAT设备是否支持不同端口之间的UDP数据包传输(即Hairpin转换),就算支持,应用程序也应该优先选择上述常规的P2P直连,否则势必会造成数据包无谓地经过NAT设备,这是一种对资源的浪费。
    6. 由于A和B不在一个内网中,所以相对于(5)而言,就不能不经过NAT让A和B直接相连,这样情况下就需要NAT1支持Hairpin转换,虽然目前也有很多NAT设备不支持类似这样的“Hairpin转换”,但是已经有越来越多的NAT设备商开始加入对该转换的支持中来。

    构建P2P网络:

    内网穿透,先说结论: 两个处于不同内部网络的节点,永远无法发现他们之间的相互存在,你就算是想顺着网线过去打他都不行。所有的内网穿透原理无外乎需要一个有公网ip的中介服务器,包括虚拟货币像比特币之类的,所以首先要有一个创世节点。 把服务部署要公网,那么其他所有的节点都能访问,通过中转服务器,能够使得两个节点可以建立连接。

    在这里插入图片描述
    我们是要建立这样的P2P网络:
    在这里插入图片描述
    假如现在只有3个节点: 创世节点, B节点, C节点, 创世节点有公网IP
    我用对话的形式,阐述他们建立链接的过程:

    B节点: hey,创世节点,我要加入到P2P网络里面,告诉其他兄弟,我来了
    创世节点: 兄弟们,刚刚有个叫做B的节点加入网络了,你们也去告诉其他节点
    其他节点: 刚刚收到来自 "创世节点"的通知,有个fresh meet加入网络了,叫做 “B”
    

    至此,所有人都知道了B节点加入了网络,里面记载着B节点的相关信息,包括IP地址,包括udp端口号
    此时C节点也要加入网络,并且想要和B节点对话:

    C节点: hey,创世节点,我要加入到P2P网络里面,并且我要和B对话
    创世节点: 兄弟们,刚刚有个叫做B的节点加入网络了,你们也去告诉其他节点,顺便看看有没有B这个节点
    其他节点: 刚刚收到来自 "创世节点"的通知,有个fresh meet加入网络了,叫做 “C”,你们也看看有没有B这个节点
    其他节点2: 收到通知,听说一个叫做C的节点在找一个B节点,我这里有它的信息,ip是xxxx.xxxx.xxx.xxxx, 端口10086
    B节点: 有个C的家伙(ip: xxxx.xxxx.xxxx.xxxx, 端口1000)要找我
    

    到这里,B获取到了C的信息,包括IP和端口,C也拿到了B的信息.
    于是,他们两个就可以建立通信。消息流: B <----> C. 中间不经过任何服务器
    用一张图来形容:
    在这里插入图片描述

    在设计中,每个节点的功能都是一样的。如果需要加入到网络中,不一定跟创世节点链接假设已存在的节点: 创世节点,A、B、C节点,此时有个D节点想要加入到网络。那么D节点不一定非得链接到创世节点,可以链接到A、B、C中的任意一个节点,然后该节点再广播给其他节点说"Hey, 有个新人叫做D的加入了网络"。

    这样所有人都知道,有个叫做D的节点存在,你可以和它通信,同时D节点和会同步已存在的节点。这样D节点也知道了其他节点的存在了

    参考:

    1. http://www.voidcn.com/article/p-rcgbxwnk-us.html
    2. https://blog.csdn.net/Dreamandpassion/article/details/108118804
    3. https://blog.csdn.net/hzhsan/article/details/45038265
    4. https://cnodejs.org/topic/5a6303479288dc8153287fe1
    展开全文
  • P2P即Peer to Peer,称为对等连接或对等网络,它与传统的客户端/服务器(C/S)或浏览器/服务器(B/S)模式相比,最大的不同是降低了对服务器的依赖,在P2P网络中各Peer之间的关系是对等的,Peer同时具有Client和...
  • 四种网络工作模式有:对等模式、客户/服务器模式以及专用服务器模式和浏览器/服务器模式。1、对等模式(P2P,peer-to-peer)是一种通信模式,其中每一方都拥有相同的功能,任何一方都可以启动通信会话。在某些情况下,...
  • 针对当前P2P(peer-to-peer)网络普遍存在关键节点的现状,为了准确地识别P2P网络中的关键节点,通过分析关键节点的相应特点,提出了一种基于网络流量的P2P关键节点识别方法。通过提取网络流的空间特征等特性作为...
  • 网络教学平台中C-S与P2P的混合架构模式的应用.docx
  • 作为一种网络应用模式,P2P网络技术在煤炭运输应用过程中,有效解决了传统网络模式中存在的种种弊端,弱化甚至取消了服务器的作用,突破了传统煤炭运输过程中存在的瓶颈,大大提高了煤炭运输效率。文章从我国煤炭运输现状...
  • 区块链P2P网络协议演进过程

    千次阅读 2021-09-15 17:03:18
    区块链最大的特点是去中心化和分布式,区块链共识机制使得参与节点共同为系统提供服务,实现中心化系统中类似金融中介机构的功能。共识机制是网络大部分节点在约定时间段内对交易状态达成相同的确认,其中共识性通过...
  • 1 IPTV采用客户机/服务器模式的局限性 IPTV一般泛指通过IP网络传输音视频内容并用电视机收看的业务。目前电信运营商提供的IPTV运营在支持组播的可管理的IP网上,其主要业务为直播电视(转播电视广播)、时移电视、视频...
  • P2P网络老是连接不上怎么回事

    千次阅读 2021-07-30 05:17:01
    2016-11-17 00:35龚子龙 客户经理亮着的是本地连接吧(复制过来给你看吧)时下,使用ADSL进行拨号上网是众多家庭用户甚至办公用户首选的一种网络接入方式,虽然这种上网方式操作方便、速度快捷,但是它同样会受到电话...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 38,304
精华内容 15,321
热门标签
关键字:

属于p2p模式的网络服务是