Solved

UDP packet loss

Posted on 2014-01-27
10
935 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
Create the perfect environment for any meeting

You might have a modern environment with all sorts of high-tech equipment, but what makes it worthwhile is how you seamlessly bring together the presentation with audio, video and lighting. The ATEN Control System provides integrated control and system automation.

 
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

The New “Normal” in Modern Enterprise Operations

DevOps for the modern enterprise offers many benefits — increased agility, productivity, and more, but digital transformation isn’t easy, especially if you’re not addressing the right issues. Register for the webinar to dive into the “new normal” for enterprise modern ops.

Question has a verified solution.

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

Meet the world's only “Transparent Cloud™” from Superb Internet Corporation. Now, you can experience firsthand a cloud platform that consistently outperforms Amazon Web Services (AWS), IBM’s Softlayer, and Microsoft’s Azure when it comes to CPU and …
If you're not part of the solution, you're part of the problem.   Tips on how to secure IoT devices, even the dumbest ones, so they can't be used as part of a DDoS botnet.  Use PRTG Network Monitor as one of the building blocks, to detect unusual…
After creating this article (http://www.experts-exchange.com/articles/23699/Setup-Mikrotik-routers-with-OSPF.html), I decided to make a video (no audio) to show you how to configure the routers and run some trace routes and pings between the 7 sites…
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…

808 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