基于P2P文件传输

基于P2P文件传输基于P2P文件传输1.      P2P简介对等网络P2P(peer-to-peer)技术是一种用于不同计算机用户之间,不经过中继设备直接交换数据或服务的技术,其网络通信方式如下图所示:P2P技术打破了传统的Client/Server模式,在对等网络中,每个节点的地位都是相同的,具备客户端和服务器双重特性,可以同时作为服务使用者和服务提供者。P2P技术有着广阔的应用领域,目前主

大家好,又见面了,我是你们的朋友全栈君。

基于P2P文件传输

1.      P2P简介

对等网络P2P(peer-to-peer)技术是一种用于不同计算机用户之间,不经过中继设备直接交换数据或服务的技术,其网络通信方式如下图所示:

P2P技术打破了传统的Client/Server模式,在对等网络中,每个节点的地位都是相同的,具备客户端和服务器双重特性,可以同时作为服务使用者和服务提供者。

P2P技术有着广阔的应用领域,目前主要的应用有文件交换、分布式计算、协同工作、分布式搜索和电子商务等。

2.      主要的P2P模式

      P2P模式的变化经历了集中式、分布式、和混合式3个阶段。P2P技术起源于文件交换技术,在发展过程中,文件交换技术的演变最具代表性,下面介绍P2P模式的几种形式:

(1)      集中式对等网络。集中式P2P模式由一个中心服务器来负责记录共享信息以及反馈对这些信息的查询。每一个对等实体要对它所需共享的信息以及进行的通信负责,根据需要下载它所需要的其他对等实体上的信息。这种形式具有中心化的特点,但是它不同于传统意义于上的Cleint/Server模式。因为传统意义上的Client/Server模式采用的是一种垄断的手段,所有资料都存放在服务器上,客户机只能被动的从服务器上读取信息,并且客户机之间不具有交互能力;而集中式P2P模式则是所有网上提供的资料都存放在提供资料的客户机上,服务器上只保留索引信息,此外服务器与对等实体以及对等实体之间都具有交互能力。

(2)      分布式对等网络。在分布式P2P中,对等机通过与相邻对等机之间的连接,遍历整个网络体系。每个对等机在功能上都是相似的,并没有专门的服务器,而对等机必须依靠它们所在的分布网络来查找文件和定位其他对等机。这种无中心、纯分布式系统不再是简单的点到点通信,而是更高效、更复杂的网络通信。

(3)      混合P2P网络。集中式P2P有利于网络资源的快速检索,并且只要服务器能力足够强大就可以无限扩展,但是其中心化的模式容易遭到直接的攻击;分布式解决了抗攻击的问题,但是又缺乏快速搜索和可扩展性。混合式P2P结合了集中式和分布式P2P优点,在设计思想和处理能力上都进一步的优化。它在分布式模式的基础上,将用户节点能力进行分类,使某些节点担任特殊任务。

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

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

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

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

(0)


相关推荐

  • vue如何引用js文件_html转化为vue组件

    vue如何引用js文件_html转化为vue组件VUE项目中引入JS文件的几种方法在开发Vue项目的时候,有时需要使用一些非ES6格式的没有export的js库,可以有如下方法实现:1.在index.html页面使用script标签引入当然也可以使用cdn的地址。这样引入后的内容是全局的,可以在所有地方使用。Map2.在main.js中使用window.moduleName使用也可以放入Vue.prototype中,这样组件内都可以使用。va…

  • 如何使用maven搭建web项目「建议收藏」

    博客园注册了有二十多天了,还没有写过博客,今天就发一篇,也便于后面查找笔记。我个人已经做了几年的javaweb开发了,由于所在的公司是业务型公司,用的都是一些老旧的稳定技术,很少接触到稍微新点的内

  • PHP7还没学明白,PHP8就要来了, 能有多快?[通俗易懂]

    PHP7还没学明白,PHP8就要来了, 能有多快?

  • java按位取反运算符_二进制按位取反

    java按位取反运算符_二进制按位取反“~”运算符在c、c++、java、c#中都有,要弄懂这个运算符的计算方法,首先必须明白二进制数在内存中的存放形式,二进制数在内存中是以补码的形式存放的。另外正数和负数的补码不一样,正数的补码,反码都是其本身,既:正数9(二进制为:1001)在内存中存储为01001,必须补上符号位(开头的0为符号位)。补码为01001反码为01001,其中前面加的0是符号位,负数的

  • goland2021 破解激活码[在线序列号]

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

  • ALLURE架构整理

    ALLURE架构整理ALLURE1.开始安装1.1.安装命令行1.1.1.Linux1.1.2.MacOSX1.1.3.Windows1.1.4.手动安装2.报告结构2.1.总览页面2.2.类别2.3.测试套2.4.图表2.5.时间刻度2.6.功能2.7.包2.8测试用例页面3.Pytest与Allure3.1.安装3.2.用法示例:3.3.基本报告3.4.支持的Pytest功能XfailskipifFixtures和finalizersParametrization3.5AllureFeatu

发表回复

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

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