计算机网络——13P2P应用

这篇具有很好参考价值的文章主要介绍了计算机网络——13P2P应用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

P2P应用

纯P2P架构

  • 没有(或极少)一直运行额服务器
  • 任意端系统都可以直接通信
  • 利用peer的服务能力
  • Peer节点间歇上网,每次IP地址都有可能变化

例子:

  • 文件分发
  • 流媒体
  • VoIP

文件分发:C/S vs P2P

问题:从一台服务器分发文件(大小F)到N个Peer需要多少时间

  • Peer节点上下载能力是有限的资源

计算机网络——13P2P应用,计算机网络,计算机网络,p2p,网络协议

文件分发时间:C/S模式

  • 服务器传输:都是由服务器发送给peer,服务器必须顺序传输(上载)N个文件拷贝:
    • 发送一个copy: F / u s F/u_s F/us
    • 发送N个copy: N F / u s NF/u_s NF/us
  • 客户端:每个客户端必须下载一个文件拷贝
    • d m i n = d_{min} = dmin=客户端最小的下载速度
    • 下载带宽最小的客户端下载的时间: F / d m i n F/d_{min} F/dmin
  • 采用C/S方法将一个F大小的文件分发给N个客户端耗时: D c / s D_{c/s} Dc/s ≥ \geq max{NF/ u s u_s us,F/ d m i n d_{min} dmin}

文件分发时间:P2P模式

  • 服务器传输:最少需要上载一份拷贝
    • 发送一个拷贝的时间:F/ u s u_s us
  • 客户端:每个客户端必须下载一个拷贝
    • 最小下载带宽客户单耗时:F/ d m i n d_{min} dmin
  • 客户端:所有客户端总体下载量NF:
    • 最大上载带宽是: u s u_s us + ∑ \sum u i u_i ui
    • 除了服务器可以上载,其他所有的peer节点都可以上载
  • 采用P2P方法将一个F大小的文件分发给N个客户端耗时: D p 2 p D_{p2p} Dp2p ≥ \geq max{F/ u s u_s us,NF/( u s u_s us+ ∑ u i \sum u_i ui)}
  • 分子随着N线性变化,每个节点需要下载,整体下载量随着N增大;分母也是如此,随着peer节点的增多,每个peer也带了服务能力

计算机网络——13P2P应用,计算机网络,计算机网络,p2p,网络协议

P2P文件共享

例子

  • Alice在其笔记本电脑上 运行P2P客户端程序
  • 间歇性地连接到 Internet,每次从其 ISP得到新的IP地址
  • 请求“双截棍.MP3”
  • 应用程序显示其他有“ 双截棍.MP3” 拷贝的对 等方
  • Alice选择其中一个对等方, 如Bob.
  • 文件从Bob’s PC传送到 Alice的笔记本上:HTTP
  • 当Alice下载时,其他用户也 可以从Alice处下载
  • Alice的对等方既是一个Web 客户端,也是一个瞬时Web 服务器

所有的对等方都是服务器 = 可扩展性好

P2P:集中式目录

最初的“Napster”设计就是这个架构

  • 当对等方连接时,它告知中心服务器:
    • IP地址
    • 内容
  • Alice查询 “双截棍 .MP3” ,服务器返回Bob拥有这个文件
  • Alice从Bob处请求文件

计算机网络——13P2P应用,计算机网络,计算机网络,p2p,网络协议

P2P:集中式目录中存在的问题

  • 单点故障
  • 性能瓶颈
  • 侵犯版权

文件传输是分散的,而定位内容是高度集中的

查询洪泛:Gnutella

  • 全分布式
    • 没有中心服务器
  • 开放文件共享协议
  • 许多Gnutella客户端实现了Gnutella协议
    • 类似HTTP有许多的浏览器

覆盖网络:图

  • 如果X和Y之间有一个TCP连接,则二者之间存在一条边
  • 所有活动的对等方和边就是覆盖网络
  • 边并不是物理链路
  • 给定一个对等方,通常所连接的节点少于 10 个

Gnutella:协议

  • 在已有的TCP连接上发送查询报文
  • 对等方转发查询报文
  • 以反方向返回查询命中报文

可拓展性:限制范围的洪泛查询
计算机网络——13P2P应用,计算机网络,计算机网络,p2p,网络协议

Gnutella:对等方加入

  • 对等方X必须首先发现某些已经覆盖在网络中的其他对等方:使用可用对等方列表
    • 自己维持一张对等方列表(经常开机的对等方的IP)
    • 联系维持列表二Gnutella结点
  • X接着试图与该列表上的对等方建立TCP连接,直到与某个对等方Y建立连接
  • X向Y发送一个Ping报文,Y转发该Ping报文
  • 所有收到Ping报文的对等方以Ping报文格式响应
    • IP地址,共享文件的数量及总字节数
  • X收到许多Ping报文然后它能建立其他TCP连接

利用不匀称性:KaZaA

  • 每个对等方要么是一个组长,要么隶属与一个组长
    • 对等方与其组长之间有TCP连接
    • 组长对之间有TCP连接
  • 组长跟踪其所有的孩子的内容
  • 组长与其他组长联系
    • 转发查询到其他组长
    • 获得其他组长的数据拷贝

计算机网络——13P2P应用,计算机网络,计算机网络,p2p,网络协议

KaZaA:查询

  • 每个文件有一个散列标识码和一个描述符
  • 客户端向其组长发送关键字查询
  • 组长用匹配进行相应:
    • 对每个匹配:元数据、散列标识码和IP地址
  • 如果组长将查询转发给其他组长,其他组长也以匹配进行相应
  • 客户端选择要下载的文件
    • 向拥有文件的对等方发送一个带散列标识码的HTTP请求

P2P文件分发:BitTorrent

  • 文件被分为一个个块256KB
  • 网路中的这些peers发送接收文件块,相互服务

计算机网络——13P2P应用,计算机网络,计算机网络,p2p,网络协议

Peer加入torrent:

  • 一开始没有块,但是将会通过其他节点处理积累文件块
  • 向跟踪服务器注册,获得peer节点列表,和部分peer节点构成邻居关系(“连接”)
  • 当peer下载时,该peer可以同时向其他节点提供上载服务
  • Peer可能会变换用于交换块的peer节点
  • 扰动churn:peer节点可能会上线或者下线
  • 一旦一个peer拥有整个文件,它会(自私的)离开或者保留(利他主义)在torrent中

BitTorrent:请求,发送文件块

请求块

  • 在任何给定时间,不同peer节点拥有一个文件块的子集
  • 周期性的,Alice节点向邻居询问他们拥有哪些块的信息
  • Alice向peer节点请求他希望的块,稀缺的块

发送块:一报还一报 tit-for-tat文章来源地址https://www.toymoban.com/news/detail-829819.html

  • Alice向4个peer发送块,这些块向他自己提供最大带宽的服务
    • 其他peer被Alice阻塞(将不会从Alice处获得服务)
    • 每10秒重新评估一次:前4位
  • 每隔30秒,随机选择其他peer节点,向这个节点发送块
    • “优化疏通”这个节点
    • 新选择的节点可以加入这个top 4

到了这里,关于计算机网络——13P2P应用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 计算机网络 应用层

    域名系统概述 域名系统 DNS (Domain Name System) 是互联网使用的命名系统,用来把便于人们使用的机器名字转换为 IP 地扯 互联网的域名系统 DNS 被设计成为一个联机分布式数据库系统,并采用客户服务器方式。 DNS 使大多数名字都在本地进行解析(resolve). 互联网的域名结构 采用层

    2024年01月17日
    浏览(68)
  • 计算机网络-应用层

    对应用程序的通信提供服务:文件传输、访管FTP、电子邮件SMTP、虚拟终端HTTP 应用层协议定义了报文类型、语法、语义、发送/响应报文的规则 减轻了服务器的计算压力,不需要完全依赖某个服务器,利用大量客户机减轻对服务器的压力 多个客户机直接共享文档 可拓展性好,

    2024年02月07日
    浏览(49)
  • 计算机网络——应用层

    这篇文章是计算机网络系列文章的第五篇 计算机网络——物理层 计算机网络——数据链路层 计算机网络——网络层 计算机网络——传输层 计算机网络——应用层 计算机网络中的应用层在当今的社会起到了什么作用? 应用层在当今社会有着必不可缺的作用。是协议栈中的最

    2024年02月16日
    浏览(58)
  • 【计算机网络】应用层

    客户-服务器体系结构: 特点:客户之间不能直接通信;服务器具有周知的,固定的地址,该地址称为IP地址。 配备大量主机的数据中心常被用于创建强大的虚拟服务器; P2P体系结构: 特点:对位于数据中心的专用服务器有最小(或者没有)依赖 P2P最引人入胜的特征之一是

    2024年02月06日
    浏览(56)
  • 计算机网络复习(应用层)

    1、应用层对应用程序的通信提供服务 2、应用层协议定义了如下内容: 报文类型是请求还是响应 各种报文类型语法 字段的定义 时序 3、应用层功能: 文件传输、访问管理 电子邮件 虚拟终端 查询服务和远程作业登录 1、C/S模型 ①服务器(Server): 永久性提供服务 永久性地

    2024年04月27日
    浏览(41)
  • 计算机网络-应用层(3)

            文件传输协议   ( File   Transfer   Protocol , FTP )   简称为“文传协   议”,用于在Internet上控制文件的 双向传输。   FTP   客户上传文   件时,通过服务器 20号 端口建立的连接是建立在 TCP   之上的 数   据连接 ,通过服务器 21号 端口建立的连接是建立在 TCP   之上

    2024年02月08日
    浏览(56)
  • 计算机网络-应用层(1)

            域名系统   ( DNS )    是把主机域名解析为IP地址的系统。该系统是由解析器和域名服务器组成的。采用 UDP   协议,较少情 况下使用 TCP   协议,端口号均为53。          域名系统由三部分构成:   DNS   名字空间、域名服务器、   DNS客户机。 (1)根域:    

    2024年02月08日
    浏览(53)
  • 计算机网络网--应用层

    特点 网络核心中没有应用层软件 网络核心没有应用层功能 网络应用只在端系统上存在,快速网络应用开发和部署 在计算机网络中,进行通信的是 进程 而不是程序。不同端系统上,进程通过计算机网络交换 报文 而相互通信。 进程与计算机网络接口 进程通过称为 套接字 的

    2024年02月15日
    浏览(53)
  • 计算机网络——应用层(3)

    我的计算机网络专栏,是自己在计算机网络学习过程中的学习笔记与心得,在参考相关教材,网络搜素的前提下,结合自己过去一段时间笔记整理,而推出的该专栏,整体架构是根据计算机网络自顶向下方法而整理的,包括各大高校教学都是以此顺序进行的。 面向群体:在学

    2024年01月17日
    浏览(52)
  • 【计算机网络】第六章·应用层

    目录 1.应用层概述 1.1.客户/服务器方式和对等方式 1.客户/服务器方式(C/S方式) 2.对等方式(P2P方式) 1.2.动态主机配置协议DHCP 2.域名系统DNS 2.1.DNS的作用 2.2.层次树状结构的域名结构 2.3.因特网上的域名服务器 2.4.域名解析过程 2.5.DNS高速缓存 3.文件传送协议FTP 4.电子邮件

    2024年02月19日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包