There are several related protocols which support real time traffic over the internet. Some of the important protocols are:
RTP (Real Time Protocol): used for real time data transport developed by extending UDP and sits between UDP and application.
RTCP (Real Time Control Protocol): used to exchange the control information between sender and receiver and works conjunction with RTP.
SIP (Session Initiation Protocol): provides the mechanism for establishing calls over IP.
RTSP (Real Time Streaming Protocol): allows user to control display as rewind, pause, forward etc.
RTP (Real Time Protocol)
There was a dilemma weather to implement RTP as a sub layer of transport layer or as a part of application layer. At this point it is common that RTP is implemented as application library, which executes in user space rather in kernel space like all protocol layers bellow RTP. RTP doesn’t ensure the real time delivery itself but it provides the means for
- Jitter elimination / reduction
- Synchronization of several audio or video streams that belong to same multimedia
- Multiplexing of audio/video streams that belong to different
- Translation of audio/video streams from one encoding type to
- With the help of RTCP, RTP also provides hooks for adding reliability and flow/congestion control which is implemented within multimedia This property sometimes called as application level framing.
- RTP is a protocol that provides the basic transport layer for real time application but doesn’t provide any mechanism for error and flow control , congeston control, quality feedback and For that purpose RTCP is added as a companion to RTP to provide end to end monitoring, data delivery and QOS.
RTCP (Real Time Control Protocol)
It is responsible for three functions.
- Feedback on performance of application and network.
- Correlation and synchronization of different media streams generated by same sender for example combined audio/video.
- The way to convey the identify sender for display on a user interface.
The volume of RTCP traffic may exceeds the RTP traffic during a conference session involving larger number of participates. Normally only on participant talk at a time while other participants are listing. In mean while RTCO message are not periodically regardless if the participant is taking or not. Therefore the RTCP packet transmission are done dynamically on the basis of participants.
Standard dictates that 20% of the session bandwidth is allocated to RTCP. In other words RTCP RR SDES packets are sent every 5 RTP packets transmitted.
In addition, 5% of the RTCP bandwidth is allocated to particular participants (CNAME). The RTP transmission in the interval of participants is the function of total number of participants in the RTP session that ensures 5% of bandwidth allocation. For that purpose each participants has to continuously estimate the session size. The transmission interval is randomized to avoid synchronization effects.
- RTCP message are
- To amortize header overhead multiple RTCP message can be combined and send in a compound RTCP
A packet is loss if:
- Packet never arrived
- Packet arrived but
- Packet arrived after its play out