1.3 Windows Media Services使用的协议
2010-08-19 15:44
数据传输协议是指在两台设备之间传输数据的标准化格式。协议类型可以确定诸如错误检查方法、数据压缩方法,以及文件结束确认之类的变量。如果所有的网络都是以同一方式构建的,并且所有网络软件和设备的行为都类似,那么只需要一种协议即可处理所有的数据传输需求。而在现实中,Internet是由数百万运行各种软硬件组合的不同网络组成的。因此,为了以可靠方式向客户端传输数字媒体内容,就需要有一组设计良好的协议。为了实现流式播放,Windows Media Services通过使用控制协议插件支持Microsoft Media服务器(MMS)协议、实时流式传输协议(RTSP),以及超文本传输协议(HTTP)。 1.3.1 Windows Media Servers所需要的协议类型Windows Media Services通过使用控制协议插件来管理这些协议的使用。Windows Media Services包括WMS MMS控制协议插件、WMS RTSP控制协议插件和WMS HTTP控制协议插件。除WMS HTTP控制协议插件外,其他插件在默认情况下都是启用的。 控制协议插件接收传入客户端请求,确定该请求表示什么操作(例如,启动或停止流式播放),将请求转换为命令形式,然后将该命令传递给服务器。在出现错误或状态变化时,控制协议插件还可以向客户端返回通知信息。 前面所列出的协议插件处理高级别的数据交换,而诸如用户数据报协议(UDP)和传输控制协议(TCP)等基本网络协议则用于管理诸如网络连接和数据包纠错之类的基本任务。MMS、RTSP协议与UDP或TCP协议一起组合使用。 图4-3描述了Windows Media Services如何使用不同的协议在Windows Media服务器、编码器、内容源以及客户端之间协商连接。 1.3.2 使用MMS协议Microsoft Media服务器(MMS)协议是Microsoft为Windows Media Services的早期版本开发的专有流式媒体协议。在以单播流方式传递内容时,可以使用MMS协议。此协议支持快进、倒回、暂停、启动和停止索引数字媒体文件等播放机控制操作。如果要支持使用Windows Media Player早期版本的客户端,则需要使用MMS或HTTP协议满足其流请求,如图4-4所示。 如果由播放机指定的连接URL使用了MMS(例如,s://server_name/publishing_point_name/file_name),那么播放机就可以使用协议翻转(在Windows Media Server无法通过特定协议建立连接时从一种协议切换到另一种协议的过程)协商使用最佳协议。MMSU和MMST是MMS协议的专门化版本。MMSU基于用户数据报协议(UDP),是流式播放的首选协议。MMST基于传输控制协议(TCP),用在不支持UDP的网络上。
如果需要强制服务器使用特定的协议,可以在公告文件中标明要使用的协议。用户还可以在内容地址中指定协议(如mmsu://server_name/publishing_point_name/file_name)。为了利用协议翻转,建议在URL中使用通用的MMS协议。这样,播放机便可以使用MMSU或MMST协议连接到流。如果播放机无法通过两种协议中的任一种成功连接到流,则会尝试使用超文本传输协议(HTTP)进行连接。 Windows Media Serives通过WMS MMS服务器控制协议插件实现MMS协议。在Windows Media Serives的默认安装中,此插件是启用的,并且绑定到TCP端口1755和UDP端口1755。 1.3.3 使用RTSP协议WMS也可以使用实时流式传输协议(RTSP)以单播流方式传递内容,如图4-5。这是一个应用程序级别的协议,是为控制实时数据(如音频和视频内容)的传递而专门创建的。此协议是在面向纠错的传输协议基础上实现的。该协议支持停止、暂停、倒回及快进索引Windows Media 文件等播放机控制操作。可以使用 RTSP 将内容传输到运行Windows Media Player 9系列(或更高版本)或Windows Media Services 9系列的计算机。RTSP是一个控制协议,该协议与数据传递实时协议(RTP)依次发挥作用,实现向客户端提供内容。 如果连接URL中使用了RTSP(如rtsp:// server_name/publishing_point_name/file_name),那么RTSP会自动协商内容的最佳传递机制。然后该协议指示RTP协议使用用户数据报协议(UDP)传递流式内容,或者在不支持UDP的网络上使用一种以传输控制协议(TCP)为基础的协议进行传递。 如果需要强制服务器使用特定的协议,可以在公告文件中标明要使用的协议。用户还可以在内容地址中指定协议(如rtspu://server_name/publishing_point_name/file_name)。为了利用协议翻转,建议在URL中使用通用的RTSP协议。这样,播放机便可以使用RTSPU或RTSPT协议连接到流。如果播放机无法通过任意一种RTSP协议成功连接到流,则会尝试使用某种MMS协议进行连接。 Windows Media Services通过WMS RTSP服务器控制协议插件实现RTSP。在Windows Media Services的默认安装中,此插件是启用的,并且绑定到TCP端口554。 1.3.4 使用HTTP协议通过使用超文本传输协议(HTTP),您可以将内容从编码器传输到Windows Media服务器,在运行Windows Media Services的不同版本的计算机间或被防火墙隔开的计算机间分发流,以及从Web服务器上下载动态生成的播放列表。HTTP对于通过防火墙接收流式内容的客户端特别有用,因为HTTP通常设置为使用端口80,而大多数防火墙不会阻断该端口,如图4-6所示。
Windows Media Services使用WMS HTTP服务器控制协议插件控制基于HTTP的客户端连接。必须启用此插件才能允许Windows Media Services通过HTTP向客户端传输内容或从Windows Media 编码器接收流。 在启用WMS HTTP服务器控制协议插件时,该插件会尝试绑定到端口80。如果另一个服务,如Internet信息服务(IIS),正在使用同一IP地址上的80端口,那么就不能启用该插件。 当运行Windows Media Services的服务器播放由ASP页或Web脚本生成的动态播放列表时,也会用到HTTP协议。 如果在同一台服务器上使用Windows Media Services和诸如Microsoft Internet信息服务(IIS)之类的Web服务,则使用的两种服务都将尝试绑定到端口80。通过将两种服务分别指定到不同的端口可以避免此类冲突。如果将服务指定到不是80的端口,则网络管理员必须打开网络防火墙上的相应端口。作为一种替代方法,可以给服务器分配更多的IP地址,使每一个服务器都有自己的IP地址并继续使用端口80。实现此操作的最简便方法是在一个网络接口卡上创建多个IP地址并为其分配单独的端口80地址,然后必须配置Windows Media Services和Web服务,以便绑定到独立的IP地址/端口80组合上。Windows Media Services中包括了一个用来给服务分配更多IP地址的工具。 |
|