[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Question about REAP state transition (draft-ietf-shim6-failure-detection-09)



On 5 feb 2008, at 11:22, Alberto García wrote:

It is nice to clarify that information related to the received probes should
be included in the probes sent in the InboundOK state.

However, I still think that these information MUST be included also if
available in the Exploring state (and not optionally, in "MAY"-style).

Well, I clarified that the only probes we copy back are the ones since the last transition from Operational to Exploring, because otherwise it's possible to copy back old probes that were received before the failure happened. And since the reception of an inbound probe means going from Exploring to InboundOK it's impossible to have any probes to copy back in Exploring. Maybe it's useful to make copying back one probe mandatory in Operational too, though.

In B, the Retransmission Timer of B expires because a valid path from A to B
was not found,

What do you mean by "retransmission timer"? There is no timer with that name.

Probes are sent at certain intervals without considering whether they're retransmissions.

so B starts testing other paths that are not working.

B keeps testing paths until it sees A is in state InboundOK.

Then, A
stops receiving data from B, so the Send timer expires (I don't find any
reason why all the possible paths should be explored in less than Send
Timeout time, so A could not test all possible paths from A to B in this
time).

The Send Timeout is for determining when the probing starts. The probing process does not depend on the Send Timeout.

Because probing exponentially backs off, a good number of them are sent in the first minute or so (I think 17, but it depends on the exact values for the exponential backoff) but at some point, the probing rate is only one per minute. In theory, this means you will find any working address pair if you wait long enough. In practice, you don't really care anymore after 30 - 300 seconds, depending on transport timers and user patience. This means the number of address pairs shouldn't be more than 16 or so (4 addresses on each end).

Then, A falls to the Exploring state, and (in the supposition of the
previous paragraph) forgets about the working path from B to A. May be now A sends a probe to B through a working path. but in B happens the same (it tries now with different paths from B to A that are no valid, so A tries
another paths from A to B abandoning the good one...).

The inclusion of at least one probe that was received earlier in outgoing probes should fix this: when you get a packet from the other side, you know at least one working address pair from here to there. Obviously this won't work if reachability changes in the interim.