Subject: RE: Echo Function and Asymmetry - Timer negotiation

From: [email-masked]
Date: Fri, 12 Aug 2005 08:04:48 +0100

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

---

From: Reshad Rahman <[email-masked]>
Date: Fri, 12 Aug 2005 09:33:38 -0400

Richard,

Thanks for the response, makes sense. So in the example below where only 
A is using echo mode, this means that A will be sending control and echo 
packets at a fast rate and B will be sending control packets at the 
sedate rate? If that's the case all the tx burden will be on A, 
asymmetric echo doesn't seem fair...

Regards,
Reshad.