1.流媒体技术原理
流式传输的实现需要合适的传输协议。TCP需要较多的开销,不太适合传输实时数据。在流式传输的实现方案中,一般采用HTTP/TCP来传输控制信息,而用实时传输协议/用户数据报协议(RTP/UDP)来传输实时数据。
流式传输的实现需要缓存。一个实时音视频源或存储的音视频文件在传输中被分解为多个数据包,而网络又是动态变化的,各个包选择的路由可能不相同,因此到达客户端的时延也就不同,甚至最先发出的数据包最后到达。为此,需要使用缓存系统来消除时延和抖动的影响,以保证数据包顺序正确,从而使媒体数据能够连续输出。
通常高速缓存所需容量并不大,因为已经播放的内容可以丢弃,空出的空间就可以用来缓存后续尚未播放的内容。
流式传输的一般过程如下:
(1)用户选择某一流媒体服务后,Web浏览器与Web服务器之间使用HTTP交换控制信息,以便把需要传输的实时数据从原始信息中检索出来;(2)Web浏览器启动音视频客户程序,使用HTTP从Web服务器检索相关参数对音视频客户程序初始化,这些参数可能包括目录信息、音视频数据的编码类型或与音视频检索相关的服务器地址等;
(3)音视频客户程序及音视频服务器运行实时流协议RTSP(Real-Time Streaming Protocol),以交换音视频传输所需的控制信息,实时流协议提供执行播放、快进、快倒、暂停及录制等命令的方法;
(4)音视频服务器使用实时传输协议RTP(Real-Time Transport Protocol)/实时传输控制协议RTCP(Real-Time Transport Control Protocol)将音视频数据传输给音视频客户程序,一旦音视频数据抵达客户端,音视频客户程序即可播放输出。
流媒体数据流具有连续性、实时性、时序性三大特点,具有严格的前后时序关系。
2.流媒体系统组成
流媒体系统包括音/视频源的编码/解码、存储、流媒体服务器、媒体流传输网络、用户端播放器5个部分,原始音/视频流经过编码和压缩后,形成媒体文件存储,媒体服务器根据用户的请求把媒体文件传递到用户端的媒体播放器。
3.流媒体系统的关键技术
流媒体系统中,影响流媒体播放质量的3个关键因素是:编码的性能与效率、媒体服务器的性能、媒体流传输的质量控制。
(1)编码
流媒体系统中的编码用于创建、捕捉和编辑多媒体数据,形成流媒体格式。
影响音/视频流的编码性能的因素很多:首先是编码效率。其次是编码的冗余性和可靠性,与普通多媒体文件压缩/编码不同的是,流媒体文件需要在网络上实时传输,因此必须考虑传输中数据丢失对解码质量的影响。在Internet环境下,最典型的方法是多描述编码(MDC)。MDC把原始的视频序列压缩成多位流,每个流对应一种描述,都可以提供可接受的视觉质量,多个描述结合起来提供更好的质量。最后需要考虑速率调节的能力,一种方法是采用可扩展的层次编码,生成多个子位流(Substream),其中一个位流是基本位流,它可以独立解码,输出粗糙质量的视频序列,其他子位流则起质量增强的作用,所有的子位流一起还原出最好质量的视频序列。当网络速率变化时,可以通过调节流输出的层次来控制码流的速率,从而适应网络速率的变化。
(2)媒体服务器
流媒体系统中的媒体服务器用于存放和控制流媒体的数据。
随着流媒体规模的扩大,流媒体服务器的性能成为制约流媒体服务扩展能力的重要因素。流媒体服务器性能的关键指标是流输出能力和能同时支持的并发请求数量。
影响流媒体服务器性能的因素很多,包括CPU能力、I/O总线、存储带宽等。通常单个流媒体服务器的并发数都在几百以内,因此为了具有更好的性能,目前的高性能流媒体服务器都采用大规模并行处理的结构,例如采用超立方体的结构将各个流媒体服务单元连接起来。还有一种方法是采用简单的PC集群的方式,这种方式下多个PC流媒体服务器用局域网连接,前端采用内容交换/负载均衡器将流媒体服务的请求分布到各个PC媒体服务单元。后一种方式的性能不如前一种方式,但是成本低,容易实现。
(3)流媒体传输网络
流媒体传输网络是适合多媒体传输协议甚至是实时传输协议的网络。
流媒体在因特网上的传输必然涉及到网络传输协议,这是制约流媒体性能最重要的因素。为了保证对网络拥塞、时延和抖动极其敏感的流媒体业务在面向无连接的IP网络中的服务质量,必须采用合适的协议,其中包括Internet本身的多媒体传输协议RSVP(Resource Reserve Protocol)协议,以及实时传输协议RTP(Real-Time Transport Protocol)、实时传输控制协议RTCP(Real-Time Transport Control Protocol)、实时流协议RTSP(Real-Time Streaming Protocol)等。
另外,采用内容分发网络(CDN)可以实现应用层的质量控制机制。
虽然因特网带宽不断增加,用户数量却以更快的速度增长,受Web服务器的负荷和传输距离等因数影响,响应速度慢还是一个急需解决的问题。解决方案之一就是在网络传输上利用缓存技术。
网络缓存技术的目的是减少网络中冗余数据的重复传输,将广域传输转为本地或就近访问。据统计,因特网上超过80%的用户重复访问20%的信息资源,给缓存技术的应用提供了先决条件。缓存服务器具有缓存功能,对于重复的访问,大部分网页对象在有效期(TTL)内,不必从原始网站重新传送,只需通过简单的认证——传送几十字节的Header,即可将本地的副本直接传送给访问者。缓存服务器通常部署在靠近用户端,所以能获得近似局域网的响应速度,大大优化数据链路性能,并有效减少广域带宽的消耗,消除数据峰值访问造成的阻塞。缓存服务器的体系结构与Web服务器不同,缓存服务器可以比Web服务器获得更高的性能。
高速缓存服务器(Cache Server)是软硬件高度集成的专业功能服务器,根据加速对象不同,分为客户端加速和服务器加速,客户端加速Cache部署在网络出口处,把经常访问的内容缓存在本地,提高响应速度和节约带宽;服务器加速Cache部署在服务器前端,作为Web服务器的前置机,提高Web服务器的性能,加速访问速度。如果有多台Cache加速服务器且分布在不同地域,需要通过有效机制管理Cache网络,引导用户就近访问,全局负载均衡流量,这就是CDN的基本思想。
CDN的全称是Content Delivery Network,即内容分发网络,其目的是通过在现有的因特网中增加一层新的网络架构,将网站的内容发布到最接近用户的网络“边缘”,使用户可以就近取得所需内容,解决因特网网络拥塞状况,提高用户访问网站的响应速度。
采用CDN传输流媒体的优点主要包括三个方面:第一是通过应用层的内容分发降低了主干网络的流媒体流量,并实现了基于应用层的组播仿真(即利用主机构建独立于网络层的逻辑组播树,并采用主机上的应用层软件进行组播转发);第二是通过分布在网络边缘的流媒体服务器,避免了拥塞链路,提高了流媒体传输的性能和响应时间;第三是通过CDN能够有效提高整个流媒体系统的扩展性,降低对每个流媒体服务器的性能要求。目前,利用CDN传输流媒体是大规模流媒体应用的发展趋势。
六、网络管理
网络管理是计算机网络发展中的关键技术,对网络高效、正常的运行发挥着重要作用。随着网络规模不断扩大,复杂性不断增加,为确保向用户提供满意的服务,迫切需要一个高效的网络管理系统对整个网络进行自动化管理工作。
1.网络管理的基本功能
ISO建议网络管理应包含以下基本功能:
(1)故障管理(Fault Management)。这是网络管理中最基本的功能之一。当网络发生故障时,①必须尽可能快地找出故障发生的确切位置;②将网络其他部分与故障部分隔离,以确保网络其他部分不受干扰继续运行;③重新配置或重组网络,尽可能降低由于隔离故障对网络带来的影响;④修复或替换故障部分,将网络恢复为初始状态。
不严重的简单故障或偶然出现的错误通常被记录在错误日志中;而严重一些的故障则需要通知网络管理器,即发出报警。因此网络管理器必须具备快速和可靠的故障检测、诊断和恢复功能。
(2)计费管理(Accounting Management)。在商业性网络上,计费管理功能统计哪些用户、使用何信道、传输多少数据、访问什么资源等信息;另一方面,计费管理功能还可以统计不同线路和各类资源的利用情况。此外,商业性网络中的计费系统还要包含如每次通信的开始和结束时间、通信中使用的服务等级以及通信中的另一方等更详细的计费信息,并能够随时查询这些信息。
(3)配置管理(Configuration Management)。计算机网络由各种物理结构和逻辑结构组成,这些结构中有许多参数、状态等信息需要设置并协调。另外,网络运行在多变的环境中,系统本身也经常要随着用户的增、减或设备的维修而调整配置。网络管理系统必须具有足够的手段支持这些调整,使网络更有效地工作。配置管理功能至少应包括识别被管理网络的拓扑结构、标识网络中的各种现象、自动修改指定设备的配置、动态维护网络配置数据库等内容。
(4)性能管理(Performance Management)。目的是在使用最少的网络资源和具有最小延迟的前提下,确保网络提供可靠的通信,并使网络资源的使用达到最优化。
网络的性能管理有监测和控制两大功能,监测功能实现对网络中的活动进行跟踪,控制功能实施相应调整来提高网络性能。具体内容包括:从被管对象中收集与网络性能有关的数据,分析和统计历史数据,建立性能分析的模型,预测网络性能的长期趋势,并根据分析和预测的结果,对网络拓扑结构、某些对象的配置和参数做出调整,逐步达到最佳运行状态。
(5)安全管理(Security Management)。目的是确保网络资源不被非法使用,防止网络资源由于入侵者攻击而遭受破坏。主要包括:与安全措施有关的信息分发(如密钥的分发和访问权设置等),安全问题通知(如网络有非法侵入、无权用户对特定信息的访问等),安全服务措施的创建、控制和删除,与安全有关的网络操作事件的记录、维护和查询、日志管理工作等等。一个完善的计算机网络管理系统必须制定网络管理的安全策略,并根据这一策略设计网络安全管理系统。
一个具体的网络管理系统不一定要完全包含上述五大管理功能,但几乎每个网络管理系统都会包括故障管理功能。
2.网络管理系统的构成
现代计算机网络的管理系统主要由以下几部分组成:(1)多个被管代理(Managed Agents),也称管理代理;(2)至少一个网络管理器(Network Manager),也称管理工作站;(3)一个通用的网络管理协议(Network Management Protocol);(4)一个或多个管理信息库(MIB——Management Information Base)。
任一网络管理至少都应该有一个管理工作站,其中的网络管理器负责全网的监视和控制工作。任何被管对象,如主机、工作站、打印服务器、终端服务器、路由器等都有一个被管代理,被管代理时刻监听和响应来自网络管理器的查询或命令。管理器和被管代理通过交换管理进行工作,这种信息交换的动作规则和数据格式等网络管理协议规定,网络管理协议分别驻留在被管对象和管理工作站上的管理信息库(MIB)中。
网络管理协议与管理信息库一起协调工作,简化了网络管理的复杂过程。因为管理信息库中的管理信息描述了所有被管对象及其属性值,使得网络管理的全部工作就是对这些对象及属性值变量的读取(Get,对应于监视)或设置(Set,对应于控制)。
目前最有影响的网络管理协议有两个:一个是简单网络管理协议SNMP(Simple Network Management Protocol);另一个是公共管理信息服务和公共管理信息协议CMIS/CMIP(Common Management Information Sever/Common Management Information Protocol)。
ISO早在提出OSI参考模型的同时,就提出了网络管理标准的框架,并制定了基于OSI参考模型的CMIS/CMIP。然而符合OSI网络管理标准的可供实用的产品几乎没有。而因特网提出的基于TCP/IP的网络管理标准协议SNMP,得到了众多网络产品生产厂家的广泛支持,成为事实上的网络管理工业标准。
SNMP是一种基于UDP的应用层协议,是TCP/IP的一部分,最大的优点是简易性与可扩展性,它体现了网络管理系统的一个重要准则:网络管理功能的实现不能影响网络的正常功能,不给网络附加过多的开销。
网络管理技术仍在继续发展,因特网体系结构委员会的长期目标是研究和开发OSI的网络管理标准,并希望最终使这些协议同时适用于TCP/IP和OSI网络环境,即CMOT(CMIP Over TCP/IP)。