"2M today, 10M with no change in technology"? An informal survey.
Deepak Jain
deepak at ai.net
Sun Aug 26 02:08:45 UTC 2007
Maybe I'm oversimplifying. Its Saturday and entirely possible I'm not
thinking on all brain cells ($clue--).
When it comes to an FIB, there are only say 100-200 destinations on a
big router (outbound). Irrespective of the 2M or 20M routes it has. Even
though the entire Internet isn't aggregated the way it should be, for
FIB purposes, the router knows how it will route out to its 100-200
destinations (ports).
Couldn't it just aggregate before it drops routes into its FIB and only
import specifics (deagg) if a destination changes for a more specific
prefix [like the swamp]? We talk about default-free zones as needing
every prefix, and they do (for propagation purposes) but for FIB
purposes, they really don't.
So they keep a Zebra or OpenBGPd like process (thinking Juniper) that
contains *everything* and handles propagation and then each FIB gets an
aggregated entry dumped into each FIB on each routing card.
This scales very well on the order of a well aggregated internet, and
even networks with lots of customer routes (internally or because of
lots of customer transit connections) each router only deals with
getting the packet to its neighbor. Server CPUs & RAM can handle lots of
updates on a 10MM route table all day long. FIBs only need to get
involved if the update will change their view of a route -- a central
CPU (or cluster of them) can decide that before the FIB sees it.
If this isn't clear, I can probably explain it better, but basically
what I am saying is that instead of aggregated the FIB based on CIDR
rules or expecting total conformity, the router just aggregates from its
point-of-view -- if an aggregate to multiple disparate netblocks all
goes to the same place, it puts an aggregate in.
For example, a router with only 1 connection (no matter how many routes
being sent by its upstream), would only have 1 route entered into its
FIB -- because no matter where the route goes, it can go upstream. If it
feeds a route table to another router, the downstream will see the whole
route table irrespective.
I know the above degenerate case doesn't address bogons, but really we
are only talking about a few dozen extra entries into an FIB for them.
Deepak Jain
AiNET
More information about the NANOG
mailing list