# Network+/Old guides/Routing

Routing Protocols are used to dynamically propagate network routes to other routers on the network. This saves administrative work as each route required by a network does not have to be manually configured on every router in the network.
Routing protocols are defined in three broad classes Distance Vector, Link State, and Hybrid. Distance Vector devices calculate the route by how far away (in hops) the destination is, while Link State protocols can use many other values such as bandwidth, latency, reliability and load. Hybrids, as the name implies, use a mixture of Distance Vector and Link State methods.

## Routing Protocols
### Distance Vector

Distance Vector routing is sometimes derisively described as routing by rumor. Referring to the fact that no single router really know more about the topology and state of the network than what his neighbour tells/advertises to him. Each neighbour is presenting a list of destinations and promising that that traffic forwarded via itself will reach these destinations. Some form of numeric values, (metrics/hop counts/cost/etc), are attached to these advertisements between neighbours so that the receiving device can compare competing routing to the same destination, from different neighbors, and tie break between them or even determine eligibility for load balancing of traffic over equal cost multiple paths (ECMP).
The name Distance Vector was chosen because the neighbour from which you learn a potential path to a destination, (route), represents a possible direction of travel through the network to reach that destination. Hence vector. Distance refers to the numeric values advertised with the routes. Given multiple paths to the same destination but following different vector, neighbours, we can imagine the numbers indicate a distance to the destinations. More over a router would prefer to forward traffic via the shorted path. Administrators can manipulate these values to prefer one path over another. This ability to manipulate the advertised values/metrics mean that there is no hard link between the value and Actual distance to a destination.
Distance Vector routing protocols repeatedly announce their known destinations to its neighbours at specific intervals. Routers are considered possible neighbours for distance vector protocols when they are linked together by some transmission medium. For example ethernet, ATM, Packet over Sonet/SDH, Frame relay or DSL links. There are many more possible types of links / interfaces that can connect routers together, some of more complex logical rather than physical links.
* RIP
The Routing Information Protocol (RIP) is a routing protocol that was designed for small networks. It can handle a maxiumum of 16 hops and is a classful routing protocol meaning that it does not support Variable Length Subnet Masks (VLSM) and does not support authentication.
* RIPv2
The Routing Information Protocol version 2 (RIPv2) makes improvements to the original RIP protocol by adding classless routing (CIDR)and authentication to its list of features, however the 16 hop count limitation still remains to allow for backwards compatibility.
* IGRP
The Interior Gateway Routing Protocol (IGRP) is a routing protocol developed by Cisco Systems to make up for shortcomings of RIP version 1. Instead of the 16 hop count limit imposed by RIP, IGRP supports up to 255 hops.

### Link State

Link State routing protocols gather information about the state and what other devices are connected to it's links, this information is then flooded through the network, to each router in an Autonomous System. Routers then use this topology information to build it's routing table. Each device then sends periodic messages, "hellos" to each other, to ensure the topology matches their records. If the device detects a change (e.g. A link going down), this change is propagated to all devices, who then recalculate their routing tables, accounting for the changes.
When all devices have identical topology records, and have recalculated their routing tables, the network is said to have converged.
* IS-IS
* OSPF

### Hybrid

* EIGRP
The Enhanced Interior Gateway Routing Protocol (EIGRP) is a routing protocol developed by Cisco Systems to expand upon IGRP. It utilizes the Diffusing Update Algorithm (DUAL) to determine the best possible loop-free path through a routed network. EIGRP maintains routing data in three tables known as the Neighbor Table, Topology Table, and Routing Table.

### Gateway Protocols

* IS-IS
* BGP