Subject: Re: Stupid ICMP and fragmentation tricks
To: <>
From: Ignatios Souvatzis <ignatios@cs.uni-bonn.de>
List: tech-net
Date: 09/22/1999 10:29:25
On Tue, Sep 21, 1999 at 10:45:27AM -0700, Kevin Lahey wrote:
> In message <v6so48u0eq.fsf@kechara.flame.org>M Graff writes
> >It seems people who write firewall rules are idiots these days.  Most
> >places recommend blocking "all ICMP" -- which breaks M$'s
> >implementation of Path MTU discovery quite nicely.
> >
> >Here's the problem.
> >
> >I have a shark running NetBSD, which has a GRE tunnel to another
> >NetBSD box at home.  The GRE takes some overhead, of course, so
> >sometimes packets need to be fragmented.
> >
> >Since ICMP is blocked, the ICMP "host unreachable, MTU is..." packet
> >is filtered on the (in this case) remote web server end.  It also
> >seems that M$ doesn't fall back to a smaller MTU (like we do, right?)
> >to see if the ICMPs are getting lost or not.
> 
> Err, nope.  M$ actually has an option to do black hole detection,
> which you can turn on in the registry (I think).  We don't.
> I've always meant to add this, and I even wrote an Internet Draft
> about PMTU problems, including black hole detection, but I've
> always just sorta backed away from the implementation.
> 
> In this case, though, it sounds like the folks don't have black
> hole detection turned on.
> 
> >So, what would break if I changed the fragmentation semantics to be
> >something like:
> >
> >	if (tcp && dont_fragment_set && must fragment) {
> >		send ICMP packet
> >		fragment and send to host anywat
> >	} else {
> >		normal behavior here
> >	}
> 
> Sounds evil to me, but I guess it'd fix the tunnelling problem.

Yes, but is it _correct_?

That is, is PMTU discovery the one and only application, ever, of using the DF
flag?

(Meaning: are we really allowed to fragment a DF packet anyway?)

	-is

-- 
 * Progress (n.): The process through which Usenet has evolved from
   smart people in front of dumb terminals to dumb people in front of
   smart terminals.  -- obs@burnout.demon.co.uk (obscurity)