Re: [netmod] comments on draft-ietf-netmod-routing-cfg-04

Ladislav Lhotka <lhotka@nic.cz> Fri, 03 August 2012 18:45 UTC

Return-Path: <lhotka@nic.cz>
X-Original-To: netmod@ietfa.amsl.com
Delivered-To: netmod@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 97E9921F8DA0 for <netmod@ietfa.amsl.com>; Fri, 3 Aug 2012 11:45:40 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.899
X-Spam-Level:
X-Spam-Status: No, score=-1.899 tagged_above=-999 required=5 tests=[AWL=0.100, BAYES_00=-2.599, J_CHICKENPOX_23=0.6]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id HRSjQToSQpmq for <netmod@ietfa.amsl.com>; Fri, 3 Aug 2012 11:45:39 -0700 (PDT)
Received: from trail.lhotka.name (trail.lhotka.name [77.48.224.143]) by ietfa.amsl.com (Postfix) with ESMTP id 4F79B21F8D53 for <netmod@ietf.org>; Fri, 3 Aug 2012 11:45:39 -0700 (PDT)
Received: from localhost (localhost [127.0.0.1]) by trail.lhotka.name (Postfix) with ESMTP id 7320A5402D9; Fri, 3 Aug 2012 20:45:33 +0200 (CEST)
Received: from trail.lhotka.name ([127.0.0.1]) by localhost (trail.lhotka.name [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 6uu5U0GcWRU7; Fri, 3 Aug 2012 20:45:29 +0200 (CEST)
Received: from localhost (dhcp-16a6.meeting.ietf.org [130.129.22.166]) (using TLSv1.2 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by trail.lhotka.name (Postfix) with ESMTPSA id 2877A5401E6; Fri, 3 Aug 2012 20:45:26 +0200 (CEST)
From: Ladislav Lhotka <lhotka@nic.cz>
To: "t.petch" <ietfc@btconnect.com>
In-Reply-To: <005a01cd7185$0fce9bc0$4001a8c0@gateway.2wire.net>
References: <45BE39D9-2E92-4139-B579-B125649CD287@cisco.com> <A804D64B-3F6C-42D0-A926-99707C7390A4@nic.cz> <1157C259-DE00-4DD9-870D-2E58CD188ED8@cisco.com> <m2obmx729k.fsf@dhcp-4753.meeting.ietf.org> <5E5D58D7-824A-433A-87F1-53E08B80F991@cisco.com> <006701cd70b7$4f0b9e60$4001a8c0@gateway.2wire.net> <m2txwkopot.fsf@dhcp-16a6.meeting.ietf.org> <005a01cd7185$0fce9bc0$4001a8c0@gateway.2wire.net>
User-Agent: Notmuch/0.13.2+77~g39beeb2 (http://notmuchmail.org) Emacs/23.3.50.1 (i386-apple-darwin9.8.0)
Mail-Followup-To: "t.petch" <ietfc@btconnect.com>, netmod@ietf.org
Date: Fri, 03 Aug 2012 11:45:21 -0700
Message-ID: <m2zk6b6chq.fsf@dhcp-16a6.meeting.ietf.org>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Cc: netmod@ietf.org
Subject: Re: [netmod] comments on draft-ietf-netmod-routing-cfg-04
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: NETMOD WG list <netmod.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netmod>, <mailto:netmod-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/netmod>
List-Post: <mailto:netmod@ietf.org>
List-Help: <mailto:netmod-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netmod>, <mailto:netmod-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 03 Aug 2012 18:45:40 -0000

Hi Tom,

thank you for a detailed explanation. The moral of the story for me is that it is probably better to avoid FIB/RIB and use "routing table" everywhere, although it may look "less sophisticated".

As for the term "forwarding table", it is used in this sense in Junos documentation:

http://www.juniper.net/techpubs/en_US/junos12.1/topics/concept/routing-protocols-routing-databases-overview.html

Lada

"t.petch" <ietfc@btconnect.com> writes:

> ----- Original Message -----
> From: "Ladislav Lhotka" <lhotka@nic.cz>
> To: "t.petch" <ietfc@btconnect.com>; "Yi Yang (yiya)" <yiya@cisco.com>
> Cc: <netmod@ietf.org>
> Sent: Friday, August 03, 2012 12:10 AM
>> "t.petch" <ietfc@btconnect.com> writes:
>> > <tp>
>> > In a sense I agree with you, in a sense I think the exact opposite.
>> >
>> > This topic of what tables there are in a box that routes packets has
>> > surfaced before.  I see, in a typical I-D produced about routing,
>> > reference to FIB and RIB, without any need to define or explain the
>> > terms, they are that well known, they are what routers and other
> boxes
>> > have as a matter or course.
>>
>> Yes, it's been my problem that I couldn't find a precise definition of
> these acronyms, and I understand most routing experts use the definition
> "you know it when you see it".
>>
>> >
>> > For me, it is the FIB that is always present; if you do not know
> where
>> > to send a packet, how to route it, then you are not an IP box of any
>> > shape or form - you must have a FIB..  In simple boxes, like Linux
> or
>> > Windows, then that is all you have.
>> >
>> > In more sophisticated boxes, 'proper' routers, for some meaning of
> the
>> > word proper, then you need much more data, which may closely model
> the
>> > FIB, as with RIP, or may be utterly different, as with OSPF, and for
>> > this, I see the term RIB used, initially with BGP but latterly with
> any
>> > routing protocol.  RIBs vary widely with the routing protocol and so
> are
>> > properly part of routing protocol extensions.
>>
>> So at the level of the present core routing model we are dealing with
> FIBs, but as soon as a BGP module augments routes with that
> sophisticated stuff a FIB gets promoted to a RIB, right? But this may be
> quite confusing from the point of view of the I-D text, and in this case
> I would probably prefer to avoid these acronyms entirely and use only
> "routing table".
>>
>> >
>> > So I think that this I-D gets the terminology quite wrong; as I say,
>> > this has surfaced before without any visible change to the I-D.  I
> was
>> > surprised that this topic attracted no comment from the Routing
>> > Directorate.
>>
>> Can you suggest what to do in order to get the terminology right?
>>
>> Anyway, I think that Yi Yang's comments were about "forwarding table",
> i.e. a (simplified) routing table which by definition contains only
> active routes.
>
> I think this a misuse of forwarding table:-(
>
> RIB is defined in RFC1771 (BGP) and later BGP RFC such as RFC2439 (Nov
> 1998) and RFC4771; it is clearly not the routing table, containing
> everything including the kitchen sink and its structure is specific to
> BGP.  But I see the term applied generically to what is learnt by an
> instance of a routing protocol, and so could be applied to the
> equivalent structures of EIGRP or IS-IS, which are very different in
> kind.  Sometimes I see it used generically to include everything learnt
> by all instances of all routing protocols but I think that that is
> wrong.
>
> FIB appears in RFC1812
> "The goal of the next-hop selection process is to examine the entries
>    in the router's Forwarding Information Base (FIB) and select the best
>    route (if there is one) for the packet from those available in the
>    FIB."
> which is what, in popular parlance, is a routing table.  For example,
> Moy, writing on OSPF, says
> "A router's routing table instructs the router how to forward  packets.
> Given a packet, the router performs a routing table lookup, using the
> packet's IP destination address as a key.  This lookup returns the best
> matching routing table entry ..."
>
> I would not expect the term FIB to include all the baggage that routing
> protocols provide nor for it to include any route which is not
> available, as far as the host or router knows, for immediate use.
>
> But the terms FIB and RIB are a bit specialised; I-Ds such as
> draft-uttaro-idr-bgp-persistence-01
> and
> draft-ietf-grow-simple-va-11
> use them without any explanation as do posters on many if not most of
> the WG lists in Routing and parts of Operations Areas, but that is
> probably not appropriate for this I-D, just as the terms are not used
> in, eg, RFC2096, which is entitled 'IP Forwarding Table MIB' but then
> defines 'IP CIDR Route Table', the DESCRIPTION of which is "This
> entity's IP Routing table."; oh dear, you can't win!
>
> So I think that conceptually, you should be defining the FIB, of usable
> routes from which the next hop or interface of a packet is selected on
> the basis of longest match, but probably calling it a route or routing
> table since that is the term most widely used.  Where individual router
> manufactuers do clever things on line cards, then that is best modelled
> by clever router manufacturers, even if they are all doing something
> similar - the speed and rate of change of those data structures probably
> makes them unsuitable for MIB, yang or anything else.
>
> You should allow for augmentation, or some such;  BGP revolves around
> peers and path attributes (RFC4273) and avoids all mention of FIB, RIB
> or the IP Route Table.  OSPF (RFC4750) covers interfaces, neighbors,
> areas and link states, and has a reference to the Forwarding Table.
> RIP(RFC1724) has interfaces and peers and refers to the  "the IP Route
> Database by RIP"
>
> Yup, you can't win, but referring to RFC1812 is unlikely to lose.
>
> Tom Petch
>
>> Thanks, Lada
>>
>> >
>> > Tom Petch
>> > </tp>
>> > Yi
>> >
>
>

-- 
Ladislav Lhotka, CZ.NIC Labs
PGP Key ID: E74E8C0C