[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: I-D ACTION:draft-van-beijnum-shim6-reach-detect-00.txt
On 4-jul-2006, at 8:45, Brian E Carpenter wrote:
1. The base timing unit for this mechanism is named ShimKeepT.
Until a negotiation mechanism to negotiate different values for
ShimKeepT becomes available, a value of 10 seconds MUST be
used.
Having just seen claims that IPv6 will increase battery lifetime
because
it avoids NAT keepalives, this "until" bothers me a bit.
Is it essential that the two ends agree on the value of ShimKeepT?
Yes, because the receiver must time out when it doesn't see traffic
for that period of time, so if the sender uses a larger value the
receiver will time out when it shouldn't.
It is of course not that hard to add an option to the context
establishment mechanism to convey the keepalive period used.
Couldn't we devise an algorithm for progressively increasing it, or
for
tuning it according to the rate of data packets? Presumably a
session that
generates one packet every five minutes would not be damaged by a much
larger ShimKeepT.
Nothing is impossible, but this would be quite difficult, as there
could be missed messages and so on.
But don't forget that keepalives are only sent when one side sends
data but the other side doesn't send anything. So in case where there
is traffic in both directions and also in the case where the session
is idle, no keepalives are sent. If we build in special case handling
of TCP ACKs, TCP communication will NEVER generate keepalives if
there is no packet loss, and if we don't, only when the session moves
from active to idle.
So I don't think this is a huge issue.
Also note that increasing the timeout value means that detecting
failures will take more time.
(All of this is the same in draft-ietf-shim6-failure-detection.)
When a host suspects that there is a failure for a context, it
gathers
the set of possible source addresses and the set of possible
destination
addresses.
"Suspect" can't form part of an algorithm. Can you define what this
means
algorithmically? Does it mean "When full reachability exploration
is started"?
:-) Ok...
A host suspects that there is a failure when it has sent traffic and
not seen any return traffic (regular traffic or keepalives) for
ShimKeepT seconds plus 2 - 5 seconds.
Note it's unlikely that this document will continue to exist, after
last week's discussion I'm going to take parts of it and incorporate
them into the failure detection draft, and maybe other parts will
find their way into the locator selection draft. The discussion about
reusing the protocol for more than one client protocol that needs
reachability detection is now obsolete because I've come to the
conclusion that this isn't worth the trouble.
But thanks for reviewing!