读书笔记之《计算机网络》---第八章 因特网上的音频/视频服务
章节目录
1. 音频、视频等流媒体概述
2. 流式存储音频/视频
3. 交互式的音频/视频
4. 改进“最大努力交付的”服务
音频、视频等流媒体概述
流媒体的特点:
1. 信息的信息量往往很大:一张照片、一段语音、视频等数据量是非常大的
2. 对传输过程中的时延和时延抖动要求很高
什么是传输时延:是指分组从发送到网络中开始到接收方接收到分组为止,在网络中流动所耗费的时间
什么是时延抖动:是指分组在网络中流动所耗时间收到网络状况的影响,当网络拥堵,或流经一段低速网段时,时延会变大,从而导致这些分组到达接收方时的时间间隔并不稳定,导致播放时会不断卡顿。
是什么播放时延:是指分组到达缓存队列的时间开始到被取出队列播放的时间为止的时间间隔
目前提供的音频、视频服务可分为三种类型:
1. 流式存储音频、视频:该类型是将已经压缩好的录制好的音频、视频文件存储在服务器上,用户通过因特网下载,下载方式是边下载边播放,该下载不会在用户方保留任何数据
2. 流失实况音频、视频:特点是边录制边发送
3. 交互式音频、视频:使用户能使用因特网和其他人进行实时交互式通信
流式存储音频、视频
1. 传统的浏览器下载音频、视频:
发送GET的HTTP请求,建立TCP连接
服务器有该文件就在HTTP响应报文中响应给浏览器,下载可能会花很长时间
当浏览器下载完毕后,就将文件传给媒体播放器播放
具有元文件的万维网服务器:
浏览器发送一个指向元文件的get请求
服务器将元文件响应给浏览器
浏览器将元文件发送给媒体播放器
媒体播放器使用元文件中的URL直接和服务器建立TCP连接,下载音频、视频
服务器响应媒体播放器的请求媒体服务器:也称流式服务器
浏览器发送一个指向元文件的get请求
服务器将元文件响应给浏览器
浏览器将元文件发送给媒体播放器
媒体播放器使用元文件中的URL直接和媒体服务器交互,使用UDP传送数据
播放器在延迟若干秒后采用边下载边播放
实时流式协议RTSP:用于使用户在播放因特网下载的实时数据时能够进行控制,例如播放、暂停等功能
交互式音频、视频
交互式音频视频指的是IP电话
狭义的IP电话是指在IP网络上打电话
广义的IP电话则不仅是指电话通信,还可以是在IP网络上进行交互式多媒体实时通信
IP电话网关:是公用电话网和IP网络的接口设备,将IP数据流转换成公用电话网的数据流或相反
接下来是重点,讲的是IP电话通信中用到的协议
IP电话通信至少需要两种协议:
1. 信令协议:用来在因特网上找到被呼叫的用户
2. 话音分组的传送协议:规定在因特网中如何传输这些话音数据
实时传输协议RTP:为实时应用提供端到端的运输,但不提供任何服务质量的保证。
RTP是一个协议框架,只是想应用层提供一些附加信息,让应用层知道如何处理,自己并不对数据进行处理
RTP首部的格式及其在IP数据中的位置如下图
1. 有效载荷类型: 占7位,指出后面的RTP数据属于何种格式的应用,应用层根据该字段指出的类型判断如何处理数据
2. 序号:占16位,每发送一个RTP分子序号1,使接收端能够发现丢失的分组,也能够将分组按序重组
3. 时间戳:占32位,反映了RTP分组中的数据的第一个字节的采样时刻,即使没有数据发送也要随时间增大,
4. 同步源标识符SSRC:占32位,标识RTP流的来源
5. 参与源标识符CSRC:占32位,可选项,用来标识源于不同地点的RTP流
6. 参与源数:占4位,给出参与源标识符的数目
7. 版本:占2位,
8. 填充P:占1位,表示RTP分组有没有填充字节,值为1时表示有若干字节的填充
9. 扩展X:占1位,表示RTP首部后面是否还有扩展首部
10. 标记M:占1位,表示RTP分组具有特殊性
实时运输控制协议RTCP:与RTP协议配合使用,进行服务质量的监视与反馈、媒体间的同步,以及多播组中成员的标志
RTCP使用五种分组类型,如下图:
1. 结束分组BYE:表示关闭一个数据流
2. 特定应用分组APP:使应用程序能够定义一个新的分组类型
3. 接收端报告分组RR:使接收端周期性地向所有的点用多播方式进行报告
4. 发送端报告分组SR:使发送端周期性地向所有接收端用多播方式进行报告
5. 源点描述分组SEDS:给出会话中参加者的描述
IP电话的两套信令标准:H.323协议和会话发起协议SIP
H.323是一组协议,指明了四种构件:
1. H.323终端
2. 网关:连接H.323网络和非H.323网络
3. 网闸:H.323网络所有的呼叫都通过网闸
4. 多点控制单元MCU:MCU支持三个或更多的H.323终端的音频或视频会议
H.323的体系结构如下图所示:
会话发起协议SIP:只涉及IP电话所需的信令和有关服务质量问题
SIP只有两种构件用户代理和网络服务器
用户代理包括两个程序:用户代理客户UAC和用户代理服务器UAS
网络服务器分为:代理服务器和重定向服务器
SIP会话有三个阶段:建立会话、通信和终止会话
SIP协议的配套协议,会话描述协议SDP,
SDP在电话会议参加者加入或退出会议室详细地说明了其媒体编码、协议的端口号以及多播地址
SIP会话例子:
主叫方向被叫方发送INVITE报文,被叫方响应OK报文,主叫方再发送确认ACK报文,该过程类似于TCP的三次捂手
SIP登记器:相当于DNS域名解析服务器,将电子邮件转换成IP地址,流程如下图
改进“尽最大努力交付”的服务
服务质量QoS是服务性能的总效果,决定一个用户对服务的满意程度
实现服务质量的四点:
1. 给不同性质的数据分组打上不同的标记
2. 路由器对输入分组进行分类,不同类别优先级不同
3. 对数据流进行管制,控制该数据流的速率,能够实现调度,给不同功能的数据分配不同的速率
4. 呼叫接纳机制,对数据流要预先声明需要的服务质量,然后判断允许和拒绝通过
调度机制:指分组的排队规则,有先进先出FIFO、按优先级排队等
按优先级排队中分组在到达路由器后就由分类器进行优先级分类
公平排队FQ:最每一种类型的分组流设置一个队列,然后轮流的每个队列一次发送一个分组,空的队列跳过
加权公平排队WFQ:在FQ的基础上对每一种类别分配不同的优先级,优先级高的队列分配的服务时间长
管制机制,我们可以根据三个方面进行管制:
1. 平均速率:一定时间间隔内通过的分组数
2. 峰值速率:数据流在非常短的时间间隔内的流量
3. 突发长度:非常短的时间间隔内连续注入到网络中的分组数
漏桶管制器可以对以上三个指标进行管制,
漏桶管制器的工作原理:
漏桶管制器抽象出一个漏桶,在漏桶中可以装入许多的权标,但是有一个上限值b。只要漏桶中的权标数量少于b时,就会以每秒r个权标的速率在漏桶中加入新的权标,但是如果漏桶满了以后,就不再装入。
漏桶管制器如何进行三个指标的管制呢:
1. 对平均速度的管制:漏桶用权标装入速率来限制平均速度,如果平均速度大与权标装入速度,那么在漏桶权标耗完时,平均速度就会收到权标装入速度的制约
2. 对峰值速率的管制:在一瞬间最多发送几乎等于漏桶上限值b的分组数
3. 对突发长度的管制:若在一定时间t中,b个权标都被取走,这段时间内又注入rt个权标,所以突发长度被限制在rt+b个分组
漏铜机制与加权公平排队结合:为每一个流设置一个队里和漏桶,没个漏桶的bi和ri随优先级的变化而变化,如下图所示:
综合服务IntServ可对单个的应用会话提供服务质量保证,它有两个特点:
1. 资源预留:一个路由器需要知道不断出现的会话已经预留了多少资源
2. 呼叫建立:在会话开始之前,需要一个呼叫建立过程,确定在其分组传送过程中的每个路由器是否能够预留足够的资源保证服务质量
IntServ定义了两类服务:
1. 有保证的服务:确保每一个分组的排队时延有一个严格上限
2. 受控负载的服务:的到更加可靠的服务
IntServ有四个组成部分:
1. 资源预留协议RSVP,是IntServ的信令协议
2. 接纳控制:用来决定是否接受对某一资源的请求
3. 分类器:把进入路由器的分组进行分类,并将不同类别的分组放入不同的队列
4. 调度器:根据服务质量的要求决定分组发送的顺序
“流”是指具有同样的源IP地址、源端口号、目的IP地址、目的端口号、协议标识符及服务质量需求的一串分组
如上图是RSVP的流程:发送端发送PATH报文给所有接受端指明铜线量的特征,接收端用RESV报文(即资源预留请求)报文进行响应。
注意:RESV报文不是吧下游的资源预留值相加,而是取最大的一个
IntServ体系结构的主要问题:
1. 状态信息的数量与流的数目成正比
2. IntServ体系结构复杂
3. 服务质量等级数量太少,不够灵活
区分服务DiffServ的要点:
1. 不改变网络的基础结构,将IP协议中的8位IPv4服务类型字段和IPv6的通信量类字段重新定义为区分服务DS,目前使用前6位DSCP的值来提供不同等级的服务质量,后面两位暂时不使用。在使用DS字段之前,因特网ISP需要和用户商定一个服务等级协定SLA,指明被支持的服务类型,和每一类别所容许的通信量
2. 网络被划分为多个DS域:同一个DS域在一个管理实体的控制下实现同样的区分服务策略
3. 边界路由器的功能较多,可分为分类器和通信量调节器两大部分,调节器由标记器、整形器和测定器三部分组成,
4. DiffServ提供一种聚合功能:将若干流根据DS值聚合成少量流
DiffServ定义了在转发分组时体现服务水平的每跳行为PHB
PHB有迅速转发PHB和确保转发PHB
迅速转发PHB:记为EF PHB或EF,指明离开一个路由器的通信量的数据率必须大于或等于某一数值
确保转发PHB:记为AF PHB或AF,AF的地0~2位把通信量划分为四个等级,为每一个等级提供最低数量的带宽和缓存空间,地3~5位把每个等价再划分为三个“丢弃优先级”当网络拥塞时,丢弃哪些“丢弃优先级”高的分组