On Sun, Jul 18, 2010 at 06:12:29PM +0100, Nick Hilliard wrote:
On 18 Jul 2010, at 10:58, "Dobbins, Roland" <rdobbins@arbor.net> wrote:
ASR1K, which is what I'm assuming you're referring to, is a hardware-based router. Same for ASR9K.
My c* SE swears that the asr1k is a "software router". I didn't push him on it's architecture though.
All routers have hardware, and any but the most overwhelmingly simple "hardware" based devices are using ASICs running software to puah packets around. The line has been blurred for a long time, and the ASR1K makes it very, very blurry. It forwards packets in a relatively general-purpose (but not as general purpose as, say the Intel processors inside your servers) CPU that has 40 cores and is optimised (it's architecture, instruction set, etc.) for moving packets around. Is that hardware forwarding? Is that software forwarding? Depends in what you want to call it. Do video cards with high-end GPUs do things in "hardware" or "software"? There are now development kits to allow you to easily use those GPUs to do general purpose compute tasks. The processors in the ASR could do that, also, but Cisco hasn't written any code or released ay libraries to actually do that (at lease not publicly; I wouldn't be surprised to learn that some developer has hacked a 40-threaded SETI@Home or something like that onto it just to prove it could be done). So where do you draw the line? Is the ASR hardware forwarding? If so, would it still be hardware if, intead of the specialized processor, Cisco got Intel to develop a 40-core pentium and used that? What if Cisco instead used 10 off-the-shelf 4-core processors from Intel or AMD? Where along this continuoum do we cross the line from "software router" to "hardware router"? -- Brett