Routing, in its most basic form, is the process of data movement between layer 3 networks. Even though the routers are the devices commonly used for this operation, many security devices and switches are also used for the task.

The routing of a network can be configured statically, dynamically or with a combination of both. Static routes are used in networking environments for multiple purposes, including a default route to a network with an only connection. The static routing is ideal in small networks, where there are fewer routers and networks. They require an absolute control of the routing since it is configured in each device.In any case, the static routing presents many disadvantages, which makes it inappropriate for medium and larger networks. In these cases, the growth and the change are constant, and the best option is to implement a dynamic routing protocol.

The routing protocols allow the layer 3 devices to learn and share dynamically the routing information.This way, the devices which enable the dynamic routing protocol exchange all the information (prefixes, parameters and attributes) of the network among themselves. When a device adds, changes or removes any piece of information in particular, the change spreads and the rest of the devices are updated dynamically.

Some of the benefits of dynamic routing are:

Drastic reduction of administrative tasks: The devices learn the information automatically, and it is not necessary to manually configure the routes in each device.

Availability: During failure situations, the routing protocols generate a new path around the failure automatically, with no need to change the configuration.

The routing protocols, according to their area of application, are divided into Interior Gateway Protocols (IGPs) and Exterior Gateway Protocols (EGP)

IGP

The IGPs are used inside an Autonomous System (AS). The IGP are responsible of constructing and maintaining the routing information within the domain of the AS and because of this, they are considered to be “internal”. These protocols build the AS structure and, considering their application in wider networks, like ISPs, the most important characteristics they must have are robustness, quick convergence and optimization of the traffic generated by the protocols. It is essential that the internal network of the ISP provider is efficient, robust and safe. Because of this, the IGP protocols are designed to follow these parameters. In a correct implementation, the IGP should not have to maintain many prefixes, since it affects its performance. It should not have the external prefixes to the AS, except in some particular cases.

The IGP protocols can be divided into two categories: The “distance-vector” protocols and the “Link-state” protocols. The distance-vector protocols take into account the number of hops to be taken in order to reach the final destiny, without focusing on the hops' characteristics. The link-state protocols take into account the links’ parameters, such as the links’ bandwidth. The IGP protocols which have been standardized and which are used today are: RIP (distance-vector); OSPF (link-state) and IS-IS (link-state). The last two are the most efficient and popular.

EGP (BGP)

An EGP protocol is used to Exchange routing information between different AS. The only protocol used today as EGP is the Border Gateway Protocol (BGP). All the efforts for development of engineers, groups and companies are centered on improving and enlarging the benefits of this protocol and not in developing new standards. This is due to the fact that BGP is an Internet protocol, which is used by the organizations that intend to interconnect with each other. Since it is used among many administrative domains and because it transports a lot of information (all the prefixes of the Internet), it must be a granular protocol as regards the interconnection policies and it must apply mechanisms to ensure the information transport. These are the premises with which BGP was designed.

BGP is a “path-vector” protocol. It uses the AS numbers as vectors to avoid routing loops. This protocol creates a vector, which contains all the AS numbers that have crossed such announcement and, therefore, it indicates the path that the datagram takes (AS hops). BGP exchanges routes among different AS, and this makes BGP use the AS as hops, indicating the paths in the level of autonomous systems and not routers. BGP uses the information it receives to make a database, which contains all the network reachability information (which, in turn, exchanges with other BGP neighbors).

BGP has spread to be able to transport other types of protocol families. This way, it can transport IPv6, VPN-IPv4, VPN-IPv6 and MPLS routes, among others. When BGP is configured to transport another protocol family, it is called Multi-Protocol BGP (MP-BGP).