High speed data transmission
Efficient and fast communication has always been a necessity for us. And with increasing speed of internet the network and packet protocols need to the upgraded. The backbone of communication has always been TCP and UDP protocols.
TCP is known for reliable and slow communication due to overhead of every packet acknowledgement.
UDP is fire and forget protocol which does not give guarantee of reliable packet transmission.
Engineers have derived numerous protocols using TCP and UDP to achieve fast packet transfer and quality control.
Approach has been very simple.
UDP: For fast packet transfer as it is lightweight.
TCP: For controlling the quality of communication by acknowledging packet transmission.
Smart combination of both protocols leads to various application protocols for audio, video streaming, high volume data transfer etc.
High volume reliable data transfer (UDT)
High volume data transfer over TCP leads to under utilised bandwidth. As TCP acknowledges each and every packet which makes it slow.
Instead UDT which is UDP+TCP protocol is able to gets best of both world. Huge data transfer via UDP and transmission quality control via TCP.
UDP for data transfer: For transferring huge amount of data on extremely high speed networks we can use UDP to transfer data from one location to another over internet.
TCP for quality control: Transmission control protocol can be used for monitoring the quality of data and loss incurred while UDP transmission. And requesting re-transmission to data packets if required.
Hence the quality control protocol provides the control to client for making tradeoff between the speed and quality. Hence providing the user experience depending on the client speed and preferences.
Key features
Fast: Build for high speed networks and has been proven to support global data transfer of terabytes in size. This is core technology for many commercial high speed networks and applications.
Fair and Friendly: Multiple UDT transmissions can share the bandwidth fairly while enough bandwidth is available for TCP.
Easy to Use: Implemented on application layer hence easier of implement on any system. Softwares are available to start using it. No kernel reconfiguration is needed. API’s are very simple to be incorporated in existing application easily.
Highly Configurable: User defined congestion control algorithms. Protocol is flexible enough to be modified to be used for various applications. New control can be used by students or researchers.
Firewall Friendly. Protocol uses the underlying UDP and TCP hence it is easier to traverse the firewall. Single UDP port can be used for multiple UDT transmissions.
Live audio & video streaming (RTP and RTCP)
This protocol is specially written for live audio and video streaming. Based on the assumption that some degree of data loss is acceptable.
Realtime transmission protocol (RTP) is based over UDP and this protocol relies on the fact that data is realtime so data packets received after a cutoff time window are rejected. There is a buffer maintained on the client side once the buffer receives enough packets it is played on the client side. The buffer is maintained to control the experience and smart algorithms has been put in place on client side to provide a good experience to the end user.
Realtime transmission control protocol (RTCP) runs over TCP. This is quality control protocol which keeps a feedback loop between server and client.
Real Time Streaming Protocol (RTSP) provides capability to control the media streaming by implementing the protocol in entertainment and communications systems. The clients can control the streaming by commands like play, pause, stop etc.
Read more on wiki
