即时通讯——P2P传输技术详解[通俗易懂]

即时通讯——P2P传输技术详解[通俗易懂]纯点对点网络没有客户端或服务器的概念,只有平等的同级节点,同时对网络上的其它节点充当客户端和服务器。这种网络设计模型不同于客户端-服务器模型,在客户端-服务器模型中通信通常来往于一个中央服务器。有些网络(如Napster,OpenNAP,或IRC@find)的一些功能(比如搜索)使用客户端-服务器结构,而使用P2P结构来实现另外一些功能。类似Gnutella或Freenet的网络则使用

大家好,又见面了,我是你们的朋友全栈君。纯点对点网络没有客户端或服务器的概念,只有平等的同级节点,同时对网络上的其它节点充当客户端和服务器。这种网络设计模型不同于客户端-服务器模型,在客户端-服务器模型中通信通常来往于一个中央服务器。

有些网络(如Napster, OpenNAP, 或IRC @find)的一些功能(比如搜索)使用客户端-服务器结构,而使用P2P结构来实现另外一些功能。类似Gnutella 或Freenet的网络则使用纯P2P结构来实现全部的任务。


分类:


1.纯P2P:


节点同时作为客户端和服务器端。


没有中心服务器。


没有中心路由器。


2.杂P2P


有一个中心服务器保存节点的信息并对请求这些信息的要求做出响应。


节点负责发布这些信息(因为中心服务器并不保存文件),让中心服务器知道它们想共享什么文件,让需要它的节点下载其可共享的资源。


路由终端使用地址,通过被一组索引引用来取得绝对地址。


3.混合P2P

同时含有纯P2P和杂P2P的特点。


优势:


P2P网络的一个重要的目标就是让所有的客户端都能提供资源,包括带宽,存储空间和计算能力。因此,当有节点加入且对系统请求增多,整个系统的容量也增大。这是具有一组固定服务器的C/S结构不能实现的,这种结构中客户端的增加意味着所有用户更慢的数据传输。


P2P网络的分布特性通过在多节点上复制数据,也增加了防故障的健壮性,并且在纯P2P网络中,节点不需要依靠一个中心索引服务器来发现数据。在后一种情况下,系统也不会出现单点崩溃。

当用P2P来描述Napster 网络时,对等协议被认为是重要的,但是,实际中,Napster 网络取得的成就是对等节点(就象网络的末枝)联合一个中心索引来实现。这可以使它能快速并且高效的定位可用的内容。对等协议只是一种通用的方法来实现这一点。


应用:


点对点技术有许多应用。共享包含各种格式音频,视频,数据等的文件是非常普遍的,实时数据(如IP电话通信)也可以使用P2P技术来传送。

有些网络和通信渠道,象Napster,OpenNAP,和IRC @find,一方面使用了C/S结构来处理一些任务(如搜索功能),另一方面又同时使用P2P结构来处理其他任务。而有些网络,如Gnutella 和 Freenet ,使用P2P结构来处理所有的任务,有时被认为是真正的P2P网络。尽管Gnutella 也使用了目录服务器来方便节点得到其它节点的网络地址。


安全:


许多P2P网络一直受到怀有各种目的的人的持续攻击。例子包括:


中毒攻击(提供内容与描述不同的文件)


拒绝服务攻击(使网络运行非常慢甚至完全崩溃)


背叛攻击(用户或软件使用网络却没有贡献出自己的资源)


在数据中插入病毒(如,下载或传递的文件可能被感染了病毒或木马)


P2P软件本身的木马(如,软件可能含有间谍软件)


过滤(网络运营商可能会试图禁止传递来自P2P网络上的数据)


身份攻击(如,跟踪网络上用户并且折磨或合法地攻击他们)


垃圾信息(如在网络上发送未请求的信息–不一定是拒绝服务攻击)

如果精心设计P2P网络,使用加密技术,大部分的攻击都可以避免或控制,P2P网络安全事实上与拜占庭将军问题有密切联系。然而,当很多的节点试着破坏它时,几乎任何网络也都会失效,而且许多协议会因用户少而表现得很失败。


企业研发产品:


基于P2P的在线电视直播-Anychat


Anychat是一款用于互联网上大规模视频直播的共享软件。它使用网状模型,有效解决了当前网络视频点播服务的带宽和负载有限问题,实现用户越多,播放越流畅的特性,整体服务质量大大提高!


基于P2P技术的视频会议——icloudsoft


iCloudSoft即时通讯平台,包含文本、语音、视频、文件传输、网络会议、表情传输等多种通讯,协作功能,提供标准化接口与业务系统对接,增强业务处理的实时性。系统具有高度可管理性,全面提高企业,政府,学校,医院等机构的协作效率,降低沟通成本。


基于P2P技术的网页通讯——视频面对面


视频面对面为用户提供了便捷的交流渠道,是基于浏览器的聊天室,用户只要能够上网,就可以通过视频面对面跟志同道合的人群即时交流。一般在聊天室里可以建立不同主题的房间,用户可以选择感兴趣的主题参与聊天。目前新出现了技术更加先进,互动性可玩性更好的视频聊天室网站,可以看到主播真人视频。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/160303.html原文链接:https://javaforall.net

(0)
上一篇 2022年7月16日 上午11:36
下一篇 2022年7月16日 上午11:46


相关推荐

  • 高并发监控[一]:TP90、TP99耗时监控设计与实现

    高并发监控[一]:TP90、TP99耗时监控设计与实现背景性能测试中 我们经常选择 TP90 TP95 TP99 等指标项作为性能对比的参考水位 在本文中 我们给出一种计算 TP90 TP95 和 TP99 等水位线的方法 首先我们解释一下 TP90 TP95 TP99 的含义 TP90 即 90 的数据都满足某一条件 TP95 即 95 的数据都满足某一条件 TP99 即 99 的数据都满足某一条件 我们之所以说其 满足某一条件 是因为在计算的时候 我们既可以向前计算也可以向后计算 例如 1 2 3 98 99

    2026年3月16日
    2
  • 异或运算(XOR)[通俗易懂]

    异或运算(XOR)[通俗易懂]本文简单介绍计算机体系中的异或运算,运算其特点以及在数据安全领域的应用。异或运算介绍XOR全称为exclusiveOR,简写为XOR,中文称为异或运算。异或运算是一种数学运算符,主要应用于逻

    2022年7月1日
    58
  • kernel: TCP: time wait bucket table overflow的问题剖析及解决方法

    kernel: TCP: time wait bucket table overflow的问题剖析及解决方法随着访问量的增大,系统默认的承受能力达到上限,这个时候就会报一些异常。比如/var/log/messages中常见的“kernel:TCP:timewaitbuckettableoverflow”这个信息,本文介绍问题的来源及解决办法。

    2022年6月10日
    34
  • springboot打包为jar

    springboot打包为jarspringboot 打包为 jar 项目测试背景是一个拥有 jsp 的项目 1 修改 pom xml 文件 1 指定打包后的文件名称 build 打包后的文件名称 finalName myboot finalName build 2 指定 springboot maven plugin 版本 plugins plugin plugin plugins

    2026年3月16日
    2
  • redis6.0 源码学习(五)ziplist

    redis6.0源码学习(五)ziplist文章目录redis6.0源码学习(五)ziplist一、数据结构二、代码解析1、创建2、查找3、插入三、总结一、数据结构ziplist是经过特殊编码的双向链接列表,该列表具有很高的内存效率。它存储字符串和整数值,其中整数被编码为实际整数,而不是一系列个字符。它允许对列表的两侧进行push和pop操作且复杂度为O(1)。但是由于每个操作都需要重新分配ziplist使用的内存,实际复杂度与ziplist使用的内存量有关。下图是ziplist得示意图:

    2022年4月15日
    90
  • c++开发面试问题(java面试app)

    面试智力题1、25皮马,5个赛道,求经过几场比赛,可以得到跑得最快的5皮马1)先把25皮马分成5组,分别每组进行比赛:(5场)A1A2A3A4A5、B1B2B3B4B5、C1C2C3C4C5、D1D2D3D4D5、E1E2E3E4E5。假设每组比赛后,结果如上所示。2)把每组最快的马拿出来进行比赛:(1场)A1B1…

    2022年4月10日
    44

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号