Software Routers vs. Hardware Routers?
Daniel Garcia asks: "I recently got put on a task at work to find out if using Win2k as a router is a good idea or not. So far, the only information I've found lies here. Only problem is that the article doesn't have any benchmarks or real data to back up some of their claims. I just wanted to ask the /. community if anyone has used any version of NT as a software router and how it compares to using a hardware router. Personally, I'd rather use a hardware router than a Microsoft product but I don't have any data to back up those claims."
any real hardware router (Cisco, etc) will beat the pants off of a software implementation (Linux/BSD/W2k box) for total throughput. For small networks (like my home net), the linux box does a great job of routing/NAT/firewalling/e-mail/webserverving, but if you are going to have heavy traffic, your dollars are best spent elsewhere. If it is just a few (or even a few dozen boxes), you'll probably be fine with a PC implementation.
... mem -> PCI -> netcard2 is a long, slow path.
A hardware router still runs firmware, but the internal bus structure and routing is far more expedient than a PC trying the same tasks. Since real routing happens a couple layers up on the OSI stack, the frames have to be translated and passed through the driver, and in some cases all the way to user space to be filtered. Granted, routing can be in kernel space, but this is still significantly slower (especially considering PCI and uProc bus latency) than a streamlined piece of specific hardware.
netcard1 -> PCI -> mem.... uProc
If this is for a buisness, get some real hardware. If this is for your home network, you could have one of the other boxes do it.
Of course, if you are only routing a 28.8 dial-up, you could probably use bicycle messengers, too... the latency isn't *that* much of a problem. For a real pipe, get a real piece of silicon.
"It's tough to be bilingual when you get hit in the head."
From my perspective, if it can be done by a PC it's hardly worth calling it routing.
When I think "router" I think of something that can support lots of T1s, a few T3s, and hopefully scalability to OC-3, 12 and 48. You're not going to find a PC that can do that. If you're just trying to bridge 2-5 Ethernet LANs in the same building you should be looking at Ethernet switches. If you're trying to connect diverse types of LAN (Token Ring, FDDI, CDDI) you could do it with a PC if your administrator is slave labor. If you pay your administrator any sort of respectable amount you'll waste more money troubleshooting and maintaining than you'd spend on a dinky little Cisco. I certainly wouldn't want to maintain a Win2K or Linux box with a variety of different kinds of NICs.
Some other factors:
Routing protocol - if you're connecting to any existing routed network, you must use a routing protocol (EIGRP, OSPF, RIP2, NLSP...) the other site supports. Otherwise you get stuck maintaing static routes (not a problem for tiny networks, but an administrative nightmare for corporate enterprise internetworks).
Size and complexity of internetwork - a large/complex routed internetwork requires robust hardware and software. Think Cisco and EIGRP if you have any choice. OSPF or RIP2 if you don't.
RoutED protocol support - are the routed networks supporting TCP/IP clients only, or do you have to deal with IPX/SPX, Appletalk, LAT... ? If multiprotocol, think Cisco and EIGRP if you have any choice, otherwise you're stuck running multiple routING protocols (OSPF and NLSP, or IP RIP and IPX RIP...).
Are you connecting a LAN directly to multiple ISP's ? You may be forced to use either static routes or BGP.
If implementing a frame-relay WAN, will you support the routers, or will the carrier? Unless you have a substantial training budget and time to spend applying what you learn, a carrier-managed WAN may be your best bet.
Are you setting up a remote access (dial-up) router? Multiple options exist - WinNT RAS, dedicated access router (Shiva, Cisco 5200/5300), managed service like AT&T Global Network.
If this is all very new to you, consider hiring a consultant short term, to help you make wise choices. Just take their recomendation(s) with a grain of salt. They may have hidden agendas.
good luck !
rdndc
The document you specified as getting your information from doesn't appear to mention the latency or the cost; it sounds at best a MS HOWTO, at worst a MS marketing ploy.
:)
As an admin, you want something that is configurable, stable, and low maintenence. SOmething you can set up right and be done with it. If you are in a serious working environment, go hardware. Less to no security concerns, faster routing (see above explanation. If you don't believe it yourself, run a traceroute to anywhere, and a few queso's along the latent IPs.) no headaches, and low maintenence. In case you are afraid of Linux bias, know without a doubt I would take a cisco over a linux box anyday in a true work environment. With Win2k, you got a case, cdrom, floppy, monitor, and tons of BS a router just doesn't need. With a cisco, you got a cute, small, black box that can sit in a corner. An if you want to fall for the spin in that document about how you can do this/that/otherthing win Win2k, like the dial on demand modem connection, and want this kind of added bells and whistles for your routing solution, grab a Cobalt Qube. Same functionality, less maintence, less security concerns, and you won't have some janitor turn it off hoping to get to play Solitaire on it.
From a professional standpoint, use the right tool for the job. Use a router if you are routing. Using a win2k box instead is like trying to change spark plugs with a leatherman.
Don't forget to take into account cost, either. Win2k liscensing, for the server version, is hefty enough you could pick up a router to do the job for the cost of liscensing the software alone. Use the extra to talk the bosses into a laptop.
Toodles
Toodles D. Clown
Although I'd agree that a dedicated router box is generally better than running a box with an general-purpose OS, the decision isn't as clear-cut as some posters are making it out to be.
For modern hardware, there's no appreciable performance difference for the kinds of loads most people will see. For one of my clients, I set up dual Celeron-based Linux boxes as routers. One is the active router, and the other is a hot spare, automatically failing over if anything happens to the primary. (Kudos, BTW, to the folks at the High Availability Linux Project.)
This solution happily routes about 15 Mb/s around the clock, and I've tested it up to 100 Mb/s. Total cost for the pair was about $3200 in 1U rackmount cases. I can run all the latest Linux security tools on them. And other Linux sysadmins can work on them without learning, say, Cisco's arcane configuration language.
So a dedicated router may be better on the same hardware, but using a full-blown OS can make a lot of sense.
The Cisco PIX firewall has a P-II processor on it's own operating system, and can filter 170mbps.
Open Source. Closed Minds. We are Slashdot.
Architecture: The PC architecture just has way too much overhead and too many bottlenecks, since it is designed to handle many possible utilizations. A hardware router is overall designed to do what is supposed to do and nothing else, eliminating unecessary overhead and bottlenecks. A Cisco 2500 may only be a 68030 with 8 megs of ram, but it will beat the snot out of a PC; the PC will start dropping packets long before the Cisco.
Hardware: A PC relies on too many moving parts, too many points of failure. Harddrives crash, and then you have to reinstall, restore from backups (you are going to make backups, right?). A hardware router has no moving parts except for a fan or two. Backing up a cisco's running-config is trivial, and easily transferred to a replacement router if there ever is a catastrophic hardware failure.
Data-Link Layer: Who's on the other end of the line, and what protocol do they want you to speak? What card are you going to find to drop in the PC that speaks X.25, or HDLC, or whatever? If you can find them, how much do they cost? Do you trust the manufacturer?
Network Layer: What routing protocol do you need to speak? BGP4, EGRP, IGRP, EIGRP? Forget using a PC. Even Zebra for Unix isn't mature enough, unfortunately.
Amdministration: Sure, Cisco's command-line is archaic. But it quite elegantly allows someone who knows what they are doing to do exactly what they need to do, without going through all the bullshit of a gui. There's also having to deal with all the administration responsibilities of configuring a full-blown PC hardware and OS, even for stuff in the OS you won't ever be using, as opposed to the administration of a hardware router which is, when it boils down to it, merely a matter of enabling the services you need, without ever having to touch anything you don't. Furthermore, as stated above, a cisco's entire configuration is contained in a single text file, and can be backed up and restored easily; the same is obviously not true of a PC based solution.
Upgrades: Do you want to have to administer Service Packs to your Windows2000 router? Upgrading a cisco's IOS is almost as trivial as restoring its running-config.
I hate to sound so one-sided. But the fact is that in a production environment it is professionally irresponsible to go with a solution other than that which is best suited for the task. A dedicated, hardware based router is much better suited for the task than a PC based router.
If you have to ask this question you most likely don't have a very big network. PC /Workstations routers do just fine on small network but lookout for four things. 1. If you need to connect WAN and LAN together Go Hardware. 2.If you need to PASS layer 2 traffic (bridging 802.2, net bios) and pass layer 3 traffic (Routing TCP/IP, IPX) yes you can bridge and rout at the same time. go hard ware (Cisco). 3 will you need to do ProxyARPing Go hardware. 4 if it is mission critical go hardware (Cisco) On the Other side if you need to do NAT, or Fire Walling go software. I recommend checkpoint running on BSD on Nokia Hardware. IF you need raw power and the fastest connection possible go to an Asic Router (a layer 3 switch). Good luck