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

本文探讨了P2P文件分发的特性,指出其相较于CS结构的拓展性优势,详细解析了BitTorrent协议的工作流程,包括追踪器、文件块交换策略以及tit-for-tat的发送策略。同时,提到了P2P应用中的索引技术和集中式、洪泛式及层次式覆盖网络的索引方法。
摘要由CSDN通过智能技术生成

计算机网络所有笔记

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连接,向连接的主机进行查询,如果命中就返回

在这里插入图片描述

层次式覆盖网络

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

在这里插入图片描述

样例

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值