I'm new to the networking field. I know the functionality of a routing engine but I wanted to know how it is implemented mainly? Is it a piece of hardware or software which does the work? On googling I could see Juniper implementing the same in hardware (which also forwards the packets) where as some other links have referred to it as a software which builds the route lookup tables.
2 Answers
I'm new to the networking field. I know the functionality of a routing engine but I wanted to know how it is implemented mainly? Is it a piece of hardware or software which does the work?
Usually the control plane (routing) runs only in software and the data plane (forwarding) can be implemented either in software (as in a software router) or in hardware (as in many high-performance commercial routers).
On googling I could see Juniper implementing the same in hardware (which also forwards the packets) where as some other links have referred to it as a software which builds the route lookup tables.
Forwarding tables are always built by routing processes running purely in software. The actual forwarding table itself might be a database stored in specialized hardware -- but always built by software.
The forwarding of actual packets (which depends on the forwarding tables built by the routing plane) can be executed either by specialized hardware, or by purely by software, or by a combination of software plus help from specialized hardware.
See also: routing: understanding the default route vs. prefix length, administrative distance and metrics
The way that the routing engine are implemented can vary from one device to other. What you neeed to know is that exist a mechanism where software and hardware work to do that. Eg: some Cisco equiment bring some cards that are on charge to do the routing stuff, providing great performance, because separate the routing process(great performance impact) from the normal process. On the other way, if the routing is taken on software, your can see the performance impact on your device.