[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!