计算机网络-p2p

p2p架构

P2P应用:原理与文件分发

纯P2P架构:Peer-to-peer

  • 没有服务器
  • 任意端系统之间直接通信
  • 节点阶段性接入Internet
  • 节点可能更换IP地址

文件分发:客户机/服务器vs. P2P

从一个服务器向N个节点分发一个文件需要多长时间?

客户机/服务器

服务器串行地发送N个副本,时间:NF/us,客户机i需要F/di时间下载

P2P

服务器必须发送一个副本,时间:F/us,客户机i需要F/di时间下载,总共需要下载NF比特,最快的可能上传速率:us+ ∑ui

文件分发:BitTorrent

  • 文件划分为256KB的chunk
  • 节点加入torrent
    • 没有chunk,但是会逐渐积累
    • 向tracker注册以获得节点清单,与某些节点(“邻居”)建立连接
  • 下载的同时,节点需要向其他节点上传chunk
  • 节点可能加入或离开
  • 一旦节点获得完整的文件,它可能(自私地)离开或(无私地)留下
  • 获取chunk
    • 给定任一时刻,不同的节点持有文件的不同chunk集合
    • 节点(Alice)定期查询每个邻居所持有的chunk列表
    • 节点发送请求,请求获取缺失的chunk
      • 稀缺优先
  • 发送chunk: tit-for-tat
    • Alice向4个邻居发送chunk:正在向其发送Chunk,速率最快的4个

      • 每10秒重新评估top 4
    • 每30秒随机选择一个其他节点,向其发送chunk
      • 新选择节点可能加入top 4
      • “optimistically unchoke”10

P2P应用:索引技术

P2P: 搜索信息

P2P系统的索引:信息到节点位置(IP地址+端口号)的映射

文件共享(电驴):利用索引动态跟踪节点所共享的文件的位置,节点需要告诉索引它拥有哪些文件,节点搜索索引,从而获知能够得到哪些文件

即时消息(QQ)?索引负责将用户名映射到位置,当用户开启IM应用时,需要通知索引它的位置,节点检索索引,确定用户的IP地址

集中式索引

Napster最早采用这种设计:1) 节点加入时,通知中央服务器:?IP地址?内容,2) Alice查找“Hey Jude”,3) Alice从Bob处请求文件

内容和文件传输是分布式的,但是内容定位是高度集中式的,存在:单点失效问题,性能瓶颈,版权问题

洪泛式查询: Query flooding

完全分布式架构,Gnutella采用这种架构,每个节点对它共享的文件进行索引,且只对它共享的文件进行索引

覆盖网络(overlay network): Graph

  • 节点X与Y之间如果有TCP连接,那么构成一个边
  • 所有的活动节点和边构成覆盖网络
  • 边:虚拟链路
  • 节点一般邻居数少于10个
  • 查询消息通过已有的TCP连接发送
  • 节点转发查询消息
  • 如果查询命中,则利用反向路径发回查询节点

层次式覆盖网络

介于集中式索引和洪泛查询之间的方法,每个节点或者是一个超级节点,或者被分配一个超级节点,节点和超级节点间维持TCP连接,某些超级节点对之间维持TCP连接,超级节点负责跟踪子节点的内容

P2P案例应用:Skype

本质上是P2P的:用户/节点对之间直接通信,是私有应用层协议,所以只能猜,采用层次式覆盖网络架构,索引负责维护用户名与IP地址间的映射,索引分布在超级节点上

所谓P2P(Peer to Peer),其最本质的含义即“对等”,该技术最早是用于网络中对等节点之间的资源和信息共享的技术,通常人们所知道的是将P2P技术用在文件下载过程中,即网络上的对等终端在下载共享文件的同时又作为一个“种子”为其他对等终端提供资源和信息。后来,Skype在网络通话业务系统中灵活应用了该技术

由于冲击了传统通信领域,Skype在引起很多争议的同时也使人耳目一新,可以说,Skype是发展和演进了的P2P应用。对于P2P技术还没有规范的定义,结合其已有的应用,就更广泛的意义而言,P2P技术是指网络中的所有节点都动态参与到路由、信息处理和带宽增强等工作中,而不是单纯依靠服务器来完成这些工作。Skype是P2P技术演进到混合模式后的典型应用,它结合了集中式和分布式的特点,在网络的边缘节点采用集中式的网络结构,而在超级节点之间采用分布式的网络结构

原文地址:https://www.cnblogs.com/ygjzs/p/12419548.html

时间: 2024-08-14 04:47:06

计算机网络-p2p的相关文章

【计算机网络】2.6 P2P应用

第二章第六节 P2P应用 在本节内容开始前,我们要先来对P2P架构有一个宏观的认知: P2P:(Peer to Peer 对等结构)   以对等方式进行通信,并不区分客户端和服务端,而是平等关系进行通信.在对等方式下,可以把每个相连的主机当成既是主机又是客户,可以互相下载对方的共享文件.比如迅雷下载就是典型的P2P通信方式.  本章描绘的前三个应用都采用了CS(客户-服务器)体系结构,极大的依赖于总是打开的基础设施服务器.而在本节中,我们将介绍两种适用于P2P的应用:一个是文件分发,在其中我们将

[计算机网络-应用层] P2P应用

首先回顾一下纯P2P架构的特点: 没有服务器 端系统之间直接通信 端系统经常改变IP 间歇性连接 下面将学习两种不同的特别适合于P2P设计的应用. 文件分发,其中应用程序从单个源向大量的对等方分发一个文件. 分布在大型对等方社区中的数据库. P2P文件分发 在P2P文件分发中,每个对等方能够重新分发它所有的该文件的任何部分,从而在分发过程中协助该服务器. 1.P2P体系结构的扩展性 为什么文件分发时P2P会比客户-服务器更加有效? 用F表示备份发文件的长度,N表示要获得该文件副本的对等方数量.分

计算机网络高级教程考点个人总结

计算机网络高级教程 选择题 50~60分 论述题:40~50分 个人总结仅供参考 论述题范围 1.  google公司,IBM公司.微软公司.苹果公司.华为公司.百度公司的技术发展方向. 2.5G的特点及其产业应用. 3.智慧城市的应用探索. 4.机器人技术与应用探索. Google公司市值6819.40亿美元,IBM市值1450亿美元,苹果8000亿美元,微软5400亿美元,阿里3632.63亿美元,腾讯3462亿美元,京东600亿美元,百度600亿美元,华为没有上市,没有市值. 选择题范围

p2p (对等网络)

对等网络,即对等计算机网络,是一种在对等者(Peer)之间分配任务和工作负载的分布式应用架构[1]  ,是对等计算模型在应用层形成的一种组网或网络形式."Peer"在英语里有"对等者.伙伴.对端"的意义.因此,从字面上,P2P可以理解为对等计算或对等网络.国内一些媒体将P2P翻译成"点对点"或者"端对端",学术界则统一称为对等网络(Peer-to-peer networking)或对等计算(Peer-to-peer compu

计算机网络概述

目录 因特网 计算机网络性能指标 网络中通信 三种交换方式 网络分层协议模型 因特网 组成: 边缘部分 由所有连接在因特网上的主机组成 供用户直接使用,用来进行数据交换(传送数据.音频或视频)和资源共享 核心部分 功能: 向网络边缘中的大量主机提供连通性,使边缘部分中的任何一个主机都能够向其他主机通信(即传送或接收各种形式的数据). 关键组成部分: 路由器(router),路由器是实现分组交换(packet switching)的关键构件,任务是转发收到的分组,这是网络核心部分最重要的功能 由I

【读书笔记】计算机网络1章:课程介绍、协议、分层

这是我在Coursera上的学习笔记.课程名称为<Computer Networks>,出自University of Washington. 由于计算机网络才诞生不久,目前正在以高速在发展,所以有些旧的教材可能都已经跟不上时代了.这门课程在2013年左右录制,知识相对还是比较新的.覆盖了计算机网络中的各个协议层,从物理层到应用层都讲得非常仔细.学完这门课程之后对计算机网络会有比较深刻的了解. 本章讲述了这门课程的大致情况,讲述了协议.协议层等基本概念. 目标和动机 课程的主要目标就是介绍计算

计算机网络习题

计算机网络_第四次作业 考虑一个 HTTP client 想获取一个给定 URL 的 web 文本.但一开始 HTTP 服务器的 IP 地址未知.在该 URL 的 web 文本中有一个嵌入的 GIF 图片,它位于原始文本所在的同一个服务器上.在这种情况下,除了 HTTP 之外,还需要什么传输层和应用层协议?并简要说明各个协议在该任务中的功能. 应用层协议: DNS:(将人易于记忆的Domain Name与人不容易记忆的IP Address作转换): HTTP:从WWW服务器传输超文本到本地浏览器

计算机网络 0.初识Internet与TCP/IP协议

互联网,即因特网,Internet.互联网是一个世界范围的计算机网络.连接了世界上无数的计算设备,这些计算设备为PC,基于Linux的工作站,服务器servers等等.这些设备根据其作用不同可以被称为主机host或者端系统end system. 端系统通过通信链路communication link和分组交换机packet switch连接到一起.发送数据时,发送端系统将数据分段,并为每段加上首部字节.这样的形成的信息包称为分组packet.分组到达目标端系统后,被装配成初始数据.分组交换机从它

计算机网络-应用层

一.应用层协议原理     1.网络应用程序体系结构 应用程序的体系结构明显不同于网络的体系结构.从应用程序研发者的角度看,网络体系结构是固定的,并为应用程序提供了特定的服务集合. 应用程序体系结构(application architecture)由应用程序研发者设计,规定了如何在各种端系统上组织该应用程序. 现代网络应用程序的两种主流体系结构:客户机/服务器体系结构和对等(P2P)体系结构. 客户机/服务器体系结构(client-sever architecture):有一个总是打开的主机称