多媒体网络--计算机网络自顶向下笔记(八)

简介

视频

  • 高比特率
  • 能被压缩
    • 原因:空间冗余,图像内部有冗余空间,如空白;时域冗余,图像和后续图像完全一样或类似。
    • 可压缩生成多重版本

音频

  • 脉冲编码调制(Pulse Code Modulation, PCM)。
    1. 采样。固定速率采样。
    2. 量化。每个采样值近似为有限数值中的一个。
    3. 级联。所有样本的量化值连在一起。
  • 使用压缩减小比特率。如MP3等。

多媒体应用类型

  1. 流式存储的音频和视频。
    • 。从一个位置开始播放的同时,从服务器接收后续部分。
    • 相互作用。用户可对媒体内容暂停、前进、后退等。
    • 连续播放。根据初始记录的时序播放,需要及时接收数据,否则会停止或者帧跳过。
  2. 会话式 IP语音和视频。
    • 称为因特网电话,或者IP语音(Voice-over-IP, VoIP)。
    • 高度时延敏感(delay-sensitive)。
    • 容忍丢包(loss-tolerant)。
  3. 流式实况音频和视频。类似流式存储媒体。

流式存储视频

  • 分为UDP流、HTTP流、适应性HTTP流。
  • 广泛使用客户缓存(client buffering)。
    1. 吸收分组在客户和服务器中时延的波动,使时延大的特殊分组不被注意。
    2. 即使暂时带宽低于消耗,也能连续播放。

UDP流

  • 通过UDP,用与客户视频消耗速率相匹配的速率传输视频。
  • 使用的客户端缓存小,通常小于1s。
  • 通过单独的控制连接,发送暂停等命令。类似FTP控制连接,使用实时流协议(Real-Time Streaming Protocol, RTSP)。
  • 缺点:
    1. 带宽减小时,恒定速率UDP流很可能无法连续播放。
    2. 需要RTSP服务器,增加成本。
    3. 许多防火墙**阻塞**UDP流量。

HTTP流

  • 使用 HTTP GET 请求获得给定URL的文件。通过缓存等技术避免UDP的缺点。
  • 预取视频。尝试以高于消耗速率的速率下载视频,增加客户缓存。
  • 客户缓存和TCP缓存。客户缓存变满,会引起TCP缓存变满,减小发送窗口,服务器降低发送速率。
    HTTPstream.png
  • 提前终止和重定位
    • 使用HTTP字节范围首部,从视频文件的某个字节开始发送数据,较早的请求终止。
    • 因为重定位可能浪费缓存,所以缓存取适当长度或者字节范围首部受限。

DASH

  • 经HTTP的动态适应性流(Dynamic Adaptive Streaming over HTTP, DASH),将视频编码为不同比特率的几个版本,分配不同URL,用户根据带宽选择版本。
  • DASH可以在可能的最好质量下实现连续播放。
  • 用户通过测试带宽选择下载版本,减轻服务器的压力。

CDN

  • 单一数据中心的问题:
    1. 数据中心到客户经过许多ISP,某段链路吞吐量小,甚至小于视频消耗速率。
    2. 流行视频在相同链路中发送多次,浪费带宽。
    3. 单点故障问题。
  • 内容分发网(Content Distribution Network, CDN)采取拉策略,用户请求的视频未存储在CDN上,CDN从另一个集群或者中心仓库请求视频,向客户传输视频并在本地存储副本。CDN删除不常使用的视频,类似LRU。
  • CDN通过DNS截获和重定向对视频的请求,步骤:
    1. 用户访问netchina页面。
    2. 点击视频链接video.netcinema.com/xxxxx,发送DNS请求。
    3. 本地DNS服务器(LDNS)中继请求到NetChina权威DNS服务器,服务器因为video向LDNS返回KingCDN域的主机名,如a1105.kingcdn.com。
    4. LDNS向KingCDN的主机发起DNS请求,得到KingCDN**内容分发服务器的IP地址**。
    5. LDNS向用户转发CDN节点IP地址。
    6. 用户根据IP创建TCP连接,发起HTTP GET请求获取视频。
      cdn.png
  • 使用IP任播(IP anycast)为客户分配CDN服务器。为每个CDN集群指派相同IP地址,BGP路由器选择最好的路由(如地理最近、流量最佳等)。
  • Netflix使用第三方CDN,谷歌的YouTube使用自己的CDN,迅雷看看使用P2P交付。

IP语音

尽力而为服务的限制

  • 丢包。VoIP默认运行在UDP上,会产生分组丢失,可以通过FEC弥补。
  • 端到端时延。时延超过400ms严重影响交互性,超过阈值(如400ms)延时的分组需要丢弃。
  • 分组时延抖动。端到端时延对不同的分组可能有波动,可以使用序号、时间戳、播放时延消除。

消除时延抖动

  • 两种机制:
    1. 发送方为每个块产生时间戳(timestamp)。
    2. 接收方延时播放(delaying playout),使得大多数分组在预定播放之前被接收。
  • 两种播放时延。
    1. 固定播放时延。端到端时延抖动大,选用较大播放时延;时延抖动小,选用较小播放时延。
      VoIP_delay.png
    2. 适应性播放时延。类似TCP往返时间的估计。
      t,时间戳;r,分组接收时间;p,分组播放时间。
      • 平均网络时延:
        delay_d.png
      • 平均时延偏差:
        delay_v.png
      • 播放时间(K为常数,例如4):
        delay_p.png

丢包恢复

  1. 前向纠错(Forward Error Correction, FEC)。增加冗余信息纠错,这样也会增加传输带宽和播放时延。
    1. 异或n个初始块。可恢复1个分组的丢失。
    2. 附加较低分辨率的音频。可附加之前一个或几个分组的低分辨率音频。
  2. 交织(interleaving)。传输之前对数据单元重新排序,接收之后重建。
    interleaving.png
  3. 差错掩盖。产生与丢失分组类似的分组,如重复分组或者内插法等。

实时会话应用协议

RTP

  • 实时传输协议(Real-time Transport Protocol),运行在UDP上,传输媒体块。
  • RTP不保证交付,不提供质量服务。RTP分装的内容仅为端系统可见。
  • RTP也可用于多播,如多方的视频会议。
  • RTP首部
    rtp.png
    • 有效载荷类型。指示音频编码类型,如PCM,GSM。
    • 序号。每发送一个RTP分组,序号+1.
    • 时间戳。RTP分组第一个字节采样时刻
    • 同步源标识符SSRC。表示RTP源,是新的流开始是随机分配的数。

SIP

  • 会话发起协议(Session Initiation Protocol, SIP),用于经过IP网络建立呼叫。
  • SIP地址。
    • 类似电子邮件地址,如sip:bob@193.64.210.89。
    • 能够被包括在Web页面中。
  • SIP代理提供用户IP地址或者包括用户状态的URL(可以根据呼叫者有不同响应)。SIP代理是通过每个用户的SIP注册器确定用户的IP地址。
  • 发起会话的步骤(217.123.56.89上的jim@umass.edu对197.87.54.21上的keith@upenn.edu发起VoIP):
    1. Jim向umass的SIP代理发送INVITE报文
    2. 该代理向SIP注册器upenn.edu**请求DNS**,并**转发**INVITE报文。
    3. keith并没有在该upenn注册器上注册,upenn注册器返回重定向报文指向Keith@eurecom.fr。
    4. umass代理向eurcom.fr**请求DNS**,并**转发**INVITE报文。
    5. 该注册器知道keith@eurecom.fr的IP地址,将报文转发给keith的SIP主机。
    6. keith主机通过注册器代理返回SIP响应到jim主机。
    7. jim发送SIP确认,并开始会话
      SIP.png

支持多媒体的网络

  • 三种方法
    mediaNetwork.png

尽可能利用尽力而为服务

  • 进行网络定制(network dimensioning)。设计一个网络拓扑,取得给定的端到端性能。
  • 由于经济、组织上的问题,定制被限制。

区分服务

  • 方法
    1. 标记分组,使路由器区分不同类型的流量分组,例如VoIP优先于HTTP。
    2. 提供流量隔离的度,使一种流量不受另一种流量异常的影响,这需要流量监管(traffic policing)。例如,VoIP流量超过带宽,也能保证一定的HTTP流量。
    3. 提供流量隔离时,尽可能有效使用资源。例如,VoIP不使用带宽时,HTTP可以使用更多的带宽。
  • 调度机制
    1. 先进先出(First-In-First-Out)。
    2. 优先排队(priority queuing)。分组放入某个优先级类,优先传输高优先级的类,每个优先级类通常使用FIFO。
    3. 加权公平排队(Weighted Fair Queuing, WFQ)。每个类被分到一个权值,每个类至少获得权值比例的带宽。
      WFQ.png
  • 漏桶监管。
    • 监管平均速率、峰值速率、突发长度。
    • 分组需要获得令牌才能发送。漏桶最多容纳b个令牌,每秒加入r个令牌。这样任何t时间内,进入网络的最大速率为 rt+b
    • 漏桶流可以采用WFQ调度机制。
      WFQ2.png
  • 因特网区分服务体系结构(Diffserv)的功能
    1. 边界功能:分组分类流量调节
    2. 核心功能:转发。路由器每一条行为只基于分组标记,不区分分组来源,即路由器将这些分组作为一个聚合体。
  • Diffserv的缺点
    1. 多个ISP之间协作困难。
    2. 如果网络运行负载不大,绝大多数情况里Diffserv效果不明显。

每连接服务质量保证

  1. 资源预留(resource reservaton)。一旦呼叫预约的资源,则需确保它所具有的资源。
  2. 呼叫准入(call admission)。如果请求的资源不可用,呼叫被阻塞;否则,接收呼叫的QoS需求。
  3. 呼叫建立信令资源预留协议(resource Reservation Protocol, RSVP)用来协调资源的预留和呼叫准入。
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值