For the tool, see router (tool)
A router is a physical device that performs routing. Routing itself can be loosely defined as "moving packets around" on a computer network, in order to allow various different sub-networks (or subnets) to communicate with each other. Physically, a router is usually a special-purpose computer, although it is possible to program a personal computer to perform the same functions of a router. Minimally, a router contains a control plane and a forwarding plane, but also some network management facilities for configuration and error handling.
The network management facilities may have no direct human interface (i.e., any human control is from a network management server), or the physical router provide a text, windowing, or Web-like (i.e., HTTP) interface.
Routers are network elements that, even within the Internet end-to-end assumption, must maintain state of the routes they service. If the router supports quality of service, it also needs to maintain state on the performance it guarantees, whether this is an essentially automatic mechanism such as internal buffer management in the forwarding plane, or explicit agreements such as those made with the Resource Reservation Protocol (RSVP).
Resource reservation, although it is built up from per-hop behavior, is an end-to-end function, so this is one way in which the router breaks the end-to-end assumption. Other common violations include firewall and network address translation functions.
Routers by application and cost-performance
Small and home office
A "SOHO" (for Small Or Home Office) router supports only one connection out to the Internet, typically a broadband link, but allows several machines to share that connection. The router has multiple ethernet ports, or wireless, or both so that several machines can connect to it on the client side. Typically the router includes the functionality of an ethernet or wireless hub; no external hub, wireless access point or ethernet switch is required. Router software does Network Address Translation (NAT) so that, from the Internet's point of view, only one address is used.
These devices generally include additional functionality such as firewalling, DNS caching, and providing addresses to client machines with DHCP. Sometimes web caching is provided as well. Many SOHO routers provide a web-based management interface on the client side. It is moderately common to use a SOHO router even if there is only one computer in the home; the firewalling protects that computer from various threats, the caching may improve performance, DCHP makes client system administration easier, and the router can be left turned on so the Internet connection is immediately available when the client machine starts up.
Many SOHO routers run a stripped-down Linux and use standard Linux programs for the NAT and any additions. Processors with limited performance are usually adequate for these applications, so CPU choice is largely governed by cost considerations and the need to run on low wattage so that expensive or noisy cooling systems are not required. ARM processors are one common choice.
Campus to internal WAN
Routers that run the Border Gateway Protocol usually are either part of the Internet service provider infrastructure, or interfaces to the Internet. BGP may also be used in complex enterprise networks. While there are many informal definitions, several definitions used in categorizing performance are listed below.
Provider Edge Router
A provider edge router is a router at the edge of a provider's network that speaks exterior eBGP to a BGP speaker in another AS. The traffic that transits this router may be destined to or may originate from non-adjacent autonomous systems. In particular, the multi-exit discriminator values used in the Provider Edge Router would not be visible in the non-adjacent autonomous systems. Such a router will always speak eBGP and may speak iBGP.
Subscriber Edge Router
A subscriber edge router is router at the edge of the subscriber's network that speaks eBGP to its provider's AS(s). The router belongs to an end user organization that may be multi-homed, and that carries traffic only to and from that end user AS. Such a router will always speak eBGP and may speak iBGP.
This definition of an enterprise border router (which is what most Subscriber Edge Routers are) is practical rather than rigorous. It is meant to draw attention to the reality that many enterprises may need a BGP speaker that advertises their own routes and accepts either default alone or partial routes.
Inter-provider Border Router
An inter-provider border router is a BGP speaking router that maintains BGP sessions with other BGP speaking routers in other providers' ASes. Traffic transiting this router may be originated in or destined for another AS that has no direct connectivity with this provider's AS. Such a router will always speak eBGP and may speak iBGP.
A core router is a provider router internal to the provider's net, speaking iBGP to that provider's edge routers, other intra-provider core routers, or the provider's inter-provider border routers. Such a router will always speak iBGP and may speak eBGP. It will often run Multiprotocol Label Switching (MPLS).
Control plane implementation
Forwarding plane implementation
- Baker, F. (June 1995), Requirements for IPv4 routers, Internet Engineering Task Force, RFC1812
- Berkowitz, H., et al (June 2005), Terminology for Benchmarking BGP Device Convergence in the Control Plane, Internet Engineering Task Force, RFC4098