North American Network Operators Group

Date Prev | Date Next | Date Index | Thread Index | Author Index | Historical

RE: gigabit router (was Re: Getting a "portable" /19 or /20)

  • From: Roeland Meyer
  • Date: Wed Apr 11 21:37:03 2001

> From: Craig Partridge [mailto:[email protected]]
> Sent: Wednesday, April 11, 2001 2:00 PM
> 
> In message <[email protected]>, Matt Zimmerman writes:
> 
> >I think Alex was referring to internal consistency within 
> >the router (between linecards), not external consistency. 
> >For example, if linecard X believes that a packet should be
> >forwarded to linecard Y, but linecard Y's forwarding table
> >is older than X's, Y could misforward the packet, causing a 
> >forwarding loop or a dropped packet.  Thus, it can be the
> >case that neither the old path nor the new path is taken.
> 
> I used to give a course on building high speed routers.  A 
> section of the
> course was entitled "common mistakes to avoid."  One of them 
> was precisely this problem.  The rule is forward once within a box 
> -- if linecard X has decided how a packet is to be forwarded,
>    linecard Y shouldn't be reconsidering the decision. 
>    (And, in fact, if you look at most linecard designs, the
>    output path, from switch to transmission, does
>    not include a forwarding engine 
> -- there's only a forwarding engine on the inbound path).

I don't think that this was the stated case. The original proposal was to
make the decision within the core router and export the policy
implementation to each line-card as a table. Yes, you lose the ability to
make some dynamic decisions this way unless you make linecards intelligent
enough to interpret policies. The problem then becomes one of synchronizing
the tables within the line-cards with the core. That is where the
consistency problem arrives.

I submit that, this is no different from the macro-system where, edge
routers have to be updated with core2edge policies. We have consistency
problems there to. However, they are transient and the system is robust
enough to handle those transients. I further submit that this same approach
can be applied at the micro-system, internally to a specific router
implementation.

There exist single-chip PC systems that could do this (www.zflinux.com). One
each, per line-card, with their own individual PCI bus. They can talk to
each other via the directly connected bus. What we then have is a
closely-coupled distributed computing cluster ... in one box. Now, we have
macro-architectures being applied to micro-systems. Throw in a couple of
ASICs and you have an intelligent line-card, that is the equivalent of a
full PC, with its own *nix O/S. Prices are dropping on this stuff daily.