计算机网络应用层(5)-- P2P文件分发&视频流和内容分发网

💓个人主页:mooridy

💓专栏地址:《计算机网络:自顶向下方法》 大纲式阅读笔记_mooridy的博客-CSDN博客

💓本博客内容为《计算机网络:自顶向下方法》第二章应用层第五、六节知识梳理

关注我🌹,和我一起学习更多计算机的知识~

🔝🔝🔝

目录

[P2P 文件分发](#P2P 文件分发)

[P2P 体系与客户 - 服务器体系对比](#P2P 体系与客户 - 服务器体系对比)

BitTorrent

[BitTorrent 最重要的机制:](#BitTorrent 最重要的机制:)

两个问题?

请求哪些块?

响应哪个请求?

视频流和内容分发网

[Internet Video](#Internet Video)

[HTTP 流 和 DASH](#HTTP 流 和 DASH)

[HTTP 流](#HTTP 流)

动态适应性流 (Dynamic Adaptive Streaming over HTTP, DASH)

内容分发网 (Content Distribution Network, CDN)


P2P 文件分发

P2P 体系与客户 - 服务器体系对比

P2P 体系结构最小分发时间总是小于客户 - 服务器体系结构。

BitTorrent

到 2016 年止,最为流行的 P2P 文件分发协议是 BitTorrent。

  • 洪流 (torrent):参与一个特定文件分发的所有对等方的集合。
  • 在一个洪流中的对等方彼此下载等长度的文件块 (chunk),典型的长度为 256KB。
  • 当一个对等方首次加入一个洪流时,他没有块。随着时间流逝,它累积了越来越多的块。当它下载块时,也为其它对等方上载了多个块。一旦某个对等方获得了整个文件,他也许会自私地离开,也许会无私地留在洪流中向其它对等方上载块。

BitTorrent 最重要的机制:

  • 每个洪流具有一个基础设施节点,称为追踪器 (tracker)。当一个对等方加入某个洪流时,它向追踪器注册自己,并周期性地通知追踪器它仍在该洪流中。
  • 当一个新的对等方 A 加入洪流时,追踪器会随机地从参与对等方的集合中选择对等方的一个子集,并将这些对等方的 IP 地址发送给 A。
  • A 试图与该 IP 地址列表上所有的对等方创建并行的 TCP 连接。我们称所有与 A 创建 TCP 连接的对等方为邻近对等方,邻近对等方会随着时间而变化。
  • 任意时刻,每个对等方将具有该文件的块的子集,并且不同对等方具有不同的子集。A 周期性地询问每个邻近对等方它们所具有的块列表。有了这些信息,A 将对当前还没有的块发出请求。

两个问题?

请求哪些块?

最稀缺优先 (rarest first):针对她没有的块,最稀缺块是指那些在她邻居中副本数量最少的块,她会优先请求那些最稀缺块。目的是均衡每个块在洪流中的副本数量。

响应哪个请求?

对换算法:A 根据当前能够以最高速率向她提供数据的邻居,给出其优先权。以最高速率流入的 4 个邻居,被称为疏通 (unchoked)。每过 30 秒,她要随机选择另一个邻居 B,并向其发送块。因为 A 正在向 B 发送数据,她可能成为 B 前 4 位上载者之一。这样,B 将开始向 A 发送数据,如果 B 发送速率够高,B 也将成为 A 的前 4 位上载者。换而言之,每过 30 秒 A 将随机地选择一名新的对换伴侣,并与其对换。如果这两个对等方都满足彼此,它们将对方放入前 4 位列表中,并继续与对方对换,直到它们发现更好的伴侣为止。

视频流和内容分发网

Internet Video

  • 视频的一个重要特征是它能够被压缩,因此可以用比特率来衡量视频质量。
  • 比特率越高,图像质量越好。

HTTP 流 和 DASH

HTTP 流

  • 在 HTTP 流中,视频只是存储在 HTTP 服务器中的一个普通文件,有特定的 URL。用户通过 HTTP 请求获取视频文件,视频的字节被收集在客户应用缓存中。一旦该缓存中的字节数量超过预先设定的门限,用户应用程序就开始播放。同时,应用程序周期性地从缓存中抓取帧,解压并展现。
  • HTTP 流有一个严重缺陷:所有客户收到相同编码的视频。(单一画质)

动态适应性流 (Dynamic Adaptive Streaming over HTTP, DASH)

  • DASH 功能:在 DASH 中,视频编码为几个不同版本,其中每个版本具有不同的比特率。客户动态地请求来自不同版本且长度为几秒地视频段数据块。
  • DASH 实现:HTTP 服务器上会有一个告示文件 (manifest file),为每个版本提供一个 URL 及其比特率。客户先请求告示文件,然后再通过 HTTP GET 请求报文中指定 URL 和字节范围,一次选择一个块。在下载的同时,用户也测量接收带宽并运行一个速率决定算法来选择下次请求的块。

内容分发网 (Content Distribution Network, CDN)

是一个构建在现有网络基础之上的智能虚拟网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。(说简单点,CDN 就是缓存。)

  • CDN 可以是专用 CDN,即由内容提供商自己所拥有;也可以是第三方 CDN。
  • CDN 通常采用两种不同的服务器安置原则:
    • 深入 (Enter Deep):该原则通过在全球的接入 ISP 中部署服务器集群来深入到 ISP 的接入网中。但因为这种高分布式设计,维护和管理集群成为一大问题。其目标是靠近端用户,通过减少端用户和 CDN 集群之间(内容从这里收到)链路和路由器的数量,从而改善了用户感受的时延和吞吐量。
    • 邀请做客 (Bring Home):通过在少量关键位置建造大集群,以此邀请 ISP 来做客。被许多 CDN 公司所采用。邀请做客设计通常产生较低的维护和管理开销,可能以对端用户的较高时延和较低吞吐量为代价。
相关推荐
玉笥寻珍10 小时前
筑牢信息安全防线:涉密计算机与互联网隔离的理论实践与风险防控
开发语言·计算机网络·安全·计算机外设·php·安全架构·安全性测试
九转苍翎13 小时前
计算机网络(1)——概述
计算机网络
恒宝乐园19 小时前
【HCIA】聚合VLAN
计算机网络
恒宝乐园20 小时前
【HCIA】策略路由
计算机网络
{⌐■_■}21 小时前
【gRPC】HTTP/2协议,HTTP/1.x中线头阻塞问题由来,及HTTP/2中的解决方案,RPC、Protobuf、HTTP/2 的关系及核心知识点汇总
网络·网络协议·计算机网络·http·rpc·golang
网络空间小黑1 天前
TCP/IP 知识体系
网络·网络协议·tcp/ip·计算机网络·5g·wireshark·信息与通信
黄暄1 天前
初识计算机网络。计算机网络基本概念,分类,性能指标
笔记·学习·计算机网络·考研
xiao--xin2 天前
计算机网络笔记(二十七)——4.9多协议标签交换MPLS
网络·笔记·计算机网络·mpls
-qOVOp-2 天前
zst-2001 上午题-历年真题 计算机网络(16个内容)
网络·计算机网络·算法
{⌐■_■}2 天前
【计算机网络】HTTP/1.0,HTTP/1.1,HTTP/2,HTTP/3汇总讲解,清晰表格整理面试重点对比
计算机网络·http·面试