文章目录

  • P2P架构(Peer-to-peer)
    • 文件分发
      • BitTorrent
    • 索引技术
      • 集中式索引
      • 洪范式查询(Query flooding)
      • 层次式覆盖网络

P2P架构(Peer-to-peer)

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

文件分发

典型应用:BitTorrent:上传速率高,则能够找到更好的交易伙伴,从而更快地获取文件

BitTorrent

细节:

  • 文件被划分为256KB的chunk
  • 节点加入torrent
    • 没有chunk,但是ui逐渐积累
    • 向tracker注册以获取节点清单,与某些节点(“邻居”)建立连接
  • 下载的同时,节点需要向其他节点上传chunk
  • 节点可能加入或离开
  • 一旦节点获得完成的文件,他可能(自私的)离开或(无私的)留下

获取chunk:

  • 给定任意时刻,不同的节点持有文件的不同chunk集合
  • 节点(Alice)定期查询每个邻居所持有的chunk列表
  • 节点发送请求,请求获取缺失的chunk
    • 稀缺优先

发送chunk:tit-for-tat

  • 比如:Alice向4个邻居发送chunk:正在向其发送chunk,速率最快的4个

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

索引技术

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

类似一本书上面的目录部分

  • eg:文件共享

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

集中式索引

内容和文件传输是分布式的,但是内容定位是高度集中式的

可能存在的问题:

  • 单点失效问题
  • 性能瓶颈
  • 版权问题

洪范式查询(Query flooding)

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

  • 查询消息通过已有的TCP连接发生
  • 节点转发查询
  • 如果查询命中,则利用反向路径发回查询节点

覆盖网络(overlay network):Graph

  • 节点X与Y之间如果有TCP连接,那么构成一个边
  • 所有的活动节点和边构成覆盖网络
    • 边:虚拟链路
    • 节点一般邻居少于10个

层次式覆盖网络

介于集中式索引和洪范查询之间的方法

  • 每个节点要么是一个超级节点要么被分配给一个超级节点

    • 节点和超级节点间维持TCP连接
    • 某些超级节点对之间维持TCP连接
  • 超级节点负责跟踪子节点的内容

计算机网络笔记(3) 网络应用P2P架构相关推荐

  1. 【学习笔记】斗鱼p2p架构

    学习笔记 首先,看斗鱼在web端如何践行p2p架构 其次,看斗鱼的p2p架构设计. 斗鱼 H5 直播原理解析,它是如何省了 80% 的 CDN 流量? 斗鱼 H5 直播原理解析,它是如何省了 80% ...

  2. 计算机网络笔记--1 计算机网络与网络应用(上)

    计算机网络笔记–1 计算机网络与网络应用(上) 文章目录 计算机网络笔记--1 计算机网络与网络应用(上) 前言 1.1初识计算机网络 1.2计算机网络结构 1.3网络核心 1.4计算机网络性能 1. ...

  3. 王道考研 计算机网络笔记 第六章:应用层

    本文基于2019 王道考研 计算机网络: 2019 王道考研 计算机网络 个人笔记总结 第一章:王道考研 计算机网络笔记 第一章:概述&计算机网络体系结构 第二章:王道考研 计算机网络笔记 第 ...

  4. 计算机网络笔记(王道考研) 第六章:应用层

    内容基于中国大学MOOC的2023考研计算机网络课程所做的笔记. 感谢LY,他帮我做了一部分笔记.其中第四章网络层各小节的顺序稍微做了下调整,和上课老师讲的先后顺序稍有不同,但内容是完整的. 课程内容 ...

  5. 24考研深入浅出计算机网络笔记【更新中】

    24考研深入浅出计算机网络笔记 文章目录 24考研深入浅出计算机网络笔记 前言 第一章 概述 1.1 因特网概述 1.2 电路交换.分组交换和报文交换 1.3 计算机网络的定义和分类 1.3.1 计算 ...

  6. 计算机网络笔记——概述、物理层、链路层(方老师408课程)

    文章目录 前言 互联网概述 互联网发展的三个阶段 互联网标准化机构 互联网的组成 边缘部分的通信方式 核心部分的交换方式 我国计算机网络的发展 计算机网络的类别 计算机网络的性能 速率.带宽.吞吐量 ...

  7. 计算机网络笔记(王道考研) 第五章:传输层

    内容基于中国大学MOOC的2023考研计算机网络课程所做的笔记. 感谢LY,他帮我做了一部分笔记.其中第四章网络层各小节的顺序稍微做了下调整,和上课老师讲的先后顺序稍有不同,但内容是完整的. 课程内容 ...

  8. 计算机网络笔记Part5 传输层(Transport Layer)

    本人计算机网络笔记总目录 计算机网络笔记Part1 概述 计算机网络笔记Part2 物理层(Physical Layer) 计算机网络笔记Part3 数据链路层(Data Link Layer) 计算 ...

  9. 计算机网络笔记(二) 应用层 Chapter2-ApplicationLayer

    文章目录 一.Network Application Architectures 1.1 client-server architecture: 1.2 P2P architecture: 1.3 H ...

最新文章

  1. go语言for的三种形式
  2. java ctp行情_java-ctp
  3. Faster RCNN总结
  4. CentOS 7 安装.NET Core 2.0
  5. div 隐藏_div的position属性
  6. Python基础__Python序列基本类型及其操作(1)
  7. 马云下死命令留人?阿里辟谣:不会高薪聘请黑掉阿里网站的人
  8. php png缩放,PHP实现对png图像进行缩放的方法(支持透明背景)
  9. 【语音识别基础】总有一天你会用到,嗯,没有公式~
  10. 每天一道Rust-LeetCode(2019-06-02)
  11. 从github下载的项目如何运行??---------本文以vue的项目为例
  12. Python下载小说 -XXOO
  13. CAD绘制填充并设置填充透明度
  14. [OpenAirInterface实战-5] :OAI支持的5G gNB功能集
  15. 20162316刘诚昊 Java Queue的测试
  16. Minima:为什么 Web3 需要完全去中心化
  17. 系统架构演变到Spring Cloud
  18. android 点击状态栏,“点击状态栏回到顶部”功能的消失原因和实现
  19. mysql workbench 主从_MySQL Workbench 使用教程 (四)
  20. Java 对象的克隆Clone和必须了解的浅拷贝与深拷贝

热门文章

  1. “刷脸”支付强化安全管理 标准制定正在推进
  2. 计算机软件吸附效应,试举出生活中的例子说明吸附现象的实际意义?
  3. 重组人表皮生长因子(EGF)原液 ——风口浪尖的明星成分
  4. Windows cmd 命令行清空
  5. 字符串分割split:将一个字符串通过指定的分隔符分割成若干子串
  6. MySQL事务——事务隔离界别,MVCC
  7. 保险行业如何运营大数据分析技术
  8. 【从0开始自学C/C++并在2023年10月之前找到一份工作之C++基础】
  9. ZSD017出货达成率
  10. 微凉大大,教你一步一步在linux中正确的安装Xcache加速php。