[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: mech-v2: multiple packet drops with ICMPv4 and ICMPv6 [Re: comments on mech-v2-01]
Yup. It does capture the scenario adequately.
CP
On Wed, 28 Jan 2004 13:35:30 +0200 (EET), "Pekka Savola"
<pekkas@netcore.fi> 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.)