第 6 章 多媒体通信协议
第 6 章 多媒体通信协议
6.1 引言
6.2 TCP/IP协议简介
6.3 IP v6协议
6.4 RSVP协议
6.5 ST Ⅱ 协议
6.6 RTP协议
第 6 章 多媒体通信协议
6.1 引 言
对于新协议的研究,有两种观点, 一是采用全新的网络协议,
以充分支持多媒体通信,但存在着和大量已有的网络应用程序相
兼容的问题,在实际中很难推广应用 ; 二是在原有传输协议的基
础上增加新的协议,以弥补原有网络协议的缺陷 。 尽管这种方法
在某些方面也存在一定的局限性,但可以保护用户大量已有的投
资,容易得到广泛的支持 。 这也是目前增强网络对多媒体通信支
持能力的主要方法 。
第 6 章 多媒体通信协议
6.2 TCP/IP协议简介
图 6.1 TCP/IP协议集及分层结构
第 6 章 多媒体通信协议
6.2.1 网络接口
TCP/IP协议不包含物理层和数据链路层协议,只定义了
TCP/IP与各种物理网络之间的网络接口规范 。 这些物理网络包
括多种广域网,如 ARPANET,MILNET和 X.25公用数据网,以
及各种局域网,如 Ethernet,Token Ring,FDDI等各种局域网 。
由网际层中的地址解析协议提供专门的功能来解决 IP地址与各
种网络物理地址转换问题 。
第 6 章 多媒体通信协议
6.2.2
网际层包含有四个协议, IP,ICMP,ARP和 RARP。 其中,
IP是主协议,其它三个协议是辅助协议,以增强网际层的网络控
制和地址解析能力 。 网际层的主要功能是提供基于数据报方式
的数据传输, 路由选择以及网络互连等服务 。
第 6 章 多媒体通信协议
6.2.2.1 IP地址
在互连网体系结构中,每一台主机都要预先分配一个惟一的
32位地址作为该主机的标识,这个主机进行的所有通信都要使用
这个地址来完成,这个地址称为 IP地址 。 IP地址通常由网络标识
(Net)和主机标识 (Host)两部分组成,可标识一个互连网络中任何
一个网络中的任何一个主机 。
IP地址是一种在网际层用来标识主机的逻辑地址 。 当数据报
在物理网络传输时,还必须把 IP地址转换成相应的物理地址,这种
地址映射服务是由网际层的地址解析协议 ARP提供的 。
第 6 章 多媒体通信协议
1,IP
IP地址有二进制格式和十进制格式两种 。 十进制格式是由
二进制翻译过去的,用十进制表示是为了便于使用和掌握 。
二进制的 IP地址共有 32位 。 例如, 10000011,01101011,
00000011,00011000。 每八位组用一个十进制数表示,并用,,,
进行分隔,上例的十进制 IP地址是 131.107.3.24。 IP地址分为 A,
B,C,D,E五类 。 其一般格式如图 6.2所示 。
M NET HOST
0 31
图 6.2 IP地址格式
第 6 章 多媒体通信协议
IP地址格式中,M为类别号, NET为网络号, HOST为主机号
(Internet中的计算机都称为主机 )。 类别不同,这三个字段的位数也
不同,经常使用的是 A,B,C三类 IP地址 。
在 A类地址中,M字段占 1位,即第 0位为 0,表示是 A类地址,第
1~ 7位表示网络地址,第 8~ 31位表示主机地址 。 它所能表示的范
围为 0.0.0.0~ 127.255.255.255,即能表示 126 个网络地址,16 387
064个主机地址 。 A类地址通常用于大型网络的场合 。
在 B类地址中,M字段占 2位,即第 0,1位为, 1 0”,表示是 B类
地址 ; 第 2~ 15位表示网络地址 ; 第 16~ 31位表示主机地址 。 它所能
表示的范围为 128.0.0.0~ 191.255.255.255,即能表示 16 256个网络
地址,64 576个主机地址 。 B类地址通常用于各地区的网管中心 。
第 6 章 多媒体通信协议
在 C类地址中,M字段占 3位,即第 0,1,2位为, 1 1 0”,表
示是 C类地址 ; 第 3~ 23位表示网络地址 ; 第 24~ 31位表示主机地
址 。 它所表示的范围为 192.0.0.0~ 223.255.255.255,即能表示 2
064 512个网络地址,254个主机地址 。 C类地址通常用于校园网
或企业网 。
此外,还有 D类和 E类 IP地址 。 前者是多址广播地址,后者
是实验性地址 。
在 Internet中,IP地址是全局地址,不是任意分配的,必须由
相应的管理机构统一分配 。
第 6 章 多媒体通信协议
2,IP
屏蔽码主要用于说明在一个 IP网络中是否有子网以及子网数
量级,但它不能确切给出具体子网数,也不说明具体的子网号 。
在有子网的 IP地址中,其子网号是用主机号字段的前几位表示的,
所占的位数与子网的数量相对应,如 1位可表示 2个子网 ; 2位可表
示 4个子网 ; 3位可表示 8个子网 …… 具体地说,如果一个 IP网络无子
网,则屏蔽码中的网络号字段各位全为 1,主机号字段各位全为 0;
如果有子网,则屏蔽码中的网络号字段各位全为 1,主机号字段中
的子网号各位全为 1,而主机号各位全为 0。 例如,
第 6 章 多媒体通信协议
① IP地址为 202.114.80.5,屏蔽码为 255.255.255.0,表示在该
IP网络 (网络号为 202.114.80)中无子网 。 这个 IP地址标识的是该 IP
网络中的第 5号主机 。
② IP地址为 202.114.80.5,屏蔽码为 255.255.255.224 (224为
二进制的, 11100000”),表示在该 IP网络中最多有 8个子网,每个
子网可配置 32台主机 。 这个 IP地址标识的是该 IP网络 0号子网中
的第 5号主机 。
屏蔽码的作用就是屏蔽掉 IP地址中的主机号,而保留其网络
号和子网号,以便于路由器寻址 。 如果两个主机属于同一个子网,
则它们之间可以直接进行信息交换,而不需要路由器 ; 如果两个主
机不在同一个子网,即子网号不同,则它们之间就要通过路由进行
信息交换 。
第 6 章 多媒体通信协议
6.2.2.2 ARP协议和 RARP协议
1,ARP
当一个主机向另一个主机发送报文时,只有知道与对方 IP地
址相对应的物理地址后才能在物理网络上进行传输 。 这种地址
解析服务是由 ARP协议提供的 。 应当注意的是,ARP只用于解析
对方的物理地址,而不用于解析本机的物理地址 。
第 6 章 多媒体通信协议
当一个主机需要解析另一个主机的物理地址时,通过 ARP协
议向网络中广播一个 ARP请求报文,报文中包含有目的主机的 IP
地址,以请求与该 IP地址相符合的目的主机物理地址 。 网络上所
有的主机都能接收到这个 ARP请求报文,但只有本机的 IP地址与
报文中目的 IP地址相符合的主机,才回送一个 ARP响应报文,报告
该机的物理地址 。 这样,发送主机就得到了目的主机的物理地址
了 。
在单一网络中,发送方的 ARP请求报文可直接发送给网络中
任何一个主机 。 在互连网络中,发送给另一网络中主机的数据报
要由 IP路由器节点转发 。 因此,发送方必须首先获取 IP路由器节
点的物理地址,即发送 ARP请求报文给该路由器节点 。
第 6 章 多媒体通信协议
2,RARP
如果一个主机初始化后,只有物理地址而没有 IP地址,就可
以通过 RARP协议发送广播式请求报文来请求自己的 IP地址,而
RARP服务器负责对该请求作出应答 。 这样就使得无 IP地址的主
机可以通过 RARP协议来获取自己的 IP地址 。 RARP协议主要用
于无盘工作站来获取自己的 IP地址 。
第 6 章 多媒体通信协议
6.2.2.3 IP协议
IP(Internet Protocol)是 TCP/IP协议集的核心协议之一,它提供
了无连接的数据报传输和互连网路由服务 。 IP的主要任务是通过
互连网传输数据报,各个 IP数据报之间是互相独立的 。 主机上的
IP层基于数据链路层服务向传输层提供服务,IP从源传输层实体
获取数据,通过网络接口传送给目的主机的 IP层 。 IP不保证传送
的可靠性,在主机资源不足的情况下,它可能丢弃某些数据报,同
时 IP也不检查被数据链路层丢弃的报文 。
第 6 章 多媒体通信协议
1,IP数据报格式
图 6.3 IP数据报格式
第 6 章 多媒体通信协议
IP数据报格式中各个字段的简要说明如下,
·版本, 4位,IP协议的版本号,IP v4版本取值为 4;
·IP报头长度 (IHL),4位,IP数据报的报头长度 (以 32 位为单位 );
·服务级别, 8位,用于规定优先级, 传送速率, 吞吐量和可
靠性等参量 ;
·报文长度, 16位,包括报头和数据两部分的总长度 (以字节为
单位 );
·标识, 16位,数据报惟一标识,以便于数据报的分段与重装 ;
·标志, 3位,数据报是否分段标志 ;
第 6 章 多媒体通信协议
·分段偏移, 13位,以 64 位为单位表示的分段偏移 ;
·生存期, 8位,允许数据报在网间传输的存活时间 ;
·上层协议号, 8位,指出发送数据报的上层协议 ;
·报头检查和, 16位,仅用于对报头的正确性检查 ;
·源 IP地址, 32位,发送数据报的源主机 IP地址 ;
·目的 IP地址, 32位,接收数据报的目的主机 IP地址 ;
·任选项, 可变长度,提供任选的服务,如时间戳, 错误报告及
特殊路由等 ;
·填充, 可变长度,保证 IP报头以 32 位为边界对齐。
第 6 章 多媒体通信协议
2,数据报的分段与重装
(1) 数据报分段
在数据报分段时,每个段都要加上 IP报头,形成 IP数据报 。 与数
据报分段相关的字段有,
·标识 (ID),数据报的惟一标识 。 被分段传送的 IP数据报设有
相同的标识 。
·报文长度, 对每一个被分段的 IP数据报都要重新计算其报文
长度 。
·分段偏移, 每一个被分段的 IP数据报要表明它在原始数据报
中的位置,用 64位的倍数来表示 。
·标志, 如果是无分段的 IP数据报,该标志为 0; 如果是有分段的
IP数据报,除了最后一个分段 IP数据报将该标志置为 0 外,其它的都
将该标志置为 1。
第 6 章 多媒体通信协议
(2)
在互连网络中,被分段的各个 IP数据报进行独立的传输,它
们在经过中间路由器转发时可能选择不同的路由 。 这样,到达
目的主机的 IP数据报顺序与发送的顺序不一定相一致 。 因此,目
的主机上的 IP协议必须根据 IP数据报中相关字段 (标识, 长度,
偏移及标志等 )将分段的各个 IP数据报重新组装成完整的原始数
据报,然后再提交上层协议 。
第 6 章 多媒体通信协议
在进行数据报重装时,各个 IP数据报除应具有相同的标识外,
还应具有相同的上层协议号, 源 IP地址和目的 IP地址,并且在一
定的时间内要全部到齐 。 IP协议将满足上述条件的 IP数据报按
分段偏移顺序排队,且只保留第 1段 IP数据报报头,而其它段的 IP
报头均删除,组装成一个完整的原始 IP数据报,并重新计算其报
文长度,填入 IP报头相应的字段 。 最后将组装好的原始 IP数据报
按上层协议号提交给上层协议 。
第 6 章 多媒体通信协议
3,路由选择
路由选择是 IP协议最重要的功能之一 。 在 IP协议中,采用的
是源路由选择策略,由发送端指定发送路由 。 因此,每个主机和路
由器 (TCP/IP中称它为网关 )都保持一个路由选择表,给出互连网
络中各个网络所对应的路由器地址以及该路由器当前的忙闲程度 。
在路由选择表中,网络地址和路由器地址都是用 IP地址表示的,路
由器地址指向 IP数据报应送往的下一个路由器 。 忙闲度是用这个
路由器所发送的数据报数量来衡量的,当一个网络地址有多个路
由时,IP协议总是选择忙闲度值最小的路由 。 为了提高路由查找
速度,路由选择表通常采用散列表 (Hash)结构 。
第 6 章 多媒体通信协议
(1) 数据报发送
当发送节点 IP协议收到上层协议要求发送的数据报时,如果上
层协议已指定了发送路由,则按指定的路由发送数据报 ; 如果上层
协议未指定发送路由,IP协议则以 IP数据报中目的 IP地址为关键
字来搜索路由选择表中的路由 。 如果未找到任何路由,则说明目
的不可达,向上层协议报告错误信息 。 对于已确定的发送路由,无
论是由上层协议指定的,还是从路由选择表中找到的,如果该路由
是直接可达的 (源主机和目的地址在同一网络中 ),则将 IP数据报中
的目的 IP地址通告给网络接口程序 ; 如果该路由不是直接可达的,
则将路由选择表中对应的路由器 IP 地址通告给网络接口程序 。 对
于多路由场合,要通告忙闲度最小的路由器地址 。
第 6 章 多媒体通信协议
(2) 数据报接收
① 当该节点为主机节点时,则比较 IP数据报中的目的 IP地址
与本机 IP地址是否相匹配 。 若匹配,则把 IP数据报递交给对应的
上层协议 ; 否则丢弃该数据报 。
② 当该节点为路由器节点时,需要转发该数据报,即用该数
据报的目的 IP地址从路由选择表中查找转发路由 。 如果找到路由,
则按该路由转发数据报,其过程如前所述 ; 否则,向发送该数据报
的源主机发送 ICMP报文,报告目的不可达 。
如果该节点是一个被配置成具有路由选择功能的主机,则先
执行 ① 。 若不匹配,则是待转发的数据报,不能丢弃掉,而是转入
执行 ② 。
第 6 章 多媒体通信协议
4,IP数据报选项
在 IP数据报的任选项字段中提供了若干选项, 源路由, 记录
路由和时戳等,主要用于控制和测试网络 。 选项处理作为 IP协议
的组成部分,在所有的 IP协议实现中都是不可缺少的 。
第 6 章 多媒体通信协议
6.2.2.4 ICMP
1,ICMP报文格式
图 6.5 ICMP报文格式
IP报头
Type Code Checksum
其它信息
64位的原异常数据报报头
第 6 章 多媒体通信协议
表 6.1 ICMP报文类型
Type ICMP报文类型 Type ICMP报文类型
0
3
4
5
8
11
回送响答
报源抑制
重定向
回送请求
数据报超时
12
13
14
17
18
数据报参数错
时戳请求
时戳响答
屏蔽码请求
屏蔽码响应
第 6 章 多媒体通信协议
2,ICMP差错报文
ICMP最基本的功能就是提供差错报告传输机制 。 对于差错
的处理方式,ICMP协议没有严格的规定 。 事实上,源主机收到
ICMP差错报文后,还需要与应用程序联系起来,才能决定相应的
差错处理方式 。
ICMP的差错报告采用路由器向源主机报告模式,即当路由
器发现 IP数据报差错后,使用 ICMP报文向该 IP数据报的源主机报
告其差错 。 同时,发生差错的 IP数据报将被丢弃掉,不再向前转发 。
第 6 章 多媒体通信协议
(1) 目的不可达报文
路由器的主要功能是为数据报选择路由并转发数据报 。 当
从路由表上查不出与 IP数据报目的 IP地址对应的路由时,则会
发生目的不可达的错误 。 这时,路由器要向源主机发送目的不
可达的 ICMP报文 。 目的不可达 ICMP报文类型 (Type)为 3,并进
一步细分成 13 种子类,用代码 (Code)来标识,其它信息字段未
用,为全 0。
第 6 章 多媒体通信协议
(2) 超时报文
数据报每经过一个路由器时,其生存期都要根据其滞留时
间而递减 。 如果在一个路由器上数据报的生存期递减为 0,该
路由器则会丢弃这个数据报,并向源主机发送 Type=11、
Code=0 的 ICMP报文,报告该数据报生存期超时 。
当目的主机在对数据报进行重装的过程中发生重装超时时,
将丢弃已收到的各个分段数据报,并在第 1 个分段数据报到达
后向源主机节点发送 Type=11,Code=1的 ICMP报文 。
第 6 章 多媒体通信协议
(3) 参数出错报文
当路由器或目的主机在对收到的 IP数据报进行处理时,如果
发现在 IP报头参数中含有无法继续完成报文处理的错误时,则将
该数据报丢弃,并向源主机发送 Type=12,Code=0的 ICMP报文,
并且在 ICMP报文的其它信息字段中用 1个字节为指针来指出差
错在数据报中的位置 (以字节为单位 )。
第 6 章 多媒体通信协议
3,ICMP
ICMP控制报文主要用于拥塞控制和路由控制 。
(1) 报源抑制报文
当路由器的数据报输入速度超过路由器的转发速度时,则可
能发生拥塞现象 。 拥塞控制的概念与流量控制有所不同,流量
控制主要是解决端点对端点的传输速率匹配问题,属于局部控
制 ; 而拥塞控制带有全局性质,因为拥塞可能影响到整个网络
的数据传输,故需要各个节点共同参与协同解决 。
第 6 章 多媒体通信协议
拥塞控制方法有很多,而 TCP/IP采用的是报源抑制技术,即抑
制源主机节点发送数据报的速率 。 具体的过程如下,
① 当路由器或目的主机节点由于缓冲区溢出而无法对输入
的数据报进行处理时,将会丢弃这些数据报,并向源主机节点发送
Type=4,Code=0的报源抑制 ICMP报文 。
② 当源主机节点收到报源抑制 ICMP报文后,相应地降低其
报文发送速度,直到不再收到报源抑制 ICMP报文为止 。 然后,源
主机节点又逐渐增加它的报文发送速度,直到再一次出现报源抑
制 ICMP报文为止 。
对于路由器和目的主机节点而言,最佳的报源抑制报文发送
时间是当前输入的数据报所占用的系统容量接近系统限制时 。 这
样可以减少因重发数据报文所占用的网络带宽 。
第 6 章 多媒体通信协议
(2) 重定向报文
重定向功能提供了一种路由优化控制机制,使源主机能以动
态方式寻址最短路径 。 通常,ICMP重定向报文只能在同一网络
中的源主机与路由器之间使用 。
当路由器 R1从处于同一子网的主机 H1收到一个需转发的 IP
数据报时,R1将检查自身的路由选择表信息,并假设它选定了下
一个路由器 R2继续转发该数据报 。 这时,如果 R1确认 R2和 H1也
处于同一子网时,R1就向 H1发送重定向 ICMP报文,通知 H1将数
据报直接发给 R2将会是一条较短的传送路径 。
重定向报文的类型 (Type)为 5,并进一步分成用 Code标识的 4
个子类,在重定向报文的其它信息字段中要填入重定向的路由器
(如 R2)IP地址 。
第 6 章 多媒体通信协议
4,ICMP请求 /应答报文
(1) 回送请求与响应报文
回送请求与响应报文主要用于测试网络目的节点的可达性 。
源节点使用 ICMP回送请求报文向某一特定的目的主机发送请求,
目的节点收到请求后必须使用 ICMP回送响应报文来响应对方 。
在许多 TCP/IP实现中,提供的一种用户命令 Ping便是利用这种
ICMP回送请求 /响应报文来测试目的可达性的 。
第 6 章 多媒体通信协议
(2) 时戳请求与响应报文
时戳请求与响应报文主要用于估算源和目的节点间的报文
往返时间 。 在报文中使用了三个时戳, 一是初始时戳,为源节
点发送时戳请求报文的时间 ; 二是接收时戳,为目的节点接收到
时戳请求报文的时间 ; 三是发送时戳,为目的节点发送时戳响应
报文的时间 。 源节点首先发送时戳请求报文,然后等待目的节
点返回其响应报文,并根据这三个时戳的时间值来估算两个节
点间的报文往返时间 。
第 6 章 多媒体通信协议
(3) 屏蔽码请求与响应报文
屏蔽码请求与响应报文主要用于源节点获取所在网络的 IP
地址屏蔽码信息 。 源节点在发送请求报文时,将 IP报头中的源
和目的 IP地址字段的网络号部分设为 0。 这样网络上的目的节
点 (通常为路由器 )接收到该请求后,填写好网络的屏蔽码向源
节点回送响应报文 。
第 6 章 多媒体通信协议
6.2.3 传送层
传送层的主要功能是在站点间建立端到端的连接和事务处
理,在进程之间提供可靠的和有效的传输服务 。 TCP/IP的传送
层提供了两个主要的协议, 传输控制协议 TCP(Transmission
Control Protocol) 和用户数据报协议 UDP(User Datagram
Protocol)。
第 6 章 多媒体通信协议
6.2.3.1 TCP协议
TCP协议主要功能是在高层协议 ULP(Upper Level Protocol)
之间提供面向连接的传输服务,这种传输服务提供一种可靠的
进程间通信机制 。 一次数据传输分为三个阶段, 建立连接, 数
据传输和终止连接 。
第 6 章 多媒体通信协议
1,TCP报文格式
图 6.6 TCP报文格式
第 6 章 多媒体通信协议 表 6.2 TCP 报 头 说 明
第 6 章 多媒体通信协议
2,序号
在每个 TCP连接上传送的每个数据字节都有一个与之相对应
的序号,这是 TCP协议的重要概念之一 。 以字节为单位递增的
TCP序号主要用于数据排序, 重复检测, 带重传的正向确认和流
量控制窗口等 TCP协议机制上,使得传输每一个字节数据都是可
靠的 。
TCP报头中的序号字段为 4个字节,表示的序号空间范围为
0~ 232~1,因此发送字节的序号编码算法都要以 232为模 。
TCP序号不仅用于保证数据传送的可靠性,还用于保证建立
连接 (SYN请求 )和拆除连接 (FIN请求 )的可靠性,每个 SYN和 FIN报
文都要占一个单位的序号空间 。
第 6 章 多媒体通信协议
3,建立和拆除连接
在 TCP协议中,建立连接要通过, 三次握手, 机制来完成 。
所谓, 三次握手, 是一种建立连接的同步机制 。 例如,TCP实体 A
使用 SYN报文向 TCP实体 B发出建立连接的请求,TCP实体 B接收
到该请求后,如果同意连接,便发送 ACK报文给予确认,该报文同
时携带 SYN请求,TCP实体 A也要通过发送 ACK报文对 TCP实体 B
的 SYN请求给予确认 。 这样,两个 TCP实体之间便建立起连接 。
在建立连接过程中,如果出现异常情况,如本地同步请求与过去遗
留在网络中的同步连接请求序号相重复, 因系统异常使通信双方
处于非同步状态等,则发现异常情况的一方要发送 RST报文通知
对方进行异常处理 。
第 6 章 多媒体通信协议
拆除连接也是一个三次握手的同步过程,由通信双方共同
完成 。 当一方无数据发送给对方时,可以使用 FIN报文向对方发
出拆除连接请求 。 这时,它虽然不再发送数据,但可以在这个连
接上继续接收数据 。 只有当对方也发出了请求拆除连接的 FIN
报文后,这个 TCP连接才会完全拆除 。 每个 FIN报文都要求对方
使用 ACK报文给予确认 。
在建立连接或拆除连接时,既可以由一方发起而另一方响
应,也可以双方同时发起,但都要经历三次握手的同步过程 。
第 6 章 多媒体通信协议
4,
一旦连接建立起来后,通信双方就可以使用该连接传输数据
了 。 在数据传输过程中,TCP协议采用一种, 窗口, 机制来控制
数据流量,使接收方 TCP实体能够根据自己当前缓冲区容量来控
制发送方 TCP实体传送的数据量 。 流量控制实际上反映了信道容
量和接收缓冲区容量的有效利用和动态分配问题 。
TCP采用的是一种称为信用证的窗口机制,主要通过 TCP段
中的窗口字段和确认号字段实现的 。 窗口对应于一个 TCP实体可
接收数据的序号空间,确认号表示它所希望接收的下一个数据字
节的序号 。
第 6 章 多媒体通信协议
在建立连接时,双方使用 SYN段或 ACK段中的窗口字段捎带
着相互通告各自的窗口大小,即发放信用证 。 在数据传输过程
中,发送方按接收方通告的窗口尺寸和序号发送一定的数据量 。
接收方可根据接收缓冲区的使用状况动态地调整接收窗口,并在
发送数据段或确认段时捎带着将新的窗口尺寸和起始序号 (在确
认号字段中指出 )通告给发送方 。
发送方将按新的起始序号和新的接收窗口尺寸来调整发送
窗口,接收方也用新的起始序号和新的接收窗口大小来验证每一
个输入数据段的可接受性 。
第 6 章 多媒体通信协议
5,PUSH操作
在一个 TCP连接上进行正常数据传送过程中,发送方 TCP会
以自己的方式来分段和发送 ULP递交的数据 。 对于递交了该数据
的 ULP来说,在数据发送完成之前是无法知道数据发送状态 (是
正在发送,还是因等待一个合适的窗口而被延迟发送 ) 的 。
PUSH(推进 )功能为 ULP提供一种强制的数据发送机制,使得
ULP递交的数据能够迅速地从本地推向远地,而不受当前发送窗
口大小和发送方的发送方式的限制 。
第 6 章 多媒体通信协议
当发送方 TCP收到 ULP的 PUSH操作请求后,会在流量控制允
许的范围内进行数据分段并发送本地 TCP缓冲区中所有的数据
(TCP段头中的 PSH标志位被置位 )。 当接收方 TCP收到带有 PSH
标志的 TCP数据段后,会迅速将这些数据段递交给 ULP,并结束
ULP当前的接收命令 。
发送方和接收方 TCP实体对于连续的推进,并不保证各个推
进边界,可以把若干推进单元合成一个推进单元来发送和接收 。
发送方 TCP可以把常规数据和推进数据混合发送,但常规数据只
能放在推进数据之前 。
第 6 章 多媒体通信协议
6, 紧急数据
为了给 ULP之间提供一种紧急信息的快速传递机制,TCP允许
在一个 TCP段中携带紧急数据 (Urgent Data)发送 。 紧急数据必须
位于数据段中所有数据的最前端,并在 TCP段头中设置如下字段,
① 设置 URG标志位,表示当前数据段中携带有紧急数据 。
② 设置紧急指针 。 紧急指针与当前输出段的序号之和便指向
数据流中紧急数据最后一个字节 。 对于一个包含该字节的数据段
来讲,其紧急数据长度从段序号开始一直延续到该字节为止 。
第 6 章 多媒体通信协议
7,
TCP协议提供了一组称为端口 (Port)的地址集,使得单一主机
上多个 ULP可以通过不同的端口号同时使用单一 TCP实体进行通
信,这种通过端口号共享单一 TCP实体的功能称为 TCP多路复用 。
TCP实体对端口号的选取都是独立的,为了保证通信连接的惟一
性,本地 TCP实体只需保证本地端口号的惟一性即可 。 网间唯一
的 IP地址和本地唯一的端口号便惟一地确定了通信连接的一个端
点,这种地址标识也称套接字 (Socket)。 一个本地套接字可以同时
与多个远地套接字建立通信连接 。
第 6 章 多媒体通信协议
8,TCP的优先级和安全性
TCP协议的优先级和安全性参数由 TCP实体的上层协议指
定,并通过 IP协议的选项操作传送给远地通信实体 。 TCP的安全
性参数包括安全性, 分隔域, 用户组和处理限制 。 TCP的安全
性和优先级是可选的功能,在一些 TCP/IP的实现中并不支持优先
级和安全性机制 。
当远地 TCP实体收到的安全性参数与建立连接时所协商的参
数值不相匹配时,或者收到的优先级参数低于协商值时,远地
TCP将通过复位 (RST)报文复位已建立的连接 。
第 6 章 多媒体通信协议
6.2.3.2 UDP协议
1,UDP报文格式
图 6.7 UDP报文格式
源端口号 目的端口号
报文长度 校验和
数据
0 15 16 31
第 6 章 多媒体通信协议
源端口号为发送端的 UDP端口号,支持 UDP多路复用机制 。
它是一个可选的字段,不用时设为 0。
·目的端口号为接收端的 UDP端口号,支持 UDP多路复用机
制 。
·报文长度包括 UDP报头和数据在内的报文长度,以字节为
单位,最小值为 8 (报头长度 )。
·校验和的计算对象包括伪协议头, UDP报头和数据 。 校
验和是可选字段,该字段为 0 时,表示发送端没有为该 UDP数据
报提供校验和 。
第 6 章 多媒体通信协议
2,UDP发送与接收
UDP数据报是通过 IP协议发送或接收的 。 网间寻址由 IP地
址完成,进程间寻址则由 UDP端口来实现 。
当发送数据时,UDP实体构造好一个 UDP数据报后递交给 IP
协议,IP协议要将整个 UDP数据报封装在 IP数据报中,即加上 IP
报头,形成 IP数据报发送到网上 。
第 6 章 多媒体通信协议
在接收数据时,UDP实体首先判断接收到的数据报的目的端
口是否与当前使用的某端口相匹配 。 如果匹配,则将数据报放入
相应的接收队列 ; 否则,丢弃该数据报,并向源端发送一个, 端口
不可达, 的 ICMP报文 。 此外,当接收缓冲区已满时,即使是端口
匹配的数据报也要丢弃 。
UDP在计算校验和时要包括一个伪协议头,它不是 UDP数据
报的有效成分,主要用于验证 UDP数据报是否正确地传送到目的
地 。 伪协议头包含有源 IP地址, 目的 IP地址, 协议号和 UDP报
长等字段,有关信息来自于 IP报头 。
第 6 章 多媒体通信协议
6.2.3.3 传送层端口
传送层的重要功能之一就是提供了面向进程的通信机制 。 因
此,传送层协议必须提供某种方法来标识进程 。 TCP/UDP协议采用
端口 (Port)概念来标识通信进程 。 端口相当于 OSI传输层的服务访
问点 (TSAP),它是一种抽象的软件结构,内部包含一些数据结构和
I/O缓冲区 。 进程通过系统调用与某个或某些端口建立联系后,就
可以使用相应的端口来传输数据了 。
另一方面,端口又是进程访问传输服务的入口点,它提供了多
个进程共享同一端口的多路复用功能 。 每个端口都使用惟一的端
口号来标识,进程的通信主要表现在对端口的操作,通过端口号来
获取相应的端口,然后进行端口的读写操作 。 这样,进程间的通信
操作如同一般的 I/O操作,以程序员熟悉的方式进行,简化了网络应
用程序的编程 。
第 6 章 多媒体通信协议
TCP和 UDP协议的端口号值均是 16 位,分别可以提供 2
16个不同的端口 。 那么以什么样的规则来使用这些端口号才能在
不同主机的进程间进行通信呢? 这就是端口号的分配问题 。
TCP和 UDP协议将端口号分为两部分 。 一部分是保留端口,
占全部端口号的一小部分,以全局方式分配 。 这些端口就是所谓
的, 周知, 端口,由有关的权威机构分配 。 TCP和 UDP都有自己
的保留端口,而且都是从 0 开始顺序向上分配的 。 另一部分是自
由端口,占全部端口号的绝大部分,以本地方式分配 。 当一个进程
与另一个进程通信之前,该进程首先申请一个本地自由端口,然后
再用已知的远地端口 (周知端口或自由端口 )与远地进程建立联系,
并进行数据传输 。
第 6 章 多媒体通信协议
6.3 IP v6 协 议
6.3.1 IP v6报文格式
图 6.8 IP v6报头格式
第 6 章 多媒体通信协议
IP v6报头各个字段意义如下,
·版本号, 4位,表示 IP协议的版本号,IP v6版本取值为 6;
·优先级, 4位,表示该数据报的优先级 ;
·流标识, 24位,与优先级一起共同标识该数据报的服务质量级 ;
·载荷长度, 16位,表示有效载荷长度 (以字节为单位 );
·后续报头, 8位,标识紧接在 IP v6后的后续扩展报头的类型 ;
·步跳限制, 8位,允许数据报跨越路由器的个数,表示该数据报在
网间传输的最大存活时间 ;
·源 IP地址, 128位,发送数据报的源主机 IP地址 ;
·目的 IP地址, 128位,接收数据报的目的主机 IP地址。
第 6 章 多媒体通信协议
图 6.9 一个带有多个扩展报头的 IP v6数据报中的例子
第 6 章 多媒体通信协议
6.3.2 IP v6地址格式
在 IP v4中,32位的 IP地址被分成网络地址和主机地址两部分,
根据不同的地址类别,网络地址和主机地址所分配的位数是不同
的 。 这种地址分配方法的缺陷是不够灵活 。
IP v6对 128位的地址没有作类别限制,允许服务提供者根据实
际需要进行地址划分 。 IP v6的标准地址格式为 X:X:X:X:X:X:X:X,
每个 X为 16位 。 在 IP v6地址中,允许出现连续的 0,并可用,,:”表
示,但一个地址中只能出现,,:”一次,这样对连续多组 X为 0的地
址起到一定的压缩作用 。 IP v6地址使用了地址前缀 ( FP) 概念,
用来表示该地址的前几位,并用 X/Y形式表示,其中 X是地址前缀,
Y是地址前缀的位数 。 例如,5D4C:0000::/16表示其地址前缀为
5D4C。
第 6 章 多媒体通信协议
1,单播地址
单播地址惟一地标识一个接口,以该类地址传送的数据报将
交付给该地址对应的接口 。 IP v6定义了多种单播地址格式,如完
整用户单播地址, NSAP(网络层服务访问点 )地址, 基于地理区
域的地址, 局部地址, 与 IP v4兼容的地址以及其它保留地址类
型 。 图 6.10是完整单播地址格式,其中,
010 REGID PROVID SUBSCID SUBNETID INTERFACEID
图 6.10 完整的单播地址格式
第 6 章 多媒体通信协议
·前 3位是该地址类型的标识符 ;
·REG ID是 Internet服务提供者的注册标识符 ;
·PROV ID为提供者标识符 ;
·SUBSC ID用于标识多个提供者所管理的用户 ;
·SUBNET ID用于标识一个指定的子网 ;
·INTERFACE ID用于标识一个单一接口。
第 6 章 多媒体通信协议
如果 INTERFACE ID是一个接口的全局惟一标识符,则可用它
实现地址的自动生成 。 例如,一个节点通过监听路由器广播消息
而发现了子网前缀,则可用 IEEE 802 MAC地址作为 INTERFACE
ID来构造一个完整的 IP v6地址 。
局部地址用于定义子网中的局部网络,局部网络在未接入
Internet之前可用局部地址进行访问操作 。 如果该局部网络要接入
Internet,可加入地址前缀 ( REG ID+ PROV ID+ SUBSC ID),形
成完整的 Internet地址 。 由于 IP v4相当普及,即使 IP v6将来被推广
使用,IP v4与 IP v6也会长期处于共存的局面 。 因此,必须实现两种
地址格式之间的转换 。 IP v4节点将分为只适用于 IP v4和兼容 IP v6
两种节点 。 为此,IP v6定义了两种相应的地址类型 。 对于兼容 IP
v6的节点,当接收到 IP v6数据报时,可利用隧道技术对 IP v6数据报
再封装,或者通过对 IP报头的转换来实现地址信息转换 。
第 6 章 多媒体通信协议
2,多播地址
多播地址标识了一组接口,以该地址类型传送的数据报将
交付给该地址对应的所有接口 。 IP v6未定义广播 ( broadcast)
地址类型,它可利用多播地址来实现 。
第 6 章 多媒体通信协议
3,
任播地址标识了一组接口,即该地址被分配给多个接口,当
一个数据报发送给该地址时,只有按照路由协议计算出的最近
的接口才接受该数据报 。 这种地址方式可用于标注一组服务提
供者所对应的路由器,发送者利用路由扩展报头,将任播地址作
为一个路由序列的一部分,从多个服务提供者中挑选一个来完
成数据报传送 。
第 6 章 多媒体通信协议
6.3.3 IP v6路由选择
路由器的基本功能是存储转发数据报 。 在转发数据报时,路
由选择算法将根据数据报的地址信息查找路由选择表,选择一条
可到达目的站点的路径 。 路由选择表的维护和更新由路由协议
来完成 。
IP v6的路由选择是基于地址前缀概念实现的,这样可以很方
便地建立层次化的路由选择关系,服务提供者可以根据网络规模
来汇聚 IP地址,充分利用 IP地址空间 。 IP v6中的路由协议尽量保
持了与 IP v4相一致,当前 Internet的路由协议稍加修改后便可用于
IP v6路由 。
第 6 章 多媒体通信协议
6.3.4 IP v6安全机制
IP v6利用扩展报头提供了两种安全机制, 数据报安全认证和
数据加密传输 。 这两种安全机制是分离的,可单独使用,也可一
起使用 。 同时,IP v6还允许高层采用其它的安全体系来实现多层
安全体系 。
① 数据报安全认证 。 它保证数据报的完整传输和源地址的
正确性,但它不提供信息保密性 。 其工作机制是, 发送方根据数
据报的报头, 有效载荷和用户信息等计算出一个值,接收方也根
据接收数据报的相同字段信息计算出一个值,若二者相同,接收
方认为该数据报正确 ;若二者不等则丢弃该数据报 。
第 6 章 多媒体通信协议
② 数据加密传输 。 它采用数据加密方式提供数据传输的
保密性 。 其工作机制是, 发送方对整个数据报进行加密,生成
安全有效载荷 ( ESP),并在 ESP上重新封装一个 IP v6报头后,
再进行传输 。 当接收方接收到该数据报后,删除封装报头,再对
ESP解密后的数据报进行处理 。 封装报头支持多种加密算法,
使用户有较大选择余地 。
第 6 章 多媒体通信协议
6.3.5 IP v6的移动性
图 6.11 移动主机通信
第 6 章 多媒体通信协议
6.3.6 IP v6的 QoS支持
IP v6报头中的优先级和流标识字段提供了 QoS支持机制 。
IP v6报头的优先级字段允许发送端根据通信业务的需要设置数
据报的优先级别 。 通常,通信业务被分为两类, 可流控业务和不
可流控业务 。 前者大多数是对时间不敏感的业务,一般使用 TCP
协议作为传输协议,当网络发生拥挤时,可通过调节流量来疏导
网络交通,其优先级值从 1到 7。 后者大多数是对时间敏感的业
务,如多媒体实时通信,当网络发生拥挤时,则按照数据报优先级
对数据报进行丢弃处理来疏导网络交通,其优先级值从 8到 15。
第 6 章 多媒体通信协议
数据流是指一组由源端发往目的端的数据报序列 。 源节点
使用 IP v6报头的流标识符来标识一个特定数据流 。 当数据流途
经各个路由器时,如果路由器具备流标识处理能力,则为该数据
流预留资源,提供 QoS保证 ; 如果路由器不具备这种能力,则忽略
流标识,不提供任何 QoS保证 。 可见,在数据流传输路径上,各个
路由器都应当具备 QoS支持能力,这样网络才能提供端到端的
QoS保证 。 通常,IP v6应当和 RSVP之类的资源保留协议一起使用,
才能充分发挥应有的作用 。
第 6 章 多媒体通信协议
6.4 RSVP 协 议
图 6.12 RSVP工作原理
第 6 章 多媒体通信协议
6.4.1 Internet综合服务
综合服务是在源端和目的端之间所建立的传输路径上为数
据流提供端到端的 QoS保证,并且数据流所经过的各个路由器
( 或交换机 ) 都要支持这种服务 。 在路由器上,通过为特定数据
流保留资源 ( 如带宽和缓冲区空间 ) 提供所承诺的 QoS。
路由器在分配资源时需要考虑链路层对 QoS的支持能力 。
对于 QoS主动链路层 ( 如 ATM或某些 LAN),路由器负责与链路
层协商,使链路层能够设置合适的 QoS。 这种链路层 QoS的映射
与具体的网络媒体有关,IETF有关工作组提出了有关的映射机制 。
对于 QoS被动链路层 ( 如专线 ),这种映射是没有意义的,因为网
络本身没有提供相应的支持机构 。
第 6 章 多媒体通信协议
1,
GS为合法的数据分组提供一种保证的带宽级, 恒定的端到端
延迟范围和无排队丢失的服务 。 这种服务具有很高质量,主要用
于有严格实时传输需求的场合,如多媒体会议,远程医疗诊断等 。
这类应用通常使用, 回放, 缓冲器,不允许声音或图像信息延迟
到回放时间之后到达 。
在数据流传输路径上的每个路由器,通过分配一个带宽 R和数
据流可能占用的缓冲区空间 B为特定的数据流提供保证服务 。 这
里采用一种漏桶流量模型和算法来限制排队延迟,构造该模型所
需的参数是由 Path报文中的传送说明 Tspec和 Resv报文中的保留说
明 Rspec提供的 。 Tspec和 Rspec分别提供如下参数,
第 6 章 多媒体通信协议
Tspec参数,
·数据流峰值速率 p( bytes /s
·桶深 b( bytes
·漏桶速率 r( bytes /s
·最小管理单元 m (bytes) 3
·最大数据报长度 M( bytes
Rspec参数,
·带宽 R( bytes /s
·时隙 S( ms)
第 6 章 多媒体通信协议
在理想模型中,数据流的排队延迟限制定义为,Qd= b/R
( R≥r) 。
在路由器中,近似模型与理想模型之间存在一定的偏差,需
要引入两个偏差项 C和 D。 这样数据流的排队延迟限制定义为,
Qd= (b/R)+(C/R)+D ( R≥r) 。
考虑到 Tspec和 Rspec各个参数对排队延迟的影响,更精确的
端到端排队延迟限制定义为,
tot
tot
d
tot
tot
d
D
R
CM
Q
D
R
CM
rpR
RpMb
Q
?
?
?
?
?
?
?
??
?
)(
))(( ( p> R≥r)
( R> p≥r)
第 6 章 多媒体通信协议
2,
CLS提供的是有一定延迟量和数据丢失的服务,但延迟和丢
失被限制在一个合理范围内,并且数据流的传输特性并不随着网
络负载的增加而明显降低,仍保持在一个稳定的级别上 。 CLS主
要用于允许有一定延迟和丢失的实时传输场合,如远程多媒体点
播 。 CLS通过 Tspec参数控制网络延迟和数据丢失,提供一种相
当于轻负载的传输特性 。
一旦发送者和接收者之间协商好 QoS(GS或 CLS)级后,就可
以进行数据流传输了 。 在数据流传输过程中,每个数据分组都必
须符合已定义的 Tspec。 否则,路由器将按非法分组处理 。 对于
非法的数据分组,路由器可以有选择地降低 QoS级,以最佳效果方
式传输,并且采取适当的服务策略和更新动作来保证非法数据流
不会影响正在传输数据流的 QoS。
第 6 章 多媒体通信协议
综上所述,在 RSVP中,可将 QoS分成三类,
① 确定型 QoS( 如 GS),必须严格保证 QoS;
② 统计型 QoS( 如 CLS),允许 QoS有一定范围的波动 ;
③ 尽力型 QoS( 如最佳效果传输 ),不提供任何 QoS保证 。
路由器将按 GS,CLS及最佳效果传输的优先次序分配系统资源。
第 6 章 多媒体通信协议
6.4.2 RSVP报文格式
版本号 标志 报文类型 报文检查和
报文生存期 保留 报文长度
图 6.13 RSVP报文公共头格式
第 6 章 多媒体通信协议
·版本号, 4位,说明 RSVP协议的版本号,目前的版本号为 1。
·标志, 4位,目前尚未定义标志位。
·报文类型, 8位,目前定义了 7种报文, 1=Path,2=Resv,
3=PathErr,4=ResvErr,5=PathTear,6=ResvTear,7=ResvConf。
·报文检查和, 16位,用于保证报文传输的正确性。
·报文生存期, 8位,发送报文所使用的 IP生存时间值。
·报文长度, 16位,以字节表示的 RSVP报文总长度。
第 6 章 多媒体通信协议
报文体是用对象表示的,每个对象的第一个 32位字段是对象
头,其格式如图 6.14所示,其中,
对象长度 对象类编号 对象类型
对象内容
图 6.14 RSVP对象格式
第 6 章 多媒体通信协议
·对象长度, 16位,以字节表示的对象长度,且必须是 4的倍数 。
·对象类编号, 8位,标识对象类,每个对象类有一个对象名,
且必须是大写 。 常用的对象类有, SESSION(会话 ),RSVP-
HOP(RSVP 段 ),TIME-VALUES( 时 间 值 ),STYLE( 风格 ),
FLOWSPEC(流说明 ),FILTER(过滤器说明 ),SENDER-TSPEC(发
送者传送说明 ),ERROR -SPEC(差错说明 ),INTEGRITY(完整
性 ),SCOPE(作用范围 ),RESV-CONFIRM(保留确认 )等 。
·对象类型, 8位,通常和对象类编号一起使用,定义了对象类
型 。
·对象内容, 定义了对象的内容,最大长度为 65 528个字节。
第 6 章 多媒体通信协议
6.4.3 发送者的 Path报文
RSVP规定,发送者在发送数据前首先要发送 Path报文与接
收者建立一个传输路径,并协商 QoS级 。 一个 Path报文包含有如
下的信息 。
① Phop,后续节点地址,指出转发该 Path消息的下一个支持
RSVP节点 (路由器或接收端 )的 IP地址 。 该路径上每个支持
RSVP的路由器都要更新这个地址 。
② Sender Template,发送者模板,包括发送者的 IP地址和可
选择的发送者端口。
第 6 章 多媒体通信协议
③ Sender Tspec,发送者传输说明,其传输说明是用一种漏桶
流量模型描述的,其中有数据流峰值速率 p,桶深 b,标记桶速
率 r,最小管理单元 m以及最大数据报长度 M等参数 。
④ Adspec,通告说明,可选项,含有 OPWA(One Pass With
Advertising)信息,使得接收者能计算出应保留的资源级,以获得
指定的端到端 QoS。 该路径上每个支持 RSVP的路由器都要更
新这些信息 。
第 6 章 多媒体通信协议
1,
DGP段包含如下字段,
·最小路径等待时间 。 它是指在路径上单个连接等待时间的
累加和,表示无任何排队延迟的端到端等待时间 。 在 GS中,接收者
可以使用该值计算端到端排队延迟限制以及所有端到端延迟限制 。
·路径带宽 。 它是指在路径上单个连接带宽的最小值 。
·全局中止位 。 它是一个标志位 。 发送者创建 Adspec时,该位
置 0。 当路径上任何不支持 RSVP的路由器都可将该位置 1,以通知
接收者 Adspec是无效的 。
·综合服务 (IS)网段 (hop)计数 。 在路径上每个支持 RSVP/IS的
路由器都将该值加 1。
·路径最大传输单元 (PathMTU)。 它是指在路径上单个连接
最大传输单元 (MTU)的最小值 。
第 6 章 多媒体通信协议
2,保证服务 (GS)
Adspec的 GS段包含如下字段,
·Ctot。 端到端偏差项 C的总和 。
·Dtot。 端到端偏差项 D的总和 。
·Csum。 自上次刷新点开始 C的总和 。
·Dsum。 自上次刷新点开始 D的总和 。
偏差项 C和 D是由漏桶流量模型引入的,表示路由器的近似模
型与理想模型之间所允许的偏差 。 在分布树的某些点上,Csum和
Dsum被用于刷新处理 。
第 6 章 多媒体通信协议
·GS中止位 。 它是一个标志位 。 发送者创建 Adspec时,该
位置 0。 当路径上任何支持 RSVP/IS但不支持 GS的路由器都可
将该位置 1,以通知接收者 Adspec是无效的,服务得不到保证 。
·GS通用参数头 /值 。 它是一个选项 。 就接收者所希望的
GS保留而言,如果选择了其中的任何一个,都会忽略 DGP段所
给定的相应值 。
第 6 章 多媒体通信协议
3,被控负载服务 (CLS)
Adspec的 CLS段包含如下字段,
·CLS中止位 。 它是一个标志位 。 发送者创建 Adspec时,该
位置 0。 当路径上任何支持 RSVP/IS但不支持 CLS的路由器都可
将该位置 1,以通知接收者 Adspec是无效的,服务得不到保证 。
·CLS通用参数头 /值 。 它是一个选项 。 与 GS段一样,它忽略
DGP段所给定的特殊服务通用参数 。
第 6 章 多媒体通信协议
6.4.4 接收者的 Resv报文
接收者接收到的 Path报文后,从 Sender Tspec和 Adspec字段中
提取传输特性参数和 QoS参数,利用这些参数建立起接收者保留
说明 Rspec。 Rspec由如下参数组成,
·带宽 R。 根据 Sender Tspec参数计算而成 。 如果得到的 R值
大于 Adspec中的路径带宽值,则 R值必须相应地减小 。 R值将保存
在各个路由器上 。
·时隙 S。 表示端到端延迟限制与应用所需端到端延迟的差
值,初始为 0。 通过设置 S值,将为各个路由器在确定局部保留上
提供更多的伸缩性,提高端到端保留的成功率 。
第 6 章 多媒体通信协议
利用 Rspec可以创建 Resv报文 。 一个 Resv报文包含如下的内容,
·保留模式指示 。 可以是 FF,SE或 WF模式之一 ( 下面将讨
论 ) 。
·过滤器说明 (Filterspec)。 用来标识期望接收的发送者集合,
采用与一个 Path报文中 Sender Template完全相同的格式 。 对于 WF
模式,将被忽略 。
·数据流说明 (Flowspec)。 用来说明一个期望的服务质量 (QoS),
由保留说明 Rspec和流量说明 TRspec组合而成 。 通常,将 TRspec设
置成与 Sender Tspec相等 。
·保留确认对象 (ResvConf)。 是可选项,含有接收者的 IP地址,
用于指示接收该保留请求的节点 。 ResvConf报文在分布树上向上
传播,最终达到该消息接收者,表明端到端保留成功 。
第 6 章 多媒体通信协议
6.4.5 路由器的 RSVP处理
1,Path
在点到多点的传输路径上,中间要通过多个支持 RSVP的路
由器,形成一个分布树 。 这些路由器都要截获 Path报文,并检查其
有效性 。 如果发现错误,则要卸下 Path报文,并用 PathErr报文通
告给上游的发送者,以便让发送者采取适当的动作 。 如果 Path报
文是有效的,则路由器将执行下列处理,
·更新发送者路径状态登记项 。 发送者是用 Sender Template
标识的,如果当前尚无路径状态,则要建立该状态 。 路径状态包
含有 Phop,Sender Tspec以及任意一个 Adspec。 Phop是必须存
储的,以便在分布树上逆向查找转发 Resv报文的路由 。 Sender
Tspec提供一个阈值,用于对 Resv报文中的 Tspec进行限制 。
第 6 章 多媒体通信协议
·设置清除计时器 。 每个路径状态登记项采用软状态机制,必
须使用 Path报文进行周期性更新 。 如果在清除计时器规定的时间
间隔内没有收到 Path报文,则会自动删除相应的路径状态登记项,
以免死亡的路径状态登记项长期残留在路径状态登记表中 。 每
当收到 Path报文,要重新设置清除计时器,路径状态信息就不会因
超时而被删除 。
·生成和转发 Path报文 。 根据所存储的路径状态信息生成新
的 Path报文,并沿着分布树向下转发,以刷新下游路由器的路径状
态 。 在下列情况下将创建并发送 Path报文, 一是每当所存储的路
径状态发生改变时,将立即创建 Path报文并发送给下游节点 ; 二是
每当更新周期计时器发生超时,将周期地创建 Path报文并发送给
下游节点 。
第 6 章 多媒体通信协议
2,Resv报文处理
·将有效的 Flowspec提交给路由器的传输控制模块,由传输控
制模块实施许可控制和策略控制,以确定是否接受保留 。 许可控
制将单独确定是否有足够容量来满足保留请求,策略控制采用某
种策略实施控制,例如采取某种策略来限制用户的保留带宽等 。
·如果该保留请求被拒绝,则路由器将保持已有的保留状态,
并向下游节点发送一个 ResvErr报文 。
·如果该保留请求被接受,则路由器用有效的 Flowspec和
Filterspec设置其保留状态 。
这时,可采用某种规则来改变与该保留请求相关联的 Rspec,
还可以采用某种规则将该保留请求和其它保留请求相合并,产生
新的 Resv报文 。
第 6 章 多媒体通信协议
3,保留模式
RSVP 的资源保留是针对路由器端口的,路由器使用
Filterspec和 Flowspec为相应的端口定义其保留模式,并实施对资
源保留的控制 。
在一个路由器端口上,可能会收到多个 Resv报文 。 路由器对
这些 Resv报文中的 Filterspec和 Flowspec进行合并处理,重新生成
Filterspec和 Flowspec。 合并处理规则依赖于每个 Resv报文的保留
模式 ; 然后重新创建 Resv报文,并把它们发送到上游路由器 。 需
要说明的是,合并处理仅适合于相同的会话组,且只能发生在使
用相同保留模式的报文间 。
第 6 章 多媒体通信协议
目前,可用的保留模式主要有如下三种,
① Fixed Filter(FF)。 为一个特定发送者建立资源保留状态,
由 Filterspec指定一个特定发送者,合并后的 Flowspec为该发送者
所有保留请求中最大的 Flowspec值 。 重新生成的 Resv报文传送
给该发送者的上游节点 。
② Wildcard Filter(WF)。 为所有发送者建立共享的资源保
留状态,Filterspec是通配符,表示可以和任何发送者相匹配,合并
后的 Flowspec为所有保留请求中最大的 Flowspec值 。 重新生成
的 Resv报文传送给它的上游节点 。
第 6 章 多媒体通信协议
③ Shared Explicit(SE)。 为一个特定的发送者集合建立共
享的资源保留状态,由 Filterspec指定一个特定的发送者集合,合
并后的 Flowspec为这个发送者集合所有保留请求中最大的
Flowspec值 。 重新生成的 Resv报文传送给这些发送者的上游节
点 。
在这些保留模式中,FF用于单播 (点到点通信 ),SE用于组
播 (点到多点通信 ),WF用于广播 (点到所有点通信 ) 场合,其中
SE和 WF适合于会议应用,因为在这类应用中,某一时刻只有一
个发送者是主动的,应当为发送者的音频和视频流建立资源保
留状态,并保留发送带宽 。
第 6 章 多媒体通信协议
6.5 ST Ⅱ 协 议
STⅡ ( Internet Stream Protocol version 2) )是由 IETF提出的一
种面向连接的网络层协议,主要用于支持多媒体通信 。 STⅡ 的协
议机制与 RSVP有些类似,在无连接协议上为特定的数据流建立固
定的传输路径,并为其保留系统资源,将传输延迟限制在指定的范
围内,从而保证了端到端多媒体通信的服务质量 。 STⅡ 要求发送
方, 路由器和接收方必须协同工作,在传输路径上的各个路由器
都必须支持 STⅡ 协议 。
STⅡ 由两个协议组成, 流控制报文协议 (Stream Control
Message Protocol,SCMP)和流协议 (Stream N Protocol,ST)。 发送
方利用 SCMP为特定的数据流建立一个多点传输的虚电路,并协商
资源预留 。 然后利用 ST协议在该虚电路上传输数据流 。 在虚电
路上支持 STⅡ 的各个路由器都要为该数据流保留系统资源,保证
它所承诺的 QoS。
第 6 章 多媒体通信协议
在传输数据之前,发送方要使用 SCMP报文与接收方建立一
条端到端的单向连接 。 SCMP报文包含如下类型,
· 用于建立连接的 SCMP 报文, CONNECT( 连接 ) 和
ACCEPT(接受 );
·用于断开连接的 SCMP报文, DISCONNECT(断开连接 )和
REFSE(拒绝 );
·用于改变 QoS的 SCMP报文, CHANGE(改变 );
·用于申请加入接收组的 SCMP报文, JOIN(加入 )。
在建立连接时,发送方使用带有流说明的 CONNECT报文建
立一条端到端的单向连接,在流说明中可以定义如下参数, 流标
识 ( SID), QoS参数, 接收站组 。
第 6 章 多媒体通信协议
在支持 STⅡ 的路由器上,根据流说明为指定的数据流保留系
统资源,并做如下处理,
·使用 SID建立虚连接 ( 即固定的转发路径 ) ;
·按 QoS参数要求预留资源,以保证所承诺的 QoS;
·生成多点通信所需的路由转发树,接收方的 ACCEPT报文将
逆向遍历该树并传送给发送方 。
在数据传输时,发送方, 路由器和接收方要协同工作,为指定
的数据流提供端到端的 QoS保证,即,
·发送方在发送每个 ST报文时都要加入该 SID。
·路由器按路由转发树转发这些 ST报文,且保证所承诺的 QoS
( 转发和排队延迟 ),但不提供差错控制和流量控制,它们由上层
协议实现 。
·接收方的应答报文将逆向遍历该树并传送给发送方。
第 6 章 多媒体通信协议
6.6 RTP 协 议
6.6.1 RTP报文格式
V P X CC M PT 序列号
时戳
同步信源 (SSRC)标识符
特约信源 (CSRC)标识符

图 6.15 RTP报头格式
第 6 章 多媒体通信协议
·V,RTP协议的版本号,占 2位,当前协议版本号为 2。
·P,填充标志,占 1位,如果 P=1,则在该报文的尾部将填充一
个或多个额外的八位组,它们不是有效载荷的一部分 。
·X,扩展标志,占 1位,如果 X=1,则在 RTP报头后跟有一个扩
展报头 。
·CC,CSRC计数器,占 4位,指示 CSRC 标识符的个数 。
·M,标记,占 1位,不同的有效载荷有不同的含义,对于视频,
标记一帧的结束 ; 对于音频,标记会话的开始 。
·PT,有效载荷类型,占 7位,用于说明 RTP报文中有效载荷的
类型,如 GSM音频, JPEM图像等 。
第 6 章 多媒体通信协议
·序列号, 占 16位,用于标识发送者所发送的 RTP报文的序
列号,每发送一个报文,序列号增 1。 接收者通过序列号来检测
报文丢失情况,重新排序报文,恢复数据 。
·时戳 (Timestamp),占 32位,时戳反映了该 RTP报文的第一
个八位组的采样时刻 。 接收者使用时戳来计算延迟和延迟抖动,
并进行同步控制 。
·同步信源 (SSRC)标识符, 占 32位,用于标识同步信源 。 该
标识符是随机选择的,参加同一视频会议的两个同步信源不能
有相同的 SSRC。
·特约信源 (CSRC)标识符, 每个 CSRC标识符占 32位,可以
有 0~ 15个 。 每个 CSRC标识了包含在该 RTP报文有效载荷中的
所有特约信源 。
第 6 章 多媒体通信协议
6.6.2 RTCP报文类型与格式
RTP控制协议 (RTCP)通过周期性地发送 RTCP报文实施协
议控制功能 。 RTCP报文是一种短报文,由固定的 RTCP报头和
结构化的元素两部分组成,其发送机制与 RTP报文相同 。 为了
实施不同的控制功能,RTCP定义了如下的报文类型,
·SR,发送者报告报文 ;
·RR,接收者报告报文 ;
·SDES,信源描述报文 ;
·BYE,结束报文。
第 6 章 多媒体通信协议
在复合 RTCP报文中,每个 RTCP 报文均被独立地处理 。 为
了实现协议功能,每个复合 RTCP报文必须遵守以下规定,
·由于接收报告在带宽允许的情况下要定期地传送,因此每
个复合 RTCP报文中应包含一个接收报告,并且应当排在其它
RTCP报文之前 。
·为了使新的接收者尽快地收到信源标识符来标识同步信
源,因此每个复合 RTCP报文中应该包含信源描述规范名 (SDES
CNAME)。
第 6 章 多媒体通信协议
1,SR报文
V P RC PT=(SR=200) 报文长度
SSRC标识符
NTP时戳 (most significant word)
NTP时戳 (least significant word)
RTP时戳
发送者的报文计数
发送者的有效载荷计数
SSRC -1标识符
丢失率 报文丢失累计
接收到的最高序列号
平均延迟抖动
最近发送 SR的时间
LSR的时间差
SSRC-2标识符
···

6.
16 SR


第 6 章 多媒体通信协议
(1) RTCP
RTCP报头部分包含了一个 RTCP报文的公共信息,其中,
·V,版本号,占 2位,标识 RTP版本,和 RTP报头中的版本号相同,
当前版本号为 2。
·P,填充标志,占 1位,如果填充标志置位,则在单一 RTCP报文
中,其尾部应填充一些八位组,并非控制信息 ; 在复合 RTCP报文中,
只能在最后一个独立的报文中进行填充 。
·RC,接收报告计数,占 5位,指出接收报告块的个数 。
·PT,报文类型,占 8位,SR报文类型标识符为 200。
·报文长度, 占 16位,RTCP报文长度减 1,包括报头和填充,并
且以 32位为单位 。
·SSRC标识符, 占 32位,为发送该 SR报文的同步信源标识符。
第 6 章 多媒体通信协议
(2)
发送者信息部分记录了有关本机发送 RTP报文情况的信息,
其中,
·NTP时戳, 占 64位,指出该 SR报文发送时的全局网络时间 。
·RTP时戳, 占 32位,和 NTP时戳相一致的时间,但必须和 RTP
报文中的时戳保持相同的时间单位和相同的位移值 。
·发送者的报文计数, 占 32位,该发送者从开始传送 RTP报文
到该 SR报文产生的时间间隔内共发送的 RTP报文总数 。
·发送者的有效载荷计数, 占 32位,该发送者从开始传送 RTP
报文到该 SR报文产生的时间间隔内共发送的有效载荷总数,以
八位组为单位,不包括报头和填充 。
第 6 章 多媒体通信协议
(3)
接收报告块的个数取决于本机自上次发送接收报告到现在
的时间间隔内收到的所有 RTP报文中所含的同步信源个数 。 本机
将通过接收报告块向这些同步信源反馈本机的接收情况 。 一个
接收报告块对应于一个同步信源 。 接收报告块包括以下各部分,
·同步信源标识符 (SSRC - n),占 32 位,标识在最近传输间
隔内曾向本机发送过 RTP报文的同步信源,本机通过该接收报告
块向这个 SSRC -n反馈接收信息 。
·丢失率, 占 8位,在最近传输间隔内,从 SSRC -n接收的 RTP
报文的丢失率 。
·报文丢失累计, 占 24位,从开始接收到现在为止,从 SSRC
-n接收的 RTP报文的累计丢失数 。
第 6 章 多媒体通信协议
·接收到的最高序列号, 占 32位,从 SSRC -n接收到的 RTP报
文的最高序列号 。
·平均延迟抖动, 占 32位,每当从同步源 SSRC -n收到第 i个
RTP报文时,则按下列公式计算平均延迟抖动, Ji=Ji-1+(|D(i-1,i)|-Ji-
1)/16。 其中,D(i-1,i)为延迟抖动 。
·最近发送 SR的时间 (LSR),占 32位,从 SSRC-n接收到的最近
一个 SR报文中所记录的发送该 SR的时间 。
·LSR时间差 (DLSR),占 32位,从 SSRC-n接收到的最近一个
SR的时刻到发送该接收报告之间的时间差 。
第 6 章 多媒体通信协议
图 6.17 LSR和 DLSR关系示意图
第 6 章 多媒体通信协议
2,RR报文
图 6.18 RR报文
V P RC PT=(SR=201) 报文长度
SSRC标识符
SSRC -1标识符
丢失率 报文丢失累计
接收到的最高序列号
平均延迟抖动
最近发送 SR的时间 (LSR)
LSR的时间差 (DLSR)
SSRC -2标识符
第 6 章 多媒体通信协议
图 6.19 SDES报文
3,SDES报文
V P SC PT=(SDES=202) 报文长度
SSRC/CSRC_1
SDES项
· · ·
SSRC/CSRC_2
SDES项
· · ·
第 6 章 多媒体通信协议
其中,
·V, 版本号,占 2位,标识 RTP版本,和 RTP报头中的版本号相
同,当前版本号为 2。
·P,填充标志,占 1位,如果填充标志置位,则在单一 RTCP报
文中,其尾部应填充一些八位组,并非控制信息 ; 在复合 RTCP报文
中,只能在最后一个独立的报文中进行填充 。
·SC,同步信源计数,占 5位,指出 SDES报文中包含的 SSRC 或
CSRC块个数 。
第 6 章 多媒体通信协议
·PT,报文类型,占 8位,SDES报文类型标识符为 202。
·报文长度, 占 16位,RTCP报文长度减 1,包括报头和填充,
并且以 32位为单位 。
·SSRC/CSRC标识符, 占 32位,每个块包括一个 SSRC或
CSRC标识符和 0个到多个描述项,这些描述项含有该 SSRC或
CSRC的描述信息 。
第 6 章 多媒体通信协议
(1) 源描述项 CNAME
CNAME=1 长度 用户名和域名 ···
8b 8b
此描述项记录了用户的规范名 ( Canonical Name) 。 如果在
一个视频会议中同时使用了多种媒体,它们将作为不同的 RTP会议
传送 。 不同媒体的数据报文和控制报文使用两对不同的 UDP端口
号和 /或组播组地址,但同时参加两个 RTP会议的同一个用户在两
种媒体的 RTCP报文中必须使用相同的规范名,从而使两个会议可
以相互联系 。 由于 SSRC标识符在发生冲突时可能改变,所以
CNAME作为每个会议参加者在会议中的全局唯一标识符,也是多
个视频会议中标识同一参加者的纽带 。
第 6 章 多媒体通信协议
(2) 源描述项 NAME
NAME=2 长度 公共名 ··
8b 8b
(3) 源描述项 EMAIL
EMAIL=3 长度 E-mail 地址 ···
8b 8b
第 6 章 多媒体通信协议
(4) 源描述项 PHONE
PHONE=4 长度 电话号码 ···
8b 8b
此描述项记录了用户的电话号码。
第 6 章 多媒体通信协议
4,BYE报文
图 6.20 BYE报文
V P SC PT(BYE=203) 报文长度
SSRC/CSRC
···
长度 退出理由 ···
···
第 6 章 多媒体通信协议
6.6.3 基于 RTP
RTP通过报头中的序号, 时戳等字段,以及 RTCP报文可提供
一种基于无连接传输协议的端到端控制机制,即,
① 序号字段可用于排序 RTP报文分组,以消除重复分组,保
持视频或音频流内同步和连续地播放 。
② 时戳字段可作为流间同步标识,以保持视频和音频流间同
步和连续地播放 。
③ RTCP报文提供一种基于接收者反馈的网络传输 QoS监测
机制,发送者可利用这种机制实施端到端的强制性同步控制,以
改善当前网络传输的 QoS。
第 6 章 多媒体通信协议
6.6.4 基于 RTP的带宽控制算法
1,接收端的控制策略
接收端通过 RTP协议实施如下的控制策略,
① SSRC字段用于标识不同的信源,以支持多对一或多对多
的多媒体通信 。
② 时戳字段作为流间同步标识,用于媒体流间的流间控制,
以保持视频和音频流间同步和连续地播放,并作为时间量用于计
算报文分组的传输延时, 延时抖动以及数据更新周期等,滤除严
重延时的 RTP报文分组 。
第 6 章 多媒体通信协议
③ 序号字段作为流内同步标识,用于排序 RTP报文分组,
消除重复报文分组,保持视频或音频流内同步和连续地播放 。
④ 将接收端检测到的当前网络 QoS状况通过 RTCP的接收
报告周期地反馈给发送端 。
第 6 章 多媒体通信协议
2,
发送端将采用如下的控制算法来调整传送带宽 。
① 设 bs为发送端当前的带宽,bmin和 bmax分别为应用所设置的
最小带宽和最大带宽,且 bs∈ [ bmin,bmax] 。
② 在每个发送带宽级上保持一个时间片,超时后将根据网络
QoS状况提高或降低一个带宽级,以避免带宽频繁波动 。 这里使
用报文丢失率作为 QoS指示器,并设置一个阈值 。 如果 QoS指示
器超阈,说明网络发生阻塞,通过改变发送速率来调整传送带宽,
疏导网络交通 。
第 6 章 多媒体通信协议
③ 初始时按最大带宽发送报文分组,即 bs← bmax,以提高网络
通道的利用率 。
④ 如果在规定的时间片内 QoS指示器超阈,说明网络发生阻
塞,则在超时后需要降低一个带宽级,即 bs←max {bs-μ,bmin},其中
μ为比例因子 。
⑤ 如果在规定的时间片内 QoS指示器未超阈,说明网络交通
状况良好,则在超时后应当提高一个带宽级,即 bs←min{ bs+μ,
bmax}。
⑥ 在点到多点通信场合中,发送者将面对多个不同网段上的
接收者,而每个网段的交通状况又不尽相同 。 因此,在改变带宽
时可采用多数表决法,即当报文丢失率超阈的接收者超过一定比
例时再改变带宽 。