Re: Between schedule transmissions
Dave Katz <dkatz@juniper.net> Thu, 24 February 2005 09:35 UTC
Received: from ietf-mx.ietf.org (ietf-mx.ietf.org [132.151.6.1]) by ietf.org (8.9.1a/8.9.1a) with ESMTP id EAA23823; Thu, 24 Feb 2005 04:35:08 -0500 (EST)
Received: from megatron.ietf.org ([132.151.6.71]) by ietf-mx.ietf.org with esmtp (Exim 4.33) id 1D4Flh-0008P1-7b; Thu, 24 Feb 2005 04:58:49 -0500
Received: from localhost.localdomain ([127.0.0.1] helo=megatron.ietf.org) by megatron.ietf.org with esmtp (Exim 4.32) id 1D4FO6-0002sb-Gu; Thu, 24 Feb 2005 04:34:26 -0500
Received: from odin.ietf.org ([132.151.1.176] helo=ietf.org) by megatron.ietf.org with esmtp (Exim 4.32) id 1D4FNw-0002rY-EH for rtg-bfd@megatron.ietf.org; Thu, 24 Feb 2005 04:34:16 -0500
Received: from ietf-mx.ietf.org (ietf-mx.ietf.org [132.151.6.1]) by ietf.org (8.9.1a/8.9.1a) with ESMTP id EAA23750 for <rtg-bfd@ietf.org>; Thu, 24 Feb 2005 04:34:14 -0500 (EST)
Received: from colo-dns-ext1.juniper.net ([207.17.137.57]) by ietf-mx.ietf.org with esmtp (Exim 4.33) id 1D4Fko-0008NZ-6G for rtg-bfd@ietf.org; Thu, 24 Feb 2005 04:57:54 -0500
Received: from merlot.juniper.net (merlot.juniper.net [172.17.27.10]) by colo-dns-ext1.juniper.net (8.11.3/8.9.3) with ESMTP id j1O9Y5976121; Thu, 24 Feb 2005 01:34:05 -0800 (PST) (envelope-from dkatz@juniper.net)
Received: from [172.16.12.139] (nimbus-sf.juniper.net [172.16.12.139]) by merlot.juniper.net (8.11.3/8.11.3) with ESMTP id j1O9Y0e38288; Thu, 24 Feb 2005 01:34:00 -0800 (PST) (envelope-from dkatz@juniper.net)
In-Reply-To: <B5E87B043D4C514389141E2661D255EC0A8358B8@i2km41-ukdy.domain1.systemhost.net>
References: <B5E87B043D4C514389141E2661D255EC0A8358B8@i2km41-ukdy.domain1.systemhost.net>
Mime-Version: 1.0 (Apple Message framework v619.2)
Content-Type: text/plain; charset="US-ASCII"; format="flowed"
Message-Id: <79da1061521c9ba26c851a01b84fc5f8@juniper.net>
Content-Transfer-Encoding: 7bit
From: Dave Katz <dkatz@juniper.net>
Date: Thu, 24 Feb 2005 02:33:59 -0700
To: richard.spencer@bt.com
X-Mailer: Apple Mail (2.619.2)
X-Spam-Score: 0.0 (/)
X-Scan-Signature: 8b431ad66d60be2d47c7bfeb879db82c
Content-Transfer-Encoding: 7bit
Cc: rtg-bfd@ietf.org
Subject: Re: Between schedule transmissions
X-BeenThere: rtg-bfd@ietf.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "RTG Area: Bidirectional Forwarding Detection DT" <rtg-bfd.ietf.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/rtg-bfd>, <mailto:rtg-bfd-request@ietf.org?subject=unsubscribe>
List-Post: <mailto:rtg-bfd@ietf.org>
List-Help: <mailto:rtg-bfd-request@ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/rtg-bfd>, <mailto:rtg-bfd-request@ietf.org?subject=subscribe>
Sender: rtg-bfd-bounces@ietf.org
Errors-To: rtg-bfd-bounces@ietf.org
X-Spam-Score: 0.0 (/)
X-Scan-Signature: 4d87d2aa806f79fed918a62e834505ca
Content-Transfer-Encoding: 7bit
The loop is persistent only if you can guarantee that one system will always send two packets prior to receiving one from the other guy. This guarantee is hard to make unless the implementation always explicitly sends two packets back-to-back (and if an implementation does this, your suggestion will not change the outcome.) Everything after that is probabilistic. If this situation occurs, one side will time out of Init state and try again. Then the dice are rolled once more. The change you suggest may reduce the odds of this occurring somewhat, although it is worth noting that it is the "extra" packet that causes the problem in the first place, and additional "extra" packets may exacerbate the situation instead. Note also that as the latency on the link increases, your change is less likely to work, as it is predicated on the opposite case, namely that exactly one packet is guaranteed to be sent, and one sent in return (a round trip time), prior to the second packet being sent. The sedate rate at which packets are sent when the session isn't Up helps improve the odds as well. I think there is no way out of this conundrum, particularly if the packet transmit rates are different on each side (getting rid of the "extra" packets entirely wouldn't even help.) Distributed state establishment is a sloppy business. One thing you point out is that the text is not clear as to when the state variables are to be initialized; the answer is that they are initialized once when the session is created, and never again (the protocol machinery will tinker with the state as necessary as the session goes up and down.) I'll add a little text to that effect. --Dave On Feb 22, 2005, at 5:10 PM, richard.spencer@bt.com wrote: > In the case of state transitions from 'Down to Up or Init', and from > 'Up to Failing' it is obvious that a BFD packet should be sent > immediately (rather than waiting for the next scheduled transmission) > because the IHY variable changes. However, what about state changes > form 'Init to Up' and 'Failing to Down' where the IHY doesn't change? > Do these result in BFD packets being sent immediately, or does the > system wait until the next scheduled transmission? The answer to this > question may be dependant on the bfd.LocalDiag field, the draft states > that bfd.LocalDiag MUST be initialised to zero, and describes when it > should be changed to reflect failure conditions. However, there is no > information (or at least I can't find any) regarding when > bfd.LocalDiag should be reset to 0.
- Between schedule transmissions richard.spencer
- Re: Between schedule transmissions Dave Katz