P2P工作原理和技术演进

java实现P2P通信(含安卓实现的基于IPV6的p2p通信代码) java实现P2P通信(含安卓实现的基于IPV6的p2p通信代码)什么是P2P网络用udp打洞的三种方式IPV6实现P2P通信 什么是P2P网络 p2p网络又叫对等网络,顾名思义就是在该网络中所有节点都是平等的,都可以共享自己的硬件资源和数据资源。每个节点都能被其它对等节点直接访问而无需经过中间实体。换句话来说,目前绝大多数应用都是基于C/S或者B/S架构的,就拿微信来说,当A要通过微信给B发一条消息时,消息首先会从A发送到服务器,然后服务器在转发给B。这样服务器就会知道AB之间的聊天记录。而P2P网络来说 阅读详情
计算机网络发展演化过程是在集中和分布之间摆动。早期的计算机使用模式是众多用户共享大型计算机,以后发展了个人计算机,从集中走向分布。在互联网上存在类似情况,开始采用客户机(浏览器)-服务器方式,使用网站上集中的服务器。进一步发展将走向分布式,集中的服务器将变成分布的,每一个用户终端既是客户机又是服务器,这就是对等连接peer to peer(简称P2P)模式。

    近年来,互联网上P2P业务发展迅速,已经成为宽带互联网业务的主流。P2P技术将各个用户互相结合成一个网络,共享其中的带宽,共同处理其中的信息。与传统的客户机——服务器模式不同,P2P工作方式中,每一个客户终端既是客户机又是服务器。以共享下载文件为例,下载同一个文件的众多用户中的每一个用户终端只需要下载文件的一个片段,然后互相交换,最终每个用户都能得到完整的文件。

    第一代P2P网络采用中央控制网络体系结构(如图1所示)。早期的Napster就采用这种结构。它采用快速搜索算法,排队响应时间短,使用简单的协议能够提供高性能和弹性,缺点是容易中断服务。


图1 第一代P2P网络采用中央控制网络体系结构

    第二代P2P 采用分散分布网络体系结构(如图2所示)。不再使用中央服务器,消除了中央服务器带来的问题。没有中央控制点,不会因为一点故障导致全部瘫痪,是真正的分布式网络。由于每次搜索都要在全网进行,造成大量网络流量,使得其搜索速度慢,排队响应时间长。用户PC性能及其与网络连接方式决定网络弹性和性能。这种模式具有自组织( ad-hoc) 行为, 降低了拥有者的成本,提供可扩展性。特别适合在自组织( ad-hoc)网上的应用,如即时通信等。


图2  第二代P2P 采用分散分布网络体系结构

    第三代P2P 采用混合网络体系结构(如图3所示)。这种模式综合第一代和第二代的优点,用分布的超级结点取代中央检索服务器。采用分层次的快速搜索改进了搜索性能,缩短了排队响应时间,每次排队产生的流量低于第二代分布网络。超级智能结点的布设提供高性能和弹性。没有中央控制点,不会因为一点故障导致全部瘫痪。


图3  第三代P2P 采用混合网络体系结构 

    内容被分布存储在分布的存储器和客户终端中。通过快速检索系统可以快速发现内容分布存储的位置。目前常用的P2P 软件有BT, edonky和Gnutella等,这些软件采用“快速追踪”技术构成P2P网络,有着许多传统客户机-服务器网络所没有的优点。技术上不但可以大大的减少文件搜寻的时间,更重要的是可以不用昂贵的中央控制硬件设备(服务器等)。这种P2P网络使用终端本身电脑的处理能力,网络处理能力随着终端使用者人数增长而增加。

    第四代P2P目前正在发展中。主要发展技术有动态口选择和双向下载。动态口选择:目前P2P使用固定的口,但是一些公司已经开始引入协议可以动态选择传输口,一般来说,口的数目在1024-4000之间。甚至P2P流可以用原来用于HTTP(SMTP)的口80(25)来传输以便隐藏。这将使得识别跨运营商网络的P2P流,掌握其流量变得更困难。双向下载:eD和BT等公司进一步发展引入双向流下载。可以多路并行下载和上载一个文件或多路并行下载一个文件的一部分。而目前传统的体系结构要求目标在完全下载后才能开始上载。这将大大加快文件分发速度。

    以上演化的四代P2P系统都属于“无组织的P2P重叠网”,在互联网得到快速发展,目前宽带用户流量中一半以上是这种P2P流。

    而学术界目前在研究的是“有组织的P2P重叠网”。包括Tapestry 、Chord 、Pastry和CAN 等。正在研究的新一代的P2P应用包括多播、网络存储等都运行在这种有组织P2P重叠网上。

2.P2P应用

    目前应用主要有三大类,如图4所示。


图4 P2P应用和智能结点重叠网

(1).P2P内容共享

    包括共享文件下载BT,edonkey Gnutella、搜索和检索Bearshare、内容分发、网络存储和对等广播Peercasting等。网络存储充分发挥互联网无所不在的优势,移动电话、PDA、笔记本电脑、台式机、电视机、各种家电和传感器等可以通过各种有线或无线接入连接网络取得服务。

(2).P2P通信协作包括协同工作、互联网电话、即时通信S和移动通信

    P2P即时通信系统 IM采用对等连接模式P2P,消息格式使用 XML具有效的报到管理,可以提供异步、并行、可靠和近似实时通信。支持移动报到管理和移动即时通信。使用IETF 标准保证互通互用。

(3).P2P协同计算包括协作计算、网格和数据内容网格

    网格GRID和 P2P协作的基本概念非常相似都是资源共享,但是使用技术不同。网格的目的是利用网络资源进行大规模高性能计算,其利用的网络资源包括超级计算机、集群、专门设备、大规模数据库等。网格需要制定组织级的协议用于资源共享,安全和性能是关键问题。采用基于PKI + X.509证书的鉴权和可编程中间件用于高性能计算。而P2P协作利用的网络资源是个人计算机和存储的数字内容等,对资源进行分散控制,允许匿名接入。主要优点是可测量性。

    采用P2P 和Grid融合产生数据内容网格,用P2P技术建立数据网格是最有吸引力和实际的方法。综合P2P技术建立内容网格,在网格中数据、内容是自动分布的,用户可以接入最近的数据。

    视频内容网格,以分布式存储提供视频点播业务。

(4).P2P将开创网络媒体新时代

    电视视频节目除现场直播以外,都是事先录制好存储在服务器中的。点播是一种工作模式,但是它占用网络资源太多。P2P为网络电视媒体提供了一个新的工作模式,用户可以先用P2P方式下载内容存储在自己的计算机中,再回放观看。

3. P2P需要IPv6

    目前的IPv4互联网由于IP地址不够,大量采用专用地址和网络地址变换器NAT ,其结果是隐藏了谁是信息的发送者的信息。而P2P 要求能够识别发送者,使用“实名制”才能建立诚信安全的网络社会。只有IPv6 能够做到这点。建立IPv6网将为发展P2P应用提供安全、可靠和廉价的网络运行环境。

    在IPv6 网上运行p2p不再需要使用NAT能够控制功能和逻辑,可以简化网络设计。对于运营商而言不再需要考虑NAT及其软件之间的兼容性,在远端不需要服务器将使设计、可以降低运营负担。

    总之,运行和成本与使用IPv4和NAT时相比要低。

    在IPv6网实现 P2P VPN (如图5所示)


图5 IPv6网上的P2P VPN

    适用于各种通信模式: 客户机-服务器、对等连接P2P、移动安全即时通信、即时连接、保证端到端的安全。IPsec策略服务器按需要为对接每一方提供策略文件,设置非常简便:只需要在 web上注册 。

4.应对Peer to Peer业务挑战

    P2P已经成为宽带的杀手级应用。P2P应用围绕IP音频和视频文件共享快速发展。目前P2P应用占宽带流量50-60%(白天)到90%(晚上),企业用户的40%。

    如何识别和控制P2P流,如何版权保护和制止色情内容流通成为企业网络管理员和接入运营商的烦恼。目前正开展各种方法的研究,例如在运营商网络服务器中缓冲P2P流以减少外出流量等。

 
 
各内网客户端实现P2P方案 P2P 即 Peer To Peer,因为现有公网资源的稀少,内网内的PeerToPeer还是比较困难,以下思考了几种方案能够解决PeerToPeer问题 阅读详情

相关推荐

洛谷新手入门指南:从零开始掌握算法竞赛与OJ平台高效使用

在线评测系统(Online Judge, OJ)是算法学习和编程能力训练的核心平台,其原理在于通过自动化测试用例验证用户提交代码的正确性、时间与空间效率。这项技术的价值在于为学习者提供了一个即时反馈、海量题库的标准化训练环境,极大地提升了算法掌握和问题解决能力的效率。在应用场景上,无论是备战信息学竞赛(如CSP、NOIP),还是巩固计算机基础、准备技术面试,OJ平台都扮演着关键角色。本文以国内知名的洛谷平台为例,深入解析其核心功能,如题库筛选、题单体系、评测状态解读(涵盖AC、WA、TLE等),并规划了从基

weixin_30675247的博客 380

P2P网络原理

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

ALakers的博客 6877

P2P通信基本原理

P2P即点对点协议。当A和B通信的时候,最简单的方式如下,A和B之间通过一个服务器转发数据。而P2P是这样的,双方直接进行通信这种方式能大大减轻服务端的负载,所以特别适合大数据的传输,比如实时音视频聊天、在线视频直播、大文件传输等应用场景。

wushakun的博客 6283

计算机网络演化——p2p于网络

p2p: 随着人们拥有的pc性能越来越高,硬盘越来越大,为了减轻服务器的负担, 有人开发出了,不用通过服务器,而是直接从网上其他用户计算机里面获取资源的程序(P2P程序),比如迅雷下载电视剧,使用的就是p2p,qq聊天,在线视频。 目前50%-90%的总流量都是来自p2p程序 网格(Grid): 用软件技术和网络技术将地理上分散的计算机CPU资源整合起来,形成强大的计算能力。 云计算: 在网格技术发展比较成熟后,人们提出云计算概念,将计算机上的所有资源软件,数据库,存储资源,一切,都整合起来,目的将整个in

这里是菠萝味菠萝啤的博客 205

随机截距交叉滞后模型RI-CLPM:原理、Mplus实现与结果解读

纵向面板数据分析中,传统交叉滞后模型(CLPM)常被用于探索变量间的时序关系,但其估计结果可能混淆了个体间稳定差异与个体内短期波动,导致交叉滞后路径出现偏差。随机截距交叉滞后模型(RI-CLPM)通过引入随机截距因子,将个体特质层面的差异与个体内动态过程分离,从而提供更纯净的个体内效应估计。该模型在组织心理学、发展心理学、成瘾行为等研究领域迅速普及,并成为顶级期刊审稿时常见的稳健性检验要求。本文从原理出发,系统讲解RI-CLPM的模型构建、识别条件、Mplus实操代码、输出解读及常见陷阱,并结合协变量处理、

weixin_33525298的博客 276

计算机组成原理课程设计_微程序控制的简单模型机设计

微程序控制的简单模型机设计 要求 基本要求 完成一个简单主机的设计,模型机应具备如下能力:在自行设计的指令集基础上,运行自行编写的简单用户程序,实现特定运算功能。 弹性要求 在此基础上,完成必要的扩展,实现模型机的功能扩展设计,包括:实现多种运算功能(指令集的扩充)、支持更为丰富的寻址方式、有更为完善的微程序设计等。 实验软件和硬件环境 QuartusII, FPGA计算机组...

sailist的记录站 3万+

实现一个冒泡提示的浮点数编辑框

实现一个冒泡提示的浮点数编辑框

gdruhv的博客 280

汇丰外包Java岗面试复盘:Zoom面1.5小时,从英语、粤语到现场敲代码的极限挑战

本文详细记录了汇丰银行外包Java岗位的面试全过程,包括多语言切换(英语、粤语)的技术沟通挑战和现场编码测试的实战经验。从高并发编程到JVM调优,面试不仅考察技术深度,更注重实战问题解决能力。文章分享了应对跨国银行技术面试的实用策略,帮助Java开发者在跨文化环境中提升竞争力。

weixin_42524824的博客 363

边缘AI芯片选型避坑指南:10张速查表拆解算力、NPU与工具链

边缘AI的落地离不开对芯片的深度理解,从CPU、GPU到NPU、ASIC,不同类型的AI加速器在算力密度、能效比和适用场景上差异显著。理解TOPS、TFLOPS等算力单位的换算口径,是评估芯片性能的第一步。但真实性能并非只看标称峰值,内存带宽、模型量化策略、持续散热能力以及软件工具链的成熟度,往往成为项目成败的隐形瓶颈。掌握这些核心维度,能帮助开发者在工业检测、智能安防、车载视觉等场景中做出更合适的芯片选型决策。本文以一套完整的速查表体系,系统梳理了边缘AI芯片从类型图谱、算力评估到部署链路的关键知识,为工

weixin_33805743的博客 306

从光耦隔离到稳定驱动:信捷伺服与STM32的硬件设计陷阱与救赎

本文深入探讨了信捷伺服驱动器与STM32微控制器配合时的硬件设计关键问题,包括光耦隔离电路选型、电源电压选择、拨码开关设置等核心环节。针对伺服驱动器的稳定驱动需求,提供了从电路设计到抗干扰策略的完整解决方案,帮助工程师规避常见陷阱,提升工业控制系统的可靠性。

gold8的专栏 312

【ROS2实体机械臂驱动】封装珞石ROS2驱动库ros2_rokae_driver_lib

这一篇文章将封装为,和之前一篇文章《ROS2 编译、打包、封装三方库(Knet为例)_ros插件编译成静态库-优快云博客》写的封装,区别在于优化了cmake dependencies和include等属性和宏定义,同时对于多库内部依赖的情况做了特定处理,更加方便外部调用。其中珞石的编译参考博主之前的文章rokae xCoreSDK C++测试使用,这里不再做赘述。通过这篇文章对于如何打包机械臂厂家提供的三方库做了进一步说明,方便用于不同机械臂厂家的三方库封装调用。!!

机器人梦想家 Bing Lee 1398

【AI应用--白话大模型(篇十)】《一文全系列搞懂RAG技术:RAG从原理到应用,文本分块,向量嵌入,数据入库以及RAG未来的趋势发展》

可以想象是开卷考试,模型并不知道你的业务知识,但是查资料,然后组织答案。

2501_93351213的博客 243

【AI智能体】Codex AI 辅助编程高级技能实战操作详解

Codex AI 辅助编程高级技能实战操作详解

congge 6760

OpenVpn p2p linux安装及路由转发配置

OpenVpn p2p linux安装及路由转发配置 目的

2201_75362610的博客 3212

YOLOv11-seg 改进系列 | 引入原创 RSCD 重参数共享卷积分割头,增强 Head 表达力并压低计算量

本文提出一种改进的YOLOv11-seg分割头Segment_RSCD,通过重参数共享卷积增强表达能力。该模块在LSCD共享检测头基础上引入DiverseBranchBlock重参数卷积,保留三尺度预测与Proto掩码原型接口不变。相比原始Segment头,Segment_RSCD参数增加4%但计算量降低1.3%,在共享卷积结构中通过多分支补偿表达能力损失,同时利用Scale层保持尺度差异校准。该方法不改动Backbone/Neck结构,仅重构检测/分割头,实现训练期多路径聚合与部署期等效单分支的平衡。

qq_44224801的博客 184

FANUC机器人有关动作速度倍率的相关系统变量-解释说明

FANUC机器人有关动作速度倍率的相关系统变量-解释说明 1.$SHFTOV_ENB 默认值:0 名称:位移倍率的有效/无效 含义:位移倍率功能,通过按住SHIFT键的同时按下倍率键,将速度倍率更改为5档 设定值:有效1; 无效0. 有SHFIT键:微速–低速–5%–50%–100% 2.MCRGRP[GROUP].MCR_GRP[GROUP].MCRG​RP[GROUP].PRGOVERRIDE 默认值:100 名称:程序倍率 含义:设定程序再生时的、机器人动作速度比率 设定值:0~100(%) 3.S

Robot_PLC_HMI_Automation 9321

异地组网原理

但是没有说异地组网原理。

u011011827的博客 2647

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

上一篇: P2P原理介绍
下一篇: IME输入法编程
CryButNoTear
博客等级 码龄21年 6粉丝 16原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值