Solved

UDP packet loss

Posted on 2014-01-27
10
950 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 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
Turn Insights Into Action

You’ve already invested in ITSM tools, chat applications, automation utilities, and more. Fortify these solutions with intelligent communications so you can drive business processes forward.

With xMatters, you'll never miss a beat.

 
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

Free learning courses: Active Directory Deep Dive

Get a firm grasp on your IT environment when you learn Active Directory best practices with Veeam! Watch all, or choose any amount, of this three-part webinar series to improve your skills. From the basics to virtualization and backup, we got you covered.

Question has a verified solution.

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

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…
Most of the applications these days are on Cloud. Cloud is ubiquitous with many service providers in the market. Since it has many benefits such as cost reduction, software updates, remote access, disaster recovery and much more.
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…
There's a multitude of different network monitoring solutions out there, and you're probably wondering what makes NetCrunch so special. It's completely agentless, but does let you create an agent, if you desire. It offers powerful scalability …

691 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