BFD is a detection protocol designed to provide fast forwarding path failure detection times for all media types, encapsulations, topologies, and routing protocols. In addition to fast forwarding path failure detection, BFD provides a consistent failure detection method for network administrators. Because the network administrator can use BFD to detect forwarding path failures at a uniform rate, rather than the variable rates for different routing protocol hello mechanisms, network profiling and planning will be easier, and reconvergence time will be consistent and predictable.
BFD (Bidirectional Forwarding Detection) is basically another Hello protocol based on UDP that detects link failures on forwarding plane. BFD runs on top of Layer 2 protocols that is in use between two adjacent systems.
BFD mechanism is independent from media, routing protocols and data protocols. By being independant from media, routing protocols and data protocols, BFD mechanism can be used with all routing protocols and data protocols. BFD mechanism is over these protocols.
Routing protocols has an hello mechanism by default to detect the link failures. But this mechanism is differenciate from router to router. With BFD mechanims, a common link failure detection mechanism created. And this BFD mechanism can be used with all routing protocols. Using BFD mechanism provides a very fast convergence after a link failure if you compare with routing protocol hello mechanism.
With EIGRP running on a network, the passive-interface command stops both outgoing and incoming routing updates, since the effect of the command causes the router to stop sending and receiving hello packets over that interface.
To prevent routing updates through a specified interface, use the passive-interface type number command in router configuration mode.
Passive interface command is used in all routing protocols to disable sending updates out from a specific interface. However the command behavior varies from one protocol to another.
EIGRP takes metric values if redistribution is taking place from another EIGRP process. In all other cases, metric needs to be set. Otherwise, redistribution will not take place.
In EIGRPv6 , hello packets and updates are sent using multicast transmission and it uses FF02::A for the purpose.
Unlike RIPng and OSPFv3, EIGRPv6 is configured from both global configuration mode and interface configuration mode and also "no shutdown" command is to be issued to enable the command.
The command "ipv6 eigrp <as-number>" enables EIGRP for IPv6 on a specified interface. And the command "ipv6 router eigrp <as-number>" enters router configuration mode and creates an EIGRP IPv6 routing process. The command eigrp router-id <ip-address> enables the use of a fixed router ID. Use this command only if an IPv4 address is not defined on the router eligible for router ID.
EIGRPv6 involves the following configuration steps:
Enable IPv6 routing using "ipv6 unicast-routing" command.
Create an EIGRPv6 process using "ipv6 router eigrp <asn>" command.
Assign an EIGRPv6 router ID using the "eigrp router-id <router-id>" command in router configuration mode.
Enable EIGRPv6 on interfaces using the "ipv6 eigrp <asn>" command in interface configuration mode.
EIGRP (as well as IGRP) uses Bandwidth and Delay as default criteria to determine the best path. The description of the terms is given below:
Bandwidth: This is the smallest bandwidth between the source and destination.
Delay: This is the cumulative interface delay along the path.
Reliability: This is the worst case reliability between source and destination based on keepalives.
Loading: This is the worst case load on a link between source and destination based on bps.
MTU: Smallest MTU in path.
The following are the key points that you may need to remember with respect to forming neighbor relationship in EIGRP-IPV6:
The interfaces must be in up-up state. (true for both ipv6 and ipv4)
Ipv6 addresses need not be in the same subnet for forming neighbor relationship. Note that in EIGRP ipv4, the neighbor interfaces should be on the same subnet.
Both devices should use the same Autonomous System Number (ASN).
ACLs should not be filtering routing messages. This is true for ipv4 also.
Must be able to pass routing protocol authentication, if configured. This is true for ipv4 also. K values must match (true for ipv4 also)
Hello and Hold timers need NOT match (for both ipv4 and ipv6)
The following command starts EIGRP routing process:
Router(config)# router eigrp <Autonomous System Number>
The Autonomous System Number should be same the on all routers.
EIGRP uses multicasts to send queries to neighbor routers. EIGRP Hello packets are multicast to 224.0.0.10.
Typical show ip eigrp topology output is given below:
R1#show ip eigrp topology
IP-EIGRP Topology Table for process 77
Codes: P - Passive, A - Active, U - Update, Q - Query, R - Reply, r - Reply status
P 192.168.10.0 255.255.255.0, 1 successors, FD is 0 via 172.24.1.2 (46277376/46251776), Serial0
DUAL (Diffusing Update Algorithm) used by EIGRP tracks all the routes advertised by neighbors and selects routes based on feasible successors. It inserts lowest cost paths into the routing table (these routes are known as primary routes or successor routes).
EIGRP has certain features that belong to link-state algorithms (like OSPF) than distance-vector algorithms. Ex: EIGRP sends a partial routing table update, which includes just routes that have been changed, not the full routing table like distance-vector algorithms.
The feasible successor route will become the primary route when its advertised distance is higher than the feasible distance of the successor route. The feasible successor is kept in the topology table as a backup route and can be used in the event that the successor route goes down.
The features of EIGRP are:
Support VLSM, route summarization, and routing update authentication.
EIGRP uses a distributed algorithm called DUAL when a route fails and has no feasible successor to discover a replacement for a failed route. When a new route is found, DUAL adds it to the routing table.
To turn off automatic summarization, use the command,
router(config-router)#no auto-summary
Please note that EIGRP automatically summarizes routes at classful boundary (I.e. the network boundary), unless otherwise specified.
EIGRP uses auto summarization of routes at major network boundaries. The exhibit shows the output of the command: show IP route EIGRP.
The following are main features of route summarization in EIGRP:
1. By default, EIGRP summarizes routes at the major network boundaries (classful boundaries).
2. To enable summarization at any level other than major network boundary, you need to disable auto summarization using the command: "No auto-summary"
3. The following command enables summarization at an arbitrary network boundary: "Ip summary-address <as-number> <address-mask>"
Note that you need to specify the IP address and routing mask of the summary route. No need to specify the metrics.
4. Successor: A route (or routes) selected as the primary route(s) used to transport packets to reach destination. Note that successor entries are kept in the routing table of the router.
5. Feasible successor: A route (or routes) selected as backup route(s) used to transport packets to reach destination. Note that feasible successor entries are kept in the topology table of a router. There can be up to 6 (six) feasible successors for IOS version 11.0 or later. The default is 4 feasible successors.
6. DUAL (Diffusing Update Algorithm): Enhanced IGRP uses DUAL algorithm to calculate the best route to a destination.
7. Unlike RIP and IGRP, EIGRP updates are not periodic. EIGRP updates are sent only when there is a topological change in the network.
8. In EIGRP, the router doing the summarization will build a route to null0 for the summarized address. This ensures that the packets that are not destined for any network are routed to null and thus dropped.
9. EIGRP provides the option of disabling route summarization. The command no auto-summary can be used for this purpose. This option is not available in RIP and IGRP.You can summarize routes in EIGRP at any arbitrary bit boundary
Neighbor relationship and authentication
The EIGRP neighbor table includes the following key elements:
1.Neighbor Address: IP address of neighbor router interfaces
2.H (Handle): Here you will find the order when the neighbor adjacency was established. Your first neighbor will have a value of 0, the second neighbor a value of 1 and so on.
3.Hold Uptime (sec): This is the holddown timer per EIGRP neighbor. Once this timer expires we will drop the neighbor adjacency. The default holddown timer is 15 seconds. On older IOS versions only a hello packet would reset the holddown timer but on newer IOS versions any EIGRP packet after the first hello will reset the holddown timer.
4.SRTT (Smooth round-trip time): The number of milliseconds it takes to send an EIGRP packet to your neighbor and receive an acknowledgment packet back.
5.RTO (Retransmission timeout): The amount of time in milliseconds that EIGRP will wait before retransmitting a packet from the retransmission queue to this neighbor
6.Q Cnt (Q count): The number of EIGRP packets (Update, Query or Reply) in the queue that are awaiting transmission. Ideally you want this number to be 0 otherwise it might be an indication of congestion on the network.
7.Seq Num (Sequence number): This will show you the sequence number of the last update,query or reply packet that you received from your EIGRP neighbor.
Neighbor table: The neighbor table stores information about neighboring EIGRP routers:
1. Network address (IP)
2. Connected interface
3. Holdtime - how long the router will wait to receive another HELLO before dropping the neighbor; default = 3 * hello timer
4.Uptime - how long the neighborship has been established
5. Sequence numbers
6.Retransmission Timeout (RTO) - how long the router will wait for an ack before retransmitting the packet; calculated by SRTT
7.Smooth Round Trip Time (SRTT) - time it takes for an ack to be received once a packet has been transmitted
8.Queue count - number of packets waiting in queue; a high count indicates line congestion
EIGRP will use six different packet types when communicating with its neighboring EIGRP routers
Hello Packets: EIGRP sends Hello packets once it has been enabled on a router for a particular network. These messages are used to identify neighbors and once identified, serve or function as a keepalive mechanism between neighbors. EIGRP Hello packets are sent to the link local Multicast group address 224.0.0.10. Hello packets sent by EIGRP do not require an Acknowledgment to be sent confirming that they were received. Because they require no explicit acknowledgment, Hello packets are classified as unreliable EIGRP packets. EIGRP Hello packets have an OPCode of 5.
Acknowledgment Packets:An EIGRP Acknowledgment (ACK) packet is simply an EIGRP Hello packet that contains no data. Acknowledgment packets are used by EIGRP to confirm reliable delivery of EIGRP packets. ACKs are always sent to a Unicast address, which is the source address of the sender of the reliable packet, and not to the EIGRP Multicast group address. In addition, Acknowledgment packets will always contain a non-zero acknowledgment number. The ACK uses the same OPCode as the Hello Packet because it is essentially just a Hello that contains no information. The OPCode is 5.
Update Packets: EIGRP Update packets are used to convey reachability of destinations. Update packets contain EIGRP routing updates. When a new neighbor is discovered, Update packets are sent via Unicast to the neighbor which can build up its EIGRP Topology Table. It is important to know that Update packets are always transmitted reliably and always require explicit acknowledgment. Update packets are assigned an OPCode of 1.
Query Packets: EIGRP Query packets are Multicast and are used to reliably request routing information. EIGRP Query packets are sent to neighbors when a route is not available and the router needs to ask about the status of the route for fast convergence. If the router that sends out a Query does not receive a response from any of its neighbors, it resends the Query as a Unicast packet to the non-responsive neighbor(s). If no response is received in 16 attempts, the EIGRP neighbor relationship is reset. EIGRP Query packets are assigned an OPCode of 3
Reply Packets:EIGRP Reply packets are sent in response to Query packets. The Reply packets are used to reliably respond to a Query packet. Reply packets are Unicast to the originator of the Query. The EIGRP Reply packets are assigned an OPCode of 4.
Request Packets:Request packets are used to get specific information from one or more neighbors and are used in route server applications. These packet types can be sent either via Multicast or Unicast, but are always transmitted unreliably.
Topology table: Topology Table confusingly named, this table does not store an overview of the complete network topology; rather, it effectively contains only the aggregation of the routing tables gathered from all directly connected neighbors. This table contains a list of destination networks in the EIGRP-routed network together with their respective metrics. Also for every destination, a successor and a feasible successor are identified and stored in the table if they exist. Every destination in the topology table can be marked either as "Passive", which is the state when the routing has stabilized and the router knows the route to the destination, or "Active" when the topology has changed and the router is in the process of (actively) updating its route to that destination.
Routing table: Stores the actual routes to all destinations; the routing table is populated from the topology table with every destination network that has its successor and optionally feasible successor identified (if unequal-cost load-balancing is enabled using the variance command). The successors and feasible successors serve as the next hop routers for these destinations.
Successor: A successor for a particular destination is a next hop router that satisfies these two conditions: The successor route provides the least distance to that destination, and guaranteed not to be a part of some routing loop The successor route is installed in the Routing table.
Feasible successor: The feasible successor effectively provides a backup route in the case that existing successors die. Also, when performing unequal-cost load-balancing (balancing the network traffic in inverse proportion to the cost of the routes), the feasible successors are used as next hops in the routing table for the load-balanced destination.
By default, the total count of successors and feasible successors for a destination stored in the routing table is limited to four. This limit can be changed in the range from 1 to 6. In more recent versions of Cisco IOS (e.g. 12.4), this range is between 1 and 16.
Metrics: IGRP (as well as EIGRP) use the following components as metrics:
1. Delay: Calculated by adding up the delay along the path to the next router.
2. Reliability: This is representative of how many errors are occurring on the interface. The best reliability value is 255. A value of 128 represents only 50% reliability.
3. Load: Load metric also has a range from 1 to 255. If a serial link is being operated at 50% capacity, the load value is 255X0.5 or 12.5. Lower load value is better.
4. MTU: Stands for Maximum Transmit Unit size, in bytes. Ethernet and serial interface has a default MTU of 1500. Larger MTU size means that the link is more efficient.
5. Bandwidth: The bandwidth is specified in Kbps. Larger the bandwidth, better the link.