IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> 计算机网络-自顶向下笔记-应用层-P2P应用 -> 正文阅读

[网络协议]计算机网络-自顶向下笔记-应用层-P2P应用

计算机网络所有笔记

P2P文件分发

P2P(peer to peer)应用的特性:

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

P2P的明显的缺点:复杂,难以维护

单一服务器大量主机分发文件,在CS文件分发中,该服务器必须向每个对等方发送该文件的一个副本,即服务器承受了极大地负担,并且消耗了大量的服务器带宽

P2P体系结构的拓展性

用一个具体的样例进行对比:将一个文件分发给一个固定对等方集合的 分发时间的差异

分发时间:所有N个对等方得到该文件的副本所需要的时间

假设因特网具有足够的带宽,Us:服务器接入链路的上载速度 Ui:第i对等方接入链路的上载速率

Di:第i对等方接入链路的下载速率 F:分发的文件长度(单位:比特)N:获得文件副本的对等方的数量

CS的分发时间(服务器上传和最慢的对等方下载时间):

D c s = m a x ( N F / U s , F / m i n i ( d i ) ) Dcs = max( NF/Us, F/mini(di) ) Dcs=max(NF/Us,F/mini(di))

P2P结构的文件分发:

在这里插入图片描述

两者分发时间的曲线函数对比

在这里插入图片描述

P2P对于文件分发来说具有很强的 可拓展性,他的分发时间不会因为N的增长而呈现线性增长,因此被广泛应用于文件分发

BitTorrent

BitTorrent是一种用于文件分发的流行P2P协议。

参与一个特定文件分发的所有对等方的集合被称为是 洪流(torrent),在一个洪流中的对等方彼此下载等长度的文件,典型块的长度为256KB。一个对等方首次加入的时候没有块,对着时间的流逝慢慢的积累。

每个 洪流中具有一个基础的设施结点: 追踪器(tracker),当一个对等方加入洪流的时候,向追踪器注册自己并且 周期性的通知追踪器自己还在洪流里面

在这里插入图片描述

过程解释:

当新的对等方Alice加入洪流的时候,追踪器随机的将对等方子集的IP地址发送给Alice,那么Alice就试图跟子集中的对等方进行TCP连接。与Alice成功的创建一个TCP连接的对等方为: 邻近对等方,随着时间的流逝邻近对等方也是会进行变化的

不同的对等方具有不同的文件 的子集,Alice周期性的通过(TCP连接)询问邻近对等方的块列表 = > 这样才能获得块的内容啊 😃

在这里插入图片描述

获取chunk

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

那么Alice应该向邻居申请哪些块呢?首先肯定的Alice没有的,其次根据 稀缺优先:比如说块a仅有两个对等方拥有,而块b有100对等方拥有,那我肯定是优先申请块a的,要不然那两个跑了不就申请不到了吗

发送chunk:tit-for-tat

  • Alice向四个邻居发送chunk,选择标准:正在向Alice发送并且是速率最快的前四个(每十秒重新评估Top4)

  • 每30秒随机选择一个其他节点,向其发送chunk

    新选择的结点可能就会因为传输的速率高而成为新的Top4

在这里插入图片描述

样例:

在这里插入图片描述

BitTorrent的危害

我不知道、我不知道、我不知道 但是我随便找了篇文章看了看link

P2P应用:索引技术

索引主要是信息到(IP地址 + 端口号)的映射,主要用于文件共享和即时消息

在这里插入图片描述

球球的logo还是比较可爱的哈 😃

集中式索引

任何结点加入都需要通知中央服务器它的IP地址和内容

过程解释:

  1. 结点加入的时候向中央服务器报告内容和Ip地址
  2. Alice想要查找“Hey Jude”,那么中央服务器就告诉她Bob有这个内容
  3. Alice就从Bob处请求文件

在这里插入图片描述

集中式索引的问题

在这里插入图片描述

如同DNS设置集中式服务器的缺点差不多,不多赘述了

洪泛式查询

在这里插入图片描述

完全分布式的架构,每个主机都仅仅是索引自己的文件,那我们想要查询我自身没有的东西应该怎么办呢?

肯定也是不存在一个主机拥有全部的文件吧

那就通过已经拥有的TCP连接,向连接的主机进行查询,如果命中就返回

在这里插入图片描述

层次式覆盖网络

超级结点采用了洪泛式的索引

在这里插入图片描述

样例

在这里插入图片描述

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2022-02-04 11:22:00  更:2022-02-04 11:23:02 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 10:15:02-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码