Routing protocols - Enhanced Interior Gateway Routing Protocol (EIGRP)

   EIGRP is another distance vector protocol that is the classless implementation of the Cisco proprietary IGRP protocol. It is a complex protocol that uses different features to provide up-to-date routing information. Some of  EIGRPs features are: the DUAL (Diffusing Update Algorithm) algorithm used to update devices routing information, Reliable Transport Protocol (RTP) for packet delivery and bounded updates. This protocol uses special neighbor and topology tables for storing network information. EIGRP uses the 01-00-5E-00-00-0A MAC address, the multicast IP address and the 88 application port number for data transmission. The Administrative Distance of EIGRP is 90 for Internal EIGRP, 170 for External EIGRP and 5 for EIGRP summary route. A router can run multiple EIGRP instances at the same time, to differentiate them the Autonomous System (AS) ID is used. EIGRP can also route multiple protocols like IP, AppleTalk and IPX at the same time. For each of these protocols it uses different neighbor, topology and routing tables.
   RTP (Reliable Transport Protocol) is used by EIGRP for sending and receiving data. RTP can offer both reliable and unreliable delivery of packets. When the reliable method is used, acknowledgements messages are exchanged between devices. There are different types of routing messages exchanged, as follows: 
Hello messages - these type of messages are used by routers to establish connections between them. Before any routing process can happen, routers must discover their neighbors by exchanging these hello messages. By default these messages are exchanged  once every 5 seconds. If a router has not received a hello message from one of it's neighbors in a specified interval , the path is marked as invalid and the DUAL algorithm must find an alternative path. This parameter is also known as the hold time and by default is 15 seconds (three times the duration of hello messages).
Query and Reply messages - used by DUAL algorithm to determine alternative paths, topology changes, etc. Query messages are used to request data and reply messages are used to respond to queries.
Update messages - these messages are sent when there is a change in the network topology. Unlike RIP, EIGRP sends updates only when the routing information has changed (bounded updates). Remember that RIP sends it's entire routing information when messages are exchanged between network devices. Unlike RIP, EIGRP sends only the newest routing information (this is why you will probably hear that EIGRP updates are partial). 
Acknowledgement (ACK) messages - are used to confirm when data has been received.
   EIGRP uses the DUAL algorithm to determine the best routes between devices. Whenever there is a change in the topology, devices update their routing information with the newest data. The DUAL algorithm uses alternative paths in case of route failure and it's doing this by comparing route metrics. Using these techniques EIGRP can create a loop-free network, this is why you should always use the EIGRP dynamic routing protocol when Cisco devices are used. EIGRP protocol uses a composite metric of multiple elements: Bandwidth, Delay, Load and Reliability. These elements are referred to as K values (K1 to K5). By default only bandwidth and delay are used to calculate metric, the default value is 1 0 1 0 0:
1 - bandwidth K1
0 - load K2
1 - delay K3
0 - reliability K4
0 - reliability K5
The delay of a network specifies how long it takes for a bit of data to travel across the network from one node or endpoint to another from Wikipedia:
Reliability - measures the probability that a link will fail, it is a value from 0 to 255 with the desired value of 255 (0 = the least reliable link; 255 = fully reliable link). Reliability is calculated as a fraction of 255. (reliability = 255/255 = maximum value).
Load - measures the amount of traffic on a certain route. It is a value from 0 to 255, the lower the value the more desirable the link is. Load is expressed as a fraction of 255 (load = 1/255 = low load percentage - the desired value).
The default formula metric looks like this : metric = K1*bandwidth + K3*delay
The complete metric formula looks like this : metric = [K*bandwidth + (K2*bandwidth)/(256-load) + K3*delay] * [K5/(reliability+K4)]
DUAL algorithm uses some elements when calculating best routes that packets must travel from one point to another:
- Feasible Distance (FD) - is the best path that a packet must travel to reach it's destination.
- Feasible Succesor (FS) - this is the backup route that packets will use if the primary path fails.
- The succesor is the next router through which packets will be forwarded to.
- There can be multiple paths to a destination point. Routers exchange messages that contain the so called reported distance (RD), this element is actually the FD of a neighboring router. When a route has been chosen we say that the feasibility condition (FC) has been met.
The main element of the DUAL algorithm is the technology used to calculate routes. This mechanism is called a Finite State Machine (FSM). This is actually a logical scheme that is used by the DUAL algorithm to test and choose routes.
   To configure EIGRP you must first obtain an autonomous system ID. This 16/32 bit number is assigned by the Internet Assigned Numbers Authority (IANA) and is usually used by Internet Service Providers to differentiate EIGRP instances. To enable EIGRP on a Cisco device, type router eigrp [AS number] from the global configuration command. All devices that belong to a network must run the same EIGRP instance (all devices must use the same process ID). After configuring the EIGRP instance, type ? to see all the available commands:
configure eigrp

We must now configure all neighboring networks using the same command as with the RIP protocol: 
eigrp configuration

When configuring adjacent networks, you can also include the wildcard-mask to specify only the desired subnets:
eigrp configuration commands

To verify your EIGRP configuration use the show ip protocols command:
show ip protocols command

   By the way, you can issue any privilege mode command from the global configuration command by using the do statement (example: Router(config)#do show ip protocols). Another way to verify EIGRP configuration is to use the show ip eigrp neighbors command:
show ip eigrp neighbors command

The show eigrp topology command is used to visualize the primary and backup routes that the DUAL algorithm has calculated.
   I've told you earlier that the EIGRP metric is composed of several elements and by default only bandwidth and delay are used. To view the configured metric elements, type show ip protocols and look in the upper side of the window:
show ip protocols

The metric parameters can be changed by using the metric weights tos [vlaues] command from the EIGRP configuration mode:
metric weights tos command

Type interface [interface number] to view all the elements included in the EIGRP metric calculation:
show interface command

We can also change the bandwidth of certain links by issuing bandwidth [number of kilobits] from the interface configuration mode:
change eigrp bandwidth

   You can configure the percent of the available bandwidth of a link that EIGRP will use. By default EIGRP will utilize maxim 50% of the link's bandwidth. To configure the percent of the bandwidth utilization type the following command from the interface configuration mode: ip bandwidth-percent eigrp [percent], as an example: ip bandwidth-percent eigrp 50.
We can even configure the hello and hold-down time intervals with the ip hello-interval eigrp [AS] [hello time] and ip hold-time eigrp [AS] [hold-time] from the interface configuration mode. Example ip hello-interval eigrp 1 80ip hold-time eigrp 1 240.
Just like the RIP protocol, EIGRP summarizes routes by default. To disable automatic-summarization use the no auto-summary command:
disable automatic summarization

   Another command that you are familiarised with from RIP is the redistribute static command. Remember that this command is used to send all static configured routes to all devices in the network. You can configure a static route then distribute it to all routers in the network. Another way to distribute static route is by using the command ip default-network [network ip] from the global configuration mode:
ip default-network command

I will post a video tutorial on how to configure EIGRP, check it out if you are interested. I've covered all the main components of the Enhanced Interior Gateway Routing Protocol, I hope you will find this article interesting, leave a comment if you have any questions or something to add. Have a wonderful day.

No comments:

Post a Comment