TCP is generally used for safe and secure packet transmission.
The packets are guaranteed to reach their destination using TCP. This protocol creates a secured connection between source & destination so that packets can easily travel to their destination point. This configuration requires a lot of overhead in creating the secure connection, therefore this process is time-consuming. The choice of protocol basically depends upon the exact requirements and the priorities. This extra overhead is not required in the given case so we can consider the other choice that is UDP. In UDP, there is no guarantee that all the packets will reach to their destination in time as required, but it just assumes that things will work fine. In the given scenario, that is, in streaming, if we are losing few packets, this would be acceptable because in the media stream, just a little fraction of time is represented by each packet. So the application can be run over UDP.
Following are the advantages and disadvantages when the streaming stored audio runs over UDP protocol:
- Much faster speeds can be obtained using multiple ports.
- It doesn't require any overhead to manage TCP Connection.
- Better Quality
- Requires some control protocol over another TCP Connection or UDP connection.
- With secure networks like firewall enabled network, it can't work simply.
- In case of storing compressed audio, the quality may reduce.
Following are the advantages and disadvantages when the streaming stored audio runs over TCP protocol:
- Sound quality is much better and also provides guarantee on this.
- It can work with secure networks also.
- TCP does not need any control channel.
- Over head of maintaining TCP connections, output or throughput may be reduced.
- Can't use more than one TCP connections for one stream, its impractical.
Real Networks products RTSP (Real Time Streaming Protocol) used for the control protocol and either RDT (a proprietary Real Networks protocol) or RTP (Real-time Transport Protocol) may be widely supported or used at client side or application level in different browsers.
RTSP is network protocol used in entertainment, communication and education based system to control the streaming media servers. It is run like HTTP and having one or more linear TCP connections for the time period of stream and this state is maintained on the media servers. When the first time connection is established, it assists in selecting a transport (UDP, multicast UDP or TCP) for the data protocol. RTSP connection can also manage the multiple data delivery sessions, although data is not of very good quality, this makes RTSP a feasible option to adopt.
UDP is always taken into consideration as a transport by RealPlayer due to less overhead, better quality of UDP, availability of more than one port option under UDP, no botheration about communication reliability, etc.
Microsoft also has developed a protocol named Microsoft Real-Time protocol and it is very much similar to RealNetworks. In this protocol, transport can be overridden according to the user's choice in the Windows media player and again UDP is preferred over TCP. It uses RTSP over UDP or TCP.
Sometimes the available bandwidth of the network is totally consumed by useless packets, these packets become useless because these are discarded due to congestion before reaching to their target. This is totally undesired situation. Therefore some protocols or rules are required to make the non-TCP applications friendly with TCP so that the bandwidth will be uniformly distributed across the resources.
TCP Friendliness for Unicast: "It is determined when the long-term throughput is not reduced by any existing TCP flow under the same network environment".
TCP Friendliness for Multicast: "It is determined when for each pair of sender & receiver, unicast is acting as TCP friendly".
TFRC which is known as TCP-Friendly Rate Control is basically a technique to control the congestion. It works for Unicast flows in network environment compatible with TCP. A packet window is maintained in TCP congestion control, consisting of unacknowledged packets. The size of window is incremented with one in each round-trip, if there is no loss in the packets. The size is decremented by half, if there is a packet loss. So by the size of the window, we can determine the packet loss incurred in the network. This probability of loss is calculated by TFRC.
The main objective of TCP-friendliness is "There must be a fair distribution of network resources between TCP and non-TCP protocols. Non TCP data flows should be allowed to occupy the bandwidth equals to or less than as required by a TCP connection, it should not be more". Non-TCP protocols are a bit complicated so congestion control should not be implemented on this protocol, rather we can perform the same on "IP routing level". One example of this technique is "Active Queue Management"; TCP-friendliness is achieved by constant monitoring the network traffic and analyzing it. Several methods have been proposed to implement TCP friendliness. Most of them are end to end schemes which are usually consisted of AIMD (Additive-Increase Multiplicative decrease) window based and rate based protocols and also of modeling rate based protocol.
This is a current topic of research these days, and Sally Floyd is an active researcher, engaged with this topic from years. Her research papers can be accessed from "http://www.icir.org/tfrc/".
In her interview she mentioned that how she decided to learn computers after doing B.A. in sociology and then how she selected networking to go with. As per her, the most challenging part of her job is the actual research work she is doing, which includes inventing and implementing new means for end-to-end congestion control. Her main focus is on "Equation-based congestion control". The reason behind her keen interest in networking is the inspiring and hardworking people who are working in the same field.
As per Sally Floyd, the future of networking or the internet cannot be predicted because it keeps on changing rapidly. There are chances that the available bandwidth would increase much faster than expected and the congestion which is currently the main problem of internet traffic will be reduced to a great extent by using new mechanisms.