p2p技术概要

哦摩西罗伊 哦摩西罗伊     2022-10-08     697

关键词:

 

      P2P(Peer to Peer)也就是 对等网络,即对等计算机网络,是一种在对等者(Peer)之间分配任务和工作负载的分布式应用架构[1]  ,是对等计算模型在应用层形成的一种组网或网络形式。“Peer”在英语里有“对等者、伙伴、对端”的意义。因此,从字面上,P2P可以理解为对等计算或对等网络。国内一些媒体将P2P翻译成“点对点”或者“端对端”,学术界则统一称为对等网络(Peer-to-peer networking)或对等计算(Peer-to-peer computing),其可以定义为:网络的参与者共享他们所拥有的一部分硬件资源(处理能力、存储能力、网络连接能力、打印机等),这些共享资源通过网络提供服务和内容,能被其它对等节点(Peer)直接访问而无需经过中间实体。在此网络中的参与者既是资源、服务和内容的提供者(Server),又是资源、服务和内容的获取者(Client)[2]  。
 
      在P2P网络环境中,彼此连接的多台计算机之间都处于对等的地位,各台计算机有相同的功能,无主从之分,一台计算机既可作为服务器,设定共享资源供网络中其他计算机所使用,又可以作为工作站,整个网络一般来说不依赖专用的集中服务器,也没有专用的工作站。网络中的每一台计算机既能充当网络服务的请求者,又对其它计算机的请求做出响应,提供资源、服务和内容。通常这些资源和服务包括:信息的共享和交换、计算资源(如CPU计算能力共享)、存储共享(如缓存和磁盘空间的使用)、网络共享、打印机共享等。
  
      对等网络是一种网络结构的思想。它与目前网络中占据主导地位的客户端/服务器(Client/Server)结构(也就是WWW所采用的结构方式)的一个本质区别是,整个网络结构中不存在中心节点(或中心服务器)。在P2P结构中,每一个节点(peer)大都同时具有信息消费者、信息提供者和信息通讯等三方面的功能。从计算模式上来说,P2P打破了传统的Client/Server (C/S)模式,在网络中的每个节点的地位都是对等的。每个节点既充当服务器,为其他节点提供服务,同时也享用其他节点提供的服务。
 
P2P有别于传统的计算机网络结构,以常见的下载服务为例:
1.对于传统的服务器下载,在同一时刻下载的人数越多,下载速度越慢,因为服务器的带宽是固定的,人数越多,每个人所分得的带宽就越小
2.而P2P网络,在同一时刻下载的人越多,下载速度越快,因为在P2P网络中每一个下载的用户充起到了服务器的作用
 
P2P技术的常见应用:

1.BitTorrent介绍

   BitTorrent(比特洪流)就是我们常说的BT,它使用的就是P2P通信方式。

   它将文件划分为256KB的chunk(块)

   在节点加入torrent(索引):没有chunk,但是会逐渐积累

                                                       向tracker注册以获得节点清单,与某些节点建立连接

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

    其中节点可能加入或离开,不会一直在线。

    技术分享图片

 

2.P2P搜索信息

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

   文件共享(电驴):

   技术分享图片

   即时消息(QQ):

 技术分享图片 

3.集中式索引

    Napster最早采用这种设计:一切都要经过中央,一切决定都需中央制定。

    技术分享图片

4.洪泛式查询

   洪范式查询=Query flooding

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

   查询消息通过已有的TCP连接发送,收到消息的节点若无其所查询的内容,则转发查询消息,

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

   技术分享图片

5.层次式覆盖网络

   它是介于集中式索引和洪范式查询之间的一种方法。

   每个节点或者是一个超级节点,或者被分配到一个超级节点。

   技术分享图片

  超级节点负责跟踪子节点的内容。

  这种结构属于小区域集中管理,大区域分布管理。

 
 
总结:
P2P网络说起来的简单,但是大家要考虑P2P网络中计算机是如何通讯的,可能这一台计算机有防火墙,或者说这一台计算机在某一个内网中,如何访问这台计算机才是是P2P技术实现的关键
 
在后面会详细介绍P2P技术


p2p技术简介

 P2P技术简介NAT(NetworkAddressTranslation)穿越(俗称打洞)技术前言:p2p已经存在于我们生活的方方面面;我们通过下载在工具(比如迅雷,bitorent,各种网盘)下载,观看live视频(ppstream,pplive)都在使用p2p,有些im也是通过p... 查看详情

P2P技术比较

】P2P技术比较【英文标题】:ComparisonofP2PTechnology【发布时间】:2011-08-0715:30:42【问题描述】:我经历过各种基于udp的P2P技术,例如Stun。我最近为实现p2p实现了UDP/TCP打孔。我发现还有其他技术,例如ICE、UPnP和teredo谁能告诉我这... 查看详情

第六章p2p技术及应用

        第六章P2P技术及应用P2P技术在我们日常生活中非常实用,例如我们常用的QQ、PPLive、BitTorrent就是基于P2P技术研发。下面将本章中的重点内容进行归纳。文章中的Why表示产生的背景,也就是说为什么会产生该技术... 查看详情

云原生容器技术1云原生容器技术概要介绍-云原生技术概述

阿里云容器ACP认证1云原生容器技术概要介绍-云原生技术概述参考https://edu.aliyun.com/lesson_2553_27357 查看详情

什么是p2p技术

什么是P2P peer-to-peer简称P2P,即点对点技术。又称对等互联网络技术,是一种网络新技术,依赖网络中参与者的计算能力和带宽,而不是把依赖都聚集在较少的几台服务器上。 简单的说,P2P直接将人们联系起来,让人们通... 查看详情

“云”技术和p2p技术有什么区别?

...里,有很多服务器可以提供了某种服务。基于此意义,p2p技术就是一种云服务。P2P如果用来做传输分发,比如用BT部署自己的分发系统,这种就可以视为云分发。因为p2p背后也是支持很多服务器提供数据,属于在一堆服务器云对... 查看详情

团队项目-技术概要

团队项目-技术概要一、简述1.1概述根据网站的需求,我们团队在经过网上调研比较之后,决定使用bootstrap作为前端开发框架,Django作为后端服务器开发框架。选用MySQL作为数据库。在开发阶段使用sqlite作为临时的数据库。1.2前端... 查看详情

云原生容器技术3云原生容器技术概要介绍-容器技术基础-docker

参考https://edu.aliyun.com/lesson_2553_27359#_27359 查看详情

云原生容器技术2云原生容器技术概要介绍-云原生容器技术概述

参考https://edu.aliyun.com/lesson_2553_27358#_27358 查看详情

p2p技术详解:p2p技术之stunturnice详解(代码片段)

目录1、内容概述2、STUN详解2.1RFC3489/STUN2.1.1报文结构2.1.2实现原理2.1.3STUN功能举例2.2RFC5389/STUN2.2.1STUN用途2.2.2报文结构2.3RFC5389与RFC3489的区别2.4新特性介绍2.4.1指纹机制2.4.2通过DNS发现服务器机制2.4.3认证和消息完整性机制2.4.4备份... 查看详情

p2p技术详解:p2p中的nat穿越(打洞)方案详解(进阶分析篇)(代码片段)

目录1、NAT和NAPT2、NAT带来的问题3、P2P通信穿越NAT的技术、方法4、NAT穿越技术1:应用层网关4.1、原理4.2、限制5、NAT穿越技术2:中间件技术5.1、原理5.2、限制6、NAT穿越技术3:打洞技术(HolePunching)6.1、原理6.2、方法6.2.1N... 查看详情

云原生容器技术4云原生容器技术概要介绍-容器编排技术基础-kubernetes

参考https://edu.aliyun.com/lesson_2553_27360#_27360 查看详情

第10讲|深入区块链技术:p2p网络(代码片段)

  在上一篇文章中,我大致讲解了一下区块链技术的几个核心要素。P2P网络协议、分布式一致性算法(共识机制)、加密签名算法、账户与存储模型。今天我们就来看看区块链技术的第一个核心要素:P2P网络。  如果我们简... 查看详情

spring核心技术概要2

四、IOC容器IOC 即控制反转,将对象的生命周期管理、关系依赖通过容器实现,实现解耦。ApplicationContext是最关键的入口,其包括几种实现:FileSystemXmlApplicationContext,从XML文件中加载被定义的bean对象,基于文件系统路径加载... 查看详情

p2p技术简介(包括bt软件的分析)(转)

这是一篇别人发表的论文,里面很全面的解释了P2P技术的实现,以及BT网络中应用P2P技术所设计的原理,并列举BT软件的一些专业名词的定义。由于论文发表的比较早,2005年时还没有DHT技术。http://files.cnblogs.com/files/EasonJim/P2P%E6%8A... 查看详情

p2p技术详解:p2p中的nat穿越(打洞)方案详解

目录1、内容概述2、反向链接技术:一种特殊的P2P场景(通信双方中只有一方位于NAT设备之后)3、基于UDP协议的P2P打洞技术详解3.1、原理概述3.2、典型P2P情景1:两客户端位于同一NAT设备后面(即相同内网中... 查看详情

p2p技术详解:p2p中的nat穿越(打洞)方案详解

目录1、内容概述2、反向链接技术:一种特殊的P2P场景(通信双方中只有一方位于NAT设备之后)3、基于UDP协议的P2P打洞技术详解3.1、原理概述3.2、典型P2P情景1:两客户端位于同一NAT设备后面(即相同内网中... 查看详情

java学习流程体系概要

Java总概要知识架构体系:初级入门阶段:高级技术阶段:web(前端+后端):框架技术+工具(项目管理、版本控制、数据库): 查看详情