body-container-line-1
Sun, 24 Jun 2007 Technology

Real-Time Transport Protocol (RTP)

Q: I read about Real-Time Transport Protocol(RTP) and I have some doubts.

1) Why does the protocol require to send the data packets & control packets at 2 different ports? Can they not be combined into 1?

A: The designers wanted to separate the two functions of data delivery and session management. Furthermore, RTP usually travels over UDP, which is unreliable. So, keeping the ports separate means that control traffic will not be lost if an application stops reading data traffic.

Q: What I feel is that if both data & control packets are combined then the congestion control would be much easier, whereas it would have to keep track of the data packets so that accordingly we have to send the control packets. Can't we combine the functionality of data & control into 1 rather than splitting them into 2 different types. We could then do some kind of piggybacking & the receiver would then tell the sender to stop sending any more. This is my view.

A: Many implementations will use separate threads for data processing and control. In such cases, having separate ports means that the operating system (i.e. socket procedures) handle demultiplexing.

If you want more information about RTP (including code for an example MP3 player that shows how threads use the two ports), there are two chapters in a book that just came out:

Comer and Stevens, Internetworking With TCP/IP Volume 3:

Client-Server Programming And Applications, Linux/POSIX version,

Prentice Hall, 2000

ISBN 0-13-032071-4

Disclaimer: "The views expressed in this article are the author’s own and do not necessarily reflect ModernGhana official position. ModernGhana will not be responsible or liable for any inaccurate or incorrect statements in the contributions or columns here." Follow our WhatsApp channel for meaningful stories picked for your day.

Just in....

Do you support or oppose Parliament’s passage of the Anti‑LGBTQ+ Bill 2026?

Started: 30-05-2026 | Ends: 31-08-2026

body-container-line