Re: Ability to detect swapped/merged LSPs

"Thomas D. Nadeau" <tnadeau@cisco.com> Tue, 01 March 2005 17:54 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 MAA22237; Tue, 1 Mar 2005 12:54:33 -0500 (EST)
Received: from megatron.ietf.org ([132.151.6.71]) by ietf-mx.ietf.org with esmtp (Exim 4.33) id 1D6Bas-0001Tt-1m; Tue, 01 Mar 2005 12:55:38 -0500
Received: from localhost.localdomain ([127.0.0.1] helo=megatron.ietf.org) by megatron.ietf.org with esmtp (Exim 4.32) id 1D6BXN-00076r-WB; Tue, 01 Mar 2005 12:52:02 -0500
Received: from odin.ietf.org ([132.151.1.176] helo=ietf.org) by megatron.ietf.org with esmtp (Exim 4.32) id 1D6BXM-00076m-If for rtg-bfd@megatron.ietf.org; Tue, 01 Mar 2005 12:52:00 -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 MAA21948 for <rtg-bfd@ietf.org>; Tue, 1 Mar 2005 12:51:57 -0500 (EST)
Received: from sj-iport-3-in.cisco.com ([171.71.176.72] helo=sj-iport-3.cisco.com) by ietf-mx.ietf.org with esmtp (Exim 4.33) id 1D6BYM-0001Ph-4b for rtg-bfd@ietf.org; Tue, 01 Mar 2005 12:53:02 -0500
Received: from sj-core-1.cisco.com (171.71.177.237) by sj-iport-3.cisco.com with ESMTP; 01 Mar 2005 11:07:30 +0000
X-BrightmailFiltered: true
X-Brightmail-Tracker: AAAAAA==
X-IronPort-AV: i="3.90,127,1107734400"; d="scan'208"; a="230385076:sNHT23779302"
Received: from flask.cisco.com (IDENT:mirapoint@flask.cisco.com [161.44.122.62]) by sj-core-1.cisco.com (8.12.10/8.12.6) with ESMTP id j21HphuC008593; Tue, 1 Mar 2005 09:51:44 -0800 (PST)
Received: from [10.83.15.56] (rtp-tnadeau-vpn7.cisco.com [10.83.15.56]) by flask.cisco.com (MOS 3.4.6-GR) with SMTP id APM00822; Tue, 1 Mar 2005 12:51:45 -0500 (EST)
In-Reply-To: <B5E87B043D4C514389141E2661D255EC0A8358D0@i2km41-ukdy.domain1.systemhost.net>
References: <B5E87B043D4C514389141E2661D255EC0A8358D0@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: <43a86f27afff2648d38c6f82d5ea7789@cisco.com>
Content-Transfer-Encoding: 7bit
From: "Thomas D. Nadeau" <tnadeau@cisco.com>
Date: Tue, 01 Mar 2005 12:51:44 -0500
To: richard.spencer@bt.com
X-Mailer: Apple Mail (2.619.2)
X-Spam-Score: 0.0 (/)
X-Scan-Signature: 6e922792024732fb1bb6f346e63517e4
Content-Transfer-Encoding: 7bit
Cc: rtg-bfd@ietf.org
Subject: Re: Ability to detect swapped/merged LSPs
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: 1a1bf7677bfe77d8af1ebe0e91045c5b
Content-Transfer-Encoding: 7bit

>> From the current base draft "If the Your Discriminator field is 
>> nonzero, it MUST be used to select the session with which this BFD 
>> packet is associated. If no session is found, the packet MUST be 
>> discarded."
>
> If a node receives a BFD packet with a Discriminator field that it 
> doesn't have a session for then there is a problem somewhere in the 
> network, so why is the packet simply dropped and no further action 
> taken?

	The packet is discarded, but the device can certainly take note of it. 
It
just has to make sure this will not result in a DoS attack on the 
device.

> If we get a swapped LSP (e.g. due to a corrupted forwarding table or 
> configuration error) then all BFD packets received for the 
> corresponding session will be dropped and the session will be declared 
> down as a detection timeout will occur. However, if we get a merging 
> defect where a node receives both valid BFD packets in addition to 
> invalid BFD packets then this defect will not be detected.

	Hi Richard,

	The defect will be detected in both cases due to the fact that the BFD
session ID information at the receiver should be incorrect. Lets 
consider both
cases:

	1) Correct LSP, but corrupted BFD session parameters.

	This is the case you describe above. It is easily handled by virtue
	of	BFD session parameter mismatch.

	2) Incorrect LSP due to corrupted TFIB, but the payload remains
		intact and thus valid BFD session parameters.

	In this case the packet might make it to an LSR that happens to have 
BFD running.
	If it does, the BFD session information will not match with the 
source/destination.
	Thus, that should be detected as a failure since that node will not 
respond.
	The only case I think can't be detected with just BFD is the case where
	the mis-merged LSP happens to swap to a label that gets you to the 
	correct destination LSR, albeit with the wrong label stack, and thus 
over the
	wrong last bit of the LSP. In this case, since the BFD information is 
valid,
	this MIGHT work okay, but not in all cases. For instance, if the end 
node is
	a PE for L3 or L2 VPN/PWs (i.e.: in VCCV), the application label will 
also be bound to
	the BFD session, and thus will fail. So there seems to be some 
unlikely corner cases
	where the basic mechanism can fail. The good news is that in all 
cases, if you just
	run LSP ping "every now and then", you can detect all of these corner 
cases
	as well due to the diag. processing in LSP ping.
	
	--Tom


> In both cases, traffic is being forwarded onto the wrong destination 
> and therefore these defects need to be detected and appropriate 
> actions taken, e.g. raise an alarm and inform the LSP source (using 
> the appropriate BFD status code) that a defect has occurred so that 
> the source can stop forwarding packets or switch over to an 
> alternative path if one exists.
>
> I know that the idea behind the BFD draft is to keep it as simple as 
> possible, but speaking as an operator, I would consider these defects 
> to be just as important as loss of connectivity defects. They might 
> not occur as frequently but are potentially more dangerous, e.g. I 
> don't want to unknowingly be sending packets from customer As network 
> to customer Bs network.
>
> By adding new processing rules and status codes, both of these defects 
> could be detected using BFD. An alternative would be to use LSP ping 
> but it would not provide the same defect detection speed, i.e. an LSP 
> might only get tested using LSP pings every 30mins or maybe every hour 
> in a large network with hundreds of thousands of PWs/LSPs, as opposed 
> to BFD packets that can be sent every second.
>
> Does anyone have any arguments for/against adding the ability to 
> detect these defects into BFD?
>
> Thanks,
> Richard
>
>
>
>
>
>
>
>
>
>