locked
Intermittent UDP drops in Windows 10 OS RRS feed

  • Question

  • Hi,

    I have a receiver-side NDIS ETL capture.  It shows packets in order and all present.  I also have an application receiving data off of the socket.  The application misses some data, and the data is occasionally in the wrong order.

    The application is receiving multicast UDP via a LAN. The loss is apx. 0.01% of data received.  While UDP delivery and ordering aren't guaranteed by the protocol and the throughput isn't terrible, I want to understand why the OS would drop the data.

    It doesn't need to be lossless, but I want to first identify where the packets are being lost (e.g. in some finite kernel buffer), then find the threshold (e.g. after 64MB of queued data).

    Any tips or ideas on steps to take would be greatly appreciated.

    Friday, March 16, 2018 11:51 PM

All replies

  • Hi,

    I have a receiver-side NDIS ETL capture.  It shows packets in order and all present.  I also have an application receiving data off of the socket.  The application misses some data, and the data is occasionally in the wrong order.

    The application is receiving multicast UDP via a LAN. The loss is apx. 0.01% of data received.  While UDP delivery and ordering aren't guaranteed by the protocol and the throughput isn't terrible, I want to understand why the OS would drop the data.

    It doesn't need to be lossless, but I want to first identify where the packets are being lost (e.g. in some finite kernel buffer), then find the threshold (e.g. after 64MB of queued data).

    Any tips or ideas on steps to take would be greatly appreciated.


    Friday, March 16, 2018 11:47 PM
  • Hi,

    Did this issue occurred on only this computer or all computers?

    Generally, UDP packet lost caused by the following most probably reasons:

    1. UDP socket buff is full

    2. UDP socket buff size too small

    3. ARP cache expired

    Firstly, please to try the following:

    1. Update the NIC driver.

    2. Reset winsock with command “netsh winsock reset”.

    3. If there are multiple NICs, disable additional ones.

    4. Uncheck IPv6 in adapter properties.

    5. increase buffer size following this thread.

    https://stackoverflow.com/questions/18985816/change-default-socket-buffer-size-under-windows

    Please Note: Since the website is not hosted by Microsoft, the link may change without notice. Microsoft does not guarantee the accuracy of this information.

    In addition, turn off your security software and Firewall for test.


    Please remember to mark the replies as answers if they help.
    If you have feedback for TechNet Subscriber Support, contact tnmff@microsoft.com.


    Monday, March 19, 2018 5:02 AM
  • Karen,

    Thank you so much!

    It happens on all computers.

    1. I'm skeptical of the UDP buffers being full because they are so large relative to the amount of data being sent.

    2. ARP cache is an interesting idea, but I end up getting messages again before I see any ARP messages.

    1. I do need to update the NIC driver; good call

    2. The problem persists reboots across many machines so I think unlikely needed, but good to note

    3. My additional NIC is disabled, but it has power going to it technically. I think that's fine.

    4. Why disable IPv6?  I do have it enabled, so it's worth a shot!  Is there a specific problem IPv6 can cause / additional processing?

    5. As mentioned, I'm manually setting a massive buffer.

    Thursday, March 22, 2018 4:20 AM
  • So have you tried the suggestion I provided? Did the issue have gone?


    Please remember to mark the replies as answers if they help.
    If you have feedback for TechNet Subscriber Support, contact tnmff@microsoft.com.

    Friday, March 23, 2018 9:55 AM
  • Hi,

    I too would like to know if you were able to resolve the issue. I have a java program that uses UDP to send/receive commands to and from localhost. On 2 different PC's with fresh windows 10 installations I am getting severe UDP packet losses. On the PC that was upgraded from windows 7 through to 10, no packet losses.

    I have tried increasing the UDP buffers (with no effect) but have read that increasing the buffer size only delays the packet loss??

    Regards,

    Tempestine

    Thursday, March 29, 2018 12:28 PM