计算机 络8 互联 上的音视频服务

概述

  • 技术的进步,使得许多用户开始利用互联 传送音频、视频数据

  • 这种音频、视频常称为多媒体信息

  • 多媒体信息的两个特点如下:

    • 多媒体信息的信息量很大:传输需要的码率高,因此必须采用各种信息压缩技术
    • 传输多媒体数据(边传输边播放)时,对时延和时延抖动有较高的要求
  • 传统模拟的多媒体信 要经过数字化,才能在互联 上传送

  • 传输多媒体信 的分组,发送间隔都是恒定的,这样的分组是等时的(isochronous),等时分组进入互联 的速率也是恒定的

  • 传统的互联 本身是非等时的,因为每一个分组都是独立传送,到达接收端时,先后次序可能不同,因此变成非等时的

  • 缓存实际上是一个先进先出的队列,T叫做播放时延,缓存使所有到达的分组都经受了时延
  • 非等时的分组,经过缓存后再以恒定速率读出,就变成了等时的分组,很大程度上可以消除时延的抖动

  • 用户在浏览器上,用HTTP协议的GET命令向服务器请求下载某个音视频文件
  • 服务器响应浏览器的请求,RESPONSE表示服务器的响应 文,整个过程可能时间很长
  • 当浏览器完全收下这个文件后,就可以在本地进行解压播放

具有元文件的万维 服务器

对传统浏览器下载文件进行改进的第一种方法,是使用元文件

元文件,是一种非常小的文件,它描述或指明其它文件的一些重要信息,例如音视频文件的路径、大小、格式等,使用元文件下载音视频步骤如下

采用媒体服务器后,媒体播放器直接向媒体服务器请求下载音视频文件,其中前3个步骤和之前的一样,区别在后面两个步骤

  • 步骤4:媒体播放器使用元文件提供的URL,接入媒体服务器,请求下载文件
  • 步骤5:媒体服务器给出响应,把文件发送给媒体播放器,媒体播放器延迟后解码播放

传输音视频数据,可以使用TCP,也可以使用UDP,但是使用UDP会有以下缺点:

  • 发送端按照正常播放速度发送流媒体数据帧,但是接收端的播放器很难做到始终按规定的速率播放
  • 很多单位的防火墙阻止外部UDP分组的进入,因此使用UDP传输多媒体文件会被拦截
  • 如果用户希望能控制媒体播放,如暂停、快进,还需要使用额外的协议,增加了成本和复杂性

因此对流式音视频的播放,都采用了TCP来传送,主要步骤如下:

  • 浏览器使用HTTP的GET 文向万维 服务器请求音视频文件
  • 万维 服务器发送元文件作为响应
  • 浏览器把收到的元文件传送给媒体播放器
  • 媒体播放器的RTSP客户端发送SETUP 文与媒体服务器的RTSP服务器建立连接
  • 媒体服务器的RTSP服务器发送响应 文RESPONSE
  • 媒体服务器的RTSP客户端发送PLAY 文,开始下载音视频文件
  • 媒体服务器的RTSP服务器发送响应 文RESPONSE

此后,音视频文件被下载,所用的应用层协议可以是RTP也可以是其它专用协议,运行在UDP协议之上。在播放过程中,播放器可以随时暂停(PAUSE)和播放(PLAY),也可以快进快退

  • 用户不想继续观看时,播放器RTSP客户端发送TEARDOWN 文断开连接
  • 媒体服务器的RTSP服务器发送响应 文RESPONSE

交互式音视频

此处只介绍交互式音频,即IP电话

IP电话概述

狭义和广义的IP电话

狭义的IP电话,就是指在IP 络(使用IP协议的分组交换 )上打电话。这个 络一般是指互联

广义的IP电话,不仅是电话通信,还能在IP 络上进行交互式多媒体实时通信

在70年代ARPANET就开始研究分组话音通信,但是发展的不快,因为以下原因

  • 缺少廉价的高质量、低速率的话音信 编解码软件和芯片
  • 计算机 络的传输速率和路由器的处理速率很慢,传输时延很大
  • 没有保证实时通信服务质量QoS的 络协议
  • 计算机的 络的规模较小,而通信 只有在具有一定规模后才能产生经济效益

IP电话 关

IP电话 关(IP telephone gateway),它是公用电话 与IP 络的接口设备。其作用是

  1. 在电话呼叫阶段和释放阶段,进行信令转换
  2. 在通话期间进行话音编码的转换

有了这种IP电话 关,可以实现PC–PC,PC–固话,固话–固话之间互相打IP电话(经过IP 络),下图是不同用户之间打IP电话

当 络发送拥塞而产生话音分组丢失时,必须采用一定的策略对丢失的话音分组进行处理

接收端缓存空间和播放时延的大小对话音分组丢失率和端到端时延也有很大影响

实时运输协议RTP

实时运输协议RTP(real-time transport protocol)为实时应用提供端到端的运输,但不提供任何服务质量的保证

需要发送的多媒体数据块经过压缩编码,经过RTP封装成RTP分组,然后装入运输层的UDP数据 ,再交给IP层

实际上RTP只是一个协议框架,只包含一些实时应用的共同功能,并不对多媒体数据块做任何处理,而只是向应用层提供一些附加信息

RTP还有两点值得注意,RTP分组只包含RTP数据,而控制是由另一个配套使用的RTCP协议提供的,其次RTP端口 选择1025-65535之间的偶数,并且同一会话中RTCP则使用下一个奇数的UDP端口 。一般情况下5004和5005作为RTP和RTCP的默认端口

下面对RTP分组的首部进行介绍

RTCP使用五种分组类型

  • BYE:结束分组,关闭一个数据流
  • APP:特定应用分组,使应用程序能够定义新的分组类型
  • RR:接收端 告分组,用来使接收端周期性向所有的点用多播方式进行 告。接收端每收到一个RTP流,就产生一个RR,发送RR分组有两个目的
    • 可以使所有的接收端和发送端了解当前 络状态
    • 可以使所有发送RTCP分组的站点自适应调整自己发送RTCP分组的速率
  • SR:发送端 告分组,用来使发送端周期性地向所有接收端用多播方式进行 告,发送端每发送一个RTP流,就产生一个SR
  • SDES:源点描述分组给出会话中参与者的描述,包含参与者的规范名

H.323协议

现在IP电话有两套信令标准,一是H.323协议,二是会话发起协议SIP

H.323是互联 的端系统之间进行实时语音和视频会议的标准,H.323不是一个单独的协议而是一组协议,包括系统和构件的描述、呼叫模型的描述、呼叫信令过程、控制 文、复用、话音编解码器、视像编解码器,以及数据协议等

H.323包括以下一些组成部分

主叫方先向被叫方发出INVITE 文:这个 文含有双方的地址等信息,如果被叫接收,则OK回应,主叫再发送ACK确认。通话完毕后,任何一方都可以发送BYE 文终止会话

SIP有一种跟踪用户的机制,可以找出被叫方使用的IP地址,为了实现跟踪,使用了登记的概念

SIP定义一些服务器为SIP登记器,每一个SIP用户都有一个相关联的SIP登记器,用户在任何时候发起SIP应用时,都应该给SIP登记器发送一个SIP REGISTER 文,登记使用的IP地址,SIP登记器和SIP代理服务器一般运行在同一台主机

  • 一个1Mbit/s的实时音频数据和一个FTP文件数据:如果H1向H3传输1Mbit/s的实时音频数据,H2向H4传送FTP文件数据,需要增加一个机制,给不同性质的分组打上不同的标记,路由器R1识别到实时数据分组,就使这些分组以高优先级进入输出队列,仅当队列有多余空间才允许低优先级的FTP数据分组进入
  • 一个1Mbit/s的实时音频数据和一个高优先级的FTP文件数据:如果FTP用户高价从ISP购买了超级会员,要求优先服务,而实时音频用户没有购买会员,则仅靠标记还不够,应该使路由器增加一种机制,分类,即路由器根据某些规则对输入分组进行分类,然后对不同类别的通信量给予不同的优先级
  • 一个数据率异常的实时音频数据和一个FTP文件数据:如果H1的数据率突然超过1.5Mbit/s,则H2的FTP数据无法通过路由器,因此应该路由器需要对某个数据流进行通信量的管制,使得这个数据流不要影响到其它正常数据流的通过。为了合理利用 络资源,路由器应该再增加一种机制,调度,可以给实时音频和FTP文件这两个应用分配1Mbit/s和0.5Mbit/s的带宽,保证两者都有服务保证
  • H1和H2都发送数据率为1Mbit/s的实时数据:这种情况下总的数据率是2Mbit/s,如果两台主机平等共享链路的带宽,则每个数据流平均丢失25%。比较合理的做法是让一个数据流通过,而阻止另一个数据流的通过。这需要一种机制,呼叫接纳,在使用呼叫接纳机制时,一个数据流要预先声明它所需要的服务质量,然后才被准许进入 络

调度和管制

调度和管制是使互联 能够提供服务质量的重要措施

调度机制

调度,就是排队的规则,如果不采用调度机制,则所有队列先进先出,队列满时后到达的将被丢弃,先进先出的最大缺点是不能区分时间敏感分组和一般数据分组

在先进先出的基础上增加按优先级排队,就能使得优先级高的分组优先得到服务

加权公平排队中,分组到达后首先进行分类,然后送交与其类别对应的队列,三个队列按顺序依次把队首的分组发送到链路,根据优先级不同,每个队列分配到的服务时间也不同

管制机制

对于一个数据流,我们可以根据以下三个方面进行管制

  • 平均速率: 络需要控制一个数据流的平均速率,即在一定的时间间隔内通过的分组数

漏桶是一种抽象机制,在漏桶中可以装入多个权标(token)。分组进入 络前,先进入一个队列中等待权标,只有取走权标,才准许进入 络

漏桶机制与加权公平排队相结合

把漏桶机制和加权公平排队结合起来,可以控制队列中的最大时延

现在假定有N个分组流进入一个路由器,复用后从一条链路输出,每一个分组流使用漏桶机制进行管制

  • 主机H1需要向互联 上的四台主机H2-H5发送多播节目,主机H1先以多播的方式从源点H1向下游方向发送PATH 文,路由器对PATH 文要进行转发
  • 终点的主机向上游回复RESV 文,指明在接收该多播节目时所需的服务等级,路由器如果无法提供所需的资源,则返回差错 文,如果可以,则把下游传来的RESV 文合并成新的RESV 文,继续传到上游。因此RSVP协议是面向终点的
  • 路由器合并RESV时,并不是相加,而是取最大值,因为向下游方向发送数据可以采用多播技术

IntServ/RSVP所基于的概念是端系统中与分组流有关的状态信息,各路由器中的预留信息只存储有限的时间,因而各终点对这些预留信息必须定期更新。RSVP协议不是运输测协议,而是 络层的控制协议,RSVP不携带应用数据

  • 在使用DS字段之前,互联 ISP要和用户商定一个服务等级协定SLA,在SLA中指明了被支持的服务类别和每一类别所容许的通信量

  • 络被划分为许多DS域:一个DS域在一个管理实体的控制下实现同样的区分服务策略,DiffServ将所有的复杂性放在DS域的边界结点中,而使DS域内部路由器工作尽可能简单

  • DiffServ提供了一种聚合功能:它不是为 络中的每一个流维持供转发时使用的状态信息,而是把若干个流根据其DS值聚合成少量的流,路由器对相同的DS值按相同优先级进行转发,这大大简化了内部路由器的转发机制

每跳行为PHB

DiffServ定义了在转发分组时体现服务水平的每跳行为PHB。行为就是指在转发分组时路由器对分组是怎样处理的。每跳强调只涉及到本路由器转发的这一跳行为

目前已经定义了两种PHB

  • 迅速转发PHB:用来构造通过DS域的一个低丢失率、低延时、低时延抖动、确保带宽的端到端服务
  • 确保转发PHB:当发送 络拥塞时,对于每一个等级的AF,路由器就首先把丢弃优先级最高的分组丢弃

文章知识点与官方知识档案匹配,可进一步学习相关知识 络技能树认识身边的计算机 络常见的 络设备22641 人正在系统学习中

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年11月28日
下一篇 2020年11月28日

相关推荐