即时通讯——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


相关推荐

  • goland 2021 linux激活码[在线序列号]

    goland 2021 linux激活码[在线序列号],https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月19日
    62
  • JMESPath_英语语法如何自学

    JMESPath_英语语法如何自学前言JMESPath是JSON的查询语言。您可以从JSON文档中提取和转换元素官方文档:https://jmespath.org/tutorial.html基本表达式JMESPath用的最多的

    2022年7月29日
    9
  • idea 自动导包设置

    idea 自动导包设置打开设置 ctrl alt s 第一项 idea 自动帮我们导入需要用到的包 但对于那些同名的包 需要手动 Alt Enter 进行导入的 第二项 idea 自动帮我们优化导入的包 比如去掉一些没有用到的包 参考 https www cnblogs com rgever p 10305908 html

    2026年3月19日
    3
  • touches和targetTouches的区别

    touches和targetTouches的区别首先 如果我手指触碰的点都在我所绑定的事件上 比如说都绑在了一个 div 上 而我的两个手指都触摸这个 div 那么 touches 和 targetTouche 是没有区别的 都可以获得一个 TouchList 列表 里面包含了触碰点的信息 但是 如果我用两个手指 一个触摸绑定事件的 div 另一个触摸除了此 div 的其他地方 那么 touches 和 targetTouche 就是有区别的了 touches

    2026年3月18日
    1
  • python ==和is_python中is是什么意思

    python ==和is_python中is是什么意思前置知识点当我们创建一个对象时,我们要知道它内部干了些什么1.创建了一个随机id,开辟了一片内存地址2.自动声明了这个对象的类型type3.给这个对象赋值value小例子a=1pri

    2022年7月29日
    11
  • 2021年程序员平均工资_公司薪酬制度调查报告

    2021年程序员平均工资_公司薪酬制度调查报告根据中国互联网络信息中心(CNNIC)近日发布第47次《中国互联网络发展状况统计报告》。截至2020年12月,我国网民规模达9.89亿,较2020年3月增长8540万,互联网普及率达70.4%。截至2020年12月,我国在线教育、在线医疗用户规模分别为3.42亿、2.15亿,占网民整体的34.6%、21.7%。我国网上零售额达11.76万亿元,较2019年增长10.9%。其中,实物商品网上零售额9.76万亿元,占社会消费品零售总额的24.9%。截至2020年12月,我国网络购物用户规模达7.82亿,

    2022年10月11日
    4

发表回复

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

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