INFO: UDP Datagram Can Be Silently Discarded if Larger than MTU

Article translations Article translations
Article ID: 233401 - View products that this article applies to.
This article was previously published under Q233401
Expand all | Collapse all

SUMMARY

When a UDP datagram is larger than the MTU size of physical media and there is no ARP entry for the host it is sent to, Microsoft Windows TCP/IP implementation keeps only the last fragment of the UDP datagram sent to a given destination while waiting for an ARP reply. The rest of fragments are silently discarded.

For example, when a WinSock application attempts to send a single UDP datagram with 12501 bytes of data, the IP layer performs fragmentation and generates nine IP fragments on an Ethernet. The first eight fragments are discarded and only the last fragment is kept while waiting for an ARP reply. When the first ARP reply is received, only the last fragment is sent.

This behavior is by design and complies to Host Requirement RFC stating that ARP should save at least one packet.

MORE INFORMATION

To avoid the UDP packet drop:

  1. Send a smaller IP datagram than the MTU size before sending a large UDP datagram. This ensures the ARP cache is "primed" so that all IP fragments can be sent out without waiting for the ARP reply
  2. Increase ARP cache life by adjusting the following registry:

    Value: ArpCacheMinReferencedLife

    Key: Hkey_Local_Machine\System\CurrentControlSet\Services\
    \Tcpip\Parameters
The default is 600 seconds and it can be increased to FFFFFFFF(Hex) seconds.

REFERENCES

For more information about the ARP cache life, refer to the following
article:
166750: ARP Cache Entries May Not Time Out for 10 Minutes

Properties

Article ID: 233401 - Last Review: February 22, 2007 - Revision: 3.3
APPLIES TO
  • Microsoft Windows 2000 Server
  • Microsoft Windows 2000 Advanced Server
  • Microsoft Windows 2000 Professional Edition
  • Microsoft Windows NT Server 3.5
  • Microsoft Windows NT Server 3.51
  • Microsoft Windows NT Server 4.0 Standard Edition
  • Microsoft Windows NT 4.0 Service Pack 4
  • Microsoft Windows NT Workstation 3.5
  • Microsoft Windows NT Workstation 3.51
  • Microsoft Windows NT Workstation 4.0 Developer Edition
  • Microsoft Windows NT Workstation 4.0 Developer Edition
  • Microsoft Windows 98 Standard Edition
  • Microsoft Windows 95
Keywords: 
kbinfo kbwinsock kbip kbdswnet2003swept KB233401

Give Feedback

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com