Re: [Idr] Question about RFC4893

Enke Chen <enkechen@cisco.com> Sat, 10 October 2009 01:22 UTC

Return-Path: <enkechen@cisco.com>
X-Original-To: idr@core3.amsl.com
Delivered-To: idr@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 6BE7A3A69F4 for <idr@core3.amsl.com>; Fri, 9 Oct 2009 18:22:50 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.599
X-Spam-Level:
X-Spam-Status: No, score=-6.599 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, RCVD_IN_DNSWL_MED=-4]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id WQ1Op6xWIGSi for <idr@core3.amsl.com>; Fri, 9 Oct 2009 18:22:49 -0700 (PDT)
Received: from sj-iport-1.cisco.com (sj-iport-1.cisco.com [171.71.176.70]) by core3.amsl.com (Postfix) with ESMTP id 22EB13A672E for <idr@ietf.org>; Fri, 9 Oct 2009 18:22:46 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=enkechen@cisco.com; l=7187; q=dns/txt; s=sjiport01001; t=1255137872; x=1256347472; h=from:sender:reply-to:subject:date:message-id:to:cc: mime-version:content-transfer-encoding:content-id: content-description:resent-date:resent-from:resent-sender: resent-to:resent-cc:resent-message-id:in-reply-to: references:list-id:list-help:list-unsubscribe: list-subscribe:list-post:list-owner:list-archive; z=From:=20Enke=20Chen=20<enkechen@cisco.com>|Subject:=20Re :=20[Idr]=20Question=20about=20RFC4893|Date:=20Fri,=2009 =20Oct=202009=2018:24:31=20-0700|Message-ID:=20<4ACFE24F. 1080100@cisco.com>|To:=20Samita=20Chakrabarti=20<samitac@ ipinfusion.com>|CC:=20ben_april@trendmicro.com,=20idr@iet f.org,=0D=0A=20=20=20=20=20=20=20=20"Enke=20Chen=20(enkec hen)"=20<enkechen@cisco.com>|MIME-Version:=201.0 |Content-Transfer-Encoding:=207bit|In-Reply-To:=20<00ea01 ca4916$c3a09670$4ae1c350$@com>|References:=20<4ACF6B32.70 30209@trendmicro.com>=20<00d801ca490b$65507500$2ff15f00$@ com>=20<4ACF87C7.1090404@cisco.com>=20<4ACF8AA8.1050704@c isco.com>=20<00ea01ca4916$c3a09670$4ae1c350$@com>; bh=jDpi4Tc3eoYXwq+CUHkkWo0amnYR40v//9XGIFJXdo0=; b=qepcTqstbWlqd2FoPjyXdd0jOdwgDyUpJVUEWdu5qwCpUOLhDngzdJH+ VC+Y2gWP56PwfhZMHTMDhZ+nLFcQ2CEIKa9BTg2jdBDotBuIDY8YB0A90 v4UCju2swGHxGmkCDFpkcnIgRxIE5ffMXWKCJyy9ZS0kOB88jMdF3aEz9 E=;
Authentication-Results: sj-iport-1.cisco.com; dkim=neutral (message not signed) header.i=none
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: ApoEAA5/z0qrRN+J/2dsb2JhbADCN5gwhCwEgVg
X-IronPort-AV: E=Sophos;i="4.44,535,1249257600"; d="scan'208";a="253870325"
Received: from sj-core-3.cisco.com ([171.68.223.137]) by sj-iport-1.cisco.com with ESMTP; 10 Oct 2009 01:24:31 +0000
Received: from xbh-sjc-231.amer.cisco.com (xbh-sjc-231.cisco.com [128.107.191.100]) by sj-core-3.cisco.com (8.13.8/8.14.3) with ESMTP id n9A1OVDf004195; Sat, 10 Oct 2009 01:24:31 GMT
Received: from xfe-sjc-211.amer.cisco.com ([171.70.151.174]) by xbh-sjc-231.amer.cisco.com with Microsoft SMTPSVC(6.0.3790.3959); Fri, 9 Oct 2009 18:24:31 -0700
Received: from [171.71.139.253] ([171.71.139.253]) by xfe-sjc-211.amer.cisco.com with Microsoft SMTPSVC(6.0.3790.3959); Fri, 9 Oct 2009 18:24:31 -0700
Message-ID: <4ACFE24F.1080100@cisco.com>
Date: Fri, 09 Oct 2009 18:24:31 -0700
From: Enke Chen <enkechen@cisco.com>
User-Agent: Thunderbird 2.0.0.23 (X11/20090812)
MIME-Version: 1.0
To: Samita Chakrabarti <samitac@ipinfusion.com>
References: <4ACF6B32.7030209@trendmicro.com> <00d801ca490b$65507500$2ff15f00$@com> <4ACF87C7.1090404@cisco.com> <4ACF8AA8.1050704@cisco.com> <00ea01ca4916$c3a09670$4ae1c350$@com>
In-Reply-To: <00ea01ca4916$c3a09670$4ae1c350$@com>
Content-Type: text/plain; charset="ISO-8859-1"; format="flowed"
Content-Transfer-Encoding: 7bit
X-OriginalArrivalTime: 10 Oct 2009 01:24:31.0430 (UTC) FILETIME=[6AF38E60:01CA4948]
Cc: idr@ietf.org
Subject: Re: [Idr] Question about RFC4893
X-BeenThere: idr@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: Inter-Domain Routing <idr.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/idr>, <mailto:idr-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/idr>
List-Post: <mailto:idr@ietf.org>
List-Help: <mailto:idr-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/idr>, <mailto:idr-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 10 Oct 2009 01:22:50 -0000

Hi, Samita:

Samita Chakrabarti wrote:
> Hi Enke,
>
> You are right in pointing out that there is no change from RFC4893 merging
> text into the bis versions . I replied too fast. It's been a long time since
> we implemented this, but I remember it was not clear at that time and we had
> to do some interpretation of the text in RFC.
>
> Below, you have discussed the merged AS-PATH examples with the sample
> scenarios I provided.
> Do you think you can include some of those examples in the text for
> clarification? That might be helpful for the future implementations for
> clarity. Just a suggestion...
>   

If we agree that the merge algorithm described in the document is 
applicable for
these examples (mostly with crafted, inconsistent data), then I am not 
sure if there
is still value in including them in rfc4893bis.

Regards,   -- Enke

> Thanks,
> -Samita
>
>   
>> -----Original Message-----
>> From: Enke Chen [mailto:enkechen@cisco.com]
>> Sent: Friday, October 09, 2009 12:11 PM
>> To: Samita Chakrabarti
>> Cc: ben_april@trendmicro.com; idr@ietf.org; Enke Chen
>> Subject: Re: [Idr] Question about RFC4893
>>
>> BTW,  based on the on-line IETF track tool, there has been no change in
>>     
> the
>   
>> merge algorithm (Sect 4.2.3) from RFC 4893 to rfc4893bis-00.txt and to
>> rfc4893bis-01.txt:
>>
>>
>> http://tools.ietf.org/rfcdiff?difftype=--hwdiff&url2=draft-ietf-idr-
>> rfc4893bis-00.txt
>>
>> http://tools.ietf.org/rfcdiff?difftype=--hwdiff&url2=draft-ietf-idr-
>> rfc4893bis-01.txt
>>
>> Regards,   -- Enke
>>
>> Enke Chen wrote:
>>     
>>> Samita:
>>>
>>> We can argue about the presentation style and other portions in
>>> RFC4893.  However,  IMO the specific merge algorithm is complete, and
>>> precise,  as I pointed out to Ben.
>>>
>>> Please see my comments inlined.
>>>
>>> Samita Chakrabarti wrote:
>>>       
>>>> Hi Ben,
>>>>
>>>> Please see below:
>>>>
>>>>
>>>>         
>>>>> If the number of AS numbers in the AS_PATH attribute is larger than
>>>>> or
>>>>>
>>>>>           
>>>> equal
>>>>
>>>>         
>>>>> to the number of AS numbers in the AS4_PATH attribute, then the AS
>>>>> path information SHALL be constructed by taking as many AS numbers
>>>>> and path segments as necessary from the leading part of the AS_PATH
>>>>> attribute, and then prepending them to the AS4_PATH attribute so
>>>>> that the AS path information has an identical number of AS numbers
>>>>> as the AS_PATH
>>>>>
>>>>>           
>>>> attribute.
>>>>
>>>>         
>>>>> Forgive me, but this all sounds like an awful lot of hand-waving to
>>>>>           
> me.
>   
>>>> Has
>>>>
>>>>         
>>>>> anything been done since this RFC was published to better describe
>>>>> in a
>>>>>
>>>>>           
>>>> more
>>>>
>>>>         
>>>>> formal way the procedure a BGP speaker should follow to re-construct
>>>>> an accurate AS_PATH from the AS4_PATH and AS_PATH attributes? Based
>>>>> on this description I can see more than one way to implement this. I
>>>>> would like to do so correctly, but I need to know what is correct
>>>>> first.
>>>>>
>>>>> Thanks
>>>>> Ben
>>>>>
>>>>>
>>>>>           
>>>> [SC>]
>>>> I agree with you completely this handwaving portion in rfc 4893 is
>>>> very problematic to the implementers who were not directly involved
>>>> in the making of RFC 4893. I was not one of them.  In 2008, I wrote a
>>>> draft pointing out some of the problems we faced during
>>>> implementation and to request an update of the RFC for future
>>>> interoperability. Also presented the draft at WG in Spring 2008 IETF.
>>>> Rfc4893-bis has considered some of the problems mentioned in the
>>>> draft + others discussed in the working group alias.
>>>> http://wattle.apnic.net/ietf/idref/draft-chakrabarti-idr-rfc4893-mod/
>>>>
>>>> The following interpretation has been made in our implementation
>>>> after talking with some other implementers.
>>>> I believe rfc4893-bis now has the similar text:
>>>> 1.    If the number of ASNs in AS_PATH is less than the number of
>>>> ASNs in
>>>> AS4_PATH, then NBGP ignores AS4_PATH  information.
>>>> Example:
>>>> AS_PATH:   2 23456
>>>> AS4_PATH: 70000 70001 70002
>>>>
>>>>         
>>> RFC 4893 has the following text in Sect. 4.2.3:
>>>
>>>   If the number of AS numbers in the AS_PATH attribute is less than the
>>>   number of AS numbers in the AS4_PATH attribute, then the AS4_PATH
>>>   attribute SHALL be ignored, and the AS_PATH attribute SHALL be taken
>>>   as the AS path information.
>>>
>>> --------------------------------------------
>>>
>>> I am wondering why this portion needed "interpretation" in your
>>> implementation.
>>>
>>>
>>>       
>>>> 2.    If the number of ASNs in AS_PATH attribute is greater than
>>>> number of
>>>>
>>>>          ASNs in AS4_PATH attribute, then there must be a few
>>>> AS_TRANS         numbers in AS_PATH.  Reconstruct AS_PATH based on
>>>> the AS4_PATH        items corresponding to  AS_TRANS numbers
>>>> Examples:
>>>>       AS_PATH: 2,3,6, 8, 23456, 10, 23, 23456
>>>>       AS4_PATH: 65356, 77777
>>>>
>>>>         
>>> So what exactly is the problem with following RFC 4893 in this case?
>>> The (AS_PATH, AS4_PATH) is
>>> not really consistent here -- that is, 65356 is not represented in
>>> AS_PATH, and there is an extra 23456 in the middle.  Most likely this
>>> is a crafted, lab scenario in which there is no single "correct"
>>> answer.
>>>
>>>       
>>>> 3.    If the number of ASNs in AS_PATH and AS4_PATH attributes is same
>>>> then it most likely means that all the AS numbers are AS4-byte
>>>> unmappable numbers.  Check the count of AS_TRANS numbers in AS_PATH
>>>> and count of AS numbers in AS4_PATH.  If they are the same then
>>>> reconstruct AS information from AS4_PATH only (note this case is for
>>>> AS num == AS4 num). If number of AS_TRANS in AS_PATH is less than the
>>>> number in AS4_PATH values, then there is something wrong done by
>>>> previous speakers. However, take the non-AS_TRANS AS values from
>>>> AS_PATH  and then prepend them with the AS4 values. Some examples
>>>> will clarify this case:
>>>> AS_PATH:   23456, 23456,  23456
>>>> AS4_PATH: 777777, 66666, 88888
>>>>
>>>>         
>>> So the merged as-path would consist of the valid AS numbers 777777,
>>> 66666, 88888 based on RFC 4893.
>>> This seems fine.  Isn't it?
>>>
>>>       
>>>> Or
>>>> AS_PATH: 2, 3, 4, 23456
>>>> AS4_PATH: 88888, 99999, 70000, 80000
>>>>
>>>>         
>>> This again is another inconsistent, artificially crafted scenario.
>>> Possibly there are more than one "correct"
>>> solutions, some more "correct" than others - depending on how the
>>> inconsistency was generated. As the as-path length must be maintained
>>> during the merge, no solution can possibly include all the valid AS
>>> numbers contained in AS_PATH / AS4_PATH.
>>>
>>> RFC 4893 would yield 88888, 99999, 70000, 80000 as the merged one.
>>> Why wouldn't it be good enough?
>>>
>>> Thanks.    -- Enke
>>>
>>>
>>>       
>
>
>
>