BTW, really all data incorporated from BGP protocl for
3 - 8 core routings do not need more than 32MB RAM; the fact CISCO
need more than 32MB ram for core routing is due to inefficient data
structures... Exactly it's because they (I think) have solved some
other task (not minimize memory, but CPU and development time).
What is really 100K routes?
Of cource, it's not true - really we can expect about 64 bytes/route.
64 bytes * 100K = 6 Mb RAM. I can propose it's nessesary 128bytes - it'll be
Umm - also, you have memory used for the IP routing table. I don't know
how big any of these data structures are - but I do know that it seems that
the IP routing table representation uses even more ram than than the BGP
routing table version.
Also, what about overhead? OK, let's say you can share memory for common
AS-PATHs. But how do you find them? How do you store them? Remember,
you want to be able to add or delete 14k routes in a few seconds at most.
Then, what about buffering? If a switch you're hooked to burps, you need
to (want to) have enough memory to buffer that (though Ciscos like to do
it on the cards, I think).
But anyway, if somebody designes specially INTERNET CORE router,
he can hold any core routing tables in 16 MB RAM, not more. There is
a lot of different ways to minimise memory usage.
A 2501 is/was within a few k of being able to hold a core routing table in
16mb (w/ the OS image running out of flash). But it lacks memory and
cpu to then switch packets - and if someone adds a few K extra routes
god help you.
Aleksei Roudnev, Network Operations Center, Relcom, Moscow
tli or pferguso might be able to shed some light on the actual numbers,
assuming he has the time and interest