About data transfer protocols
A data transfer protocol is a standardized format for transmitting data between two devices. The type of protocol used can determine such variables as the error checking method, the data compression method, and end-of-file acknowledgements. If all networks were constructed in the same manner and all networking software and equipment behaved similarly, only one protocol would be necessary to handle all of our data transmission needs. In reality, the Internet includes millions of different networks running a wide array of hardware and software combinations. As a result, the ability to stream digital media content reliably to clients depends on a set of several well-engineered protocols. The protocols used to stream Windows Media-based content are:
Real Time Streaming Protocol (RTSP)
Windows Media Services manages the use of these protocols by using control protocol plug-ins. The control protocol plug-in receives the incoming client request, determines what action is indicated by the request (for example, to start or stop streaming), translates the request into a command form, and then passes the command to the server. Control protocol plug-ins can also return notification information to clients if there is an error condition or a change of status. Windows Media Services includes the WMS RTSP Server Control Protocol plug-in and the WMS HTTP Server Control Protocol plug-in.
While the control protocol plug-ins handle the high-level exchange of data, basic networking protocols such as User Datagram Protocol (UDP) and Transmission Control Protocol (TCP) are used to manage more fundamental tasks such as network connectivity and packet error correction. The RTSP protocol is used in combination with both the UDP or TCP protocols.
The following figure depicts how Windows Media Services uses different protocols to negotiate connections between a Windows Media server, encoders, content sources, and clients.
To facilitate protocol rollover it is recommended that the URL to your content use the generalized MMS moniker in the connection URL (for example, mms://server/publishing_point/file). That way, the Player negotiates the best protocol to use (either RTSP or HTTP) to connect to the stream. For more information, see About protocol rollover.
If you want to force the server to use a specific protocol, you can identify the protocol to be used in the announcement file. The user can also specify the protocol in the content address (for example, http://server/publishing_point/file).
Clients that receive content as a multicast stream do not use a connection-based protocol. Instead, they receive the stream by joining to a multicast broadcast. The information the client needs to locate and join a multicast stream is contained in a multicast information file with an .nsc file name extension.