Javatpoint Logo
Javatpoint Logo

Difference between RTP and RTCP

The RTP and RTCP both protocol terms look similar, but there are various distinctions between them. The RTP protocol enables the transport of real-time applications with features like security, content identification, loss detection, timing reconstruction, etc. In contrast, the RTCP transports media connection statistics and information such as the number of packets delivered, delay fluctuation, packet misplacement, packet delay, etc. The fundamental distinction between RTP and RTCP protocol is that RTP protocol only provides a method for transferring real-time traffic over a network. In contrast, the RTCP protocol provides the appropriate delivery quality of the data transmitted via the RTP protocol.

In this article, you will learn about the difference between RTP and RTCP. But before discussing the differences, you must know about RTP and RTCP with their features.

What is RTP Protocol?

RTP is an abbreviation for "Real-Time Transport Protocol". It is situated in the session and presentation layers of the OSI network model. It is typically used for real-time applications like internet radio, music-on-demand, video-on-demand, and video conferencing where VOIP is employed. It uses the UDP protocol rather than TCP. As a result, it does not guarantee quick data delivery and lacks delivery mechanisms such as multicasting and port numbers. It provides support for various file types, such as MPEG and MJPEG. It is extremely sensitive to packet delays but less sensitive to packet loss.

It was created by four members of the Internet Engineering Task Force (IETF): S. Casner (Packet Design), V. Jacobson (Packet Design), H. Schulzrinne (Columbia University), and R. Frederick (Blue Coat Systems Inc.). It was firstly introduced in 1996 and known as RFC 1889. After that, it was released in 2003 with the name RFC 3550.

Working of RTP Protocol

The RTP protocol prioritizes the concatenation and merging of audio and video over the integrity of the data being transmitted, which is based on several actual protocols. The TCP/IP architecture utilizes the UDP protocol as one of these. There are a number of restrictions when utilizing the UDP protocol to encapsulate RTP packets, most significantly in error correction. As a result, any damaged or missing package is simply discarded.

The UDP packets are transmitted to the IP, which sends them across the Ethernet link. This entire procedure occurs at the sender's end, whereas the opposite process occurs at the receiver's end. In the end, the multimedia app finally obtains multimedia information from the RTP library.

RTP Header Format

RTP's header format is very simple and supports all real-time applications. RTP headers are made up of 32-bit words with data including Ver., P, X, CC, M, a Payload type, Sequence Number, Timestamp, Synchronization source identification, and Contributing source identity. These are as follows:

1. Version field

It defines the protocol version.

2. Padded bits

The P bit specifies the padded bit that is utilized for the packet in multiples of 4 bytes.

3. Extension header

The length of this field is also 1 bit. If the value of this field is 1, it indicates that there is an extra extension header between the data and basic headers, and if the value is 0, there is no extra extension.

4. Contributor Count

This 4-bit value represents the number of contributors. Because a 4-bit field can accept numbers ranging from 0 to 15, the maximum number of contributors is 15.

5. Marker bit

M in the header defines the marker bit, which is utilized to indicate a frame's start and end.

6. Payload types

This field is 7 bits long and shows the type of payload. You may present some popular sorts of payload applications.

7. Sequence Number

It indicates the quantity of RTP packets transmitted and grows by one value each time a packet is transmitted.

8. Timestamp

It has a length of 32 bits. It is utilized to determine the relationship between the timings of various RTP packets. The timestamp for the first packet is chosen at random, and the time stamp for subsequent packets is determined by adding the previous timestamp to the time required to produce the first byte of the current packet. The value of one clock tick differs depending on the app.

9. Synchronization Source Identifier

It describes the packet and the stream with which it is related.

10. Contributing Source Identifier

It is also a 32-bit variable that is utilized for source identification when many sources are present in the session. The mixer source is identified by the Synchronization source identity, while the Contributor identification identifies the remaining sources (up to 15).

Features of RTP Protocol

There are various features of the RTP protocol. Some main features of the RTP protocol are as follows:

  1. RTP support various types of file format, such as MPEG and MJPEG but may also include some additional formats.
  2. It runs in end systems.
  3. Jitter correction, detection of out-of-sequence arrival, and multimedia streaming are also included in RTP data characteristics.

What is RTCP?

RTCP is an abbreviation for "Real-time Transport Control Protocol". It is the counterpart protocol of the RTP protocol and is described alongside RTP. It is an essential component of the RTP protocol that provides RTP with control features, including synchronization, feedback, and user interface (UI).

The RTCP protocol allows senders and receivers to exchange a series of reports, including additional detail about the data being sent and the network's performance. RTCP messages are also contained inside a UDP packet for transmission and are transmitted with a protocol number which is higher than the RTP streamed port number with which they are linked.

The feedback provided in the RTCP protocol facilitates the encoding process by increasing the data rate while the network is running normally and decreasing the data rate when the network is having problems. The Payload field informs the destination of the encoding algorithm that is being used in the protocol.

RTCP Packet Types

There are mainly five packet types of RTCP protocol, including RR, SR, SDES, BYE, and APP. These are as follows:

1. SR (Sender Report)

At a predetermined interval, the active sender in a conference delivers a sender report to report transmission and reception statistics for all RTP packets transmitted during the time period. The sender's report includes an absolute time stamp, which indicates how many seconds have passed since midnight on January 1, 1970. When the receiver receives RTP packets, this information about absolute timestamps aids the synchronization process. It is complex in audio-video transmission for determining the relative timestamp.

2. RR (Receiver Report)

Non-active senders are in charge of creating receiver reports, which contain data delivery reception quality comments. It stores information such as the greatest packet number received, inter-arrival jitter, number of dropped packets, and round-trip delay between sender and receiver using timestamps.

3. SDES (Source Description Items)

The source sends a source description message at a predetermined period to provide further information about itself. It includes information such as the source's identity, email address, phone number, and source controller.

4. Bye Message

To terminate a stream, a source sends a message known as a Bye message. The source uses it to announce his intention to leave the conference. This message informs other sources directly of the absence of a source. It may be utilized to combine several media files.

5. APP (Application-Specific Message)

It is just to be used for experimental purposes and newly emerging features and functions.

Key differences between RTP and RTCP

Difference between RTP and RTCP

There are various key differences between RTP and RTCP. Some of the key differences between RTP and RTCP are as follows:

  1. RTP protocol is the standard for sending real-time application data. In contrast, RTCP is also used in conjunction with RTP to monitor the QoS and transmission statistics for guaranteed transmission.
  2. RTCP often includes reports from the sender and receiver. In contrast, the RTP protocol contains information such as the payload type, timestamp, sequence number, etc.
  3. RTP utilizes even port numbers. In contrast, the RTCP protocol utilizes odd port numbers.
  4. In RTP, the source is identified using a 32-bit random identifier. In contrast, globally unique IDs that are also understandable by humans are utilized in RTCP.
  5. The RTP aids in the development of an interoperable environment. On the other hand, the RTCP protocol regulates data interchange performance by generating feedback.

Head-to-head comparison between RTP and RTCP

Here, you will learn the head-to-head comparisons between RTP and RTCP. The main differences between RTP and RTCP are as follows:

Features RTP RTCP
Full form RTP is an abbreviation for Real-Time Transport Protocol. RTCP is an abbreviation for Real-Time Transport Control Protocol.
Basic It is mainly used to store media streams. It is mainly used to monitor transmission stats and QoS.
Features Provided It offers interoperability. It regulates data interchange performance by generating feedback.
Ports It utilizes the even port number. It utilizes the odd port number.
Packet Contains It contains the payload type, sequence number, timestamp, etc. It contains sender and receiver reports.
Relation It defines the packet structure for real-time data. It operates in conjunction with the RTP.
Source Identification It utilizes a 32-bit identifier. It utilizes textual information.

Conclusion

The RTP protocol is utilized to exchange multimedia data. On the other hand, the RTCP protocol is the control component and is utilized to collect regular feedback control data regarding the quality of transmission associated with the data flows.


Next TopicDifference between





Youtube For Videos Join Our Youtube Channel: Join Now

Feedback


Help Others, Please Share

facebook twitter pinterest

Learn Latest Tutorials


Preparation


Trending Technologies


B.Tech / MCA