Re: [tcpm] poll for adoption of long connectivity disruptions draft
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [tcpm] poll for adoption of long connectivity disruptions draft



-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi, Alex,

Alexander Zimmermann wrote:
> Hi Joe,
> 
> first of all, thank you very much for your valuable comments! Since  
> I'm not sure
> I understand you correctly, I break down our problem to a concrete  
> example with
> we can play with.

Thank you for doing this. This is the kind of discussion that, IMO,
should appear in the document. I don't disagree with any of the
conclusions below.

Joe

> 
> * If I understand you correctly in this threat as well in the threat  
> "WG Last
> Call for ICMP Attacks", the "possibility" and the "impact" of a false  
> positive
> is something different and both should be included in our I-D. Till  
> now only the
> "possibility" is included. I will fix that.
> 
> * Every time I had the problem "RTO-based loss recovery AND router can  
> delay to
> send/generate ICMPs AND sequence space can wrap" in mind, I mean problem
> "B.4.2". However, I have the feeling you mean problem "2.4.2". Right?
> 
> Alex
> 
> ---
> 
> Situation:
> 
> S (Source) ---------------- R (Router) ---------------- D (Destination)
> 
> - At time t0, a steady state TCP flow with packets p1,...,pn in flight  
> between a
>    source S and a destination D. Packets are routed by an intermediate  
> router R.
> 
> - At time t1 a connectivity disruption occurs at router R.
> 
> - At time t2, S starts to send RTO based retransmissions r1,...,rm and  
> backs off
>    and undoes according the algorithm.
> 
> - At time t3, the connection is re-established
> 
> - At time t4, the sequence space wraps
> 
> - At time t5, the connection is in RTO-based loss recovery again
> 
> 
> The following scenarios are possible, when ICMP DUs for the packets  
> p1,...,pn
> are delayed for a longer time (or are not generated at all):
> 
> 1. R does not generate ICMP DUs for p1,...,pn (congestion)
>     => Backoff according to RFC 2988, no undo by design.
> 
> 2. R generates ICMP DUs for p1,...,pn
>    2.1 S receives ICMP DUs BEFORE t2 (standard)
>        => Impact: None. ICMP DUs are ignored by design.
> 
>    2.2 S receives ICMP DUs AFTER t2, but BEFORE t3
>        => Impact: Retransmission ambiguity. To be considered as not  
> harmful.
>        (described in I-D section 4.3, para 5)
> 
>    2.3 S receives ICMP DUs AFTER t3, but BEFORE t5
>        => Impact: None. ICMP DUs are ignored by design.
> 
>    2.4 S receives ICMP DUs AFTER t5
>      2.4.1 RTO due to connectivity disruption
>        => Impact: No false positives since we count backoffs.
> 
>      2.4.2 RTO due to congestion
>        => Impact: one false positive possible
>        => Possibility: at most n/2^32
>        (not described in I-D yet!!!)
> 
> 
> The following scenarios are possible, when ICMP DUs for the  
> retransmissions
> r1,...,rm are delayed for a longer time (or are not generated at all):
> 
> A. R does not generate ICMP DUs for r1,...,rm (congestion)
>     => Backoff according to RFC 2988, no undo by design.
> 
> B. R generates ICMP DUs FOR ALL r1,...,rm
>    B.1 S receives ICMP DUs BEFORE t3
>        => ICMP DUs are exploited by design. => Undo
> 
>    B.2 S receives ICMP DUs AFTER t3, but BEFORE t5
>        => Impact: None. ICMP DUs are ignored by design.
> 
>    B.3 S receives ICMP DUs AFTER t5
>      B.4.1 RTO due to connectivity disruption
>        => Impact: No false positive since we count backoffs.
> 
>      B.4.2 RTO due to congestion
>        => Impact: at most m false positives
>        => Possibility: at most 1/2^32
>        (described (not completely correct) in I-D section 4.3, para 6)
> 
> 
> B.1) A steady state TCP flow between a sender S and a destination D is  
> disrupted
> at some router R. The first few RTO retransmissions trigger ICMP DUs  
> at R, but
> are delayed by it. Then, while S is still in the same loss recovery  
> phase, the
> accumulated ICMPs are emitted by R and received by S, triggering  
> multiple
> reversions. This is safe, as the result would be the same, when ICMPs  
> were
> emitted instantly.
> 
> B.2) A steady state TCP flow between a sender S and a destination D is  
> disrupted
> at some router R. The first few RTO retransmission trigger ICMP DUs at  
> R, but
> are delayed by it. Then, connectivity is re-established by a successful
> retransmission and S leaves the loss state. If the delayed ICMPs are  
> emitted by
> R now, they will have no effect on S.
> 
> 2.4.2) A steady state TCP flow between a sender S and a destination D is
> disrupted at some router R. Each packet p[i], which is in flight from  
> S to T
> passes R and may (ICMP rate limiting) trigger a DU message, which is  
> delayed
> at R. Afterwards, when the link outage is over, the connection is
> re-established, and S slow-starts the connection. When the sender's TCP
> performs a sequence number wrap and approaches the sequence numbers of  
> p[i],
> an RTO occurs and S enters RTO-based loss recovery. Now, R emits the  
> delayed
> ICMPs for the p[i] of the last sequence number cycle, which may  
> trigger one
> false reversion. In case of congestion, this leads to one false
> retransmission, while in the case of another link outage, the additional
> reversion is harmless. However, it is at most one false reversion, as  
> long
> as we assume only one sequence number cycle of delayed ICMPs. The  
> probability of
> this to happen depends on the number of packets which are in flight  
> towards R.
> 
> B.4.2) A steady state TCP flow between a sender S and a destination T is
> disrupted at some router R. The sender performs multiple consecutive RTO
> retransmissions, but the corresponding ICMPs are delayed by R. Then,  
> after
> several more retransmissions, connectivity is re-established and S  
> leaves
> loss state. A sequence space wrap later, the path is disrupted again,  
> exactly
> at the time at which the current SND.UNA matches the SND.UNA form the  
> previous
> cycle. If the router R emits the delayed ICMPs now, but is currently  
> congested,
> S will undo the multiple backoffs falsely. The probability of this  
> should be at
> most 1 to 4 billion.
> Given sufficiently many RTO retransmissions in the first loss phase, the
> corresponding ICMPs can pull the RTO in the second loss phase from  
> MAX_RTO
> to the initial RTO. However, once the ICMPs are depleted, standard  
> exponential
> backoff will be performed. Roughly speaking, the standard congestion
> response will be delayed by a few false retransmissions, and after
> log2(MAX_RTO/MIN_RTO) of those retransmissions, MAX_RTO is reached  
> again.
> 
> //
> // Dipl.-Inform. Alexander Zimmermann
> // Department of Computer Science, Informatik 4
> // RWTH Aachen University
> // Ahornstr. 55, 52056 Aachen, Germany
> // phone: (49-241) 80-21422, fax: (49-241) 80-22220
> // email: zimmermann at cs.rwth-aachen.de
> // web: http://www.umic-mesh.net
> //
> 
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (MingW32)

iEYEARECAAYFAkqv1uYACgkQE5f5cImnZrsSAgCfZDYtR6IIlzBcdEohceXzD574
FS4AoJ3uzBVZtrghN4HthCj+Ks7iQcCM
=KWPc
-----END PGP SIGNATURE-----

Note: Messages sent to this list are the opinions of the senders and do not imply endorsement by the IETF.