I wonder if anyone has any experience or knowledge about how a software based router like a Mikrotik RB1000 performs compared to a L3 switch or a “real router” when it comes to pure routing performance.
Benchmarking pps and Mbps through different devices with single or only a few simultaneous connections is easy and shows that a L3 switch like a HP Procurve 3400/3500 or a Cisco 4948 easily outperforms both a RB1000 and a “real router” like a Juniper M7i.
What I’m interested in though is how they compare when are used in more real-world environments as core routers in a small ISP network. I’m not talking about lots of Mbps then, perhaps 500-1000 Mbps of aggregated traffic, but with lots of different source/dest addresses, and perhaps some lower capacity links which gets congested and requires buffering for optimal performance.
A few years ago L3 switches suffered greatly in this scenario because of small host routing table sizes (fast-path caches) for ASIC routing, forcing them to start routing traffic in software when the hardware host routing table got filled up which then led to terrible performance.
Is this still a big problem with modern L3 switches as core routers?
How does a software router like the RB1000 compare to these. The RB1000 has significantly lower pps/Mbps ratings compared to modern L3 switches on the spec paper, but what about when you load it with traffic from say 200.000 different IP addresses. Which will perform best then?
Anyone done any benchmarks with lots of different addresses?
Any suggestion for opensource tools to simulate real world core router traffic patterns to benchmark this?