When sending UDP packets that exceed the PMTU, I'm told that the receiver will receive the packets in fragments. Does the network interface or OS of the receiver typically re-assemble the packets automatically?
If I had to guess, for Linux/POSIX systems the answer would be no if using a raw socket e.g. SOCK_RAW
- but is this also the case if using SOCK_DGRAM
?
Can anyone say whether Linux, Windows, or Mac OS do IP packet reassembly?
I'm aware that the IETF recommends against IP fragmentation, but I'm trying to understand how much I, as a network application developer, have to worry about it.