即时通讯——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技术的网页通讯——视频面对面


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

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • Rpc接口压测_rpc服务接口测试

    Rpc接口压测_rpc服务接口测试前言哈喽,喜欢这篇文章的话烦请点个赞哦!万分感谢(^▽^)PS:有问题可以联系我们哦vceshiren001复制“下方链接”,提升测试核心竞争力!更多技术文章分享和免费资料领取现今有比较多的rpc框架应用于实际的生产中,像比较流行的Dubbo、Motan、Thrift、Grpc等。今天作者将以最近项目中用到的grpc为例,结合jmeter来介绍下rpc压测实施步骤。学习本文前需对rpc框架、jmeter有个大致的了解,知道rpc如何用工具生成各种语言的代码。Grpc本身是支持很多种语言的,而jm

    2022年10月13日
  • swagger使用「建议收藏」

    swaggerrestfuldemo网络上swagger的配置,大多都是复制粘贴转发的。本人开始的时候参照了配置过,基本都是以失败告终。一怒之下,造死了搞,搭建了一个swagger描述的rest风格的接口demo工程。使用的版本号为spring4+jdk8+swagger0.8.4搭建过程中遇到不少问题,主要是swagger默认依赖的是spring3.与jdk8配合的时候,有点问题。直接将s

  • django详解_java cookie

    django详解_java cookie前言cookie:在网站中,http请求是无状态的。也就是说即使第一次和服务器连接后并且登录成功后,第二次请求服务器依然不能知道当前请求是哪个用户。cookie的出现就是为了解决这个问题,第一次登录

  • 第八章:activiti多用户任务分配

    第八章:activiti多用户任务分配第八章:activiti多用户任务分配

  • STM32F103ZET–RFID-RC522使用例程(战舰版)

    RC522.c#include"sys.h"#include"rc522.h"#include"delay.h"#include

  • BZOJ4567 [SCOI2016]背单词

    BZOJ4567 [SCOI2016]背单词AddressBZOJ4567洛谷P3294Solution简化下题目,对于排在第xxx个位置的串:1.若存在该串的后缀排在该串后面,该串的代价为n2n2n^2。2.若该串没有后缀,代价为xxx。3.若该串的所有后缀都排在该串前面,记最靠近该串的后缀位置为yyy,代价为x−yx−yx-y。显然只要把所有串翻转,则后缀都变成了前缀,建出Trie…

发表回复

您的电子邮箱地址不会被公开。

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