From owner-freebsd-net Mon Aug 6 8:26:18 2001 Delivered-To: freebsd-net@freebsd.org Received: from ussenterprise.ufp.org (ussenterprise.ufp.org [208.185.30.210]) by hub.freebsd.org (Postfix) with ESMTP id 5620637B401; Mon, 6 Aug 2001 08:26:11 -0700 (PDT) (envelope-from bicknell@ussenterprise.ufp.org) Received: (from bicknell@localhost) by ussenterprise.ufp.org (8.11.1/8.11.1) id f76FQ7X06801; Mon, 6 Aug 2001 11:26:07 -0400 (EDT) (envelope-from bicknell) Date: Mon, 6 Aug 2001 11:26:07 -0400 From: Leo Bicknell To: Wes Peters Cc: Randy Bush , Leo Bicknell , freebsd-hackers@FreeBSD.ORG, freebsd-net@FreeBSD.ORG Subject: Re: 303,000 routes in kernel Message-ID: <20010806112607.A6191@ussenterprise.ufp.org> Mail-Followup-To: Leo Bicknell , Wes Peters , Randy Bush , Leo Bicknell , freebsd-hackers@FreeBSD.ORG, freebsd-net@FreeBSD.ORG References: <20010804215529.C7176@cicely20.cicely.de> <32301.996956619@verdi.nethelp.no> <20010805002233.A7991@cicely20.cicely.de> <20010804184045.A87444@ussenterprise.ufp.org> <200108050027.f750RkG77073@earth.backplane.com> <3B6EB550.FEED14E7@softweyr.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i In-Reply-To: <3B6EB550.FEED14E7@softweyr.com>; from wes@softweyr.com on Mon, Aug 06, 2001 at 09:18:40AM -0600 Organization: United Federation of Planets Sender: owner-freebsd-net@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org On Mon, Aug 06, 2001 at 09:18:40AM -0600, Wes Peters wrote: > > to be clear. they keep the *forwarding* table on card/in-cache, not the > ^^^^^^^^^^^^^^^^^^ > Which is, essentially, a route cache. Per the dictionary definition of cache, perhaps, but 'cache' means something very different to those of us in router land. A cache based router (think 75xx Cisco _WITHOUT_ CEF), when a packet comes in for a route that has not been used the cache misses, the packet is punted to a general purpose CPU, the lookup done, and a cache entry installed on a linecard. Cache memories were limited, and were as such aged. This scheme had a number of problems: 1) High first packet penality of a flow. 2) The number of flows could exceed available cache memory. 3) The aging process hammered the box. 4) The aging process often removed active flows, causing a first packet penality mid-flow, sometimes causing TCP events (eg backoff). This became a larger problem day by day, as a larger percentage of the routing entries were sitting in the cache. So, router vendors went with cache-free designs. In a cache free design there is the RIB - Routing Information Base which contains routes the way routing protocols see them (eg, destination foo is in bgp which has a next hop in ospf which has a next hop out a connected interface), there are many levels of indirection there so recalculations can be done. At various checkpoints (typically after each protocol does a recalculation) the router builds the FIB - Forwarding Information base. This takes all the levels of indirection, and boils them down to where the packet goes (desination to connected interface). This table as such is smaller, and only ever requires a single lookup to know where to send a packet. The new routing designs then use the FIB (distributed to the linecards on the Cisco GSR and 7500 with CEF, kept on a central forwarding engine on the Juniper M-series). The important thing to note (which makes it not a cache in my book) is that it is th full table, need it or not, there can be no "miss" for an active route. Back to the original topic, small UDP packets from a DNS server. In the caching routers, each packet would generate a cache entry, which 95% of the time would never be used again before it was aged. The adding and removing of entries hammered the routers. Newer routers always have all entries in the FIB, so there is no penality for throwing packets at the box that go in different directions, or that go once and are never seen from again. So, if you want to call it a cache, that's fine. If you say that to a router jockey, you're going to give them the impression you're talking about the first setup though, which I don't think is what you want. -- Leo Bicknell - bicknell@ufp.org Systems Engineer - Internetworking Engineer - CCIE 3440 Read TMBG List - tmbg-list-request@tmbg.org, www.tmbg.org To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-net" in the body of the message