In computer networking , a routing table , or routing information base ( RIB ), is a data table stored in a router or a network host that lists the routes to particular network destinations, and in some cases, metrics (distances) associated with those routes. The routing table contains information about the topology of the network immediately around it.
30-431: The construction of routing tables is the primary goal of routing protocols . Static routes are entries that are fixed, rather than resulting from routing protocols and network topology discovery procedures. A routing table is analogous to a distribution map in package delivery . Whenever a node needs to send data to another node on a network, it must first know where to send it. If the node cannot directly connect to
60-510: A computer network . Routers perform the traffic directing functions on the Internet; data packets are forwarded through the networks of the internet from router to router until they reach their destination computer. Routing algorithms determine the specific choice of route. Each router has a prior knowledge only of networks attached to it directly. A routing protocol shares this information first among immediate neighbors, and then throughout
90-816: A "null" software-defined interface. Packets having this interface as a next hop will be discarded, which can be a very efficient way to filter traffic. Routers usually can route traffic faster than they can examine it and compare it to filters, so, if the criterion for discarding is the packet's destination address, "blackholing" the traffic will be more efficient than explicit filters. Other software defined interfaces that are treated as directly connected, as long as they are active, are interfaces associated with tunneling protocols such as Generic Routing Encapsulation (GRE) or Multiprotocol Label Switching (MPLS). Loopback interfaces are virtual interfaces that are considered directly connected interfaces. Router configuration rules may contain static routes. A static route minimally has
120-399: A destination address, a prefix length or subnet mask, and a definition where to send packets for the route. That definition can refer to a local interface on the router, or a next-hop address that could be on the far end of a subnet to which the router is connected. The next-hop address could also be on a subnet that is directly connected, and, before the router can determine if the static route
150-421: A high quality of service is defined by such mechanisms as differentiated services . Depending on the specific router implementation, there may be a separate forwarding information base that is populated by the control plane, but used by the high-speed forwarding plane to look up packets and decide how to handle them. In computing, the control plane is the part of the software that configures and shuts down
180-492: A particular route or routes from those advertised by various routing protocols. Different implementations have different sets of preferences for routing information, and these are not standardized among IP routers. It is fair to say that subnets on directly connected active interfaces are always preferred. Beyond that, however, there will be differences. Implementers generally have a numerical preference, which Cisco calls an "administrative distance", for route selection. The lower
210-670: A route fails or when a routing policy is changed. Several different information sources may provide information about a route to a given destination, but the router must select the "best" route to install into the routing table. In some cases, there may be multiple routes of equal "quality", and the router may install all of them and load-share across them. There are three general sources of routing information: Routers forward traffic that enters on an input interface and leaves on an output interface, subject to filtering and other local rules. While routers usually forward from one physical (e.g., Ethernet , serial ) to another physical interface, it
240-492: A single routing domain . Examples of IGPs include: Exterior gateway protocols exchange routing information between autonomous systems . Examples include: Many software implementations exist for most of the common routing protocols. Examples of open-source applications are Bird Internet routing daemon , Quagga , GNU Zebra , OpenBGPD , OpenOSPFD , and XORP . Some network certification courses distinguish between routing protocols and routed protocols. A routed protocol
270-401: Is also possible to define multiple logical interfaces on a physical interface. A physical Ethernet interface, for example, can have logical interfaces in several virtual LANs defined by IEEE 802.1Q VLAN headers . When an interface has an address configured in a subnet , such as 192.0.2.1 in the 192.0.2.0/24 (i.e., subnet mask 255.255.255.0) subnet, and that interface is considered "up" by
300-519: Is concerned with establishing the network topology , or the information in a routing table that defines what to do with incoming packets . Control plane functions, such as participating in routing protocols , run in the architectural control element. In most cases, the routing table contains a list of destination addresses and the outgoing interface(s) associated with each. Control plane logic also can identify certain packets to be discarded, as well as preferential treatment of certain packets for which
330-469: Is directly attached to one of the router interfaces. The network address and subnet mask of the interface, along with the interface type and number, are entered into the routing table as a directly connected network. A remote network is a network that can only be reached by sending the packet to another router. Routing table entries to remote networks may be either dynamic or static. Dynamic routes are routes to remote networks that were learned automatically by
SECTION 10
#1732776539075360-569: Is less preferred than a route from any routing protocol. The static route, which might use a dialup link or other slow medium, activates only when the dynamic routing protocol(s) cannot provide a route to the destination. Static routes that are more preferred than any dynamic route also can be very useful, especially when using traffic engineering principles to make certain traffic go over a specific path with an engineered quality of service. See routing protocols . The routing table manager, according to implementation and configuration rules, may select
390-406: Is usable, it must do a recursive lookup of the next hop address in the local routing table. If the next-hop address is reachable, the static route is usable, but if the next-hop is unreachable, the route is ignored. Static routes also may have preference factors used to select the best static route to the same destination. One application is called a floating static route , where the static route
420-476: Is used to deliver application traffic. It provides appropriate addressing information in its internet layer or network layer to allow a packet to be forwarded from one network to another. Examples of routed protocols are the Internet Protocol (IP) and Internetwork Packet Exchange (IPX). Control plane In network routing , the control plane is the part of the router architecture that
450-552: The added benefit of preventing issues with routing protocol loops. Many routing protocols are defined in technical standards documents called RFCs . Although there are many types of routing protocols, three major classes are in widespread use on IP networks : Routing protocols, according to the OSI routing framework, are layer management protocols for the network layer, regardless of their transport mechanism: Interior gateway protocols (IGPs) exchange routing information within
480-457: The application and implementation, it can also contain additional values that refine path selection: Shown below is an example of what the table above could look like on a computer connected to the internet via a home router : Routing tables are generally not used directly for packet forwarding in modern router architectures; instead, they are used to generate the information for a simpler forwarding table . This forwarding table contains only
510-441: The contents of their routing table with other nodes. The primary function of a router is to forward a packet toward its destination network, which is the destination IP address of the packet. To do this, a router needs to search the routing information stored in its routing table. The routing table contains network/next hop associations. These associations tell a router that a particular destination can be optimally reached by sending
540-644: The data plane processing. The conceptual separation of the data plane from the control plane has been done for years. An early example is Unix , where the basic file operations are open, close for the control plane and read write for the data plane. A major function of the control plane is deciding which routes go into the main routing table. "Main" refers to the table that holds the unicast routes that are active. Multicast routing may require an additional routing table for multicast routes. Several routing protocols e.g. IS-IS , OSPF and BGP maintain internal databases of candidate routes which are promoted when
570-526: The data plane. By contrast, the data plane is the part of the software that processes the data requests. The data plane is also sometimes referred to as the forwarding plane. The distinction has proven useful in the networking field where it originated, as it separates the concerns: the data plane is optimized for speed of processing, and for simplicity and regularity. The control plane is optimized for customizability, handling policies, handling exceptional situations, and in general facilitating and simplifying
600-533: The destination node, it has to send it via other nodes along a route to the destination node. Each node needs to keep track of which way to deliver various packages of data, and for this it uses a routing table. A routing table is a database that keeps track of paths, like a map, and uses these to determine which way to forward traffic. A routing table is a data file in RAM that is used to store route information about directly connected and remote networks. Nodes can also share
630-422: The manner in which they select preferred routes, using information about hop costs, the time they require to reach routing convergence , their scalability , and other factors such as relay multiplexing and cloud access framework parameters. Certain additional characteristics such as multilayer interfacing may also be employed as a means of distributing uncompromised networking gateways to authorized ports. This has
SECTION 20
#1732776539075660-417: The network. This way, routers gain knowledge of the topology of the network . The ability of routing protocols to dynamically adjust to changing conditions such as disabled connections and components and route data around obstructions is what gives the Internet its fault tolerance and high availability . The specific characteristics of routing protocols include the manner in which they avoid routing loops,
690-409: The packet to a specific router that represents the next hop on the way to the final destination. The next hop association can also be the outgoing or exit interface to the final destination. With hop-by-hop routing, each routing table lists, for all reachable destinations, the address of the next device along the path to that destination: the next hop . Assuming that the routing tables are consistent,
720-426: The preference, the more desirable the route. Cisco's IOS implementation makes exterior BGP the most preferred source of dynamic routing information, while Nortel RS makes intra-area OSPF most preferred. The general order of selecting routes to install is: See forwarding plane for more detail, but each implementation has its own means of updating the forwarding information base (FIB) with new routes installed in
750-407: The router through a dynamic routing protocol. Static routes are routes that a network administrator manually configured. Routing tables are also a key aspect of certain security operations, such as unicast reverse path forwarding (uRPF). In this technique, which has several variants, the router also looks up, in the routing table, the source address of the packet. If there exists no route back to
780-421: The router, the router thus has a directly connected route to 192.0.2.0/24. If a routing protocol offered another router's route to that same subnet, the routing table installation software will normally ignore the dynamic route and prefer the directly connected route. There also may be software-only interfaces on the router, which it treats as if they were locally connected. For example, most implementations have
810-627: The routes which are chosen by the routing algorithm as preferred routes for packet forwarding. It is often in a compressed or pre-compiled format that is optimized for hardware storage and lookup . This router architecture separates the control plane function of the routing table from the forwarding plane function of the forwarding table. This separation of control and forwarding provides uninterrupted high-performance forwarding. Routing protocol A routing protocol specifies how routers communicate with each other to distribute information that enables them to select paths between nodes on
840-529: The routing table. If the FIB is in one-to-one correspondence with the RIB, the new route is installed in the FIB after it is in the RIB. If the FIB is smaller than the RIB, and the FIB uses a hash table or other data structure that does not easily update, the existing FIB might be invalidated and replaced with a new one computed from the updated RIB. Multicast routing builds on unicast routing. Each multicast group to which
870-535: The simple algorithm of relaying packets to their destination's next hop thus suffices to deliver data anywhere in a network. Hop-by-hop is the fundamental characteristic of the IP Internet layer and the OSI Network Layer . When a router interface is configured with an IP address and subnet mask, the interface becomes a host on that attached network. A directly connected network is a network that
900-610: The source address, the packet is assumed to be malformed or involved in a network attack and is dropped. The need to record routes to large numbers of devices using limited storage space represents a major challenge in routing table construction. In the Internet, the currently dominant address aggregation technology is a bitwise prefix matching scheme called Classless Inter-Domain Routing (CIDR). Supernetworks can also be used to help control routing table size. The routing table consists of at least three information fields: Depending on
#74925