Internet Protocol (IP) has emerged over the past decade as the most deployed data communications transport protocol. To a certain extent, IP's unanimous adoption is due to its simple nature and open standards development. However, the main reason for its unforeseen success is its packet-based and connectionless mode of operation.
With IP, data of any type is placed inside a packet, which is stamped with a destination and a source address. The packet is then left at the mercy of an IP network, which is supposed to somehow get it to its destination.
IP networks represent a collection of devices that have the sole purpose of moving packets from the source to the destination. (See Figure 1.) These highly customized computing devices are called IP routers, and they are interconnected via multiple links that terminate on their interfaces. There are two primary operational planes for a router. The control plane creates and maintains a map that allows the router to make the best forwarding decisions. The data plane forwards IP packets from the ingress to the egress interface.
Control plane — routing
All routers in an IP network must collaborate in order to make sure that each one of them is capable of identifying the best paths and the best backup paths to reach the destinations. In order to perform this function, routers will communicate with their neighbors or routers from an entire domain of the network, exchanging relevant information regarding the state of the network and the reachability of each IP address. Based on this information, each router calculates the best path to all known IP destinations. IP routing protocols identify the mechanism by which routers communicate with each other and the algorithm used to calculate the best routes.
There are multiple routing protocols defined for IP. Those used within an area of the network or an administrative domain are called Interior Gateway Protocols (IGPs). Examples of IGPs include Routing Information Protocol (RIP), InterGateway Routing Protocol (IGRP), Enhanced InterGateway Routing Protocol (EIGRP), Open Shortest Path First (OSPF) and Intermediate System to Intermediate System (ISIS).
The routing protocols used to route between domains or networks are called Exterior Gateway Protocols (EGPs). The representative example of EGP is Border Gateway Protocol (BGP).
The IGPs are also classified based on their principle of operation. OSPF and ISIS are called link-state protocols, and they maintain a view or state of the entire network. RIP, IGRP and EIGRP are called distance-vector protocols, and they rely on their neighbors to make routing decisions. Each routing protocol has its own benefits and deficiencies, and each is best suited for a certain network environment.
The outcome is a routing table indicating what next hop a packet needs to be sent to in order to be delivered optimally to a particular IP address or to reach destinations within an IP subnet. (See Figure 2.) This data is dynamically maintained. If a path becomes impaired or nonoptimal, the routing protocol will update the routing table.
Data plane — forwarding
A router has multiple interfaces, often of different media types such as Ethernet, Packet Over SONET (POS), Asynchronous Transfer Mode (ATM) and Integrated Services Digital Network (ISDN), etc. IP packets are delivered to an interface encapsulated in an envelope specific to that interface type.
In the process of forwarding the packet, routers must first unwrap the media-specific information, analyze the header for integrity, if necessary, and extract the relevant IP information, primarily the destination IP address. The router will then use the knowledge learned via the control plane (the routing table, which is mapped into a forwarding table) to switch the IP packet to the interface identified for the optimal path. The packet is then wrapped up in the frame specific to that interface's media type, and it is sent to the neighboring router.
The basic concepts of the forwarding process are presented in Figure 3. In reality, some parameters of the IP packet itself will have to be slightly manipulated in the process of switching, in which case the packet must be rewritten before it is encapsulated into the media-specific frame. While a centralized CPU performs the control plane functions, a CPU can do the data plane forwarding, or it can be done with the help of dedicated hardware.
With the rapid adoption of IP, more is required of IP networks and IP routers. Large amounts of traffic must be switched with minimal packet loss, and time-sensitive applications require packet delivery with minimal delay and jitter. These requirements demand high-performance router architectures that leverage powerful processors or the implementation of forwarding functions into hardware. Figure 4 on compares software and hardware router architectures.
A router's position within the network dictates its required capabilities. Core routers must forward large amounts of traffic, a capability that can be implemented in hardware, while edge routers must support a rich set of features and functions that might not be suited for full hardware implementations. Their price and flexibility ultimately dictates the router selection for specific roles within a network.
Advanced router features
IP has outgrown its original scope of simply transporting data between two end points. It is now used to deliver a wide variety of services, each service requiring advanced functionalities and feature support by the IP routers. For example:
Voice, audio and video services require a certain QoS to be enforced. Thus, routers support a set of congestion avoidance, congestion management and resource management mechanisms that enable them to treat IP packets based on the service requirements.
Content delivery and collaborative services are supported in a scalable manner by enabling the IP networks and their routers to optimally multicast packets from a source to a set of listeners.
Traffic control and security concerns require routers to be capable of filtering traffic based on certain parameters and to make more complex forwarding decisions than simply looking up the packet destination address in the forwarding table.
The operation of today's networks requires routers to support various additional control and management protocols.
These functions — some integrated in hardware while others handled exclusively by the CPU — stand witness to the extraordinary evolution of the IP router from its original, basic IP switching role to its current critical role in supporting complex services.
Ciprian Popoviciu, PhD, CCIE, is a technical leader within the Networked Solutions Integration Test Engineering (NSITE) group at Cisco Systems.
Ciprian is an author of “Deploying IPv6 Networks,” a comprehensive guide to IPv6 concepts, service implementation and existing interoperability in IPv4 environments. It's available from Cisco Press at www.ciscopress.com/title/1587052105.