Sunday, 25 March 2012

EIGRP


Enhanced Interior Gateway Routing Protocol is a Cisco proprietary routing protocol. It is, in essence, a distance vector routing protocol, with significantly improved convergence properties and operating efficiency over the older IGRP.
Routing optimizations are based on the Diffusing Update Algorithm (DUAL), that guarantees
loop-freedom throughout a route computation. This also provides a mechanism for fast convergence.

- EIGRP supports Classless Inter-Domain Routing (CIDR), which allows the use of variable-length
  subnet masks.
- EIGRP is not usable where routers need to know the exact network topology
  (e.g: traffic engineering in MPLS).

   
EIGRP has four basic components:
  • Neighbour Discovery/Recovery 
  • Reliable Transport Protocol
  • DUAL Finite State Machine
  • Protocol Dependent Modules

Neighbour Discovery/Recovery:
- Neighbour Discovery/Recovery is a process of learning about other routers on the directly connected
   networks.
- Routers must know when their neighbors become unreachable.
- Small hello packets are used to discover and maintain adjacencies between neighbours.

Reliable Transport Protocol:
- The reliable transport protocol is responsible for guaranteed and ordered delivery of EIGRP packets
   to all it's neighbours.
- For the purpose of efficiency, reliability is provided only when necessary.

DUAL Finite State Machine:
- The DUAL finite state machine is the decision process for all route computations.
- It tracks all routes advertised by all neighbours.
- DUAL selects routes to be inserted into a routing table based on feasible successors.
   A successor is a neighboring router used for packet forwarding that has a least
   cost path to a destination that is guaranteed not to be part of a routing loop.  
- When there are no successors, recompilation is done.
- DUAL will test for feasible successors, when topology changes occur.

Protocol Dependent Modules:
- responsible for network layer, protocol−specific requirements.
- Eg:
   - IP−EIGRP module is responsible for sending and receiving EIGRP packets that are encapsulated in IP.
   - IP−EIGRP asks DUAL to make routing decisions and the results of which are stored in the IP routing table.
   - IP−EIGRP is responsible for redistributing routes learned by other IP routing protocols.


DATA STORAGE IN EIGRP:
EIGRP stores data in three tables:
   • Neighbour Table
    Topology Table
   • Routing Table


NEIGHBOUR TABLE:
- Each router stores state information about it's adjacent neighbours, accessible through directly
   connected interfaces.
- Upon new neighbour discovery, the address and interface information is updated in this table.
- There is one neighbour table for each protocol dependent module.
- When a neighbor sends a hello, it informs a Hold-Time.
- This Hold-Time is the amount of time a router treats that neighbour as reachable.
- If a hello packet isn't heard within that Hold-Time, then the Hold-Time expires.
- When the Hold-Time expires, that router is treated as unreachable and DUAL is informed of
   the topology change.
- Neighbour Table  also  contains  information such  as  Sequence Numbers,  used  to match
  acknowledgements with data packets.
- The last Sequence Number received from the neighbour is recorded so out-of-order packets can
  be detected.
- Round trip timers are kept in the neighbour data structure to estimate an optimal retransmission
  interval.


TOPOLOGY TABLE:
- This table contains a list of destination networks in the EIGRP-routed network together with their
   respective metrics.
- The Topology Table is populated by the protocol dependent modules and acted upon by the DUAL
   finite state machine.
- 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 updating its route to that destination.


ROUTING TABLE:
- Stores the actual routes to all destinations.
- A destination entry is moved from the topology table to the routing table when there is a feasible
   successor.
- The successors and feasible successors serve as the next hop routers for these destinations.


ROUTE COMPUTATION:
- A route recomputation starts with a router sending a query packet to all neighbours.
- Neighbouring routers can either reply if they have feasible successors for the destination or
  optionally return a query indicating that they are performing a route recomputation themselves.
- While in Active state, a router cannot change the next−hop neighbour it is using to forward packets.
- Once all replies are received for a given query, the destination can transition to Passive state and a
  new successor can be selected.
- When a link to a neighbour that is the only feasible successor goes down, all routes through that
  neighbour commence a route recomputation and enter the Active state.


No comments:

Post a Comment