Site home page
(news and notices)

Get alerts when Linktionary is updated

Book updates and addendums

Get info about the Encyclopedia of Networking and Telecommunicatons, 3rd edition (2001)

Download the electronic version of the Encyclopedia of Networking, 2nd edition (1996). It's free!

Contribute to this site

Electronic licensing info




Related Entries    Web Links    New/Updated Information

Search Linktionary (powered by FreeFind)

Note: Many topics at this site are reduced versions of the text in "The Encyclopedia of Networking and Telecommunications." Search results will not be as extensive as a search of the book's CD-ROM.

Routers are internetworking devices that connect similar and heterogeneous network segments into internetworks. Routers are layer 3 networking devices. In contrast, repeaters operate at the physical layer while bridges (and switches) operate at the data link layer (layer 2). See "Routing," "Internetworking," and "IP (Internet Protocol)" for an overview of the routing process.

The traditional view of a router is a box with two or more interfaces. The interfaces provide connections for networks and/or point-to-point links. There is usually a serial interface for connecting a management console. This interface allows managers to securely configure a router by avoiding sending management information over the network controlled by the router.

The original requirements for routers as defined by the early designers of the Internet was for a switch with the following characteristics:

  • Transmit packets across different types of data link layer networks (IP was designed from the start for heterogeneous networking).

  • Since different networks have different frame sizes, routers must be able to fragment packets so they fit in the frame size of the underlying network. See "Fragmentation and Reassembly."

  • Store a packet temporarily to read its routing information and then forward it. Store and forwarding causes some delay, but newer switching and multilayer switching techniques improve performance.

  • Allow routers to drop packets in an overflow situation, but rely on TCP running in end systems to determine that packets have been dropped (or lost).

  • Routers do not maintain state information, which is information that can be used to track packet delivery between end systems and detect errors, or reserve bandwidth for flows as is done with RSVP.

Routers also discover, collect, and assemble information about routes on the network that can be used to perform route selection when forwarding packets. This is handled by routing protocols that run in the router, such as RIP, OSPF, or BGP.

A router may perform "firewall-like" functions such as packet filtering and discard. For example, packets may be dropped if they do not match a range of IP addresses or if they are for applications other than those allowed.

The following RFCs provide information about early router design and the router requirements. Refer to "Routing on the Internet" for more information about the early design of the Internet. RFC 875 is a somewhat tongue in cheek, but informative document about internetworks, gateways, and routers

  • RFC 823 (DARPA Internet Gateway, September 1982)

  • RFC 875 (Gateways, Architecutures, and Heffalumps, September 1982)

  • RFC 1812 (Requirements for IP Version 4 Routers, June 1995)

Routers store and forward datagrams and process network layer information. Routers also run routing protocols that discover and gather information about the network topology, calculate routes to other networks, and build routing tables. Some management functions are also required. This requires one or more processors and memory to store routing tables and other information. The topic "Throughput" describes router performance characteristics.

Figure R-4 illustrates the architecture of a traditional router with four interfaces (newer designs are covered later). The device may be a stand-alone dedicated router from a vendor such as Cisco Systems, or a computer with network interface cards (Ethernet, token ring, and so on) running a network operating system like Novell NetWare, Sun Microsystem's Solaris, or Microsoft Windows 2000.

Buffers are blocks of memory that temporarily hold packets until they can be processed. Note that each interface has input and output buffers. The switching fabric may also have its own buffers. Buffers are a key part of a router. The size of the buffers is critical. Network traffic may burst into the router faster than the router can process the traffic. Buffers temporarily hold packets until they can be processed. If there are too few buffers, the buffers will fill quickly and incoming packets will be dropped. Dropped packets require retransmission, which affects network performance. Too many buffers can cause excessive delay. See "Queuing" for more information on how buffers and queues are handled in routers.

The switching fabric connects all the ports and provides any-to-any connections among those ports. There are several types of switching fabrics. Standard memory may be used to switch packets, but this scheme lacks performance. A shared bus is another method. The most common is a crossbar switch design in which a link exists between every input port and every output port. See "Switch Fabrics and Bus Design" for more information.

When a packet arrives at a router port, it is placed in an input buffer to await processing. An incoming packet may be addressed to the router, but most packets will require forwarding, as described here:

  1. Strip off the frame information and retrieve the datagram. Check for errors and forward the datagram to the appropriate protocol forwarding process in the router (for multiprotocol routers).

  2. Get the IP network address (the host portion is irrelevant until the datagram reaches the destination network).

  3. Look up the address in the routing table to determine how to forward the packet. Find the best match in the table by finding the longest match, meaning that the network address with the most number of bits that match the destination address is used. If no match is found, generate an ICMP error response and send it to the source.

  4. Update the IP datagram Time-To-Live field (TTL). If the TTL decrements to zero, discard the datagram (assumes it is in a loop).

  5. Make sure the datagram will fit in the MTU (maximum transmission unit) of the next hop network. MTU is the size of the data area for the frame. Datagrams may be fragmented to fit the MTU.

  6. Send the packet to the output queue of the appropriate interface. If the queue is full, drop the packet and send an ICMP message to the sender that indicates congestion.

A layer 3 switch is a hardware-based multiport router that uses ASICs (application-specific integrated circuits) and/or network processors to greatly improve routing performance. Many of the steps outlined in the preceding are performed directly in hardware as opposed to relying on software and separate CPUs. A typical software router forwards 500,000 packets per second. A layer 3 switch with built-in high-speed routing at each port can forward up to 50 million packets per second. Most devices of this type are now called multilayer switches because they can examine information above layer 3. Most can examine application layer data in order to prioritize packets and provide QoS. See "Multilayer Switching."

Multilayer switches are relatively inexpensive, so network managers gain great flexibility in designing routed networks as discussed under "Network Design and Construction."

Internet routers and routers for large enterprises support MPLS, which eliminates the traditional hop-by-hop routing technique and replaces it with a label-switching approach that creates fast switched paths through the network. The technique is similar to ATM virtual circuits and brings QoS to the Internet. See "MPLS (Multiprotocol Label Switching)," "Network Core Technologies," and "Optical Networks,"

Copyright (c) 2001 Tom Sheldon and Big Sur Multimedia.
All rights reserved under Pan American and International copyright conventions.