18 Explain the purpose and properties of routing and identify common IPv4 and IPv6 routing protocols

The means by which protocols communicate with each other is termed as Routing Protocols. This acquires importance as routers need to know the network topology and the changes occurring in it. For assigning routes for the network, two methods can be adopted:

- Static Routing: In this form of routing, the information about the network route is entered by the administrator manually. The information is added into a routing table. The disadvantages with this method are: First, This method is not immune to human error; second, it is a time consuming job; third, every time the network topology changes, the router has to be reconfigured manually.

This method is more suitable for smaller networks.

- Dynamic Routing: In this method, routing protocols are designed to discover the paths dynamically. In the first step, the network router acquires information about the available networks paths. The second step is that the router sorts its list of routes and decides on the best path for the data to take. The routing protocols communicate with other routers and passes information about the routes that have been discovered.

Distance Vector and Link State Protocols are the two types of routing protocols that are used. Both follow a different mechanism for communicating from one router to another.

- Distance-Vector Protocols: With this protocol, each router communicates to all the routers, all the routes about which it has information for the reason of being directly connected. As each router has information only about all the routers to which it is attached, a router does not know how to complete the whole of the journey, but it knows how to make the next hop.

Hops: These are the means which the distance vector protocol adopts to find out the shortest path to reach a specific destination. One hop is constituted of one router. Three hops between two routers means two routers between them.

Ticks: Distance vector protocol also use ticks or time value. This enables the router to decide which path is the quickest if a choice of more than one is available.

The frequency of sending the updates is dependent on the routing protocol that is chosen, but generally, it is between 10 seconds and 60 seconds. In every update that is sent, the entire routing table of the sender is forwarded to the other connected routers. After checking with the already existing tables, if the need be the same are updated. The frequent updates are a shortcoming of these protocols as they result in a lot of traffic. After a period, the updates also become irrelevant as the topology changing every 30 seconds or so is an unlikely proposition.

Convergence: it is not possible to transmit information about the changes to all the routers immediately. The process wherein each router becomes aware of the changes that have taken place and updates its routing tables is known as convergence. In smaller networks convergence is a manageable process and not a time consuming job, but in the case of larger networks, it may take longer. This can be dealt by using triggered updates, which are updates forwarded when changes in the topology are detected. Convergence can also be improved by using hold down timers. These prevent the router from making changes to its routing table to often. The mode of its working is, that once changes have been made in the routing table, a hold down timer is applied, preventing further changes for a definite period of time.

Routing Loops: Routing loops can occur in some configurations. These occur, when one router informs another router about a route that it came to know from the very same router. As shown in the figure below, Router C cannot access Router D through Network 1, it removes the route from its table and sends the update to Router B; Router B removes the route. But if Router B receives an update from Router A before it sends an update to Router A, the route is reinstated because according to Router A, it can still access Network 1. Now Router B begins to send anything destined for Network 1 back to Router A, which duly sends it back to Router B, and so on, thus creating a routing loop. Each time the route is added to the table, the hop count for the route increases—a problem known as the count to infinity.

3 2 1

Router A Router B Router C Pouter D

Figure 46: A Routing Loop

Two strategies can be used to prevent routing loops:

- Split Horizon: This particular algorithm, deals with the problem of routing loops by not advertising the routes back on the same interface from which its information was taken.

- Split Horizon with Poison Reverse: In this, the routes are advertised back to the routers from which their information was received. This is done with a hop county of infinity. The value of infinity is controlled by the routing table that is used.

There are different types of distance vector routing protocols. These are:

- Routing Information Protocol (RIP): This protocol is limited to an upper limit of 15 hops. The shortcoming with this protocol is that updates are required after every 30 seconds. This works well with smaller networks, but this often updates on larger networks adds to the traffic. Router authentication is not supported by this version as a result the network is prone to attacks.

- RIPv2: This is version 2 of RIP. The shortcomings of the original version have been dealt with in this design. It takes care of authentication ensuring that secure transmissions are made. To make it compatible with RIPv2, it also supports a maximum limit of 15 hops.

- Border Gateway Protocol (BGP): this routing protocol is associated with the Internet. The feature that makes it popular is that it can be used between gateway hosts on the Internet. The routing table, containing a list of routers, addresses that can be approached and costs is examined. This is done in order to determine the best available route.

- Enhanced Interior Gateway Routing Protocol (EIGRP): This protocol permits the routers to exchange information in an efficient manner. It uses its neighbors to determine routing information. A copy of the neighbors routing information is maintained by EIGRP. These copied tables are queried while deciding the best route for transmissions. Diffusing-Update Algorithm (DUAL) is used to determine the best route.

- Link-State Protocols: A router using this protocol makes a map of the entire network and stores it in its memory. Routers using this protocol send out link state advertisements (LSA's). These are sent to every router informing them to what network they are exactly connected to. Every router then builds its own map. Once these maps are made, the routers repeatedly update each other, just as in the case of distance vector protocol. These updations are not as often as the distance vector updations. These updations are sent as and when topology changes are detected. Consequently routing tables are updated. These steps ensure that convergence takes place quickly. Networks on these protocols have their demands in terms of powerful hardware and more RAM. Routing tables are to be calculated, and stored, these make higher hardware, and more RAM a mandatory requirement.

The following are a part of the Link-state protocols:

- Open Shortest Path First (OSPF): This routing protocol works on the algorithm 'shortest path first' (SPF). This ensures that the least cost path to a destination is found. A router using OSPF sends a list containing the addresses of its neighbors to other routers on the network. This assists the routers to decide the network design and find out the shortest path.

- Intermediate System to Intermediate System (IS-IS): This is a link state protocol, working to find out the shortest path for data to travel. In this the data travels using the SPF algorithm. These send out information pertaining to topology to other routers. This makes it possible to decide on the best path to be undertaken.