Re: Collision detect [Re-Posting]

Russ White <ruwhite@cisco.com> Sat, 26 January 2002 13:03 UTC

Received: from trapdoor.merit.edu (postfix@trapdoor.merit.edu [198.108.1.26]) by nic.merit.edu (8.9.3/8.9.1) with ESMTP id IAA00872 for <idr-archive@nic.merit.edu>; Sat, 26 Jan 2002 08:03:42 -0500 (EST)
Received: by trapdoor.merit.edu (Postfix) id 2F00491210; Sat, 26 Jan 2002 08:03:05 -0500 (EST)
Delivered-To: idr-outgoing@trapdoor.merit.edu
Received: by trapdoor.merit.edu (Postfix, from userid 56) id EF1C1912AD; Sat, 26 Jan 2002 08:03:04 -0500 (EST)
Delivered-To: idr@trapdoor.merit.edu
Received: from segue.merit.edu (segue.merit.edu [198.108.1.41]) by trapdoor.merit.edu (Postfix) with ESMTP id 5ABE991210 for <idr@trapdoor.merit.edu>; Sat, 26 Jan 2002 08:03:03 -0500 (EST)
Received: by segue.merit.edu (Postfix) id 2E5585DDA6; Sat, 26 Jan 2002 08:03:03 -0500 (EST)
Delivered-To: idr@merit.edu
Received: from cisco.com (uzura.cisco.com [64.102.17.77]) by segue.merit.edu (Postfix) with ESMTP id E79775DD8D for <idr@merit.edu>; Sat, 26 Jan 2002 08:03:02 -0500 (EST)
Received: from ruwhite-u10.cisco.com (ruwhite-u10.cisco.com [64.102.48.251]) by cisco.com (8.8.8/2.6/Cisco List Logging/8.8.8) with ESMTP id IAA08419; Sat, 26 Jan 2002 08:02:16 -0500 (EST)
Date: Sat, 26 Jan 2002 08:02:16 -0500
From: Russ White <ruwhite@cisco.com>
Reply-To: Russ White <riw@cisco.com>
To: Alex Zinin <azinin@nexsi.com>
Cc: Sathya Perla <sperla@netplane.com>, 'Kunihiro Ishiguro' <kunihiro@zebra.org>, Mathew Richardson <mrr@nexthop.com>, idr@merit.edu
Subject: Re: Collision detect [Re-Posting]
In-Reply-To: <101967279434.20020125122542@nexsi.com>
Message-ID: <Pine.GSO.4.21.0201260801160.29442-100000@ruwhite-u10.cisco.com>
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset="US-ASCII"
Sender: owner-idr@merit.edu
Precedence: bulk

It actually (probably) doesn't matter what the majority is--the
spec should (probably) be written in such a way to make it
obvious that you are trying to prevent two connections, and leave
out anything that implies whether this means you use two fsm's or
one.

Cisco uses one fsm.

:-)

Russ

On Fri, 25 Jan 2002, Alex Zinin wrote:

> 
> Sathya,
> 
>   In fact, that was one of my concerns about the spec.
> 
>   Regardless of whether we stay with the two-FSMs based scheme
>   or move to two transport connections under one, I think
>   we should have a section on processing of incoming transport
>   connection (I actually have it in my version of the FSM I sent
>   to the list a while ago).
> 
>   From my knowledge, at least some major implementations do not
>   treat competing connections as different FSMs. Whether they
>   make the majority or not is something that we should probably
>   ask the WG chairs to check.
> 
> -- 
> Alex Zinin
> 
> Wednesday, January 23, 2002, 7:18:21 PM, Sathya Perla wrote:
> 
> 
> > I think the fundamental problem with Collision Detection is that the spec
> > assumes (without stating it explicitly) that there are two FSMs to deal with
> > the possible two transport connections between a pair of peers. This is
> > evident from the usage of "FSM Cease" to close a transport connection. 
> 
> > One could manage both the transport connections using the same FSM and after
> > the collision detect algorithm is run the "unwanted" transport connection
> > can be closed without requiring a "FSM Cease".
> 
> > If this is not OK, the draft should explicitly state that a separate FSM has
> > to be used for a second connection with the same peer.
> 
> > -Sathya
> 
> 
> > -----Original Message-----
> > From: Kunihiro Ishiguro [mailto:kunihiro@zebra.org]
> > Sent: Wednesday, January 23, 2002 7:36 AM
> > To: Mathew Richardson
> > Cc: idr@merit.edu
> > Subject: Re: Collision detect
> 
> 
> >>t0: BoxA initiates TCP connection to BoxB (we'll call this connection 1)
> >>t0: BoxB initiates TCP connection to BoxA (we'll call this connection 2)
> >>t1: BoxA accepts incoming connection from BoxB
> >>t1: BoxB accepts incoming connection from BoxA
> >>t2: BoxA sends an Open message on connection 1
> >>t2: BoxB sends an Open message on connection 2
> 
> > When BoxA accept incoming connection 2 from BoxB, BoxA lookup
> > corresponding status and it is Connect for connection 1.  Here we have
> > a problem.  If BoxA decides which connection should be closed at this
> > moment, BoxB will do the same thing.  Then both connection will be
> > closed.  OK, to avoid this situation collision detect should be done
> > by Open message then take one of them based upon router-id.  (In my
> > very private opinion, if jitter is there this will not happen
> > frequently).  Until that time the both connections should be
> > maintained.
> 
> > BTW, here is my question, when BoxA sends an Open message to BoxB
> > (t2).  BoxA has two connections.  Connection 1 is OpenSent status.
> > Connection 2 will be Connect status.  But where connection 2 status
> > comes from?  Is that generated based upon Connection 1 status?  It is
> > very ambiguous in RFC and draft description.  Initially the peer has
> > only one status.  Some moment the peer has two connections and two
> > independent status.  Finally collision detect close one connection.
> > The status related the connection also goes away.
> 
> > When I implemented BGP this was the biggest obstacle to understand FSM
> > and collision detect.  Still description is not clear.  Should we fix
> > this also?
> 
> 

_____________________________
riw@cisco.com <>< Grace Alone