I've been looking for a new 'core' router to put in our new rack which is colo'd at a nearby datacentre. What I've come across is the usual Cisco/Juniper/Brocade lineup, with the usual unattractive price points; and I wondered what would happen if I used a software router (like pfSense or a proprietary/commercial option) on a decent 2U box and put a few NICs in it.

My requirements for the router are as follows:

  • Run BGP (obviously) and be able to store at least one full Internet routing table (~460,000 routes), preferably two full Internet routing tables if I decide to multihome
  • Have throughput of at least 1Gbps (more for scalability, but not important right now)

These requirements could easily be handled by a decent software router on a decent box with good NICs and >2GB of memory, couldn't they? If so, (other than the brand name), what is it that makes Cisco/Juniper/Brocade systems so expensive?

  • 2
    This isn't directly related to the overall question, but does support the answer as far as memory requirements go: you can always view the current Internet BGP status with the CIDR report here: http://www.cidr-report.org/as2.0/
    – WaxTrax
    Jun 2, 2013 at 23:04

4 Answers 4


To name a few things: development, maintenance testing and support of software and hardware and of course: marketing and profit. Also, these vendors use dedicated ASICs so packet forwarding (amongst other things) are done in hardware instead of software. Basically, you buy a box which is optimized for one task: routing, which means all code and hardware has been tested for that.

Software routers are often ok, especially if you don't have a large budget or just need to build a lab setup. However, if you run into problems there's a chance you're either on your own figuring out if it's the routing software, your hardware, the kernel or something else. I'm not saying this is a bad thing (some of these projects have many active users), it's just something to consider.

A full BGP feed is almost 450K IPv4 prefixes by now by the way, and nearly 13K IPv6. If I'd be building a software router, I'd do some research on which NICs to use and how to optimize them and put a lot more than 2G of RAM in the box.

  • Do you think it would cost more to build or buy a box with the specs necessary (running Vyatta or Quagga) or buy, say, a Juniper M7i?
    – Libbux
    Jun 3, 2013 at 14:39
  • 2
    Well, that depends on quite a lot of things. The initial costs of a hardware box instead of a software router on a box will probably higher. Operational expenses might be lower depending on the usage, problems may you run into, etc. I'm afraid it's hard (for me) to say in which cases a software router is the best choice and in which cases the hardware one.
    – Teun Vink
    Jun 3, 2013 at 15:33

One advantage of a software router is that RIB/FIB size is only limited by the RAM in the hardware, which is cheap and easily upgradable. ASIC routers often have other limitations, like TCAM size/allocation. Routing performance of software routers in the GigE ballpark is comparable to ASIC-based routers.

One major disadvantage is that software routers are not capable of withstanding DDoS attacks in any meaningful sense - lots of small packets mean lots of context switches and the router will quickly die of CPU exhaustion.

  • +1 for the DDoS information, I hadn't considered this but we have been attacked before and are certainly concerned about it.
    – Libbux
    Jun 2, 2013 at 22:13

If you really want to use a software based solution, I would go with the Vyatta platform. It can run BGP for you as well as run various other protocols if needed. Check out Vyatta free vs paid which compares the free version to the paid version.

  • Sorry I have to give this a -1 as it doesn't provide any real insight into what the OP is asking Jun 3, 2013 at 3:15
  • @MarkHenderson It still provided a useful resource for me though, I'm actually considering this solution seriously; because of this question. +1 from me.
    – Libbux
    Jun 3, 2013 at 14:30

FYI most of the open source routing daemons perform well at the control plane but how much throughput you're going to get is going to be largely dependent on how well you tune your OS and which NIC's you decide to put in the box. I would agree with the recommendation to look at Vyatta. BIRD and Quagga are also options, if you also need the box to participate in an IGP in addition to BGP. Quagga/BIRD both may do OSPF decently but AFAIK if you need ISIS many of the open source routing daemons are still working on that.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.