Subject: Re: mech-v2: multiple packet drops with ICMPv4 and ICMPv6 [Re: comments on mech-v2-01]

From: "Chirayu Patel" <[email-masked]>
Date: Mon, 02 Feb 2004 17:29:42 +0530

Yup. It does capture the scenario adequately.

CP

On Wed, 28 Jan 2004 13:35:30 +0200 (EET), "Pekka Savola"
<[email-masked]> said:
> Hi,
> 
> I added the text below at the end of section 3.4 on ICMP errors.
> 
> Does this address your concern?  Or would you propose alternative 
> text?
> 
>    Note that when IPv4 path MTU is exceeded, and ICMPv4 errors of only 8
>    bytes of payload are generated, or ICMPv4 errors do not cause the
>    generation of ICMPv6 errors in case there is enough payload, there
>    will be at least two packet drops instead of at least one (the case
>    of a single layer of MTU discovery).  Consider a case where a host is
>    connected to a router, which is connected to a network where an
>    ICMPv4 error about too big packet size is generated.  First the
>    router needs to learn the tunnel (IPv4) MTU which causes at least one
>    packet loss, and then the host needs to learn the (IPv6) MTU from the
>    router which causes at least one packet loss.  Still, in all cases
>    there can be more than one packet loss if there are multiple large
>    packets in flight at the same time.
> 
> On Mon, 10 Nov 2003, Erik Nordmark wrote:
> > > 1) A race is triggered when an IPv6 router that has a configured tunnel
> > >    with another router is doing dynamic mtu detection. The outcome of the
> > >    race is that one or more ICMPv6 "packet too big" message might not be
> > >    sent out to an host.
> > > 
> > > Assume an IPv6 network like:
> > > 
> > > [H1]-------->[R1]===========>[R2]--------->[H2]
> > 
> > >   5. H1->R1 TCP packet of size 1400 (this is a retry)
> > >   6. R1->H1 ICMPv6 "packet too big" with size 1300
> > >   7. H1->R1 TCP packet of size 1400 (this is a retry)
> > >   8. ... (the above cycle might repeat if there are more IPv4 routers
> > >      that send ICMPv4 "fragmentation needed" with 8 bytes of payload)
> > 
> > I don't understand how it can repeat. Do you think it can repeat forever?
> > 
> > When the 8-byte payload ICMP errors are sent then R1 will effectively
> > compute the minimum received (per IPv4 path MTU discovery).
> > 
> > It is true that in the case of 8-byte payload ICMP errors you get at
> > least two packet drops instead of at least one in the case of a single layer
> > of MTU discovery (R1 needs to learn the tunnel MTU which causes at least one
> > packet loss, and then H1 needs to learn the MTU from R1 which causes at
> > least one packet loss. (And in all cases there can be more than one packet loss
> > if there are multiple large packets in flight at the same time.)