08 - 音视频服务 - IP电话及其协议

277 阅读7分钟

这是我参与更文挑战的第15天,活动详情查看: 更文挑战

IP电话

狭义的IP电话 - 在IP网络上打电话

广义的IP电话 - 不仅仅可以打电话, 还可以进行语音, 视频等交互式多媒体实时通信, 以及即时通信IM

IP电话端到端时延

  1. 话音信号进行模数转换要经受时延
  2. 话音比特流装配成话音分组的时延
  3. 话音分组的发送需要时间, 等于话音分组长度与通信线路的数据率之比
  4. 话音分组在互联网中的存储转发时延
  5. 话音分组在接收端缓存中暂存所引起的时延
  6. 话音分组还原成模拟话音信号的时延
  7. 话音信号在通信线路上的传播时延
  8. 终端设备的硬件和操作系统产生的接入时延

IP电话的应用协议

信令协议 - 使我们能够在互联网上找到被叫用户

传送协议 - 使我们用来进行电话通信的话音数据能够以时延敏感属性在互联网中传送

RTP - 实时运输协议

为实时应用提供端到端的运输, 但不提供任何服务质量的保证

RTP是一个协议框架, 只包含了实时应用的一些共同的功能

RTP不对多媒体数据做任何处理, 而只是向应用层提供一些附加的信息, 让应用层知道应当如何进行处理

RTCP - 实时运输控制协议

RTCP分组也使用UDP传送, 但RTCP并不对声音和视像分组进行封装

可将多个RTCP分组封装在一个UDP用户数据报中

RTCP缓缓周期性的在网上传送, 带有发送端和接收端对服务质量的统计信息报告

主要功能

服务质量的监视与反馈

媒体间的同步

播组中成员的标识

RTCP的五种分组类型

结束分组BYE - 表示关闭一个数据流

特定应用分组APP - 使用应用程序能够定义新的分组类型

接收端报告分组RR - 用来使接收端周期性的向所有的点用多播方式进行报告

发送端报告分组SR - 用来使发送端周期性的向所有接收端用多播方式进行报告

源点描述分组SDES - 给出会话中参加者的描述

H.323

基于分组的多媒体通信系统, 互联网端系统之间进行实时声音和视频会议的标准

组成部分

系统和构件的描述, 呼叫模型的描述, 呼叫信令过程

控制报文, 复用, 话音编解码器, 视像编解码器

数据协议, 但不保证服务质量

H.323的四种构件

  1. H.323终端
  2. 网关 - 网关连接到两种不同的网络, 使H.323网络可以和非H.323网络进行通信
  3. 网闸 - 所有的呼叫都要通过网闸, 因为网闸提供地址转换, 授权, 带宽管理和计费功能
  4. 多点控制单元(MCU - Multipoint Control Unit) - MCU支持多个或更多的H.323终端的音频或视频会议

SIP - 会话发起协议

SIP是一套较为简单且实用的标准

SIP以互联网为基础, 把IP电话当为互联网上的新应用

SIP只涉及到IP电话的信令和有关服务质量问题

SIP没有指定使用RTP协议, 实际上大家还是选用RTP和RTCP作为配合使用的协议

SIP系统的构件

用户代理

  1. 用户代理客户 - 用来发起呼叫
  2. 用户代理服务器 - 用来接受呼叫

网络服务器

  1. 代理服务器 - 接受来自主叫用户的呼叫请求, 并将其发给下一跳代理服务器, 最后将呼叫请求转发给被叫用户
  2. 重定向服务器 - 不接受呼叫, 通过响应告诉客户下一跳代理服务器的地址, 由客户按此地址向下一跳代理服务器重新发送呼叫请求.

SDP - 会话描述协议

SDP在电话会议的情况下特别重要, 因为电话会议的参加者是动态加入和退出的

SDP详细指明了媒体编码, 协议的端口号及多播地址

SDP现在也是互联网建议标准

QoS - 服务质量

QoS是服务性能的总效果, 决定了一个用户对服务的满意程度. 有服务质量的服务就是能够满足用户的应用需求的服务

服务质量可用若干基本的性能指标来描述: 可用性, 差错率, 响应时间, 吞吐量, 分组丢失率, 连接建立时间, 故障检测和改正时间

服务提供者可向用户保证某一等级的服务质量

调度机制

调度就是排队的规则

默认排队规则是FIFO(先进先出), 当队列满时, 后到达的分组丢弃

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

管制机制

平均速率 - 网络需要控制一个数据流的平均速率, 这里的平均速率是在一定的时间间隔内通过的分组数

峰值速率 - 峰值速率限制了数据流在非常短的时间间隔内的流量

突发长度 - 网络也限制在非常短的时间间隔内连续注入到网络中的分组数

IntServ - 综合服务

可对单个的应用会话提供服务质量的保证

  1. 资源预留- 路由器需要知道不断出现的会话已预留了多少资源(链路带宽和缓存空间)
  2. 呼叫建立 - 需要服务质量保证的会话必须首先在源站到目的站的路径上的每个路由器预留足够的资源, 以保证其端到端的服务质量要求

有保证的服务

可保证一个分组在通过路由器时的排队时延有一个严格的上限

受控负载的服务

可以使应用程序得到比通常的"尽最大努力"更加可靠的服务

IntServ的四个组成部分

  1. 资源预留协议RSVP - 信令协议
  2. 接纳控制 - 用来决定是否同意对某一资源的请求
  3. 分类器 - 用来将进入路由器的分组进行分类, 并根据分类的结果将不同类别的分组放入特定的队列
  4. 调度器 - 根据服务质量要求决定分组发送的前后顺序

一般定义为具有同样的源IP地址, 源端口号, 目的IP地址, 目的端口号, 协议标识符以及服务质量需求的一连串分组

IntServ存在的问题

  1. 状态信息与流的数目成正比. 因此在大型网络中, 按每个流进行资源预留会产生很大的开销
  2. IntServ体系结构复杂. 若要得到所有保证的服务, 所有的路由器都必须装有RSVP, 接纳控制, 分类器和调度器
  3. IntServ所定义的服务质量等级数量太少, 不够灵活

DiffServ - 区分服务

  1. DiffServ力图不改变网络的基础结构, 但在路由器中增加区分服务的功能

    DiffServ将IPv4协议中原有的服务类型字段和IPv6的通信量类字段定义为区分服务DS. 路由器根据DS字段的值来转发分组. 利用DS字段可提供不同等级的服务质量

  2. 网络被划分为多个DiffServ域

    DiffServ将所有复杂性放在DS域的边界结点中, 而使DS域内部路由器工作尽可能的简单

  3. 边界路由器中的功能较多

    包括分类器, 通信量调节器(标记器, 整形器, 测定器)

  4. 聚合

    DiffServ不是为网络中的每一个流维持供转发时使用的状态信息, 而是将若干个流根据其DS值聚合成少量的流

    路由器对相同DS值的流都按相同的优先级进行转发.

    区分服务DiffServ不需要使用RSVP信令