zoukankan      html  css  js  c++  java
  • 【计算机网络】第二章 网络应用(5)

    五.P2P应用

    1. 原理与文件分发

    1)纯P2P架构

      ·无服务器

      ·任意端系统之间直接通信

      ·节点阶段性接入Internet

      ·节点可能更换IP地址

    2)文件分发:C/S vs P2P

     

      ·C/S结构:T = max{ T1, T2 } = max{ NF/us, F/min(di) }

        - 服务器串行发送N个副本:T1 = NF/us

        - 客户机i下载:T2 = F/di

      ·P2P结构:T = max{ T1, T2, T3 } = max{ F/us, F/min(di), NF/(us + ∑ui) }

        - 服务器必须发送一个副本:T1 = F/us

        - 客户机i下载:T2 = F/di

        - 最快可能上传速率:us + ∑ui

        - 总共需要下载NF比特:T3 = NF/(us + ∑ui)

     

    2. BitTorrent协议

     

    1Alicetracker查询torrent的节点列表,和列表中的节点建立TCP连接

    2)文件划分为256KBchunk

    3)节点加入torrent时无chunk,需向tracker注册以获得节点清单,与某些邻居建立连接,逐渐积累chunk

    4)下载的同时,节点需要向其他节点上传chunk

    5)节点动态地加入或离开,获得完整的文件后,可能离开或留下

    6)获取chunk

      ·给定任一时刻,不同节点持有文件地不同chunk集合

      ·Alice定期查询每个邻居所持有地chunk列表

      ·节点发送请求,请求获取缺失的chunk

        - 稀缺优先:如某一chunk只有很少节点持有,那么先请求这一chunk

    7)发送chunktit - for - tat

      ·Alice4个正在向Alice发送chunk、并且速率最快的邻居发送chunk,每10秒重新评估top 4

      ·每30秒随机选择一个其他节点,向其发送chunk,新选择的节点可能加入top 4

    3. 索引技术

    (1)搜索信息

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

      ·文件共享:如电驴

        - 利用索引动态跟踪节点所共享的文件位置

        - 节点需要告诉索引它拥有哪些文件

        - 节点搜索索引从而获知能够得到哪些文件

      ·即时消息:如QQ

        - 索引负责将用户名映射到位置

        - 当用户开启IM应用时,需要通知索引它的位置

        - 节点检索索引,确定用户的IP地址

    (2)集中式索引

      ·Napster

        - Alice加入时通知中央服务器IP地址和查找内容

        - 中央服务器通知AliceBob持有所需文件

        - AliceBob建立连接传输文件

      ·问题:单点失效问题、性能瓶颈、版权问题

    (3)洪泛式查询

      ·完全分布式架构,每个节点对且仅对其共享的文件进行索引

      ·Gnutella

        - 查询消息通过已有的TCP连接发送

        - 收到消息的节点转发查询消息

        - 如果查询命中,则利用反向路径发回查询节点

      ·覆盖网络

        - 节点XY之间如果有TCP连接则构成一条边

        - 所有活动节点和边构成覆盖网络,节点邻居一般少于10

      ·问题:大量消耗网络带宽,导致网络拥塞

    (4)层次式覆盖网络:介于集中式与洪泛式之间

      ·每个节点是超级节点或普通节点

      ·普通节点仅与超级节点连接,超级节点进行互相连接

     

      ·超级节点负责跟踪子节点的内容

      ·Skype

        - 文件传输本质为P2P结构,节点对之间直接通信

        - 索引分布在超级节点上,负责维护用户名与IP地址间的映射

        - 采用私有应用层协议

  • 相关阅读:
    构造函数与其他方法的区别
    记录点复习题目和linux学习
    找点面试题目
    linux代码常用查询!!!!!!!!!!!!
    python复习
    明天面试今天赶紧准备下
    文都计算机考研课程
    是时候刷笔试题目了
    倒排索引
    总结算法课程
  • 原文地址:https://www.cnblogs.com/zhangyushuqing/p/9639707.html
Copyright © 2011-2022 走看看