Post AmgPly7scKwffEAL8C by jond@mastodon.social
 (DIR) More posts by jond@mastodon.social
 (DIR) Post #AmgPlxEDxGQSsc7tNg by cr1901@mastodon.social
       2024-10-04T20:46:07Z
       
       0 likes, 0 repeats
       
       #lazyweb Okay, just to be 100% crystal clear:If I send a SINGLE UDP packet with > 68 bytes (strictly speaking, assume > 1500 bytes for Ethernet), fragementation will kick in, but assuming no dropped fragments, when the dest receives the UDP packet, it will be in the order it was sent?I.e. UDP packets being sent out-of-order only applies to two different packets (ignoring packet duplication here- my application has idempotent endpoints for the endpoints where it matters.)?
       
 (DIR) Post #AmgPly7scKwffEAL8C by jond@mastodon.social
       2024-10-04T20:54:23Z
       
       0 likes, 0 repeats
       
       @cr1901 Are you asking if the IP *fragments* will arrive in increasing numerical order for reassembly?  In my experience, typically yes but not always esp during poor/long network performance.
       
 (DIR) Post #AmgPlyxzUad4GqXxM8 by cr1901@mastodon.social
       2024-10-05T00:11:07Z
       
       0 likes, 0 repeats
       
       Also, on a related tangent today... TIL that 31-bit prefixes on subnets weren't actually legal until 2000 (because all 0s and all 1s are reserved):https://datatracker.ietf.org/doc/html/rfc3021Oh and TIL that VLSM and CIDR are two different things. Wheee...
       
 (DIR) Post #AmgPlz4N6rjWadX3Im by cr1901@mastodon.social
       2024-10-04T22:08:57Z
       
       0 likes, 0 repeats
       
       @jond I was asking whether "if I send a _single_ large UDP packet, and it arrives successfully at the dest, but the fragments don't necessarily arrives in order, will the application see _that single_ UDP packet in the correct order or not?"
       
 (DIR) Post #AmgPlzsM71iR5euyDA by jond@mastodon.social
       2024-10-05T02:18:15Z
       
       0 likes, 0 repeats
       
       @cr1901 I'm unaware of any network stack (that supports IP fragments) which wouldn't reassemble them in the correct order before handing them along as a UDP packet.  Such a thing is, I suppose, possible, but would be a blatant design failure re how IP fragment numbering is specified to work.
       
 (DIR) Post #AmgPm0MUIzoob712B6 by cr1901@mastodon.social
       2024-10-05T02:19:34Z
       
       0 likes, 0 repeats
       
       @jond Yes, that sounds about right. But I'm dense and learning about this stuff makes me tired. So it couldn't hurt to ask.
       
 (DIR) Post #AmgPm0o8eBw7yrx7HE by shironeko@fedi.tesaguri.club
       2024-10-05T03:10:15.911978Z
       
       0 likes, 0 repeats
       
       @cr1901 @jond udp have a checksum so even if IP layer screwed up the packet will still be all or nothing
       
 (DIR) Post #AmgSNRnrRPt4KRniwS by cr1901@mastodon.social
       2024-10-05T03:19:31Z
       
       0 likes, 0 repeats
       
       @shironeko @jond Checksums- at least the "sum up byte" ones- cannot detect swapped bytes (although CRCs can). UDP is a ones-complement-based checksum. So AIUI, it wouldn't detect fragment reassembly in the wrong order if the IP layer screwed up in that particular way?
       
 (DIR) Post #AmgSNSP5D1f4BtDRxY by shironeko@fedi.tesaguri.club
       2024-10-05T03:39:27.504468Z
       
       0 likes, 0 repeats
       
       @cr1901 @jond TIL, wonder why they chose a commutative operation. lol