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 服务商提供防御措施;
- 提高可用性: 单台服务器故障时可转向其他服务器;