Re: [Idr] Progressing draft-bhatia-bgp-multiple-next-hops-01.txt

Enke Chen <enkechen@cisco.com> Thu, 24 August 2006 06:35 UTC

Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com) by megatron.ietf.org with esmtp (Exim 4.43) id 1GG8oT-0008Cf-2p; Thu, 24 Aug 2006 02:35:37 -0400
Received: from [10.91.34.44] (helo=ietf-mx.ietf.org) by megatron.ietf.org with esmtp (Exim 4.43) id 1GG8oQ-0008Ca-W7 for idr@ietf.org; Thu, 24 Aug 2006 02:35:34 -0400
Received: from sj-iport-5.cisco.com ([171.68.10.87]) by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1GG8oP-0004Kd-C7 for idr@ietf.org; Thu, 24 Aug 2006 02:35:34 -0400
Received: from sj-dkim-8.cisco.com ([171.68.10.93]) by sj-iport-5.cisco.com with ESMTP; 23 Aug 2006 23:35:32 -0700
X-IronPort-AV: i="4.08,163,1154934000"; d="scan'208"; a="313440521:sNHT33681114"
Received: from sj-core-4.cisco.com (sj-core-4.cisco.com [171.68.223.138]) by sj-dkim-8.cisco.com (8.12.11.20060308/8.12.11) with ESMTP id k7O6ZW2q000673; Wed, 23 Aug 2006 23:35:32 -0700
Received: from xbh-sjc-221.amer.cisco.com (xbh-sjc-221.cisco.com [128.107.191.63]) by sj-core-4.cisco.com (8.12.10/8.12.6) with ESMTP id k7O6ZW6W001469; Wed, 23 Aug 2006 23:35:32 -0700 (PDT)
Received: from xfe-sjc-212.amer.cisco.com ([171.70.151.187]) by xbh-sjc-221.amer.cisco.com with Microsoft SMTPSVC(6.0.3790.1830); Wed, 23 Aug 2006 23:35:32 -0700
Received: from [10.21.113.249] ([10.21.113.249]) by xfe-sjc-212.amer.cisco.com with Microsoft SMTPSVC(6.0.3790.1830); Wed, 23 Aug 2006 23:35:31 -0700
Message-ID: <44ED48AC.1020702@cisco.com>
Date: Wed, 23 Aug 2006 23:35:24 -0700
From: Enke Chen <enkechen@cisco.com>
User-Agent: Mozilla Thunderbird 1.0 (Windows/20041206)
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: "Joel M. Halpern" <joel@stevecrocker.com>
Subject: Re: [Idr] Progressing draft-bhatia-bgp-multiple-next-hops-01.txt
References: <20060822200947.3141.qmail@web60725.mail.yahoo.com> <44EB7461.9090101@cisco.com> <002b01c6c64d$43e72100$0201a8c0@rs.riverstonenet.com> <44EBA7D4.1080002@cisco.com> <00d001c6c650$18fb8d20$0201a8c0@rs.riverstonenet.com> <44EC07A3.7000304@cisco.com> <7.0.1.0.0.20060823075243.040b5ce8@stevecrocker.com>
In-Reply-To: <7.0.1.0.0.20060823075243.040b5ce8@stevecrocker.com>
Content-Type: text/plain; charset="ISO-8859-1"; format="flowed"
Content-Transfer-Encoding: 7bit
X-OriginalArrivalTime: 24 Aug 2006 06:35:31.0919 (UTC) FILETIME=[7F4FF5F0:01C6C747]
DKIM-Signature: a=rsa-sha1; q=dns; l=5587; t=1156401332; x=1157265332; c=relaxed/relaxed; s=sjdkim8002; h=Content-Type:From:Subject:Content-Transfer-Encoding:MIME-Version; d=cisco.com; i=enkechen@cisco.com; z=From:Enke=20Chen=20<enkechen@cisco.com> |Subject:Re=3A=20[Idr]=20Progressing=20=20draft-bhatia-bgp-multiple-next-hops-01. txt; X=v=3Dcisco.com=3B=20h=3DD/xXM8993FtgmwQe1uOqxBX5ju0=3D; b=SFZn7aot3NZYGPd6RquQySbM+NbZrBb2VQYq3xgYqHs8itbeMft8wrhbzAUEY1h3IrzYewk4 +c6jewLq0Brot7iKelTigKQEVHJEsVjRFd//K44MhOszalyG4Xfm3/oK;
Authentication-Results: sj-dkim-8.cisco.com; header.From=enkechen@cisco.com; dkim=pass ( sig from cisco.com verified; );
X-Spam-Score: 0.0 (/)
X-Scan-Signature: 68ba2b07ef271dba6ee42a93832cfa4c
Cc: idr@ietf.org
X-BeenThere: idr@ietf.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: Inter-Domain Routing <idr.ietf.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/idr>, <mailto:idr-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www1.ietf.org/pipermail/idr>
List-Post: <mailto:idr@ietf.org>
List-Help: <mailto:idr-request@ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/idr>, <mailto:idr-request@ietf.org?subject=subscribe>
Errors-To: idr-bounces@ietf.org

Hi, Joel:

Joel M. Halpern wrote:

> Enke, I have real trouble with your characterization of your draft.
> You claim it is simple and elegant.
> From where I sit, it introduces a new identifier that must be shared 
> between the routers.  That identifier has to be assigned and managed 
> by the advertising router in such a way that it is unique for each 
> path that needs advertised (under all possible circumstances).  But it 
> has to be used by the receiver no matter how the sender has chosen to 
> allocate / create it.  As such, if the two happen to have the same 
> implementation view they may find it simple.  But it is quite 
> dependent upon that implementation.


I am not sure what you meant by  "same implementation view, and 
dependent upon a particular implementation".  In the add-path proposal, 
the advertiser is responsible for allocating  the identifier suitable 
for a particular application, and the receiver needs to use the (prefix, 
path-identifier) to identify a path to be replaced.  I believe that part 
is clear in the proposal, but if it is not, we'll need to make it clear.

> While our draft makes use of information that was already being 
> exchanged to provide the necessary disambiguation.  I would argue that 
> such is in fact both simpler and more elegant.
>
> At the same time, your claim of greater flexibility is in fact not 
> backed up by need.  We previously had support for advertising paths 
> with different attributes but the same NLRI and the same next-hop.  In 
> discussion with folks we realized that there was no actual use case 
> where you need the differentiation.  Either the advertiser is in the 
> path (next-hop self) in which case preserving the paths does not add 
> information, even for the route oscillation case, or the advertiser is 
> preserving the next-hop information in which case the next hops 
> provide the needed differentiation.  Thus, using the next-hop as an 
> added differentiator provides exactly the flexibility needed by the 
> problem, and is much simpler, more amenable to variations in 
> implementations strategies, and more robust.


I keep hearing that (prefix, nexthop) as the key to identify a path, and 
here you also mentioned "using the next-hop as an added differentiator". 
For several applications I cited, (prefix, nexthop) is actually not the 
right one. Considering the case in which the route reflector would 
advertising all the routes (simulating full-mesh).  It is actually the 
(prefix, router-id) that would identify a path instead of the prefix itself.

As the issue of how to identify a path is so fundamental to a solution,  
I hope that it can be clarified before we dive into other details.

Regards,

-- Enke

>
> Yours,
> Joel M. Halpern
>
> At 03:45 AM 8/23/2006, Enke Chen wrote:
>
>> Hi, Manav:
>>
>> Manav Bhatia wrote:
>>
>>> Hi Enke,
>>>
>>>>
>>>> The add-path draft introduces a path identifier so that a path from 
>>>> a neighbor can be identified by (prefix, path identifier), and the 
>>>> implicit replacement/withdraw behavior (and thus the update 
>>>> efficiency) in BGP is maintained. The path identifier can be a 
>>>> neighbor-AS, or a router-id, or an opaque number suitable for a 
>>>> particular application.
>>>>
>>>> It is not clear to me how the implicit replacement/withdraw can be 
>>>> achieved with your proposal.
>>>
>>>
>>>
>>> Simple. You look at the prefix and the nexthop to perform implicit 
>>> withdraw as this tuple would always be uniquely learnt from each BGP 
>>> speaker.
>>
>>
>>
>> Sorry I do not follow you, and I went back to your draft and got more 
>> confused. As you stated here, as well as in the draft,  a path  is 
>> identified by  (prefix , nexthop-address) in your proposal.  Then how 
>> can a path identified by (prefix, neighbor-As), or (prefix, 
>> router-id), or (prefix, opaque-number) be implicitly 
>> replaced/withdrawn by a mechanism that identifies a path by (prefix, 
>> nexthop-address)?
>>
>> Regarding the need for identifying a path by (prefix, neighbor_AS) or 
>> (prefix, route-id),  I am not sure if you have read the companion 
>> draft of add-path (draft-walton-bgp-route-oscillation-stop-01.txt), 
>> which has expired unfortunately, but is still readily available on 
>> the Internet, for example:
>>
>>
>> http://ietfreport.isoc.org/idref/draft-walton-bgp-route-oscillation-stop-01.txt 
>>
>>
>> Two approaches are presented in the draft to address the ibgp route 
>> oscillation:
>>
>>     1) advertise the available paths (equivalent to full ibgp mesh): 
>> in this case a path is identified by (prefix, router-id).
>>     2) advertise the (neighboring-AS based) group bestpaths: in this 
>> case a path is identified by (prefix, neighboring-AS).
>>
>> They have different scaling properties, and a provider may choose to 
>> deploy one or another. In both cases, however, the nexthop addresses 
>> of the multiple paths being advertised would most likely be different.
>>
>> Since we are comparing the drafts, I think it is fair to ask this 
>> question:
>>
>>    As the add-path draft has existed for a long time, and the spec is 
>> pretty simple, complete, fairly elegant (sure, relatively), I am 
>> wondering if you have spotted certain issues with it that can not be 
>> fixed, or if the solution proposed failed to address a particular 
>> problem that requires multiple paths?
>>
>> -- Enke
>>
>>
>>
>> _______________________________________________
>> Idr mailing list
>> Idr@ietf.org
>> https://www1.ietf.org/mailman/listinfo/idr
>

_______________________________________________
Idr mailing list
Idr@ietf.org
https://www1.ietf.org/mailman/listinfo/idr