A routing protocol is a protocol that specifies how routers communicate with each other to disseminate information that allows them to select routes between any two nodes on a network. Typically, each router has a priori knowledge only of its immediate neighbors. A routing protocol shares this information so that routers have knowledge of the network topology at large.
The term routing protocol may refer more specifically to a protocol operating at Layer 3 of the OSI model which similarly disseminates topology information between routers.
Many routing protocols used in the public Internet are defined in documents called RFCs
There are three major types of routing protocols, some with variants:
The specific characteristics of routing protocols include the manner in which they either prevent routing loops from forming or break routing loops if they do form, and the manner in which they determine preferred routes from a sequence of hop costs and other preference factors.
Routed versus routing protocols:
Confusion often arises between routing protocols and routed protocols. While routing protocols help the router in the decision-making on which paths to send traffic, routed protocols are responsible for the actual transfer of traffic between L3 devices.Specifically, a routed protocol is any network protocol that provides enough information in its network layer address to allow a packet to be forwarded from one host to another host based on the addressing scheme, without knowing the entire path from source to destination. Routed protocols define the format and use of the fields within a packet. Packets generally are conveyed from end system to end system. Almost all layer 3 protocols and those that are layered over them are routable, with IP being an example. Layer 2 protocols such as Ethernet are necessarily non-routable protocols, since they contain only a link-layer address, which is insufficient for routing: some higher-level protocols based directly on these without the addition of a network layer address, such as NetBIOS, are also non-routable.
In some cases, routing protocols can themselves run over routed protocols: for example, BGP runs over TCP: care is taken in the implementation of such systems not to create a circular dependency between the routing and routed protocols. That a routing protocol runs over particular transport mechanism does not mean that the routing protocol is of layer (N+1) if the transport mechanism is of layer (N). Routing protocols, according to the OSI Routeing[sic] framework, are layer management protocols for the network layer, regardless of their transport mechanism:
Examples:
Interior routing protocols:
Interior Gateway Protocols (IGPs) exchange routing information within a single routing domain. A given autonomous system can contain multiple routing domains, or a set of routing domains can be coordinated without being an Internet-participating autonomous system. Common examples include:
Note that IGRP, a Cisco proprietary routing protocol, is no longer supported. EIGRP accepts IGRP configuration commands, but the internals of IGRP and EIGRP are completely different.
Exterior routing protocols:
Exterior Gateway Protocols (EGPs) route between separate autonomous systems. Examples include:
The term routing protocol may refer more specifically to a protocol operating at Layer 3 of the OSI model which similarly disseminates topology information between routers.
Many routing protocols used in the public Internet are defined in documents called RFCs
There are three major types of routing protocols, some with variants:
- link-state routing protocols,
- path vector protocols and
- distance vector routing protocols.
The specific characteristics of routing protocols include the manner in which they either prevent routing loops from forming or break routing loops if they do form, and the manner in which they determine preferred routes from a sequence of hop costs and other preference factors.
Routed versus routing protocols:
Confusion often arises between routing protocols and routed protocols. While routing protocols help the router in the decision-making on which paths to send traffic, routed protocols are responsible for the actual transfer of traffic between L3 devices.Specifically, a routed protocol is any network protocol that provides enough information in its network layer address to allow a packet to be forwarded from one host to another host based on the addressing scheme, without knowing the entire path from source to destination. Routed protocols define the format and use of the fields within a packet. Packets generally are conveyed from end system to end system. Almost all layer 3 protocols and those that are layered over them are routable, with IP being an example. Layer 2 protocols such as Ethernet are necessarily non-routable protocols, since they contain only a link-layer address, which is insufficient for routing: some higher-level protocols based directly on these without the addition of a network layer address, such as NetBIOS, are also non-routable.
In some cases, routing protocols can themselves run over routed protocols: for example, BGP runs over TCP: care is taken in the implementation of such systems not to create a circular dependency between the routing and routed protocols. That a routing protocol runs over particular transport mechanism does not mean that the routing protocol is of layer (N+1) if the transport mechanism is of layer (N). Routing protocols, according to the OSI Routeing[sic] framework, are layer management protocols for the network layer, regardless of their transport mechanism:
- IS-IS runs over the data link layer
- OSPF, IGRP, and EIGRP run directly over IP; OSPF and EIGRP have their own reliable transmission mechanism while IGRP assumed an unreliable transport
- runs over UDP
- runs over TCP
Examples:
Interior routing protocols:
Interior Gateway Protocols (IGPs) exchange routing information within a single routing domain. A given autonomous system can contain multiple routing domains, or a set of routing domains can be coordinated without being an Internet-participating autonomous system. Common examples include:
- IGRP (Interior Gateway Routing Protocol)
- EIGRP (Enhanced Interior Gateway Routing Protocol)
- OSPF (Open Shortest Path First)
- RIP (Routing Information Protocol)
- IS-IS (Intermediate System to Intermediate System)
Note that IGRP, a Cisco proprietary routing protocol, is no longer supported. EIGRP accepts IGRP configuration commands, but the internals of IGRP and EIGRP are completely different.
Exterior routing protocols:
Exterior Gateway Protocols (EGPs) route between separate autonomous systems. Examples include:
- EGP (the original Exterior Gateway Protocol used to connect to the former Internet backbone network; now obsolete)
- BGP (Border Gateway Protocol: the current version, BGPv4, dates from around 1995)
- CSPF (Constrained Shortest Path First)