The Role of In-Memory Database Systems in Routing Table Management for IP Routers

The Role of In-Memory Database Systems in Routing Table Management for IP Routers

The Role of In-Memory Database Systems in Routing Table Management for IP Routers Abstract: Core Internet bandwidth grows at triple the rate of CPU power, but the promise of high-value applications can only be realized by managing much more data traffic at the network's edge. This requires rapid evolution of the fundamental edge infrastructure device, the IP router. To keep pace, routing table management (RTM) software within routers must respond quickly to changing protocol and provisioning requirements, but as demands increase, proprietary routing table implementations encounter limitations in scalability, extensibility, and ease of maintenance. This paper examines the use of in-memory database systems (IMDS) within RTM software to overcome these barriers. In addition to greater development flexibility, IMDS technology provides built-in data integrity and fault tolerance, while meeting data lookup and update demands needed for RTM software to support IP routing functions. (Performance examples are provided for Linux and Windows 2000.) This solution improves infrastructure vendors’ ability to produce new generations of routers faster and at less cost, improving their competitive position. McObject LLC 33309 1st Way South Suite A-208 Federal Way, WA 98003 Phone: 425-888-8505 E-mail: [email protected] www.mcobject.com Copyright 2013-2018, McObject LLC Introduction - General Routing Concepts IP Routing is the main process used by Internet hosts and routers to deliver packets. The Internet is based on a hop-by-hop routing model. Each host or router that handles a packet examines the destination address in the IP header, computes the next hop that will bring the packet one step closer to its destination, and delivers the packet to the next hop, where the process is repeated. To make this work, routers use routing tables to compute the next hop for a packet. Routing table lookup processes match destination addresses with next hop addresses. The content of the routing tables is determined both by routing protocols responsible for automatic (dynamic) table updates, and by the router’s static network management function, for manual updates. Architecturally, routers are usually divided into three components: the control plane that executes routing protocols, stacks, etc., the management plane that provides various provisioning and management functions, and the data plane (forwarding) that performs wire speed packet processing. (In fact, routers’ control and management planes are often discussed as a single unit. Because this paper focuses on dynamic updating and other automated control capabilities, the term “control plane” is used broadly, even when possibly overlapping with management plane functions.) Modern Internet router architectures perform the forwarding table lookup using either a central CPU or several CPUs positioned at the incoming interfaces. General-purpose CPUs work well for forwarding, at most, hundreds of thousands of packets per second. The port speeds of high-end routers range from hundreds of megabits (Mbps) all the way up to hundreds of gigabits per second. These high speeds imply the use of optical physical interfaces and very wide parallel electrical busses operating at high speeds. For instance, a 10Gbps line would need to be transformed into a bus operating at 100MHz that would be 64 bits wide. Even a 622Mbps interface may transmit up to 1.5 million packets per second. A router with 128 such interfaces would need to cope with 200 million forwarding decisions per second. Therefore, high-end routers use dedicated hardware to perform forwarding. The control plane has evolved as the site of the router’s more complex and data-hungry software functions, which run on a general purpose CPU and operating system. Key control plane software components, discussed below, include routing protocols; the routing table; and the routing table management (RTM) software that installs, modifies and deletes routes (often from multiple protocols) in the routing table, and synchronizes information between the routing and forwarding tables. In the fast-growing Internet environment, routing table management must provide fast conversions—that is, it must quickly reflect network topology changes in the router hardware. Figure 1 shows the role of control, management and forwarding planes in router architecture. 2 Control and management plane. Runs on general purpose CPU under general purpose OS BGP OSPF IS_IS RIP Static routes Routing table (RT). Contains all the routing information learned by routing protocols. Routing table management (RTM). RT access API Data plane. Runs a packet forwarding engine usually on special hardware Forwarding table. Contains the routes actually used to forward packets through the router Network interfaces Packet in Packet out Figure 1 Protocols Routing protocols determine optimal routing paths through a network, usually based on paths with the least delay and highest reliability. Typically, the best paths are those with the least number of hops, but traffic volume can influence the choice of paths, as well. Most routing protocols facilitate communication between routers and operate in a distributed manner, learning the presence and responsiveness of immediate neighbors through polling and listening routines, and through sharing routing table information with neighbors. Through this process, each router maintains a complete picture of a network in terms of connectivity and quality of specific links. Routers’ ability to adapt to a changing network was demonstrated in dramatic fashion on September 11. Within an hour, Internet traffic flows returned to normal as traffic was re-routed around the damaged portions. Popular routing protocols include: Routing Information Protocol (RIP). This is a distance vector routing protocol, choosing paths based on the distance (number of hops) to the destination. RIP maintains optimal paths by sending out update messages if the network topology changes. For example, if a router finds a faulty link, it will update its routing table, and then send a copy of the modified table to its neighbors. These neighbors update their tables and forward information to others, and so on. Within a short period, all routers will have the new information. Open Shortest Path First (OSPF). The Internet Engineering Task Force (IETF) developed OSPF, which is often preferred over RIP for larger autonomous system networks. OSPF is a link- state routing protocol (sometimes referred to as distributed-database protocol, but not to be confused with the OLTP DBMS definition of distributed databases.) OSPF routers maintain a 3 map of the inter-network that is updated after any change to the topology. This map, called the link-state database, is synchronized between all the OSPF routers and is used to compute the routes in the routing table. Neighboring OSPF routers form an adjacency, which is a logical relationship between routers to synchronize the link-state database. Topology changes are efficiently flooded across the entire inter-network to ensure that the link- state database on each router is synchronized and accurate. Changes to this database trigger a recalculation of the routing table. As the size of this database increases, memory requirements and route computation times increase. To address this scaling problem, OSPF divides the inter-network into areas (collections of contiguous networks) connected to one another through a backbone area. Each router keeps a link-state database only for areas that are directly connected. Area border routers (ABRs) connect the backbone area to other areas. Intermediate System to Intermediate System (IS-IS). This link-state protocol offers services similar to OSPF. However, IS-IS was developed by the International Organization for Standardization (ISO) as a part of the Open System Interconnection (OSI) network architecture. IS-IS periodically floods the network with link state information, allowing each router to maintain a complete picture of the network's topology. Board Gateway Protocol (BGP). This is a protocol for exchanging routing information between gateway hosts (each with its own router) in a network of autonomous systems. Routing Table Management Software Routing Table Management (RTM) software provides a means of coordinating information obtained by the routing protocols and statically configured routes, and communicating this data between the control and data planes. In the current generation of routers, the RTM software maintains the routing table (discussed below) as an integrated structure containing persistent data required by control plane processes. The RTM software’s functions allow protocols to install new routes (often from multiple protocols) in the routing table, provides means for efficient population of the forwarding data, and supports functionality to communicate new routes back to protocols. Routing Table The routing table is a central repository for storing one or more of a protocol instance's preferred routes to a given destination. Different protocol modules use the routing table in different ways. For instance, OSPF maintains its link state database separately and instantiates routes into the routing database when it performs a link state computation. From OSPF, there can be only one route to a given destination. RIP and BGP add routes received in updates from peers, so the routing table may contain as many BGP routes to a destination as there are peers. While “routing table” suggests a single, straightforward data set, the

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    15 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us