版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、多媒体技术教程 第17章 多媒体的传输,林福宗 清华大学 计算机科学与技术系 . 2008年9月,2020年7月3日,第17章 多媒体的传输,2/84,第17章 多媒体的传输目录,17.1 多媒体应用协议套 17.1.1 多媒体应用协议的类型 17.1.2 协议套中的主要协议 17.2 实时传输和控制协议 17.2.1 实时传输协议(RTP) 17.2.2 实时控制协议(RTCP) 17.3 实时流播协议 17.3.1 RTSP协议概要 17.3.2 RTSP协议原理 17.4 资源保留协议 17.4.1 RSVP协议概要 17.4.2 RSVP协议
2、原理,17.5 会话启动协议 17.5.1 SIP概要 17.5.2 SIP的请求和响应 17.5.3 SIP服务器 17.5.4 SIP的消息结构 17.6 会话描述和会话通告协议 17.6.1 会话描述协议(SDP) 17.6.2 会话通告协议(SAP) 17.7 多目标广播 17.7.1 多目标广播的概念 17.7.2 多目标广播地址 17.7.3 网际机组管理协议(IGMP) 17.8 下一代网络(NGN)技术,2020年7月3日,第17章 多媒体的传输,3/84,第17章 多媒体的传输,开发互联网的初衷并不是用于传输实时的声音和影视数据,但近年来在IP网上传输声音和影视的研究和开发已
3、成为网络应用的重要方向。众多用户渴望得到服务质量好而费用低的产品,用于可视电话、IPTV、即时通信(instant messaging)、新闻广播、电视会议、网络游戏、软件发行、协同工作和远程教学。 多媒体应用的主要问题是如何保障实时多媒体数据的传输质量,尤其是对那些实时互动的应用。保障传输质量的技术集中体现在多媒体传输协议和控制协议上,协议是技术的精华,是人类智慧的结晶。开发多媒体应用要了解协议的思想,要深入研究协议的细节。如果没有协议可循就要自己去开发,将自己的研究成果变成标准,让大家用你提出的协议。 本章将在众多的多媒体传输和控制协议中选择几个基本协议作介绍,然后介绍应用广泛的多目标广播
4、,2020年7月3日,第17章 多媒体的传输,4/84,17.1 多媒体应用协议套,17.1.1 多媒体应用协议的类型 在IP网上的多媒体应用有两种类型的协议 会话协议和信令协议,它们构成多媒体应用协议套 会话(session)的含义是指两台设备或两个站点之间的持续连接和多媒体数据交换 信令(signaling)的含义是通信双方建立和控制连接所需信息的交换方法 在多媒体协议套中 传输实时视听数据的协议主要靠RTP 其余的协议是控制视听数据的控制协议,2020年7月3日,第17章 多媒体的传输,5/84,17.1 多媒体应用协议套(续1),17.1.2 协议套中的主要协议 过去互联网主要用来提供
5、可靠的数据传送服务,对数据的时延几乎没有什么限制,而且工作得很好。然而,像IP电视和IP电话这样的多媒体应用就要求时延短和抖动小,因此就需要不同的协议来提供所需的服务。现已开发了许多协议并在继续开发新协议,用来加强互联网的体系结构,从而改善多媒体的服务质量 在IP网络上,支持实时视听数据传输的协议构成了多媒体应用协议套,其中最重要的协议包括RTP,RTCP,RTSP,RSVP,SIP,SDP和SAP,2020年7月3日,第17章 多媒体的传输,6/84,17.1 多媒体应用协议套(续2),(1) 实时传输协议(Real-time Transport Protocol,RTP) 位于应用层和UD
6、P之间,用于传输包括声音和影视等实时数据的协议。实时传输协议早期主要针对网上的多媒体广播应用,如用于单目标广播服务(单个广播源向单台接收机)和多目标广播服务(单个广播源向多台接收机),通常与监视传输的RTCP联合使用。现在已广泛用在其他视听服务中 (2) 实时控制协议(Real-Time Control Protocol, RTCP) 与实时协议(RTP)一起工作的传输控制协议,用于在发送者和接收者之间交换控制实时数据传输的消息。RTCP每隔一定时间传送内含控制消息的数据包,用于测定向接收者传送的信息的质量 (3) 实时流播协议(Real-Time Streaming Protocol, RT
7、SP) 网上传输实时、现场的或存储的声音、影视和三维动画的控制协议,允许用户控制播放方式,如快播、慢播和暂停,2020年7月3日,第17章 多媒体的传输,7/84,17.1 多媒体应用协议套(续3),(4) 资源保留协议(Resource Reservation Protocol, RSVP) IETF核准的为“带宽按需调配”开发的传输协议,允许应用程序请求保留专用的带宽,可保障某种程度的服务质量(QoS)。 (5) 会话启动协议(Session Initiation Protocol,SIP) 在IP网上建立呼叫的协议。SIP借助HTTP和SMTP等协议,为多媒体应用定义了分布式结构,用于网
8、上多个用户之间发起、管理和结束任何形式的通话,包括电视、声音、文字、聊天、互动游戏和虚拟现实。SIP与H.323类似,但比较简单,使用的资源也少,因此有可能会替代H.323。 (6) 会话描述协议(Session Description Protocol,SDP) 描述流媒体初始化参数的格式,如会话通告和邀请参与会话。可与实时传输协议(RTP)和会话启动协议(SIP)联用,2020年7月3日,第17章 多媒体的传输,8/84,17.1 多媒体应用协议套(续4),(7) 会话通告协议(Session Announcement Protocol, SAP) 用于向参与多目标广播(multicast
9、)的潜在主机发布广播会话消息。在主机中执行SAP协议的程序可监听公认的多目标广播地址,并接收和组织广播源发送的所有广播通告。SAP发布的广播通告使用会话描述协议(SDP)定义的格式,而实际的广播会话使用实时传输协议(RTP) 以上这些重要协议构成的协议套也称互联网多媒体协议套(Internet multimedia protocol stack) 多媒体应用协议套是TCP/IP协议套中的一部分,它们在整个TCP/IP协议套中的位置和相互关系如图17-1所示 多媒体应用协议的更多信息请看./html.charters/avt-charter.html,2020年7月3日,第17章
10、 多媒体的传输,9/84,17.1 多媒体应用协议套(续5),图17-1 多媒体应用协议套,2020年7月3日,第17章 多媒体的传输,10/84,17.2 实时传输和控制协议,实时传输协议(RTP)和实时控制协议(RTCP)是为网上传送实时多媒体数据开发的协议 RTP提供端对端的实时数据传输服务 RTCP协议用于监视和控制实时数据的传输 RTP和RTCP协议的详细规范定义在RFC 3550(2003)中,并取代1996年发布的RFC 1889,2020年7月3日,第17章 多媒体的传输,11/84,17.2 实时传输和控制协议(续1),17.2.1 实时传输协议(RTP) 实时传输协议(RT
11、P)为在网上传输声音和视像数据定义标准的数据包,广泛用在包括声音点播(AoD)、影视点播(VoD)、因特网电话和电视会议的多媒体应用中 1. RTP协议概要 RTP协议提供端对端的实时声音和视像数据的传输,而对声音和视像数据的压缩和编码格式没有限制,可支持许多格式的声音和视像,如PCM(脉冲编码调制)、MP3、GSM(全球数字移动通信系统)等格式的声音、AVI和MPEG等格式的影视,也可用来传输专有文件存储格式的声音和影视数据。,2020年7月3日,第17章 多媒体的传输,12/84,17.2 实时传输和控制协议(续2),RTP允许给每个广播源分配单独的RTP数据包流。例如,有两个团体参与的电
12、视会议,两台摄像机和两个麦克风生成4个RTP数据包流 。许多流行编码技术(如MPEG影视)在编码过程中都把声音和视像复合在一起以形成单一流媒体,因此也可只生成一个RTP数据包流 RTP (Real-time Transport Protocol)名为“实时传输协议”,其实并非真正的“实时传输”,应理解为“实时数据”的传输协议。因为RTP本身不提供任何机制来确保把实时数据及时送到接收端,不保证在递送过程中不丢失数据包,也没有使用防止数据包次序被打乱的方法,但提供了减少或消除抖动、视听数据同步和视听数据流复合的方法。因此,RTP协议需要使用RTCP来提高服务质量,2020年7月3日,第17章 多媒
13、体的传输,13/84,17.2 实时传输和控制协议(续3),2. RTP协议原理 使用RTP协议的多媒体应用程序运行在应用层,而执行RTP协议的程序运行在应用程序和UDP之间,目的是利用UDP的端口和检查和等功能 RTP既可看成应用层的子层,也可看成传输层的子层,如图17-2所示 由多媒体应用程序生成的声音和影视数据块被封装在RTP数据包中,而每个RTP数据包被封装在UDP数据包中,然后再封装在IP数据包中 在发送端,开发人员必须把执行RTP协议的程序编写到创建RTP数据包的应用程序中,然后应用程序把RTP数据包发送到UDP套接口(socket),通过执行UDP协议的程序生成UDP数据包,20
14、20年7月3日,第17章 多媒体的传输,14/84,17.2 实时传输和控制协议(续4),在接收端,RTP数据包通过UDP套接口输入到应用程序,因此开发人员必须把执行RTP协议的程序编写到从RTP数据包抽出媒体数据的应用程序中,图17-2 协议套中的RTP及其数据封装,2020年7月3日,第17章 多媒体的传输,15/84,17.2 实时传输和控制协议(续5),3. RTP数据包头结构 RTP包头主要由4个域组成:有效载荷类型、顺序号、时间戳和同步源标识符,它的结构如图17-3所示,图17-3 RTP数据包头结构,2020年7月3日,第17章 多媒体的传输,16/84,17.2 实时传输和控制
15、协议(续6),(1) 有效载荷类型域:7位,可支持128种不同的有效载荷类型 对于声音数据,这个域用来指示声音使用的编码类型,如PCM、G.721等。如果发送端在会话或广播的中途决定改变编码方法,发送端可通过改变这个域的内容来通知接收端。表17-2列出了RFC 3551(2003)指定的部分声音有效载荷类型 对于视像数据,有效载荷类型用来指示视像编码类型,如MPEG-1,H.261,MPEG-2,和MPEG-4。发送端也可以在会话期间改变视像的编码方法。表17-3列出了RFC 3551(2003)指定的部分视像有效载荷类型 (2) 顺序号:16位 每发送一个RTP数据包顺序号加1。接收端可用它
16、来检查数据包是否有丢失,并按顺序号来处理数据包。例如,接收端的应用程序接收一个RTP数据包流,这个RTP数据包在顺序号86和89之间有一个间隔,这就表明数据包87和88已经丢失,需要采取措施来处理,2020年7月3日,第17章 多媒体的传输,17/84,17.2 实时传输和控制协议(续7),(3) 时间戳:32位 反映RTP数据包中第一个字节的采样时刻。接收端可用这个时间戳来去除由网络引起的数据包的抖动,并可为播放提供同步功能。 (4) 同步源标识符(SSRC):32位 随机选择的32位号码,用于标识RTP数据包流的起源,在RTP会话期间的每个数据包中都有一个明确的SSRC号码。 (5) 贡献
17、源标识符(CSRC):每个标识符用32位 用于标识有效载荷的贡献源。贡献源的数目最多为15个,其数目由CC域中的数值决定。 (5) 其他域 版本号(V): 2位,标识RTP版本号; 填充(P): 1位,其值设置为1,表示数据包结尾有附加的可用于加密的字节,但不属于有效载荷; 扩展(X): 1位,其值设置为1,表示有一个扩展包头; 贡献源数目(CC): 4位; 标记(M): 1位,用于标记事件,如视像帧的边界,2020年7月3日,第17章 多媒体的传输,18/84,17.2 实时传输和控制协议(续8),* 时钟率用于产生时间戳,表17-2 RFC 3551指定的部分声音有效载荷类型,2020年7
18、月3日,第17章 多媒体的传输,19/84,17.2 实时传输和控制协议(续9),表17-3 RFC 3551指定的部分视像有效载荷类型,2020年7月3日,第17章 多媒体的传输,20/84,17.2 实时传输和控制协议(续10),17.2.2 实时控制协议(RTCP) 由于RTP没有提供服务质量保障机制,因此应用程序要用RTCP来监视和控制实时数据的传输 1. RTCP协议概要 RTCP的主要功能是为收发两端的应用程序提供有关会话传送质量的数据包 每个RTCP数据包不是封装声音数据或视像数据,而是封装收发两端的统计信息,包括实时数据的数据包数目、传输过程中丢失的数据包数目、数据包的抖动和往
19、返的延迟时间等。 RTCP规范没有指定应用程序如何使用控制数据包中的信息,这完全取决于应用程序开发人员。例如,发送端可根据这些数据包中的信息来修改视听数据编码器的输出速率,接收端可用来判断问题是本地的、区域性的还是全球性的,网络管理员也可用数据包中的信息来评估网络在多媒体应用中的性能,2020年7月3日,第17章 多媒体的传输,21/84,17.2 实时传输和控制协议(续11),使用RTCP提高实时数据传输质量的原理如图17-4所示。在RTP会话期间 每个参与者周期性地向所有其他参与者发送RTCP控制数据包 对于使用RTP的互动应用或广播应用,属于这个会话的所有RTP和RTCP数据包都使用相同
20、的网络地址(如广播地址)传送,但使用不同的端口号把RTP数据包和RTCP数据包区分开来,RTCP用的端口号是RTP端口号加1 收发两端的应用程序使用这些数据包中提供的信息来监视服务质量,以便决定下一步该做什么工作 减少网络上的交通 当有许多接收者参与同一个会话时,RTCP数据包的数目就非常多,这就要限制发送RTCP数据包的时间间隔,以减少网络上的交通 通常,执行RTCP协议的软件试图将RTCP的交通限制在会话带宽的5%。例如,发送端以2 Mbps的速率发送视像,RTCP的交通将被限制在100 kbps以内,2020年7月3日,第17章 多媒体的传输,22/84,17.2 实时传输和控制协议(续
21、12),图17-4 每个参与者周期性地发送RTCP控制数据包,2020年7月3日,第17章 多媒体的传输,23/84,17.2 实时传输和控制协议(续13),2. RTCP数据包类型 实时控制协议(RTCP)定义了五种类型的控制数据包,用于携带各种控制信息。这些控制数据包统称为“RTCP数据包(RTCP packet)”,它们使用与其他数据包相同的方法发送 (1) SR(Sender report)发送者报告 用于给参与者发送实时数据的传送摘要,并接收来自参与者的统计信息。传送摘要包括RTP流的同步源标识符,当前的时间,发送的数据包数目和发送的字节数等 (2) RR(Receiver repo
22、rt)接收者报告 用于接收来自参与者的统计信息,包括丢失的数据包、最后接收到的顺序号和平均的抖动间隔,2020年7月3日,第17章 多媒体的传输,24/84,17.2 实时传输和控制协议(续14),(3) SDES(Source description items)RTP源描述项 包含标识RTP源的标识符,称为“规范名称(canonical name,简写为CNAME)”。由于同步源标识符(SSRC)是随机生成的,当出现冲突或应用程序重新启动时,SSRC有可能变化,而接收者需用CNAME来跟踪 (4) BYE(Goodbye)再见; (5) APP(Application-specific f
23、unctions)特定应用功能。 RTCP本身不提供加密或认证方法,如有需要可使用RTP的扩展协议(RFC 3711),称为安全实时传输协议(Secure Real-time Transport Protocol,SRTP) 注:在使用RTCP协议的过程中,如在IPTV这样的大型应用中,网上已有实践报告和文章指出,在两个RTCP报告之间会产生很长的时延,这可能会使发送者根据接收者报告的消息做出的评估与实际会话状况有出入,因此需要有比较好的方法来解决,2020年7月3日,第17章 多媒体的传输,25/84,17.3 实时流播协议,17.3.1 RTSP协议概要 实时流播协议(Real-Time
24、Streaming Protocol,RTSP)是在应用层用来控制RTP会话的协议,用于控制实时多媒体数据在网上的传输,可为客户端的媒体播放器提供远程控制功能,如暂停、快播和从头开始播放。RTSP是由哥伦比亚大学、Progressive Networks和Netscape公司开发的协议,详细规范定义在RFC 2326(1998)中 在大多数情况下,RTSP使用TCP协议传送播放器的控制消息,使用UDP协议传送视听数据。虽然RTSP使用UDP作为默认的视听数据传送,但在某些情况下,如防火墙阻止UDP交通时,RTSP也可使用TCP协议传送视听数据。RTSP协议使用TCP和UDP都可用的544端口,
25、备用的端口号是8544。,2020年7月3日,第17章 多媒体的传输,26/84,17.3 实时流播协议(续1),在1998年发布的RTSP协议定义了控制媒体流的12种方法(method),其中8种说明如下 (1) SETUP(设置):服务器为媒体流配置资源(如存放媒体流的URL),并启动RTSP会话 (2) PLAY(播放):根据SETUP设置的资源启动数据传输,开始播放一个或多个媒体流 (3) PAUSE(暂停): 暂停播放一个或多个媒体流,但不释放服务器资源 (4) TEARDOWN(终止):用于终止会话,释放与流播有关的所有资源。 (5) DESCRIBE(描述):描述视听媒体流。 (
26、6) RECORD(录制):启动流媒体录制功能; (7) ANNOUNCE(通告):改变媒体对象的描述; (8) REDIRECT(重定向):告诉客户需要连接到另一个服务器地址,2020年7月3日,第17章 多媒体的传输,27/84,17.3 实时流播协议(续2),17.3.2 RTSP协议原理 RTSP在语法和操作上与 HTTP(详见第21章)类似,但在HTTP协议的基础上添加了新的请求。HTTP是无状态的协议,而RTSP是有状态的协议 执行RTSP协议的程序实际上就是维护客户机和服务机的状态。图17-5是RTSP协议的简化状态图,客户机和服务机都有三个状态 (1) INIT(初态):在客户
27、机和服务机之间没有RTSP会话 (2) READY(准备态):创建RTSP会话,准备传输数据 (3) PLAYING(播放态):传输和播放流媒体 这些状态之间的转换是通过执行各种方法实现的,2020年7月3日,第17章 多媒体的传输,28/84,17.3 实时流播协议(续3),使用RTSP协议的工作过程见图17-6。这个工作过程也是对“边流边播”做进一步的说明。媒体播放器和媒体服务器之间的互动过程如下,图17-5 RTSP的简化状态图,2020年7月3日,第17章 多媒体的传输,29/84,17.3 实时流播协议(续4),(1) 用户通过Web浏览器向Web服务器发送HTTP GET消息,请求
28、提供视听媒体,而Web服务器把描述媒体流的“演示描述(presentation description)”文件发送给Web浏览器 (2) Web浏览器得到响应后打开媒体播放器,并将描述文件转发给媒体播放器 (3) 媒体播放器向媒体服务器发送SETUP(设置)请求消息 (4) 媒体播放器得到媒体服务器的响应后发送PLAY请求消息 (5) 媒体服务器发送认可消息,并用RTP/RTCP向媒体播放器发送视听数据 (6) 如果媒体播放器向媒体服务器发送暂停PAUSE请求,媒体服务器就暂停传输数据 (n) 媒体播放器发送TEARDOWN请求,终止RTSP会话,2020年7月3日,第17章 多媒体的传输,3
29、0/84,17.3 实时流播协议(续5),图17-6 RTSP的工作过程,2020年7月3日,第17章 多媒体的传输,31/84,17.4 资源保留协议,17.4.1 RSVP协议概要 资源保留协议(RSVP)实际是资源保留设置协议(Resource Reservation Setup Protocol),是网上主机和路由器用来为多媒体应用保留网络资源(链路带宽和路由器缓存)的一套通信规则,定义在RFC 2205文件中 主机用RSVP请求提出QoS要求,而路由器用RSVP将QoS请求传送给视听数据流沿途的所有路由器,并维护视听数据流从发送端到接收端的传送状态 (1) RSVP是传输层协议 RS
30、VP不传送视听数据流,而是用来控制视听数据流在互联网上的传送,与网际控制消息协议(ICMP)和因特网机组成员协议(IGMP)的功能类似,2020年7月3日,第17章 多媒体的传输,32/84,17.4 资源保留协议(续1),(2) RSVP不是路由协议 路由协议的职责是负责选择转发数据包路径,而RSVP的职责是利用本地的路由表获得路径,按用户指定的服务质量(QoS)保障视听数据包从发送端顺利地到达接收端 (3) RSVP是接收端启动的协议 接收端向发送端发送QoS请求,这个请求逆向传送给沿途的所有路由器直到发送端。在传送过程中,RSVP可将大量相同的QoS请求进行合并 (4) RSVP是信令协
31、议 为保障视听数据流的传送质量,RSVP要在沿途的路由器上创建和维护称为“交换状态(switch state)”的资源保留状态。由于用户可能随时加入或退出接收视听数据流,因此传送路径可能随时发生变化,这就需要发送端周期性地发送路径刷新消息,而接收端发送资源保留刷新消息,用于维护路由器的交换状态。在没有刷新状态消息时,过时的状态将自动删除,2020年7月3日,第17章 多媒体的传输,33/84,17.4 资源保留协议(续2),17.4.2 RSVP协议原理 1. RSVP的工作过程 RSVP 创建独立的会话来处理每个数据流(data flow) 一个会话用三个元素(DestAddress, Pr
32、otocolId , DstPort)的组合来描述。 其中,DestAddress是数据包的目的地地址,ProtocolId是IP协议的ID,可选参数DstPort是通用的目的地端口号 一个典型的RSVP会话过程如图17-7所示,包含如下事件顺序: (1) 发送端周期性地向SESSION(会话地址)发送PATH(路径)消息,向接收者通告视听数据流的规范,在路由器中建立逆向路径,如图17-7(a)所示,2020年7月3日,第17章 多媒体的传输,34/84,17.4 资源保留协议(续3),(2) 在某些应用中,如果想加入会话,接收端的主机需先注册 (3) 接收端周期性地向发送端发送RESERVE
33、(资源保留)消息,如图17-7(b)所示,目的是要建立或更新资源保留请求。资源保留消息含有视听数据流的规范,用于沿途的路由器保留资源 (4) 由于接收端周期性地发送RESERVE消息,在建立视听数据传送路径过程中,或在发送视听数据过程中,根据接收端来的RESERVE消息,路由器将不断修改资源保留状态和视听数据的传送路径,对相同的RESERVE消息进行合并,生成用于传输数据流的RSVP消息,传送到发送端,如图17-7(c)所示 (5) 当发送端收到RSVP消息后就开始发送视听数据,2020年7月3日,第17章 多媒体的传输,35/84,17.4 资源保留协议(续4),图17-7 RSVP的工作原
34、理,2020年7月3日,第17章 多媒体的传输,36/84,17.4 资源保留协议(续5),2. 资源如何保留 发送端的数据速率问题 接入因特网的用户是多种多样的,有的使用28.8 kbps速率接收数据,有的使用128 kbps速率接收数据,而有的使用10 Mbps甚至更高的速率接收数据。这里就出现一个问题,向这些接收数据速率不同的用户传送数据时,发送端到底应该使用什么样的数据速率才能使所有用户接收到 问题的解决方案 解决这个问题的一种方案是在发送端对声音或电视进行分层编码,每层声音或影视的数据速率各不相同,把它们都发送到网上,以此来满足各种不同用户的要求。发送端不一定要知道每个接收端接收数据
35、的速率,只需要知道这些用户使用哪几种接收速率即可,2020年7月3日,第17章 多媒体的传输,37/84,17.4 资源保留协议(续6),资源如何保留 在建立资源保留过程中, 每当保留消息到达一个路由器时,路由器就根据服务质量要求调用机器中的数据包调度程序进行设置,然后把这个消息送到上游路由器 路由器逆向保留的带宽数量要根据下流的保留带宽的数量来确定的。例如,在图17-7(c)中,假设接收端R1,R2和R3的数据接收速率分别为200 kbps,100 kbps和400 kbps,在路由器MR2下的接收端的最高速率是200 kbps,因此MR1需要保留的带宽为200 kbps。路由器MR2把保留
36、消息发送给路由器MR1,MR1下面有一个400 kbps的接收端,因此MR1需要保留的带宽为400 kbps,2020年7月3日,第17章 多媒体的传输,38/84,17.5 会话启动协议,17.5.1 SIP概要 1. SIP协议是什么 会话启动协议(SIP)是应用层上的信令协议 SIP借助 HTTP和SMTP,用于创建、管理和终止任何形式的互动会话,如IP电话、多媒体会议、软件发行、互动游戏和聊天等。 1999年发布的第一版SIP规范(RFC 2543) 源于美国哥伦比亚大学的Henning Schulzrinne教授和伦敦大学学院(UCL)的Mark Handley教授在1996年开始的
37、研究工作。除开发了SIP协议外,Schulzrinne教授还与他人合作开发了实时传输协议(RTP)和实时流播协议(RTSP),用于控制多媒体数据的实时传输。 SIP已得到广泛认可和采纳。例如 1998年10月确立的第三代合作伙伴计划(3rd Generation Partnership Project),在2000年10月将SIP作为它的信令协议,并作为IP多媒体子系统(IMS)结构中的永久性部件。IMS是多媒体数据用IP协议打包传输的综合网络,用于连接PSTN网络以提供传统电话的服务,2020年7月3日,第17章 多媒体的传输,39/84,17.5 会话启动协议(续1),SIP有如下特性 (
38、1) 易读性强:使用人容易阅读的文字来描述SIP消息 (2) 相对简单:只有6种基本方法,把它们组合在一起就可完成多媒体会话呼叫的控制,减少了复杂性 (3) 独立于传输层:因为SIP可由UDP, TCP和定义在RFC 4346(2006)的传输层安全(Transport Layer Security,TLS)等协议使用 (4) 客户机/服务机结构:SIP共享HTTP和SMTP的设计原理,共享HTTP的状态码 (5) 移动性强:可用统一资源标识符(URI)查找用户 (6) 需要其他协议辅助:如使用会话描述协议(SDP)来描述会话 (7) 不提供服务质量(QoS)保障方法,但可与资源保留协议(RS
39、VP)等协议联用,2020年7月3日,第17章 多媒体的传输,40/84,17.5 会话启动协议(续2),2. 与SIP密切相关的主要文件 SIP将成为标准规范的文件是RFC 3261(2002),扩展SIP和添加新特性的RFC文件有30多个,这些文件可在./sip/drafts.html上找到。下面列出了与SIP密切相关的部分文件 RFC 3261(2002):SIP协议的核心规范 RFC 2327(1998):会话描述协议(SDP) RFC 1889(1996):实时传输协议(RTP) RFC 2326(1998):实时流播协议(RTSP) RFC 3262(
40、2002):SIP协议中100199消息的可靠性 RFC 3263(2002):使用DNS查找SIP服务器 RFC 3264(2002):使用会话描述协议(SDP)的方法 RFC 3265(2002):SIP事件通告 RFC 3266(2002):SDP协议对IPv6的支持 RFC 3311(2002):SIP修改方法 RFC 3361(2002):使用 DHCP查找外向SIP代理服务器 RFC 3428(2002):用于即时通的SIP RFC 3515(2003):SIP调用(REFER)方法,如呼叫转移,2020年7月3日,第17章 多媒体的传输,41/84,17.5 会话启动协议(续3)
41、,17.5.2 SIP的请求和响应 SIP可用于任何形式的多媒体会话,为便于理解SIP的请求和响应,现以IP电话为例说明 1. 使用SIP的基本呼叫方法 在IP电话系统中,使用SIP呼叫的基本方法如图17-8所示。在这个简单的通信系统中有两种设备 (1)代理服务器(proxy server):用于来回传递消息的服务器,因为它使用SIP协议,因此称为SIP代理服务器 (2)用户代理:通信双方使用的设备,因为它可收发SIP请求,因此称为SIP用户代理(SIP user agent),如SIP电话机,安装有SIP客户软件的电脑,移动电话机,个人数字助理(personal digital assist
42、ant,PDA)等 注:图中细实线表示SIP消息的通道,粗实线和粗虚线表示用实时传输协议(RTP)传输的视听数据通道;,表示消息出现的先后次序,箭头的方向表示每个消息的传输方向,3位数字的代码便于机器识别,2020年7月3日,第17章 多媒体的传输,42/84,17.5 会话启动协议(续4),图17-8使用SIP的基本呼叫方法,2020年7月3日,第17章 多媒体的传输,43/84,17.5 会话启动协议(续5),用户A和用户B通信的主要步骤如下: (1) 用户A通过代理服务器向用户B发出通话INVITE(邀请),和; (2) 代理服务器用代码100(试试看)回应用户A,; (3) 用户B用代
43、码180(响铃)通过代理服务器回应用户A,和; (4) 用户B用代码200(OK)通过代理服务器响应用户A,和; (5) 用户A通过代理服务器向B发送ACK(确认),和; (6) 用户A和用户B通过媒体传输协议(RTP)通话; (7) 用户B通过代理服务器向用户A发送BYE(再见),和; (8) 用户A通过代理服务器向用户B发送OK,和; (9) 整个过程结束,2020年7月3日,第17章 多媒体的传输,44/84,17.5 会话启动协议(续6),2. SIP的请求和响应 SIP的请求和响应统称为消息。SIP请求使用文字表示,SIP响应使用3位数字表示。SIP请求称为命令或方法“method”
44、,“方法”可理解为执行命令的过程或子程序。在SIP的基本规范(RFC 3261)中定义了6种SIP请求,见表17-4,表17-4 SIP命令(方法),2020年7月3日,第17章 多媒体的传输,45/84,17.5 会话启动协议(续7),SIP基本规范定义了用数字代码表示的6种SIP响应消息(SIP Responses),范围为100699,见表17-5,表17-5 SIP响应,2020年7月3日,第17章 多媒体的传输,46/84,17.5 会话启动协议(续8),17.5.3 SIP服务器 为便于理解SIP服务器的类型和用途,现以梯形排列的服务器为例来说明 1. 使用梯形排列的SIP会话 S
45、IP信令使用客户机-服务机的工作模式,典型的SIP请求与SIP响应工作模式见图17-9 代理服务器1和2用于帮助用户A和B建立会话,这种排列称为“SIP梯形(SIP Trapezoid)”排列 代理服务器1用于向外转发SIP请求,称为外向代理服务器(outbound proxy server),如何转发需要请教域名服务器(DNS)中的数据库 代理服务器2处理域内交通,因此称为内向代理服务器(inbound proxy server),它需要请教称为“位置服务器”中的数据库才能找到用户B。,2020年7月3日,第17章 多媒体的传输,47/84,17.5 会话启动协议(续9),图17-9使用梯形
46、排列的SIP会话,2020年7月3日,第17章 多媒体的传输,48/84,17.5 会话启动协议(续10),如图17-9所示,用户A(Alice)和用户B(Bob)之间的通话由用户A开始发出INVITE(邀请),由于用户A不知道用户B在IP网上的位置,于是就将邀请发送给代理服务器1。代理服务器1也不知道用户B的具体位置,于是告诉用户A试试看的同时,通过DNS服务器查找用户B,并将用户A的邀请发送给代理服务器2,代理服务器2找到用户B后就通知用户B。余下的过程与前一节介绍的过程类似 2. SIP服务器 在互联网上建立多媒体会话需要多种服务器才能完成。例如,大多数情况下,会话邀请人不知道被叫方的I
47、P地址,但往往知道对方的电子邮件地址,在这种情况下就需要使用附加服务器来完成地址转换,2020年7月3日,第17章 多媒体的传输,49/84,17.5 会话启动协议(续11),建立多媒体会话的SIP服务器见图17-10 (1) SIP代理服务器(SIP Proxy Server) 用于解决SIP请求的传输路径,既担当服务机的角色又担当客户器(程序)的角色。它接收SIP消息,在需要时将SIP消息转发到另一个SIP代理服务器。SIP代理服务器执行的功能可包括称为AAA的认证(authentication)、授权(authorization)和计费(accounting)、网络接入控制和转发路径的查
48、找。处理的SIP请求可能是域内的,也可能是通过地址变换等处理后转发到域外的。 (2) SIP注册服务器(SIP Registrar) 用于解决用户的联系地址。它接收用户的注册请求,并更新位置数据库中用户的位置信息,与代理服务器或重定位服务器联用。,2020年7月3日,第17章 多媒体的传输,50/84,17.5 会话启动协议(续12),(3) SIP位置服务器(SIP Location Server) 存储用户注册地址的数据库,提供详细的用户地址信息。它由SIP重定位服务器或代理服务器用于获取被叫方当前所在的位置信息。 (4) SIP重定向服务器(SIP Redirect Server) 用于
49、为呼叫方返回被叫方的地址。它将请求消息返回给呼叫方,表示需要尝试不同的路径才能联系上被叫方,因为被叫方可能已暂时或永久性地移到其他地方,2020年7月3日,第17章 多媒体的传输,51/84,17.5 会话启动协议(续13),图17-10 SIP服务器,* 所有部件都是逻辑部件,它们可安装在单台服务机上,也可分散在多台服务机上,2020年7月3日,第17章 多媒体的传输,52/84,17.5 会话启动协议(续14),17.5.4 SIP的消息结构 1. SIP URI SIP的实体用统一资源标识符(Uniform Resource Identifier,URI)来标识。SIP URI的形式为“
50、SIP:用户名域名”。除了前面加上“SIP:”外,其余部分与电子邮件地址相同。 2. SIP请求格式举例 下面以用户A(Alice)邀请用户B(Bob)参与会话的请求格式为例,说明请求格式的结构。SIP的请求格式有起始行、消息头和消息体组成,见图17-11 (1) 起始行:由方法(Method)、请求地址(Request-URI)和SIP版本(SIP-Version)组成。本例中的方法为INVITE,请求地址为sip:bobbiloxi.,SIP版本为2.0,2020年7月3日,第17章 多媒体的传输,53/84,17.5 会话启动协议(续15),(2) 消息头由下列部分组成: Via:包含呼
51、叫方(如Alice)期待接收响应的局域网地址(如pc33.atlanta.),以及标识呼叫的分支参数(如branch parameter) Max-Forward:用于限制请求到达被叫方所历经的路由段数目(如70) To:包含显示被叫方(如Bob)的名字和SIP URI (如sip:bob) From:包含呼叫方(如Alice)的名字和SIP URI(如sip:alice),表示请求的起源。此外,还包括一个标签(tag)参数。标签参数是软电话(softphone)添加的随机字符串(如1928301774),作为对话的标识符 Call-ID:标识这个呼叫的全局唯一标识符,它是由随机字符串和安装“
52、软电话”的主机名或IP地址组合生成的。Call-ID与To域中的标签(本例未列出)和From域中的标签相结合可完全定义Alice和Bob之间的P2P(peer-to-peer)关系,并称为对话(dialog),2020年7月3日,第17章 多媒体的传输,54/84,17.5 会话启动协议(续16),CSeq(Command Sequence):包含命令序列和方法名称。在对话中出现一个新的请求时CSeq序号加1 Contact:包含SIP URI(如sip:alicepc33.atlanta.),表示与Alice直接联系的路径 Content-Type:包含消息主题的说明 (3) 消息体(略)
53、3. SIP消息结构 SIP消息分成请求和响应消息,这两类消息的结构类似。图17-12表示请求和响应消息的结构和示例。如要深入了解请求和响应中各个域的含义和用法,请阅读RFC 3261(SIP: Session Initiation Protocol)和RFC 4566(SDP: Session Description Protocol),2020年7月3日,第17章 多媒体的传输,55/84,17.5 会话启动协议(续17),图17-11 SIP请求格式,2020年7月3日,第17章 多媒体的传输,56/84,17.5 会话启动协议(续18),(引自Jiri Kuthan+Dorgham S
54、isalem, Tekelec, March 2007) 图17-12 SIP消息结构,2020年7月3日,第17章 多媒体的传输,57/84,17.6 会话描述和会话通告协议,17.6.1 会话描述协议(SDP) 会话描述协议(SDP)是描述流媒体初始化参数的格式,定义在RFC 4566(2006)文件中,用于描述多媒体会话,如会话通告、会话邀请和其他形式的多媒体会话。SDP可与实时传输协议(RTP)和会话启动协议(SIP)联用,也可作为描述多目标广播的格式 使用SDP描述的文字信息主要包括 (1) 会话名称和会话目的 (2) 有效会话时间和次数 (3) 会话用的媒体 (4) 如何接收会话媒
55、体,包括地址、端口和格式等,2020年7月3日,第17章 多媒体的传输,58/84,17.6 会话描述和会话通告协议(续1),17.6.2 会话通告协议(SAP) 用于向参与多媒体会话的潜在用户发布会话消息的协议,定义在RFC 2974 (2000)文件中。在主机中执行SAP协议的程序可监听会话或广播地址,并接收和组织会话源或广播源发送的所有通告。SAP发布的通告使用会话描述协议(SDP)定义的格式,而实际的会话或广播使用实时传输协议(RTP) 会话通告协议的结构如图17-13所示,图中各个域的含义如下: V:版本号 A:地址类型,0表示IPv4(32位),1表示IPv6(128位) R:保留
56、,设置为0,2020年7月3日,第17章 多媒体的传输,59/84,17.6 会话描述和会话通告协议(续2),T:消息类型,0表示会话通告数据包,1表示删除数据包 E:密码,1表示SAP数据包的有效载荷是加密的,而且超时域必须加到数据包头,0表示SAP数据包的有效载荷没有加密,超时域不必加到数据包头 C:压缩,1表示有效载荷是压缩的,0表示有效载荷没有压缩 Auth Len(Authentication Length)(认证长度):8位无符号整数,0表示没有认证头 Message Identifier Hash(消息标识符):与发信源相结合,提供表示通告的精确版本的全局标识符 Originat
57、ing Source(发信源):发信源IP地址,A0为IPv4地址,A=1为IPv6地址 Timeout(超时):指定会话开始时间和结束时间 Authentication data:数据包的数字签名 Payload Type(有效载荷类型):描述有效载荷的格式 Payload(有效载荷):会话描述或会话删除消息,2020年7月3日,第17章 多媒体的传输,60/84,17.6 会话描述和会话通告协议(续3),图17-13 会话通告协议的结构,2020年7月3日,第17章 多媒体的传输,61/84,17.7 多目标广播,由于许多多媒体应用都有一个发送者向多个接收者传送多媒体流的特点,如IPTV、
58、股票报价、新闻播报、远程教学和软件发行等,使用多目标广播技术能够有效地节省网络带宽 17.7.1 多目标广播的概念 1. 多目标广播的概念 假设世界上有许多用户想在因特网上接收现场电视节目,如现场体育比赛,如何把它传送到世界各地 单目标广播(unicasting),见图17-14 (b) 把数据传送给网络上或网段上单个指定客户的过程,2020年7月3日,第17章 多媒体的传输,62/84,17.7 多目标广播(续1),广播(broadcasting),见图17-14(c) 把数据传送给网络上或网段上所有客户的过程 多目标广播(multicasting),见图17-14(d) 把数据传送给网络上
59、或网段上一组指定客户的过程 实现多目标广播有三个主要问题要解决 (1) 地址问题 广播源使用什么地址发送多目标广播数据包 (2) 如何加入 接收主机如何加入多目标广播组去接收广播数据 (3) 路径选择 路由器如何选择发送数据包的路径。下面将分别介绍,2020年7月3日,第17章 多媒体的传输,63/84,17.7 多目标广播(续2),图17-14 多目标广播的概念,2020年7月3日,第17章 多媒体的传输,64/84,17.7 多目标广播(续3),2. 多目标广播的基本要求 为支持多目标广播,收发两端和收发两端之间的网络设施必需具备多目标广播功能。图17-15描述了多目标广播需要的部件,图中的交通方向是广播数据包的传送方向 在LAN网上运行多目标广播软件时,参加多目标广播的主机必须具备如下基本要求 应用软件:收发两端要有多目标广播应用软件,如电视会议软件,执行TCP/IP协议套的程序能够支持多目标广播数据包的传送和接收 注册软件:接收端要有执行网际机组管理协议(IGMP)的软件,以便办理动态主机注册(dynamic host registration),成为接收广播的成员后
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 胃肠疾病的跨学科治疗模式
- 2025年终身学习平台的课程体系研发策略
- 国家金融与发展实验室关注美国加密资产监管与SWIFT数字化探索的新突破-2026年一季度数字资产季报
- 增强团队合作精神小学主题班会课件
- 小学主题班会课件:智慧与情感的碰撞
- 质量控制责任承诺书范例6篇
- 护理礼仪:服务礼仪的规范
- 财务管理制度及执行手册
- 文化教育资源共享承诺书(8篇)
- 合作单位项目质量保障责任承诺书(5篇)
- 2026年安徽省体育彩票管理中心编外聘用人员公开招聘11名考试参考题库及答案解析
- 2026重庆物流集团数字科技有限公司招聘3人笔试历年参考题库附带答案详解
- 2026年滨州国有资本投资运营集团有限公司公开招聘国有企业工作人员(15名)笔试参考题库及答案解析
- 2026广西能汇投资集团有限公司校园招聘笔试参考题库及答案解析
- 河南省顶级名校2026届高三年级5月押题导向卷(一)历史试卷(含答案及解析)
- 开封市汽车产业投资有限公司、开封市文心科教投资发展有限公司招聘笔试题库2026
- 2026年安全生产月活动宣贯培训课件
- 衡阳县岣嵝峰林场招聘社区网格员考试试题附答案详解
- 市政起重吊装施工方案(3篇)
- DB-T29-1-2026 天津市居住建筑节能设计标准
- 视频监控系统技术规范书
评论
0/150
提交评论