Wednesday, 30 October 2019

Configuration of EIGRP on Cisco With Lab Example

Configuration of EIGRP on Cisco With Lab Example

This post is on Configuration of EIGRP on Cisco. You will find an example of how to configure EIGRP for Cisco in a small routed network is explained . All the basic commands for its configuration will be described in detailed.

EIGRP Configuration Example on Cisco

Following is the topology example of EIGRP, you will find complete Cisco commands for configuration of the LAB. The types of serial interfaces and their associated bandwidths may not necessarily reflect the most frequent types of connections found in networks today. The bandwidths of the serial links used in this topology were chosen to help explain the calculation of the routing protocol metrics and the process of selecting the best route.

The routers in the topology have an initial configuration, which includes the addresses of the interfaces. At this time, none of the routers have static routing or dynamic routing configured .
The interface configurations for the three EIGRP routers in the topology are shown below.
R1 # show running-config
  <result omitted> 
!
interface GigabitEthernet0 / 0
  ip address 172.16.1.1 255.255.255.0
!
Serial interface0 / 0/0
  ip address 172.16.3.1 255.255.255.252
clock rate 64000
!
Serial interface0 / 0/1
  ip address 192.168.10.5 255.255.255.252
R2 # show running-config
  <result omitted>
!
interface GigabitEthernet0 / 0
  ip address 172.16.2.1 255.255.255.0
!
Serial interface0 / 0/0
  ip address 172.16.3.2 255.255.255.252
!
Serial interface0 / 0/1
  ip address 192.168.10.9 255.255.255.252
clock rate 64000
!
Serial interface
  ip address 209.165.200.225 255.255.255.224
R3 # show running-config
  <result omitted>
!
interface GigabitEthernet0 / 0
  ip address 192.168.1.1 255.255.255.0
!
Serial interface0 / 0/0
  ip address 192.168.10.6 255.255.255.252
clock rate 64000
! 
Serial interface0 / 0/1
  ip address 192.168.10.10 255.255.255.252
Only routers R1, R2, and R3 are part of the EIGRP routing domain. The ISP router is used as the gateway of the routing domain to the Internet.

EIGRP Autonomous System Numbers

EIGRP uses the router eigrp autonomous system command to enable the EIGRP process. The autonomous system number mentioned in the EIGRP configuration does not relate to the autonomous system numbers assigned globally by the Internet Assigned Numbers Authority (IANA), which use external routing protocols.
So what is the difference between the autonomous system number assigned globally by IANA and the autonomous system number of EIGRP?
The autonomous system assigned globally by IANA is a set of networks under the administrative control of a single entity that presents a routing policy common to the Internet. In Image 2, companies A, B, C and D are all under the administrative control of ISP1. When announcing routes to ISP2, ISP1 presents a common routing policy for all these companies.

The guidelines for the creation, selection and registration of an autonomous system are described in RFC 1930 . IANA assigns global autonomous system numbers and is the same authority that allocates the IP address space.
The local regional Internet Registry (RIR) is responsible for assigning entities an autonomous system number from their assigned autonomous system number block. Currently, 32-bit autonomous system numbers are assigned, which increases the number of available autonomous system numbers to more than 4000 million.

ISP and Institutions

In general, Internet service providers (ISPs), backbone Internet service providers and large institutions connected to other entities require an autonomous system number. These use the external gateway routing protocol, the border gateway protocol (BGP), to propagate the routing information.
BGP is the only routing protocol that uses a real autonomous system number in its configuration.
The vast majority of companies and institutions with IP networks do not need an autonomous system number, because they are under the control of a larger entity, such as an ISP. These companies use internal gateway protocols, such as RIP, EIGRP, OSPF and IS-IS to route packets within their own networks.
The autonomous system number used for the EIGRP configuration is only important for the EIGRP routing domain. It works as a process ID to help routers keep track of several running EIGRP instances.
This is necessary because it is possible to have more than one instance of EIGRP running on a network. Each instance of EIGRP can be configured to support and exchange routing updates from different networks.

The EIGRP Configuration Commands For Cisco Router

The Cisco IOS includes processes to enable and configure several different types of dynamic routing protocols. The global router configuration mode command is used to start the configuration of any dynamic routing protocol.
The topology shown in Image 1 (above) is used to illustrate this command.
As shown in following Image 3, when followed by a question mark ( ? ), The router command of the global configuration mode lists all available routing protocols that support the specific version of the IOS running on the router.

The following global configuration mode command is used to enter router configuration mode for EIGRP and begin configuring the EIGRP process:
Router (config) # router eigrp  autonomous-system
The autonomous-system argument can be assigned to any 16-bit value between numbers 1 and 65 535. All routers within the EIGRP routing domain must use the same autonomous system number.
The configuration of the EIGRP process on routers R1, R2 and R3 is shown below. Note that the input request changes from the global configuration mode request to the router configuration mode request. (the same EIGRP is enabled on all three routers by using the same autonomous system number 1)
R1 (config) # router eigrp 1
R1 (config-router) #
R2 (config) # router eigrp 1
R2 (config-router) #
R3 (config) # router eigrp 1
R3 (config-router) #
In this example, 1 identifies this particular EIGRP process , which is running on the router. To establish neighbor adjacencies, EIGRP requires that all routers in the same routing domain be configured with the same autonomous system number.
The router eigrp autonomous-system command does not start the EIGRP process itself; The router does not start sending updates. Instead, this command only provides access to configure the EIGRP parameters.
To completely remove the EIGRP routing process from a device, use the no router eigrp autonomous-system command in global configuration mode, which stops the EIGRP process and removes all EIGRP router configurations.

EIGRP Router ID

The EIGRP router ID is used to uniquely identify each router in the EIGRP routing domain. The router ID is used in the EIGRP and OSPF routing protocols, although the function of this router ID is more important in OSPF.
In IPv4 EIGRP implementations, the use of the router ID is not so obvious. EIGRP for IPv4 uses the 32-bit router ID to identify the source router for redistribution of external routes.
The need for a router ID is most evident in the EIGRP analysis for IPv6.
Cisco routers derive the router ID based on three criteria, in the following order of priority:

  1. The IPv4 address configured with the eigrp router-id command of the router configuration mode is used.
  2. If the router ID is not configured, the router chooses the highest IPv4 address of any of its loopback interfaces.
  3. If no loopback interface is configured, the router chooses the highest active IPv4 address of any of its physical interfaces.

If the network administrator does not explicitly configure a router ID by using the eigrp router id command , EIGRP generates its own router ID from a loopback address or a physical IPv4 address.
A loopback address is a virtual interface and is automatically up when it is configured. The interface does not need to be enabled for EIGRP, which means that it does not need to be included in one of the EIGRP network commands. However, the interface must be in the up / up state.
According to the criteria described above, the illustration shows the default EIGRP router IDs, which are determined based on the highest active IPv4 address of the routers.

 Configuring the EIGRP Router ID

The eigrp router-id command is used to configure the EIGRP router ID and takes precedence over any loopback address or IPv4 physical interface address. The syntax of the command is:
Router (config) # router eigrp  autonomous-system
Router (config-router) # eigrp router-id  ipv4-address
Note : The IPv4 address used to indicate the router ID is actually any 32-bit number that is shown in decimal notation with dots.
The router ID can be configured with any IPv4 address, with two exceptions: 0.0.0.0 and 255.255.255.255 . The router ID must be a unique 32-bit number in the EIGRP routing domain; otherwise, routing inconsistencies may occur.
The EIGRP router ID settings for R1 and R2 routers are shown below:
R1 (config) # router eigrp 1
R1 (config-router) # eigrp router-id 1.1.1.1
R1 (config-router) #
R2 (config) # router eigrp 1
R2 (config-router) # eigrp router-id 2.2.2.2
R2 (config-router) #

Use of loopback address as Router ID

Another option to specify the EIGRP router ID is to use an IPv4 loopback address.
The advantage of using a loopback interface instead of the IPv4 address of a physical interface is that, unlike physical interfaces, it cannot fail.
There are no real adjacent cables or devices on which the loopback interface depends to be in the up state. Therefore, using a loopback address as a router ID can provide a more consistent router ID than using an interface address .
If the eigrp router-id command is not used and there are loopback interfaces configured, EIGRP chooses the highest IPv4 address of any of the loopback interfaces. The following commands are used to enable and configure a loopback interface:
Router (config) # interface loopback number
Router (config-if) # ip address  ipv4-address subnet-mask
Note : The EIGRP router ID does not change, unless the EIGRP process is removed with the no router eigrp command or the router ID is manually configured with the eigrp router-id command .

EIGRP Process Verification

In Image 5, the result of show ip protocols for R1, including the router ID , is shown .
The show ip protocols command shows the parameters and the current status of any active routing protocol process, including EIGRP and OSPF.

The network command

The figure shows that R1, R2, and R3 have networks that should be included within a single EIGRP routing domain.

To enable EIGRP routing on an interface, use the router network configuration mode command and enter the classy network address for each directly connected network.
With the network command in EIGRP:

  • Any interface is enabled on the router match the network address in the command network mode router configuration to send and receive EIGRP updates.
  • The interface network is included in EIGRP routing updates.

Router (config-router) # network  ipv4-network-address
The ip-v4-network-address argument is the class IPv4 network address for this interface.
In Image, the network commands configured for R1 are shown. We can see that a single classed network instruction (network 172.16.0.0) is used in R1 to include both interfaces in subnets 172.16.1.0/24 and 172.16.3.0/30. Note that only the classy network address is used .
The following shows the use of the network command to enable EIGRP on the R2 interfaces for subnets 172.16.1.0/24 and 172.16.2.0/24.
R2 (config) # router eigrp 1 
R2 (config-router) # network 172.16.0.0
R2 (config-router) #
* Feb 28 17: 51: 42,543:% DUAL-5-NBRCHANGE: EIGRP-IPv4 1:
Neighbor 172.16.3.1 (Serial0 / 0/0) is up: new adjacency
R2 (config-router) #
When EIGRP is configured on the S0 / 0/0 interface of R2, DUAL sends a notification message to the console indicating that a neighbor adjacency with another EIGRP router was established on that interface.
This new adjacency occurs automatically, because R1 and R2 use the same autonomous system number eigrp 1 and both routers now send updates on their interfaces on the 172.16.0.0 network.
The eigrp log-neighbor-changes command in the router configuration mode is enabled by default. This command is used for the following:

  • Show any changes in the adjacencies of EIGRP neighbors.
  • Help verify neighbor adjacencies during EIGRP configuration.
  • Notify the network administrator when any EIGRP adjacency is removed.

The network command and the wildcard mask

By default, when using the network command and an IPv4 network address, such as 172.16.0.0, all interfaces on the router that belong to that classy network address are enabled for EIGRP.
However, there may be times when the network administrator does not want to include all interfaces within a network when enabling EIGRP. For example, in Image 7, assume that an administrator wishes to enable EIGRP on R2, but only for subnet 192.168.10.8 255.255.255.252, on interface S0 / 0/1.

To configure EIGRP to advertise only specific subnets, use the wildcard-mask option with the network command:
Router (config-router) # network  network-address [wildcard-mask]
Think of the wildcard mask as the reverse of a subnet mask. The inverse of a 255.255.255.252 subnet mask is 0.0.0.3. To calculate the inverse value of the subnet mask, subtract the subnet mask from 255.255.255.255 as follows:

  255.255.255.255
- 255.255.255.252
---------------
     0. 0. 0. 3: wildcard mask
Now, continue the EIGRP network configuration of R2. The network 192.168.10.8 0.0.0.3 command specifically enables EIGRP on the S0 / 0/1 interface, a member of the 192.168.10.8 255.255.255.252 subnet.
R2 (config) # router eigrp 1
R2 (config-router) # network 192.168.10.8 0.0.0.3
R2 (config-router)
Some versions of IOS also allow you to enter the subnet mask instead of a wildcard mask.
An example of the configuration of the same S0 / 0/1 interface on R2 is shown below, only in this case a subnet mask is used in the network command . However, if the subnet mask is used, the IOS converts the command to the wildcard-mask format within the configuration. This is verified in the result of show running-config .
R2 (config) # router eigrp 1
R2 (config-router) # network 192.168.10.8 255.255.255.252
R2 (config-router) # end
R2 # show running-config | eigrp section 1
eigrp router 1
 network 172.16.0.0
 network 192.168.10.8 0.0.0.3 
 eigrp router-id 2.2.2.2
R2 #

Passive interface

As soon as a new interface is enabled within the EIGRP network, EIGRP attempts to form a neighbor adjacency with any neighboring router to send and receive EIGRP updates.
From time to time it may be necessary, or advantageous, to include a network directly connected in the EIGRP routing update, but not allow any neighbor adjacency to form outside that interface.
The passive-interface command can be used to prevent neighbor adjacencies from forming. There are two main reasons to enable this command:

  • To suppress unnecessary update traffic, for example, when an interface is a LAN interface, without other routers connected
  • To increase security controls, for example, to prevent unknown unauthorized routing devices from receiving EIGRP updates

Passive interface Example

In Image, it is shown that R1, R2 and R3 have no neighbors on their GigabitEthernet 0/0 interfaces.

The passive-interface command of the router configuration mode disables the transmission and reception of EIGRP hello packets on these interfaces.
Router (config) # router eigrp as-number
Router (config-router) # passive-interface interface-type interface-number
Below is the passive-interface command configured to suppress hello packets on the LANs for R1 and R3.
R1 (config) # router eigrp 1
R1 (config-router) # passive-interface gigabitethernet 0/0
R3 (config) # router eigrp 1
R3 (config-router) # passive-interface gigabitethernet 0/0
Without a neighbor adjacency, EIGRP cannot exchange routes with a neighbor. Therefore, the passive-interface command prevents the exchange of routes in the interface.
While EIGRP does not send or receive routing updates through an interface configured with the passive-interface command , it does include the interface address in routing updates sent by other non-passive interfaces.
Note : To configure all interfaces as passive, use the passive-interface default command . To disable an interface as passive, use the no passive-interface interface-type interface-number command .

Passive Interface Verification

Finally, to verify if any interface on a router is configured as passive, use the show ip protocols command in the privileged EXEC mode, as shown in Image 9.

Note that while the R3 GigabitEthernet 0/0 interface is a passive interface, EIGRP still includes the network address of the 192.168.1.0 network interface in its routing updates.

Monday, 28 October 2019

EIGRP Packet Types and EIGRP Message Header Format

EIGRP Packet Types and EIGRP Message Header Format

In this article you will learn EIGRP Packet Types and EIGRP Message Header Format. We will start our discussion about different packets of EIGRP.

Types of EIGRP Packets

There are five different Types of EIGRP Packets.
The five types of EIGRP packages include:

  1. Hello packages : they are used to discover neighbors and to maintain neighbors' adjacencies.
  2. Update packages : propagate routing information to EIGRP neighbors.
  3. Acknowledgment packets : used to acknowledge receipt of an EIGRP message that was sent with reliable delivery.
  4. Query packages : used to consult neighbor routes.
  5. Reply packets : sent in response to EIGRP queries.

It is shown in figure that EIGRP messages are normally encapsulated in IPv4 or IPv6 packets.

EIGRP messages for IPv4 use IPv4 as the network layer protocol. The IPv4 protocol field uses 88 to indicate that the data portion of the packet is an EIGRP message for IPv4.
EIGRP messages for IPv6 are encapsulated in IPv6 packets that use the following header field 88. Like the protocol field for IPv4, the next IPv6 header field indicates the type of data transported in the IPv6 packet.

EIGRP Hello Packets

EIGRP uses small hello packets to discover other routers with EIGRP enabled on directly connected links. Routers use hello packets to form adjacencies of EIGRP neighbors, also known as "neighbor relationships."
EIGRP greeting packets are sent as IPv4 or IPv6 multicast transmissions and use unreliable RTP delivery. This means that the receiver does not respond with an acknowledgment packet.

  • The EIGRP multicast address reserved for IPv4 is 224.0.0.10.
  • The EIGRP multicast address reserved for IPv6 is FF02 :: A.

In most networks, EIGRP greeting packets are sent as multicast packets every five seconds. However, in multipoint networks without broadcast (NBMA), such as X.25, Frame Relay, and asynchronous transfer mode (ATM) interfaces with access links of T1 (1,544 Mb / s) or slower, packets of Greetings are sent as unicast packets every 60 seconds.

EIGRP also uses greeting packages to maintain established adjacencies. An EIGRP router assumes that, as long as it receives hello packets from a neighbor, the neighbor and its routes remain viable.
EIGRP uses a wait timer to determine the maximum time the router must wait to receive the next greeting before declaring that the neighbor is unreachable.
By default, the wait time is three times the greeting interval, that is, 15 seconds on most networks and 180 seconds on low-speed NBMA networks. If the timeout expires, EIGRP declares the route as inactive and DUAL searches for a new route by sending queries.

EIGRP Update packets

EIGRP sends update packets to propagate routing information. Update packets are sent only when necessary.
Unlike RIP, EIGRP (another distance vector routing protocol) does not send periodic updates, and route entries do not expire.
Instead, EIGRP sends incremental updates only when the status of a destination is modified. This may include when a new network is available, when an existing network becomes unavailable, or when a change in the routing metric of an existing network occurs.
Regarding your updates, the terms partial and limited are used in EIGRP. The partial term means that the update only sends information about route changes. The term "limited" refers to the propagation of partial updates that are sent only to those routers that are affected by the change.
By sending only the necessary routing information only to the routers that need it, EIGRP minimizes the bandwidth that is required to send EIGRP updates.
EIGRP update packets use reliable delivery , which means that the sending router requires an acknowledgment. Update packets are sent as multicast when required by multiple routers, or as unicast when required by only one router.
In Image, because the links are point to point, the updates are sent as unicast.

EIGRP Acknowledgment Packets

EIGRP sends acknowledgment (ACK) packets when the reliable delivery method is used. An EIGRP acknowledgment is an EIGRP Hello packets without any data.
RTP uses reliable delivery for EIGRP update, query and response packets . EIGRP acknowledgment packets are always sent as unreliable unicast transmissions. The unreliable sense of delivery is that, otherwise, there would be an endless loop of acknowledgments.
In above Image, R2 lost connectivity to the LAN connected to its Gigabit Ethernet interface. R2 immediately sends an update to R1 and R3, where the out of service route is signaled. R1 and R3 respond with an acknowledgment so that R2 knows they received the update.
Note : in some documents, the greeting and the acknowledgment are referred to as a single type of EIGRP package.

EIGRP Query packets

DUAL uses query and response packages when searching for networks and when performing other tasks. Query and reply packets use reliable delivery. Queries use multicast or unicast, while reply are always sent as unicast.
In Image, R2 has lost LAN connectivity and sends queries to all EIGRP neighbors and searches for any possible route to the LAN.
Because the queries use reliable delivery, the receiving router must return an EIGRP acknowledgment packet. The acknowledgment informs the sender of the query that the inquiry message was received. To make the example simpler, the acknowledgments in the graphic were omitted.

EIGRP Reply Packets 

All neighbors must send a response, regardless of whether or not they have a route to the network out of order. Because responses also use reliable delivery, routers such as R2 must send an acknowledgment.
It may not be obvious why R2 should send a query to a network that knows it is inactive. In reality, only the R2 interface that is connected to the network is inactive. Another router could be connected to the same LAN and have an alternative route to the same network. Therefore, the R2 queries for such a router before completely removing the network from its topology table.

EIGRP Message Encapsulation

The data portion of an EIGRP message is encapsulated in a package. This data field is called " type, length, value " (TLV). The types of TLVs relevant to this course are the EIGRP parameters, internal IP routes and external IP routes.

The EIGRP package header is included with each EIGRP package, regardless of its type. Then, the EIGRP packet header and the TLV are encapsulated in an IPv4 packet.
In the IPv4 packet header, the protocol field is set to 88 to indicate EIGRP, and the destination IPv4 address is set to multicast 224.0.0.10. If the EIGRP packet is encapsulated in an Ethernet frame, the destination MAC address is also a multicast address, 01-00-5E-00-00-0A.
EIGRP for IPv6 uses a similar type of encapsulation. EIGRP for IPv6 is encapsulated with an IPv6 header. The destination IPv6 address is the multicast address FF02 :: A, and the following header field is set to 88.

Header of EIGRP Packets

All EIGRP Packets include the header, as shown in Image.
  
Important fields include the operation code field and the autonomous system number field. The operation code specifies the type of EIGRP package as follows:
  • To update
  • Query
  • Reply
  • Hello

The autonomous system number specifies the EIGRP routing process. Unlike RIP, several instances of EIGRP can be run on a network, and the autonomous system number is used to track each running EIGRP process.

TLV of EIGRP parameters

The EIGRP parameter message includes the weights that EIGRP uses for its composite metric. Only bandwidth and delay are weighted by default. Both are weighted equally, therefore, both the K1 field for bandwidth and the K3 field for delay are set to one (1). The other K values ​​are set to zero (0).
The Timeout is the amount of time that the EIGRP neighbor who receives this message should wait before considering that the router that performs the notification is disabled.

TLV of internal IP routes

The internal IP message is used to announce EIGRP routes within a stand-alone system. Important fields include the metric fields (delay and bandwidth), the subnet mask field (prefix length) and the destination field.
The delay is calculated as the sum of delays from the origin to the destination in units of 10 microseconds. The bandwidth is the one with the lowest configuration in all the interfaces of the route.
The subnet mask is specified as the prefix duration or the number of network bits in the subnet mask. For example, the prefix length for subnet mask 255.255.255.0 is 24, because 24 is the number of network bits.

The Destination field stores the address of the destination network. Although only 24 bits are shown in this figure, this field varies depending on the value of the network portion of the 32-bit network address.
For example, the network portion of 10.1.0.0/16 is 10.1; therefore, the destination field stores the first 16 bits. Since the minimum length of this field is 24 bits, the rest of the field is filled with zeros. If a network address is longer than 24 bits (192.168.1.32/27, for example), then the Destination field extends another 32 bits (with a total of 56 bits) and unused bits are completed with zeros.

TLV of external IP routes

The external IP message is used when external routes are imported into the EIGRP routing process. Note that the lower half of the TLV of external IP routes includes all fields used by the internal IP TLV.

Note : The maximum transmission unit (MTU) is not a metric used by EIGRP. The MTU is included in routing updates, but is not used to determine routing metrics.

What is EIGRP in Networking & EIGRP Characteristics and Features

What is EIGRP in Networking & EIGRP Characteristics and Features

This article is on what is EIGRP (Enhanced Interior Gateway Routing Protocol) and EIGRP Characteristics and Features. EIGRP is a classless vector distance routing protocol.

What is EIGRP?

The Enhanced Interior Gateway Routing Protocol (EIGRP) is an advanced distance vector routing protocol developed by Cisco Systems. As the name suggests, EIGRP is an improvement to another Cisco routing protocol: the internal gateway routing protocol ( IGRP ).
IGRP is a distance vector routing protocol with previous class, which became obsolete as of IOS 12.3.
EIGRP includes characteristics of the link state routing protocols. EIGRP is suitable for numerous different topologies and media. In a well-designed network, EIGRP can scale to include several topologies and can provide extremely fast convergence times with minimal network traffic.
EIGRP was originally launched in 1992 as an exclusive protocol available only on Cisco devices. In 2013, Cisco ceded basic EIGRP functionality as an open standard to the IETF, such as an informational RFC.
This means that other network providers can now implement EIGRP on their computers to interoperate with routers running EIGRP, either from Cisco or other manufacturers.
Note : in some older documents, the term “ hybrid routing protocol ” is used to define EIGRP. However, this term is misleading, because EIGRP is not a hybrid between distance vector routing protocols and link state protocols.

Characteristics and Features of EIGRP

EIGRP is based on the key principle of the distance vector routing protocol, according to which information about the rest of the network is obtained from directly connected neighbors.

  • diffusing update algorithm

The diffusing update algorithm  (DUAL) is the center of the routing protocol. DUAL guarantees backup routes and no loops throughout the routing domain.
By using DUAL, EIGRP stores all available backup routes to destinations, so that it can be quickly adapted to alternative routes if necessary.

  • Establishment of neighborhood adjacencies

EIGRP establishes relationships with directly connected routers that are also enabled for EIGRP. Neighborhood adjacencies are used to track the status of those neighbors.

  • EIGRP Reliable Transport Protocol

The reliable transport protocol (RTP) is exclusive to EIGRP and is responsible for delivering EIGRP packages to neighbors.

  • Partial and limited updates

Regarding your updates, the terms "partial" and "limited" are used in EIGRP. Unlike RIP, EIGRP does not send periodic updates, and route entries do not expire.
The term "partial" means that the update only includes information about route changes, such as a new link or a link that is no longer available.
The term "limited" refers to the propagation of partial updates that are sent only to those routers that are affected by the change.

  • Load balancing of the same cost or with different cost

EIGRP supports load balancing of the same cost and load balancing with different costs, allowing administrators to better distribute the flow of traffic on their networks.

Protocol Dependent Modules

EIGRP has the ability to route several different protocols, including IPv4 and IPv6, through the use of protocol dependent modules (PDM).
PDMs are responsible for specific tasks of the network layer protocols. An example of this is the EIGRP module, which is responsible for sending and receiving EIGRP packets encapsulated in IPv4.
This module is also responsible for analyzing EIGRP packages and informing DUAL of the new information received. EIGRP asks DUAL to make routing decisions, but the results are stored in the IPv4 routing table.
PDMs are responsible for the specific routing tasks of each network layer protocol, including the following:

  • Maintain the neighbor and topology tables of the EIGRP routers that belong to that protocol suite.
  • Build and translate protocol-specific packages for DUAL.
  • Connect DUAL to the protocol specific routing table.
  • Calculate the metric and pass that information to DUAL.
  • Implement filtering and access lists.
  • Perform redistribution functions to other routing protocols and from them.
  • Redistribute routes discovered by other routing protocols.

Reliable transport protocol

EIGRP uses the reliable transport protocol (RTP) for the delivery and reception of EIGRP packets.
EIGRP was designed as a network layer independent routing protocol and; Due to this design, you cannot use UDP or TCP services. This allows EIGRP to be used for protocols other than those in the TCP / IP protocol suite, such as IPX and Apple Talk . The illustration shows conceptually how RTP operates.

While the term "reliable" is part of its name, RTP includes reliable delivery and unreliable delivery of EIGRP packets, similar to TCP and UDP respectively.
Reliable RTP requires the receiver to send an acknowledgment to the sender. Unreliable RTP packets do not require acknowledgment.
For example, an EIGRP update package is sent reliably by RTP and requires an acknowledgment. An EIGRP greeting packet is also sent by RTP, but in an unreliable manner.
RTP can send EIGRP packets as unicast or multicast.

  • EIGRP multicast packets for IPv4 use the reserved multicast IPv4 address 224.0.0.10.
  • EIGRP multicast packets for IPv6 are sent to the reserved multicast IPv6 address FF02 :: A.

EIGRP Authentication

Like other routing protocols, EIGRP can be configured for authentication. RIPv2, EIGRP, OSPF, IS-IS and BGP can be configured to authenticate routing information.

It is advisable to authenticate the routing information that is transmitted. By doing so, it ensures that the routers only accept routing information from other routers that were configured with the same password or authentication information.

Note : Authentication does not encrypt EIGRP routing updates.

Troubleshooting OSPF and OSPFv3 Single Area Commands

Troubleshooting OSPF and OSPFv3 Single Area Commands

Troubleshooting OSPF  is a very important topic for network engineers. While troubleshooting you must have understanding of Troubleshooting OSPF commands. When troubleshooting OSPF neighbors, be aware that the FULL or 2WAY states are normal. Commands for troubleshooting OSPF for IPv4 are discussed in detail. The troubleshooting of OSPFv3 is similar to that of OSPFv2, which you learn at the end of this post.

OSPF States

To solve OSPF problems, it is important to understand how OSPF routers go through different OSPF states when adjacencies are established.
In the illustration, the OSPF states are indicated and a summary of the functions of each state is provided.

Transition Table through OSPF states.
State
Description
Down state
No greeting package received = Down.
The router sends hello packets.
Transition to Init status.
Init Status
The neighbor's greeting packages are received.
These contain the sender router ID.
Transition to the Two-Way state.
Two-Way Status
On Ethernet links, a DR and a BDR are chosen.
Transition to ExStart state.
ExStart Status
The master / slave relationship and the sequence number of the DBD packet are negotiated.
The master starts the exchange of DBD packages.
Exchange Status
Routers exchange DBD packets.
If additional router information is required, the transition to Loading is made; otherwise, the transition to Full is made.
Loading status
LSRs and LSUs are used to obtain additional route information.
Routes are processed using the SPF algorithm.
Transition to the Full state.
Full state
The routers converged.
When troubleshooting OSPF neighbors, be aware that the FULL or 2WAY states are normal. All other states are temporary , that is, the router should not remain in those states for extended periods.

Commands for Troubleshooting OSPF

There are many different OSPF commands that can be used to facilitate the troubleshooting process. The following are the most common commands:

show ip protocols

It is used to verify fundamental OSPF configuration information, such as the OSPF process ID, the router ID, the networks announced by the router, the neighbors from which the router receives updates, and the default administrative distance, which for OSPF is 110 .

 show ip ospf neighbor

It is used to verify if the router formed an adjacency with neighboring routers.

  • It shows the ID of the neighbor router, the priority of the neighbor, the OSPF status, the timeout timer, the IP address of the neighboring interface and the interface through which the neighbor can be accessed.
  • If the neighbor router ID is not displayed or is not displayed in the FULL or 2WAY state, the two routers did not form an OSPF adjacency. If two routers did not establish adjacency, the link-state information will not be exchanged.
  • Incomplete link-state databases can create SPF trees and inaccurate routing tables. It is possible that there are no routes to the destination networks or they may not represent the most optimal route.

show ip ospf interface

It is used to display the OSPF parameters that were configured on an interface, such as the ID of the OSPF process to which the interface was assigned, the area in which the interfaces are located, the cost of the interface and the greeting and dead intervals .
If the name and interface number is added to the command, the result for a specific interface is displayed. Learn about OSPF Interface configurations

show ip ospf

It is used to examine the OSPF process ID and the router ID. In addition, this command shows OSPF area information and the last time the SPF algorithm was calculated.

show ip route ospf

It is used to show only the OSPF routes discovered in the routing table. The result shows that R1 discovered about four remote networks through OSPF.
clear ip ospf [ process-id ] process : used to reset the adjacencies of OSPFv2 neighbors.

Components of OSPF troubleshooting

As shown in the illustration, in general, OSPF problems are related to one of the following aspects:

  • Adjacences of neighbors
  • Missing Routes
  • Route selection

When troubleshooting neighbors, verify if the router established adjacencies with neighboring routers using the show ip ospf neighbors command .

  • If there are no adjacencies, routers cannot exchange routes. Check if the interfaces work and are enabled for OSPF using the show ip interface brief and show ip ospf interface commands .
  • Now, if the interfaces work and are enabled for OSPF, make sure that the interfaces on both routers are configured for the same OSPF area and are not configured as passive interfaces.
  • If the adjacency between the two routers is established, verify that there are OSPF routes in the routing table using the show ip route ospf command.
  • If there are no OSPF routes, verify that there are no other routing protocols with lower administrative distances running on the network. Verify if all required networks are advertised in OSPF. Also check if there is an access list configured on a router that could filter incoming or outgoing routing updates.
If all the required routes are in the routing table but the route the traffic takes is incorrect, verify the OSPF cost of the interfaces on the route. Also, pay special attention in cases where the interfaces have a speed greater than 100 Mb / s, since all interfaces above this bandwidth have the same OSPF cost by default.

Solving single-area OSPF Routing problems

Troubleshooting OSPF Neighbors

In this example, we will demonstrate how to solve neighbor problems . In the topology of Image 9, all routers were configured to support OSPF routing.

A look at the routing table of R1, shown in following figure, lets us know that it does not add OSPF routes.
There are several possible reasons for this. However, a requirement for a neighbor relationship between two routers to form is the layer 3 connectivity of the OSI model.
The result of following image confirms that the S0 / 0/0 interface is active and functioning. The correct ping also confirms that the R2 serial interface is active. A correct ping does not mean that an adjacency will form, because there may be overlapping subnets.
You should still verify that the interfaces on the connected devices share the same subnet. If the ping was not correct, check the wiring and verify that the interfaces on the connected devices are configured correctly and work.

Enable an interface for OSPF

To enable an interface for OSPF, you must configure a network command that matches during the OSPF routing process. Active OSPF interfaces can be verified using the show ip ospf interface command . The result of Image 12 verifies that the Serial 0/0/0 interface is enabled for OSPF. If the interfaces connected on two routers are not enabled for OSPF, neighbors will not form an adjacency.

Verify the OSPF configuration using the show ip protocols command . The result shown in following Image verifies that OSPF is enabled and also lists the networks that are advertised as enabled through the network command. If an IP address on an interface is included in an OSPF-enabled network, the interface is enabled for OSPF.

Disable the interface as passive

However, note that the Serial 0/0/0 interface is listed as passive. Remember that the passive-interface command stops incoming and outgoing routing updates, because the effect of the command causes the router to stop sending and receiving hello packets through an interface. For this reason, routers will not form a neighbor relationship.
To disable the interface as passive, use the no passive-interface command of the router configuration mode, as shown in Image below. After disabling the passive interface, the routers establish an adjacency, as indicated by the generated information message automatically.

A quick check of the routing table, shown in following Image, confirms that OSPF now exchanges routing information.

Another problem that may arise is that two neighboring routers have incompatible MTU sizes on the connected interfaces .
The MTU size is the largest network layer packet that the router forwards through each interface. By default, routers have an MTU size of 1500 bytes. However, this value can be changed for IPv4 packets using the ip mtu size interface configuration command or the mv size ipv6 interface command for IPv6 packets.
If two connected routers had incompatible MTU values, they would also try to form an adjacency, but would not exchange their LSDBs and the neighbor relationship would fail.

Troubleshooting the OSPF routing table

In the illustration topology, all routers were configured to support OSPF routing.

A look at the routing table of R1 (shown in following image) allows us to know that it receives information from the default route, the R2 LAN (172.16.2.0/24) and the link between R2 and R3 (192.18.10.8/30 ). However, it does not receive the OSPF LAN route from R3.

The result of following Image verifies the OSPF configuration on R3. Note that R3 only announces the link between R3 and R2, but does not announce the R3 LAN (192.168.1.0/24).

To enable an interface for OSPF, you must configure a network command that matches during the OSPF routing process. The result of Image (show running config) confirms that the R3 LAN is not announced on OSPF.

The result of Image verifies that the R3 LAN is now in the R1 routing table.

Commands for troubleshooting OSPFv3

See the Illustration for the OSPFv3 reference topology.

The troubleshooting of OSPFv3 is almost identical to that of OSPFv2; Therefore, many OSPFv3 commands and troubleshooting criteria also apply to OSPFv3.
For example, the following are the equivalent commands used with OSPFv3:

show ipv6 protocols

This command is used to verify fundamental OSPFv3 configuration information, including the OSPFv3 process ID, the router ID and the interfaces from which the router receives updates

show ipv6 ospf neighbor

It is used to verify that the router formed an adjacency with neighboring routers.

  • This result shows the ID of the neighbor router, the priority of the neighbor, the status of OSPFv3, the timeout timer, the ID of the neighboring interface and the interface through which the neighbor can be accessed.
  • If the neighbor router ID is not shown or is not displayed in the FULL or 2WAY state, the two routers did not form an OSPFv3 adjacency.
  • If two routers did not establish adjacency, the link-state information will not be exchanged. Incomplete link-state databases can create SPF trees and inaccurate routing tables. It is possible that there are no routes to the destination networks or that these are not the best routes.

show ipv6 ospf interface

It is used to display the OSPFv3 parameters that were configured in an interface, such as the OSPFv3 process ID to which the interface was assigned, the area in which the interfaces are located, the interface cost and the greeting and dead intervals .
If the name and interface number is added to the command, the result for a specific interface is displayed.

show ipv6 ospf

It is used to examine the OSPF process ID and router ID, as well as information on LSA transmissions

show ipv6 route ospf

It is used to show only the OSPFv3 routes discovered in the routing table. The result shows that R1 discovered about four remote networks using OSPFv3.