CCNP Enterprise Core (350-401) Cisco Routing

Unequal Cost Load Balancing

By default on Cisco devices, routing protocols will only install the route into the routing table with the lowest metric.

There is a feature within EIGRP that allows multiple routes to be installed with different metric values. This will allow for unequal cost load balancing across multiple paths. Traffic will be transmitted out over the multiple links based on a ratio to the metric associated with each interface.

CCNP Enterprise Core (350-401) Cisco Routing

Equal-Cost Multipathing

When a routing protocol identifies multiple paths as a best path to a destination and the router supports multiple path entries. The router can install an additional router up a maximum number of paths per destination.

This is known as equal-cost multipathing or ECMP, providing load sharing across all links.

RIP, EIGRP, OSPF, and IS-IS all each support equal cost multipathing.

CCNP (Pre 2020) Cisco Routing

Route Metrics

Metric calculations can vary between different routing protocols. The general common concept across them is that internally learned routes are preferred than externally (such as through distribution) and the lowest metric results in a preferred route chosen.

CCNP Enterprise Core (350-401) Cisco Routing

Administrative Distance

When each routing protocol on a router receives information, it will attempt to install any routing paths into the routing table.

If the route already exists in the routing table, the administrative distance is compared and the routing protocol with the lower administrative distance is inserted into the routing protocol.

Routing ProtocolDefault Administrative Distance
EIGRP Summary Route5
External BGP (EBGP)20
EIGRP (Internal)90
EIGRP (External Sourced)170
Internal BGP (IBGP)200
Default Administrative Distances of Routing Protocols
CCNP Enterprise Core (350-401) Cisco Routing

Prefix Selection

When a packet needs to be forwarded, the chosen route is dependant on that routes prefix length. A /30 ( would be preferred over a /24 ( due to a more specific match.

This forward decision is part of the Forwarding Information Base (FIB) rather than Routing Information Base (RIB).

CCNP Enterprise Core (350-401) Cisco Routing

Path Selection

When a packet arrives on the router, the router identifies the destination path that packet should traverse by evaluating the prefix length as programmed in the Forwarding Information Base (FIB).

The Forwarding Information Base is programmed the routing table, also known in this context as the Routing Information Base (RIB).

The Routing Information Base contains the routes made up from the information gathered by the routing protocol processes that are on the local router.

When it comes to selecting the destination path, they are three main components: Prefix Length, Administrative Distance, and Metric.

The prefix length represents the number of leading binary bits in that subnet mask that are marked as ‘1’.

The administrative distance is a priority between multiple routing protocols where they have the same routing information. It is between 0 and 255 with the lower number being a preferred selection.

Metrics are used by each individual routing protocol as a measure of cost to reach a network. The lower this cost the more preferred the route will be.

CCNP Enterprise Core (350-401) Cisco Routing

Path Vector Algorithms

Path Vector Algorithms, such as BGP, are similar to a distance vector protocol. The major difference between the two is that instead of looking at just distance to determine a loop free path to the destination, various other attributes are considered instead, in the case of BGP:

  • Autonomous system path (AS_Path)
  • Multi exit discriminator (MED)
  • Origin
  • Next hop
  • Local preference
  • Atomic aggregate
  • Aggregator

Path vector protocols such as BGP guarantee a loop free path by keeping records of each autonomous system (AS) that the route advertisement traverses. If the router receives an advertisement where it is already part of the AS_Path, it is rejected.

CCNP Enterprise Core (350-401) Cisco Routing

Link State Algorithms

A link state algorithm advertises the link state and link metric for each of the connected links and directly connected routers to every router in the network.

OSPF and IS-IS are two link state routing protocols commonly used in enterprise and service provider networks.

Advertisements sent by OSPF are known as link-state advertisements, or LSAs. Advertisements sent by IS-IS are known as link-state packets or LSPs.

When a router receives an advertisement from a neighbour, the information is stored in a local database called the link state database. The link state information is passed on to each of the neighbouring routers of the local router in the same way that is was received – flooding through the network. The end result of this information flood is all routers in the network will have a synchronised and identical map of the network topology.

With the complete network topology, every router can run the Dijkstra shortest path first (SPF) algorithm calculation to determine the best shortest loop-free path. The routing table can be populated with this information.

In comparison to distance vector protocols, a link state protocol can consume much more CPU cycles and memory due to having a complete map of the network. The detailed map of the network works in the networks favour however with a reduced risk of routing loops and better network path decisions based on other factors rather than ‘hop count’.

Link state protocols are easily equipped with additional abilities, such as opaque LSAs for OSPF and TVLs (type/length/value) for IS-IS that allow features commonly used by service providers such as MPLS traffic engineering.

CCNP Enterprise Core (350-401) Cisco Routing

Enhanced Distance Vector Algorithms

Diffusing Update Algorithm, or DUAL, is an enhanced distance vector algorithm. EIGRP uses it to calculate the shortest path to a destination within a network.

Whilst EIGRP acts in a similar way to advertising its networks as other distance vector protocols do, there are some enhancements:

  • Rapid convergence time when the network topology changes
  • Updates are only sent when there is a change in the network. Full updates are not sent periodically as other distance vector protocols do.
  • Hellos and neighbour relationships are formed in the same way as link state protocols.
  • Factors other than hop count are taken into consideration, such as
    • Bandwidth
    • Delay
    • Reliability
    • Load
    • Maximum Transmission Unit (MTU) setting
  • There is an option to load balance across equal or unequal cost paths.

With this additional link-state style features on top of being a distance vector protocol, EIGRP can be referred to as a hybrid routing protocol since it can refer on other vectors that just simply hop-count.

On EIGRPs default setting, EIGRP just advertises the total path delay and minimum bandwidth for a route to every neighbour. Each neighbour can perform calculations to determine the best path based on information collected from its directly attached neighbours.

CCNP Enterprise Core (350-401) Routing

Distance Vector Algorithms

Routing protocols such as RIP advertise routes as vectors, where distance is the cost measured in network hops.

When the router receives routing information from a neighbour, it will store it in a local routing database when received. Distance vector algorithms such as the Bellman-Ford and Ford-Fulkerson algorithms are used to determined which paths are the best loop free paths to reachable destinations. Once the best paths have been determined they are installed into the routers routing table and advertised to neighbouring routers.

Routers utilising distance vector protocols advertise their routing information to their neighbours from their own perspective, not from where the original route was received. This means that the router does not have a complete map of the entire network topology, rather just how to reach a network via a nearby destination router and how far away it is.

This incomplete topology brings the advantage that overheads with running a distance vector protocol can be low in terms of CPU usage and memory.

It is important to note that distance vector protocols take no notice of link speeds and congestion, just purely the hop counts to reach the destination. One slow link will be favoured over 2 fast ones.