Solved

UDP packet loss

Posted on 2014-01-27
10
933 Views
Last Modified: 2014-01-28
I read from http://luxul.com/wp-content/documents/LUX-HT-iPerf.pdf that "the greater the UDP data rate, the greater the likelihood that your packet loss percentage will increase".

why is that? Thanks
0
Comment
Question by:leblanc
  • 3
  • 3
  • 3
  • +1
10 Comments
 
LVL 40

Accepted Solution

by:
noci earned 214 total points
ID: 39814326
@EndPoint:
Per definition, if there is no UDP socket waiting for a packet (=program reading socket)  
a packet is dropped.  In other words if a server is busy doing other work without a pending read on the socket, an incoming packet will be discarded.

@Network:
Also if a router has no memory to receive packets for passing on, it is expected that it should drop the UDP packets it has queued over any TCP packets.
0
 
LVL 42

Assisted Solution

by:kevinhsieh
kevinhsieh earned 72 total points
ID: 39814410
This is basic forwarding of IP traffic 101. The more packets you have going over your links, the greater the likelihood that there will be congestion or some event that causes packets to not get to their destination. The statement applies to ALL IP traffic types. In general, if a piece of networking equipment is receiving traffic faster than is can forward, the queues will fill until there is no more room in the transmit queue and all subsequent packets will be discarded until there is room in the queue again.

UDP will let you try to squeeze 1 Gb of traffic into a 1 Mb pipe, in which case at least 99% of your traffic won't make it through. TCP has built in flow control and will slow down when it senses that packets are getting dropped. UDP doesn't have any flow control.
0
 
LVL 22

Assisted Solution

by:blu
blu earned 214 total points
ID: 39815253
Noci, your statement about end point drops is not totally true. There is a receive buffer associated with all UDP sockets and the data from the received packet will be queued  until the server does a read on the socket. However, there is only a limited amount of space available in the buffer, so a few packets will be queued and after that packets will be dropped until a read is done to free up more space in the receive buffer.

But everything else is true. UDP has no flow control mechanism. As long as you can transmit more packets than the pipe between the systems can handle, some of the packets will be dropped.
0
PRTG Network Monitor: Intuitive Network Monitoring

Network Monitoring is essential to ensure that computer systems and network devices are running. Use PRTG to monitor LANs, servers, websites, applications and devices, bandwidth, virtual environments, remote systems, IoT, and many more. PRTG is easy to set up & use.

 
LVL 40

Assisted Solution

by:noci
noci earned 214 total points
ID: 39815539
@blu, you are technically correct, but for the ease of communication about dropping it doesn't help to tell that there is a UDP buffer with a size depending on config & memory availablity. For a massive transport there is a lack of space. And programmers CANNOT rely on that buffer.
0
 
LVL 1

Author Comment

by:leblanc
ID: 39815803
So if I understand correctly, there is a buffer notion that will store the arrival packets. If the buffer is full then packets will be dropped. The buffer can be on the network devices or on the OS. Correct? and of course the buffer size varies depending on the devices.
0
 
LVL 22

Assisted Solution

by:blu
blu earned 214 total points
ID: 39816382
Every packet has to be somewhere if it hasn't been dropped. You sender can send at some maximum rate, the receiver can receive at some maximum rate, and there is some limited amount of memory space total on all of the network devices in between. As you increase the data rate at the transmission end, each packet must be somewhere until it has been received. If at any point, any device receives packets from the transmitter at a faster rate than it can transmit them to the next device, then eventually the buffer for that device will fill and it will start to drop packets. But you have to keep in mind that network devices and wires are generally shared resources, so other traffic can fill the buffer or compete with the wire. And once the transmission rate exceeds the rate at which the receiver can receive packets must be dropped and any further increase in rate will cause more packets to be dropped. That is what your original post is saying.
0
 
LVL 40

Assisted Solution

by:noci
noci earned 214 total points
ID: 39816511
wires also act as a buffer btw. a 1500 byte packet can be stored in ~2.5Km of glass fiber, when 1Gbps speed is the transferspeed.
0
 
LVL 1

Author Comment

by:leblanc
ID: 39816523
So it does not matter how big my connection is with UDP. I can have a 50mbps link but if my end devices cannot buffer the packets correctly, they can be dropped. Correct?
0
 
LVL 22

Assisted Solution

by:blu
blu earned 214 total points
ID: 39816672
That is true, but I am not sure about your use of the word "correctly". It isn't a matter so much of correctly, but whether or not the buffers are large enough in comparison to the bandwidth. Just figure that if packets are produced faster than they can be consumed then they will be dropped. This can happen momentarily or continuously. All UDP applications should expect that some packets will occasionally be dropped, with a faster transmission rate resulting in a higher drop rate, which is what the original quote said.
0
 
LVL 1

Author Comment

by:leblanc
ID: 39816798
Right "large enough". Thx
0

Featured Post

Courses: Start Training Online With Pros, Today

Brush up on the basics or master the advanced techniques required to earn essential industry certifications, with Courses. Enroll in a course and start learning today. Training topics range from Android App Dev to the Xen Virtualization Platform.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Let’s list some of the technologies that enable smooth teleworking. 
PRTG Network Monitor lets you monitor your bandwidth usage, so you know who is using up your bandwidth, and what they're using it for.
Internet Business Fax to Email Made Easy - With  eFax Corporate (http://www.enterprise.efax.com), you'll receive a dedicated online fax number, which is used the same way as a typical analog fax number. You'll receive secure faxes in your email, f…
This video gives you a great overview about bandwidth monitoring with SNMP and WMI with our network monitoring solution PRTG Network Monitor (https://www.paessler.com/prtg). If you're looking for how to monitor bandwidth using netflow or packet s…

776 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question