Re: How can i detect if a received UDP got fragmented from userland?



Sten Daniel Sørsdal wrote:

I am currently working on a udp multicast application written in C for
FreeBSD (6.x)

For our test cases in many different network types we found that
fragmentation poses as a significant problem for quality and reliability.
Packets that get fragmented are more likely to get dropped than
packets that do not get fragmented and since our application needs high
bulk performance without retransmissions we believe our application and
the network would benefit from this.
Our first assumption was that adding DF to UDP would solve it, and it
does in our small tests, but it has a noticable negative effect on the
network.
Are there any way i can read whether a message's packet was fragmented
into smaller pieces and preferably how large the largest fragment was?
Are there any feasible way to do this?

No. There is no way to know from userland if a packet was fragmented.
In theory you can infere this from the size of the rcvmsg() you do. If
it is larger than your local MTU it must have been fragemented. This
doesn't allow you to find out if the path from source to receiver has
a lower MTU somewhere however. There you can only do path MTU discovery.

--
Andre
_______________________________________________
freebsd-net@xxxxxxxxxxx mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "freebsd-net-unsubscribe@xxxxxxxxxxx"



Relevant Pages

  • Malformed Fragmented Packets DoS Dlink Firewall/Routers
    ... Malformed Fragmented Packets DoS Dlink Firewall/Routers ... Fragmentation is required because every network ... You bitches thought Fate Labs was dead?! ...
    (Bugtraq)
  • [NEWS] DLink Firewall/Router Vulnerable to Malformed Fragmented Packets DoS
    ... DLink Firewall/Router Vulnerable to Malformed Fragmented Packets DoS ... Fragmentation is required because every network ...
    (Securiteam)
  • Re: IP header
    ... > I'm trying to make sure that my packets don't get broken up ... fragmentation is to discard the packet - fragmentation is ... reaching the network. ... Fix your wire protocol by sending explicit message ...
    (comp.lang.java.programmer)
  • How can i detect if a received UDP got fragmented from userland?
    ... I am currently working on a udp multicast application written in C for ... fragmentation poses as a significant problem for quality and reliability. ... packets that do not get fragmented and since our application needs high bulk performance without retransmissions we believe our application and the network would benefit from this. ...
    (freebsd-net)
  • [REVS] OpenBSD DNS Cache Poisoning and Multiple O/S Predictable IP ID Vulnerability
    ... Recently Amit'has been looking at the OpenBSD PRNG implementation for DNS ... also use this PRNG for IP fragmentation ID normalization feature (e.g. ... in "regular" IP packets and raw IP packets. ... o Idle-scanning, O/S fingerprinting, host alias detection, traffic ...
    (Securiteam)