31.07.2015 Views

network protocols handbook.pdf

network protocols handbook.pdf

network protocols handbook.pdf

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

144Protocols GuideVoice Over IP(VOIP) - Media / CODECProtocol NameRTP: Real-Time TransportProtocolProtocol DescriptionThe Real-time Transport Protocol (RTP) provides end-to-enddelivery services for data with real-time characteristics, such asinteractive audio and video or simulation data, over multicast orunicast <strong>network</strong> services. Applications typically run RTP on topof UDP to make use of its multiplexing and checksum services;both <strong>protocols</strong> contribute parts of the transport protocol functionality.However, RTP may be used with other suitable underlying<strong>network</strong> or transport <strong>protocols</strong>. RTP supports data transfer tomultiple destinations using multicast distribution if provided bythe underlying <strong>network</strong>.RTP itself does not provide any mechanism to ensure timelydelivery or provide other quality-of-service guarantees but relieson lower-layer services to do so. It does not guarantee deliveryor prevent out-of-order delivery, nor does it assume that theunderlying <strong>network</strong> is reliable. It delivers packets in sequence.The sequence numbers included in RTP allow the receiver to reconstructthe sender’s packet sequence but sequence numbersmight also be used to determine the proper location of a packet,for example in video decoding, without necessarily decodingpackets in sequence.RTP consists of two closely-linked parts:The real-time transport protocol (RTP), to carry data that hasreal-time properties.The RTP control protocol (RTCP), to monitor the quality of serviceand to convey information about the participants in an on-goingsession. The latter aspect of RTCP may be sufficient for “looselycontrolled” sessions, i.e., where there is no explicit membershipcontrol and set-up, but it is not necessarily intended to supportall of an application’s control communication requirements.Protocol Structure• CSRC count -Contains the number of CSRC identifiersthat follow the fixed header.• M - Marker. The interpretation of the marker is definedby a profile. It is intended to allow significantevents such as frame boundaries to be marked in thepacket stream.• Payload type - Identifies the format of the RTP payloadand determines its interpretation by the application.A profile specifies a default static mapping ofpayload type codes to payload formats. Additionalpayload type codes may be defined dynamicallythrough non-RTP means.• Sequence number - Increments by one for each RTPdata packet sent, and may be used by the receiver todetect packet loss and to restore packet sequence.• Timestamp - Reflects the sampling instant of the firstoctet in the RTP data packet. The sampling instantmust be derived from a clock that increments monotonicallyand linearly in time to allow synchronizationand jitter calculations.• SSRC - Synchronization source. This identifier ischosen randomly, with the intent that no two synchronizationsources within the same RTP session willhave the same SSRC identifier.• CSRC - Contributing source identifiers list. Identifiesthe contributing sources for the payload contained inthis packet.Related <strong>protocols</strong>RTCP, RTSP, UDP, TCP, IPSponsor SourceRTP is defined by IETF (www.ietf.org ) in RFC 3550 and 3551.Referencehttp://www.javvin.com/protocol/rfc3550.<strong>pdf</strong>RTP: A Transport Protocol for Real-Time Applicationshttp://www.javvin.com/protocol/rfc3551.<strong>pdf</strong>RTP Profile for Audio and Video Conferences with Minimal Control2 3 4 8 9 16bitV P X CSRC count M Payload typeSequence numberTimestampSSRCCSRC (variable 0 – 15 items32bits each)• V - Version. Identifies the RTP version.• P - Padding. When set, the packet contains one ormore additional padding octets at the end which arenot part of the payload.• X - Extension bit. When set, the fixed header is followedby exactly one header extension, with a definedformat.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!