跳到主要内容

P2P 与内容分发网

P2P 分发与 C/S 分发有何区别?​

  • C/S: 服务器集中承担全部上传, 对等方只下载, 服务器带宽成为瓶颈;
  • P2P: 服务器作用极小甚至没有, 对等方之间直接建立联系并互相上传;
  • 分发时间: 所有 N 个对等方都得到完整副本所需的时间;
  • 趋势: 对等方越多, P2P 的总上传能力越大, 分发时间反而更短;

BitTorrent 是什么?​

  • BitTorrent: 用于文件分发的 P2P 协议;
  • 传输: 对等方之间使用 TCP 连接交换文件块;

HTTP 流与 DASH 如何处理视频?​

  • HTTP 流: 服务器发送视频文件, 客户端先缓存接收到的字节, 达到一定数量即开始播放并继续缓存下一段;
  • DASH: 基于 HTTP 的动态自适应流, 把视频编码为多个不同比特率的版本;
  • 自适应: 客户端根据当前网络质量自动切换到合适的版本;

CDN 如何加速内容分发?​

  • CDN: 内容分发网, 在多个地理位置部署并管理服务器集群;
  • 机制: 集群缓存源站点的数据, 把用户请求定向到最优的集群;
  • 收益前提: 用户到最近集群的路径比到源站点更短;

CDN 有哪些服务器安置原则?​

  • 深入: 在全球各 ISP 内部署服务器集群, 离用户更近但数量多、管理复杂;
  • 邀请做客: 只在少量关键位置建立集群, 邀请 ISP 接入, 一般部署在 IXP 中;

CDN 如何选择集群?​

  • DNS 重定向: 客户端访问 URL 并发出 DNS 请求, CDN 的 DNS 服务返回所选定集群的 IP 地址, 客户端再与该集群建立 TCP 连接;
  • 地理最邻近: 按地理距离选择, 但地理最近不一定是网络路径最近;
  • 实时测量: CDN 周期性测量各集群到用户的时延, 据此选优;

CDN 通常缓存什么内容?​

  • 静态资源: 图片、视频、音频、第三方库的 js 文件、字体文件;
  • 静态页面: 内容不随用户变化的 HTML;
  • 不缓存: 需要实时计算或与用户状态强相关的动态内容;

CDN 带来哪些优势?​

  • 降低访问延迟: 内容就近获取;
  • 减少源站带宽: 命中请求不再回源;
  • 增强安全性: CDN 服务商提供防御措施;
  • 提高可用性: 单台服务器故障时可转向其他服务器;