next up previous contents
Next: Roadmap Up: Transport Protocols Previous: Transport Protocols

Introduction

In the Internet, the User Datagram Protocol, UDP is used to carry Interactive or realtime multimedia data around. UDP is chosen because it is lightweight, but also because it interposes no unpredictable or unnecessary functions between the application and the network.

Multimedia transport protocols do not have to be complex or ``heavyweight'', in the sense that an all-purpose transport protocol such as the Transmission Control Protocol, TCP is ``heavyweight''. In fact, TCP is not really heavyweight, but it does have, albeit parsimoniously, mechanisms for flow control, reliability, and ordering, that are counter-productive for multimedia traffic. It is also completely impossible to use in a scalable way for many-to-many communication[#!uclmtp!#].

The goal of transport protocols is to provide end to end services, that are specific to some modest range of applications, and provide specific services that are not common to all applications, and therefore not required in the network service.

However, UDP, being originally designed for lightweight management tasks such as local time and name lookup services, does not always provide enough functionality for multimedia data transport. Multimedia transport protocols need to provide hooks for a common set of multimedia services, that can be distinguished quite clearly from conventional data services, for example:

The basic unit of transfer in the Internet is the IP packet, which carries application data, and a transport protocol header preceded by the IP header. Packets are demultiplexed at the host based on the transport protocol port numbers, and routed in the network based IP addresses.

RTP, the preferred carrier/framing protocol for multimedia traffic, is carried on top of UDP. It has the potential for further multiplexing information, since it carries source identifiers. The main other item in the RTP header is the media timestamp (for the sample carried) which is formatted specifically for each media type. This is used for the playout and synchronisation algorithms. RTCP, the Real Time Control Protocol, is used to convey additional information such as participant details and statistics of packet arrivals and loss. It is typically sent on one UDP port number higher than the UDP port used for the associated RTP packets.

One might envisage using the Internet to provide a rich medium for a Distributed Orchestra or even a cattle Auction. However, there are limits imposed by the speed of light, to the end to end and round trip delays, however fast the lines and switching, and however ingenious the implementation of RTP. Musicians require extremely short delays between hearing each other, and reacting, and reacting to the reaction - for example, consider a rallentando when an entire orchestra slows down the beat evenly - this may require delays of a few tens of milliseconds at most. This precludes such activities over distances of more than a few hundred miles at absolute best!


next up previous contents
Next: Roadmap Up: Transport Protocols Previous: Transport Protocols
Jon CROWCROFT
1998-12-03