On 10-jan-05, at 17:15, Stephen J. Wilcox wrote:
Windows appears to always set DF, is there a reason why they did that?
Of course I wanted to see this for myself. I used Quicktime to generate some UDP, but no DFs, either on Win98 or XP.
ah i was meaning tcp, afaik it sets DF on at least win2k
All OSes that I know of do this in order to do path MTU discovery. The PMTUD RFC encourages implementers to detect changes in the path MTU as fast as possible, which they took to mean "set the DF bit on ALL packets". Which is unfortunate, because in cases where PMTUD doesn't work, no communication is possible. Setting the DF bit on 50, 10, or 2 % would accomplish PMTUD fine too, but it would also allow the session to survive brokennes.
do any of those tiny resourced internet bootstrapping hosts exist? perhaps we can deprecate DF?!
I've said I'd like to see this happen in the past. The trouble is without DF, current PMTUD doesn't work anymore, and router CPUs will be spending unnecessary CPU cycles on fragmentation. So some of the packets should trigger an ICMP too big, but others should just be fragmented. Figuring out the right mix probably requires some experimentation.