RE: Echo Function and Asymmetry - Timer negotiation

richard.spencer@bt.com Fri, 12 August 2005 07:05 UTC

Received: from localhost.localdomain ([127.0.0.1] helo=megatron.ietf.org) by megatron.ietf.org with esmtp (Exim 4.32) id 1E3TbA-0001OR-Ry; Fri, 12 Aug 2005 03:05:00 -0400
Received: from odin.ietf.org ([132.151.1.176] helo=ietf.org) by megatron.ietf.org with esmtp (Exim 4.32) id 1E3Tb9-0001OI-AY for rtg-bfd@megatron.ietf.org; Fri, 12 Aug 2005 03:04:59 -0400
Received: from ietf-mx.ietf.org (ietf-mx [132.151.6.1]) by ietf.org (8.9.1a/8.9.1a) with ESMTP id DAA07207 for <rtg-bfd@ietf.org>; Fri, 12 Aug 2005 03:04:57 -0400 (EDT)
From: richard.spencer@bt.com
Received: from smtp2.smtp.bt.com ([217.32.164.150]) by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1E3U9c-0007aC-AG for rtg-bfd@ietf.org; Fri, 12 Aug 2005 03:40:36 -0400
Received: from i2km97-ukbr.domain1.systemhost.net ([193.113.197.30]) by smtp2.smtp.bt.com with Microsoft SMTPSVC(6.0.3790.211); Fri, 12 Aug 2005 08:04:48 +0100
Received: from i2km41-ukdy.domain1.systemhost.net ([193.113.30.29]) by i2km97-ukbr.domain1.systemhost.net with Microsoft SMTPSVC(5.0.2195.6713); Fri, 12 Aug 2005 08:04:48 +0100
X-MimeOLE: Produced By Microsoft Exchange V6.0.6603.0
Content-Class: urn:content-classes:message
MIME-Version: 1.0
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Date: Fri, 12 Aug 2005 08:04:48 +0100
Message-ID: <B5E87B043D4C514389141E2661D255EC0A835B50@i2km41-ukdy.domain1.systemhost.net>
Thread-Topic: Echo Function and Asymmetry - Timer negotiation
Thread-Index: AcWe2D3El3gg3POjRIW55/zmU6dA5AAMvjxA
To: rrahman@cisco.com, dkatz@juniper.net
X-OriginalArrivalTime: 12 Aug 2005 07:04:48.0551 (UTC) FILETIME=[209CFB70:01C59F0C]
X-Spam-Score: 0.3 (/)
X-Scan-Signature: 0a7aa2e6e558383d84476dc338324fab
Content-Transfer-Encoding: quoted-printable
Cc: rtg-bfd@ietf.org
Subject: RE: Echo Function and Asymmetry - Timer negotiation
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

Reshad,

> It's not clear to me what's the benefit of doing this if the 
> asymmetric echo is being run at fast rate. Failure in any 
> direction will be detected by the asymmetric echo and the 
> other end (which isn't running echo) will be notified on 
> echo failure. So it's not clear to me what's the benefit of 
> the the guy not running echo to be receiving control 
> packets at a faster rate. It would seem that with asymmetric 
> echo we can still run control packets at a sedate rate in both 
> directions. Or am I missing something?

The problem is that you are assuming the system not running echo mode will always be notified of a failure. Lets say we have a BFD session between two systems A and B, echo mode is active on system A, but system B is just using asynchronous mode. If there is a unidirectional failure in the direction B->A, system A will detect the failure and will send a BFD control packet to B indicating that there is a failure. In this scenario, both system A and system B will be aware of the failure.

However, if there is a unidirectional failure in the direction A->B, system A will detect the failure and will send a BFD control packet to B indicating that there is a failure. This is where the problem lies, system B will not receive the BFD control packet because the failure is in the direction A->B, and therefore B will not detect the failure until it's asynchronous timer has timed out. Similarly, if there is a bi-directional failure, system A will detect the failure and will send a BFD control packet to B indicating that there is a failure, but again system B will not receive the failure notification.

I personally don't like echo mode as an always on fault detection mechanism for a number of reasons:

1. Echo mode does not provide any indication of the direction/location of the failure, it could be in the direction A->B, B->A, or it could be a forwarding plane failure in the remote system.
2. To support symmetric failure detection times, echo mode requires twice as many packets to be transmitted/received as asynchronous mode does if active on both systems, and 50% more if active on just one system.
3. The draft does not define exactly how a failure is detected in echo mode, therefore vendors may use different methods/settings for fault detection using echo mode. In a multi-vendor environment, this may require translation between different methods/settings in order to ensure symmetry in detecting failures (if they are actually user configurable), which adds management/operational complexity.
4. Failure detection times using echo mode are more susceptible to variations due to the packets being looped back, i.e. [downstream propagation delay + far end switching delay + upstream propagation delay] vs. [one way propagation delay].

I would compare BFD asynchronous mode to the use of continuity check (CC) cells and echo mode to the use of loopback cells in ATM. In general, loopback tests are useful as on demand tests for diagnosing faults (e.g. for locating a fault), but are not suitable as always on fault detection mechanisms.

Regards,
Richard