Most networks currently run on hardware-based routers from vendors like Cisco, Foundry, and Juniper.
Computing power has advanced to the point where this is not necessary. General purpose computing platforms can replace these expensive dedicated hardware routers. These software routing platforms usually run on some version of free or inexpensive Unix.
These are a few of the competing open source routing software packages.
Quagga is a routing software suite, providing implementations of OSPFv2, OSPFv3, RIP v1 and v2, RIPv3 and BGPv4 for Unix platforms, particularly FreeBSD, Linux, Solaris and NetBSD.
Quagga is a fork of GNU Zebra which was developed by Kunihiro Ishiguro. The Quagga tree aims to build a more involved community around Quagga than the current centralised model of GNU Zebra.
XORP is the eXtensible Open Router Platform.
The goal of the XORP project is to develop an open source software router platform that is stable and fully featured enough for production use, and flexible and extensible enough to enable network research. Currently XORP implements routing protocols for IPv4 and IPv6 and a unified means to configure them.
XORP is free. It is covered by a BSD-style license and is publicly available for research, development, and use.
GNU Zebra is free software that manages TCP/IP based routing protocols. zebra is released as part of the GNU Project, and is distributed under the GNU General Public License.
Zebra supports the BGP-4 protocol as described in RFC1771 (A Border Gateway Protocol 4) as well as RIPv1, RIPv2 and OSPFv2.
Unlike traditional, monolithic architectures and even the so-called "new modular architectures" that remove the burden of processing routing functions from the cpu and utilize special ASIC chips instead, Zebra software offers true modularity.
The BIRD project aims to develop a fully functional dynamic IP routing daemon primarily targetted on (but not limited to) UNIX-like systems and distributed under the GNU General Public License.
Current features of the BIRD Internet Routing Daemon include:
- Both IPv4 and IPv6 (use –enable-ipv6 when configuring)
- Multiple routing tables
- OSPF (IPv4 only)
- Static routes
- Inter-table protocol
- Command-line interface (using the `birdc' client; to get some help, just press `?')
- Soft reconfiguration — no online commands for changing the configuration in very limited ways, just edit the configuration file and issue a `configure' command or send SIGHUP and BIRD will start using the new configuration, possibly restarting protocols affected by the configuration changes
- Powerful language for route filtering
OpenBGPD is a FREE implementation of the Border Gateway Protocol, Version 4. It allows ordinary machines to be used as routers exchanging routes with other systems speaking the BGP protocol.
Started out of dissatisfaction with other implementations, OpenBGPD nowadays is a fairly complete BGP implementation, powering many sites. Users often praise its ease of use and high performance, as well as its reliability.
OpenBGPD's companion, OpenOSPFD, adds support for the OSPF protocol suite.