Does Windows XP automatically reassemble UDP fragments?
Posted
by
Matt Davis
on Server Fault
See other posts from Server Fault
or by Matt Davis
Published on 2012-06-18T20:26:23Z
Indexed on
2012/06/18
21:18 UTC
Read the original article
Hit count: 487
I've got a Windows application that receives and processes XML messages transmitted via UDP. The application collects the data using Windows "raw" sockets, so the entire layer 3 packet is visible.
We've recently run across a problem that has me stumped.
If the XML messages (i.e., UDP packets) are large (i.e., > 1500 bytes), they get fragmented as expected. Ordinarily, this will cause the XML processor to fail because it attempts to process each UDP packet as if it is a complete XML message. This is a known short-coming in the system at this stage of its development.
On Windows 7, this is exactly what happens. The fragments are received and logged, but no processing occurs. On Windows XP, however, the same fragments are seen, and the XML processor seems to handle everything just fine.
Does Windows XP automatically reassemble UDP fragments? I guess I could expect this for a normal UDP socket, but it's not expected behavior for a "raw" socket, IMO. Further, if this is the case on Windows XP, why isn't the behavior the same on Windows 7? Is there a way to enable this?
© Server Fault or respective owner