Describe UDP operations
Exam: Cisco 300-101 - CCNP Implementing Cisco IP Routing (ROUTE v2.0)
One important topic under the exam number 300-101 route is on how to describe UDP operations. It comes under the main topic of network principals. We will now in this chapter try to discuss the many aspects of the topic so that you can clear this section and get a better score. UDP is user datagram protocol.
What UDP exactly does is that it takes the data from the higher layer protocols and then places them in the UDP messages. This is then passed down to the internet protocol for transmission. It is a simple form of TCP/IP. Some of the steps that are followed in transmission that is UDP based are as follows:
- As a first step an application will send a message to the UDP software. This is also called the higher layer data transfer.
- The higher layer message that was sent in the first step will then be encapsulated into the data field of the UDP message. After this the header of the UDP messages is filled in. This includes the source port of the application that sent the data to the UDP as well as the destination port. This will also help to calculate the checksum value. The checksum value will allow detecting an error in a transmission if the UDP message was delivered to a wrong destination.
- In the last step the message is transferred to the IP. In this the UDP message will be passed to the IP for further transmission.
The concept of UDP is simple. The UDP will not do the following. As a network administrator you must be aware of these:
- The UDP will never show any acknowledgement to prove that the data was received.
- The UDP will never establish a connection before actually sending the data.
- The UDP does not give a guarantee that the messages will arrive.
- The UDP cannot detect the messages that were lost.
- The UDP will also not assure that the data will be received in the same format as they were received.
- The UDP does not have any mechanism that manages flow of data between the devices and does not handle congestion either.
The UDP messages will have the following parts:
- Source port - this is a 16 bit port number of the process that initially originated the UDP message on the source device.
- Destination port - this is the second part of the message. It is a 16 bit-port number of the process it is ultimate recipient of the message. This will generally be the port number of the client.
- Length -the length means the entire UDP datagram that includes data fields and the headers.
- Checksum - as we have already explained it before it is optional and generally 16 bit in size.
- Data - it is the variable part of the UDP. It encapsulates the higher layer messages that need to be sent.
Starvation
Generally the UDP based traffic and the TCP based traffic are not mixed for the best performance of the network. This is done so that these two have different ways of behaving under a time of congestion. It has been noted that when the TCP flows are combined with the UDP flows in a single service provider class then congestion is almost inevitable.
This is because the TCP flows will continuously try to lower the transmission rates as a result the bandwidth to the UDP flow will fall. This process is called TCP starvation or in other words UDP dominance. This situation will mostly occur if the mission critical data that is TCP based is assigned to the same service provider class as the UDP based streaming video as a result the class will experience a sustained congestion.
It must be mentioned here that even the use of WERD cannot help these congestions. This is mainly because WERD can manage congestion only on TCP based flows.
It is true no doubt that it is not always possible to separate the TCP and the UDP flow. However, it is advisable that you know of what you can face in case you try to mix the two in a single service provider class.
Latency
The latency is the interval between the response and the stimulation. The UDP is considered to be much faster than the TCP. This is because the ACK allows a continuous stream of packets.TCP on the other hand will recognise only a set of packets that makes it slower. Some may feel that the UDP is faster and vice versa.
However, some experts belive that whether you go for a UDP or a TCP will depend on the network features and the network traffic. Some say that TCP can work better in case of small size writes. The TCP can control congestion but a UDP as we have already discussed do not have a good congestion control mechanism.
If you want to improve the performance of the TCP throughput when there is UDP traffic present then you can try one way and that is by opening many TCP connections. This will ensure that the sum of the throughput of all the TCP connection will be greater than that of the UDP.
The TCP and the UDP serve different requirements of the applications as a result they both are mostly used. UDP can be very helpful in video conferencing where TCP is not a great idea. UDP can also help in multicast. The TCP can keep multiple messages in a wire which is not easily possible in UDP. The routers generally tend to drop the UDP before the TCP.
In most of the companies the UDP is dropped in order to improve the speed of the TCP. The research is on to find new ways to balance the conflict between the software and we hope that we will get a solution soon. Having two different infrastructures is a good idea but it is not possible always as it will be a very expensive thing to do.
We have tried to discuss almost all the aspects that are important from the CCNP exam point of view in this particular section. We hope that this chapter will help you to get a clearer understanding of the topic.