?
Solved

UDP packet loss

Posted on 2014-01-27
10
Medium Priority
?
963 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
  • 3
  • 3
  • +1
10 Comments
 
LVL 40

Accepted Solution

by:
noci earned 856 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 288 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 856 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
Get MongoDB database support online, now!

At Percona’s web store you can order your MongoDB database support needs in minutes. No hassles, no fuss, just pick and click. Pay online with a credit card. Handle your MongoDB database support now!

 
LVL 40

Assisted Solution

by:noci
noci earned 856 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 856 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 856 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 856 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

Tutorial: Introduction to Managing a Linux Server

In this tutorial on systemd, we will explore:
-OS/Distro Adoption
-chkconfig and Other Legacy Commands
-Summary and Key Commands

Question has a verified solution.

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

Short answer to this question: there is no effective WiFi manager in iOS devices as seen in Windows WiFi or Macbook OSx WiFi management, but this article will try and provide some amicable solutions to better suite your needs.
Originally, this post was published on Monitis Blog, you can check it here . It goes without saying that technology has transformed society and the very nature of how we live, work, and communicate in ways that would’ve been incomprehensible 5 ye…
Here's a very brief overview of the methods PRTG Network Monitor (https://www.paessler.com/prtg) offers for monitoring bandwidth, to help you decide which methods you´d like to investigate in more detail.  The methods are covered in more detail in o…
NetCrunch network monitor is a highly extensive platform for network monitoring and alert generation. In this video you'll see a live demo of NetCrunch with most notable features explained in a walk-through manner. You'll also get to know the philos…
Suggested Courses

765 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