“Reliable UDP”

Skimming through last year’s Informatik Spektrum I found an interesting master thesis by Steffen Tambach (german) examining the reliability of UDP transport. The analysis showed that no data was lost on the Fast Ethernet, but all lost packets were dropped by the receiver sowewhere on the network stack between NIC and socket API.

The following recommendations are given to prevent UDP package loss in a local network (besides the obvious ‘have enough bandwidth for your data’ and ‘be able to store/process it fast enough’):

  • use IEEE 803.3x flow control
  • ban network devices without IEEE 803.3x support (and old 10 Mbps hubs/repeaters)
  • use NICs that support device polling or interrupt coalescence (to prevent interrupt-livelocks)
  • increase the socket’s receive buffer size

Comments are closed.