本文介绍两种特别适合P2P设计的应用,第一种是文件分发,从单个源向大量对等方分发一个文件(特殊例子BitTorrent);第二种P2P应用是分布在大型对等社区中的数据库,重点讨论分布式散列表(DHT)的概念。

1.P2P文件分发

首先介绍文件分发环境中P2P体系结构的自扩展性;然后更详细地描述BitTorrent。

  • P2P体系结构的扩展性

    因为对等方除了是比特的消费者外还是它们的重新分发者,所以在任意数量的对等方下,P2P体系结构的分发时间总是小于客户-服务器结构,而且一直小于1小时。也就是说它是自扩展的。
  • BitTorrent
    其是用于文件分发的流行P2P协议。参与特定文件分发的所有对等方的集合被称为一个洪流(Torrent),在一个洪流中的对等方彼此下载登场的文件块(chunk)。当一个对等方首次加入洪流,它没有块。随时间的进行,它下载的块越来越多。同时,它也会上载自己的块给别的对等方。洪流中,对等方可以随时加入、随时离开。
    每个洪流都有一个基础设施节点,称为追踪器。当一个对等方加入洪流时,它向追踪器注册自己,并周期性地通知洪流它仍在洪流中。
    当一个新的Alice加入洪流时,追踪器随机地从参与对等方的集合中选择对等方的一个子集,并将这个子集中所有对等方的IP地址告诉Alice。Alice与它们建立TCP连接,它们称为“邻近对等方”。
    Alice从它的邻居请求哪些块?——最稀缺优先技术
    Alice向哪些它请求块的邻居发送?——对换算法
    (1)最稀缺优先技术:针对它没有的块,向其邻近对等方申请最稀缺的块。
    (2)对换算法:Alice根据能够以最高速率向他提供数据的邻居,给出优先权。首先确定最高速率流入的4个邻居,每过10秒重新计算速率更新这4个邻居。每隔30秒,随机选择另外一个邻居向其发送块。除此5个邻居,其它皆被阻塞。

2.分布式散列表(DHT)

在数以百万计的对等方上存储(键,值)对,允许任何一个对等方用一个特别的键来查询分布式数据库,这就叫DHT。
为每个对等方分配一个标识符,其中每个标识符是一个[0,2^n -1]范围内的整数 ,n取某些固定的值。用散列函数把每个键也映射成[0, 2n -1]范围内的整数。
为对等方分配键时,为其标识符最邻近该键的对等方分配一个(键,值)对。如果该键恰好等于这些对等方标识符之一,我们在匹配的对等方中存储(键,值)对;如果该键大于所有对等方标识符我们使用模2^n规则,在具有最小标识符的对等方中存储(键,值)对。

  • 环形DHT
    在确定最邻近的对等方时,利用环形DHT,并更细化地在环形网络的基础上,增加“捷径”,使每个对等方不仅联系它的直接后继和直接前任,而且联系环上的数量相对少的捷径对等方。如图:
  • 对等方扰动(在无接近DHT情况下
    假设对等方5离开,对等方4的更新如下:
    (1)对等方4利用它的直接后继(8)来代替它的第一个后继(5)
    (2)对等方4向新的第一个后继询问它的直接后继(10)的标识符和IP地址。最后对等方4将对等方10标记为它的第二个后继。
    假设一个标识符为13的对等方要加入该DHT,在加入时,他只知道1的存在:
    (1)13向1发送信息询问13的前任和后继;该报文通过DHT到达12时,他认识到自己是13的前任,并且它的当前后继15将称为13的后继;
    (2)12向13发送它的前任和后继信息;
    (3)13加入DHT,标记后继为15;通知12改其后继为13。

计算机网络-应用层协议5(P2P)相关推荐

  1. 计算机网络应用层协议分析总结

    1.应用层协议原理 1.1.网络应用程序体系结构 C/S结构,有一个总是打开的主机称为服务器,它服务于来自许多其他称为客户机的主机请求.客户机主机既可能有时打开,也可能总是打开.C/S结构之下,客户机 ...

  2. [计算机网络]应用层协议,HTTP,SMTP,DNS

    应用层 应用层协议原理 网络应用程序体系结构 规定如何在各种端系统上组织应用程序,由研发者设计 客户机/服务器 服务器:对外提供服务的一系列硬件和软件 客户机:使用服务器提供的服务 服务器 7*24小 ...

  3. 计算机网络应用层协议实验,计算机网络实验报告--应用层协议.doc

    计算机网络实验报告--应用层协议 附件1 中北大学经济与管理学院 实验报告 课程名称 计算机网络 学号 1409044119 学生姓名 辅导教师 段庆峰 系别信息管理与信息系统实验室名称实验时间1.实 ...

  4. 手撕计算机网络——应用层(四):P2P

    前言 进入应用层学习也有了一段时间了,接下来的这篇文章中小荔枝会将应用层P2P结构体系于我们客户--端系统体系在分发文件中的机理进行整理,希望今天能结束应用层学习哈哈哈,运输层我来啦~~~ 目录 前言 ...

  5. 基于MQTT应用层协议的物联网家庭温湿度监测系统

    引言 出生于互联网时代的我们,见证了智能手机和个人电脑通过计算机网络互相进行连接,把每个人紧密地连接在一起,形成了一个地球村.而今,我们即将迈入5G时代,在通信技术不断发展的今天,连接到互联网的将不仅 ...

  6. 【计算机网络】2.1 应用层协议原理

    第二章第一节 应用层协议原理 网络应用是计算机网络存在的理由,在本章中,我们学习有关网络应用的原理和实现方面的知识.我们学习包括应用沉香谷所需要的网络服务.客户和服务器.进程和运输层接口. 我们详细考 ...

  7. 计算机网络--应用层-应用层协议原理

    应用层-应用层协议原理 应用层协议原理 网络应用程序体系结构 客户-服务器体系结构 P2P体系结构 进程通信 客户和服务器进程 进程与计算机网络之间的接口 进程寻址 可供应用程序使用的运输服务 可靠数 ...

  8. 计算机网络(七):应用层协议原理

    零.基础理论 网络应用是计算机网络存在的理由,如万维网(包含了web冲浪.搜索和电子商务),以及具有好友列表的即时讯息和对等(P2P)文件共享. 网络应用都是在端系统上的. 网络应用的基本概念.原理: ...

  9. 计算机网络 | 应用层 :HTTP协议详解

    目录 自定制协议 HTTP协议 URL HTTP协议的特点 HTTP协议版本 HTTP协议格式 首行 请求首行 请求方法 响应首行 响应状态码 头部 Cookie与Session 空行 正文 请求正文 ...

最新文章

  1. R语言write.xlsx函数将数据写入Excel文件:写入Excel文件并自定义表单的名称、将数据写入Excel文件新的表单(sheet)中、将文件保存为xls文件格式(而不是xlsx)
  2. Router OS之禁止P2P下载
  3. socket编程 及select poll epoll示例
  4. 支持向量机的最大分类间隔(转)
  5. 已经安装完成mysql后wamp怎么配置
  6. 【渝粤教育】广东开放大学 土地力学与地基基础 形成性考核 (32)
  7. mysql 删除记录代码_mysql 删除记录时报错
  8. 解决:pip警告!DEPRECATION: The default format will switch to columns in the future.
  9. Java 9 揭秘(9. 打破模块封装)
  10. win10新版本被移除的旧特性
  11. 二维\三维绘图AutoCAD 2022 for Mac
  12. kepware mysql_Kepware实现向数据库实时写入数据
  13. 学计算机电脑厚度23mm,电脑桌尺寸标准
  14. 神奇宝贝HTML游戏代码,《我的世界》神奇宝贝召唤神兽指令 各神兽召唤代码大全...
  15. html开始游戏如何打开,dnf游戏进不去 点击开始-运行,输入CMD
  16. electron 静默打印,及 打印机状态汇总
  17. 【DenseFusion代码详解】linemod数据集预处理过程
  18. bios设置raid启动模式Linux,RAID BIOS检测硬盘以及设置RAID模式
  19. 如何创建您自己的I爱纽约T恤
  20. EXCEL 2013中“定义名称”的命名规则

热门文章

  1. mapbox地图的使用方法
  2. LBD算法 - Line Band Discriptor 描述符分析
  3. 最小变化法/极限法测定感觉阈限时,有哪些误差?包括时间和空间误差吗?|小白心理-312/347考研答疑
  4. el-link underline
  5. 女人最让男人伤心的10句话
  6. 微信网站应用开发的详细流程和引导
  7. mysql数据库中添加,删除表字段的操作
  8. web前端学习笔记(最新)
  9. ASPICE 入门知识
  10. 用XnView图片批量转换一锅端