|Computer network router|
|Wednesday, 03 January 2007|
Routing is a technique for selecting an optimal path to be used from a plurality of communication paths in order to transmit an IP packet to a final destination. Routers are specialized computer networking devices that route or guide packets of digitized information throughout a network. A typical router includes various interfaces that send and receive packets. In a typical packet data router, packets originating from various source locations are received via a plurality of communication interfaces. Each packet contains routing information, such as a destination address, which is associated with a respective communication interface of the router. The router receives a given packet through a first interface, processes the packet to determine how to best forward the packet to its destination, and then based on this determination transmits the packet through a selected second interface. A router uses a destination address of every incoming packet of data to decide the proper next-hop information of the packet. High-speed routers are required to make these decisions at the speed of several million packets per second. Each search finds the longest prefix match of the destination address among all stored prefixes in the router. Typically, when a host computer sends a packet out onto a network, it includes in the packet address information that specifies the source of the packet, the sending host, and the intended destination of the packet, another host computer connected to the network. The sending and receiving hosts ordinarily are interconnected through routing devices which use packet address information to route packets through the network from one routing device to the next en route from the sending host to the receiving host. A computer network typically includes a collection of routers interconnected with each other. Each router in a network is a device having an input side with at least one input connected to an adjacent router and an output side with several outputs, each of which is connected to an adjacent router. Routers form a central part of a data communication network and perform general routing of data packets. Headers in each packet control the route taken by that packet through the network. The router receives a data packet through its input and forwards the data packet to an adjacent router through one of its several outputs. Based on the transmit destination address contained in the header portion of the received packet, the router searches the forwarding table held by each router, and determines a interface number for transmitting the packet, and forwards the packet to the determined interface. The function of a router is to decide, for each data packet arriving at its input, which of the several adjacent routers it is to relay the data packet to. Routers process information packets, typically, in the order received, so that the order of packets exiting a router is the same as the order of packets entering the router. Packet data network users often share either a single router, or router system, from a service provider. Multiple different internet users, for example, may connect via respective data modems or primary rate interface (PRI) lines to a single internet protocol (IP) router, or IP router system, operated by an internet service provider (ISP). The performance coefficient of a router is the throughput of the router, which is indicated either in data packets/second or in bytes/second. The performance of a router depends on the processing time for a data packet and on the time between the data processing for two data packets. Both add up to form the time spent by a data packet in the router.
The Internet has become a popular tool for sending and receiving information. The Internet architecture is represented by four layers termed, in ascending interfacing order, the network interface, internetwork, transport and application layers. The primary internetwork layer protocol of the Internet architecture is the Internet Protocol (IP). In essence, the Internet comprises a worldwide network of communications equipment and service providers that use a common protocol for communicating. Data is transmitted from one user to another over a vast infrastructure of routers, servers, gateways and other similar devices. Internet protocol (IP) networks are a form of packet-based network. Packets are routed in an IP network by the use of routers, which form the nodes of an IP network. Typically, data is transmitted from a host through a router connected to an Internet Protocol (IP) network through a series of network links and switches to a receiving host. Packet-switched networks, in which messages from the transmitting host are divided into packets that are transmitted through the IP network and reassembled at the receiving host, are commonly used for the transport of digital data. IP is primarily a connectionless protocol that provides for internetworking routing, fragmentation and reassembly of exchanged packets--generally referred to as "datagrams" in an Internet environment--and which relies on transport protocols for end-to-end reliability. An Internet protocol packet (Datagram) router accepts input packets from many sources and headed for many destinations. Datagram contains communication information data to be transferred as well as a description of its source and destination network layer address (such as IP addresses in the case of IP), and the router device determines an output interface (port number) and a next transfer target node (router device or host functioning as communication terminal) of the datagram according to such an address information contained in the datagram. Each packet has a header that includes a destination address. A router maintains the identity of the output port of the router which is currently being used for routing packets toward that destination. Routers are able to select the best transmission path between networks. When a router receives an IP packet, it makes the decision of which adjacent router to send the packet to by consulting its local routing tables. The router table entries are indexed by the destination IP address, which is contained in the header of every IP packet. An entry for a destination IP address will generally contain a path cost and a destination address. The Internet is a global network of computers and computer networks. The Internet connects computers that use a variety of different operating systems or languages. To facilitate and allow the communication among these various systems and languages, the Internet uses a language referred to as TCP/IP (`Transmission Control Protocol/Internet Protocol`). TCP/IP protocol supports three basic applications on the Internet: transmitting and receiving electronic mail, logging into remote computers, and transferring files and programs from one computer to another. The basic routing function is implemented in the IP layer of the TCP/IP protocol stack, so any host (or computer) or workstation running TCP/IP over more than one interface could, in theory, forward messages between networks.
A typical router includes ports for channeling communication throughout the network, a primary port facility having a single processor, and a router card for controlling the router ports. Typically, data is received at an inbound port as a packet. When a packet is received at an inbound port, it is ultimately filtered or forwarded via an outbound port. A router of the auto-switch type generally comprises a number n of inputs and a number n of outputs, for routing data packets from the inputs to the outputs. In order to constitute a network, inputs and outputs of the router are respectively connected to outputs and inputs of data terminal equipment or of other routers. A router configuration includes a chassis which contains basic components such as power supply, fans, and slots where interface cards and network modules that are inserted into the slots. The line cards which are inserted into card slots and modules which are inserted into module slots handle packet ingress and egress and other networking functions. A routing table is initially downloaded to each line card along with configuration files. One of these files in particular, the dispatch table, is specifically constructed for suitability for use within a local routing switch processor in the line card. Line cards provide one or more interfaces over which traffic flows. Depending on the number of slots and interfaces, a switch or a router can be configured to work with a variety of networking protocols. In a router, router operating systems (OS) provide the basic command functions for the routing device as well as various subsystem components which provide specific functions or routines provided by the routing device. A router uses a routing protocol to exchange information with other routers in order to maintain a consistent view of the network. For packets to be forwarded properly, each router must have a consistent FIB (forwarding information table) with other routers on the network. Many popular types of routers operate under the control of packet processing software. The packet processing software directly manipulates the individual packets to be forwarded by the router. A router management interface provides access to software modules and other resources residing on the router. In particular, the router management interface permits various entities, such as human users and automated scripts, to configure the router and obtain operational information. To reduce network disruption due to router failure, some networks employ virtual routers, which are also known as virtual router groups. Virtual routers typically comprise two or more routers which share the same IP address. The growth of new services on the Internet (e.g., voice, video, etc.) that require high bandwidth and high quality of service (QoS) performance constraints has caused many network service providers to reach the capacity of their existing network infrastructure. Hence, the development of high-performance routers that satisfy network service providers' demands for high density, service rich networks often have a higher capacity and enhanced operations that enable the network service provider to offer data services at a lower cost. Such highly-scalable routers may be designed to provide leased line aggregation at the edge of a service provider's network.