notes taken to help study for CCIE...used Enabling IP Routing with Cisco Routers by R. Das & K.Chakrabarty, CCIE Routing and Switching by A. Anthony Bruno, Enhanced Interior Gateway Routing Protocol (Cisco Document ID: 16406), Pearson's CCNA Routing and Switching 200-101 Complete Video Course, as well as lots of Internet resources. A lot of this stuff is plagarized from the stated sources, and should be re-worked if ever put into an official publication

EIGRP

Table of Contents

Highlights

Concepts

Protocol-Dependent Modules - Uses different modules to support IP, IPX, Appletalk.
  • only commonly used protocol that can support even and uneven routes at the same time
  • EIGRP Metrics

    bandwidth (K1 - default) big
    delay (K3 - default) dogs
    reliability (K5) really
    load (K2) like
    mtu me

    Default K values

    router eigrp 100
      metric weight 0 1 1 1 0 0 (last 5 numbers are K values)
                                (EIGRP neighbors have to have matching K values)

    Default Formula -
    256*(Bw + Delay)
    256 * ( (10,000,000 / min bw in kbs) + (sum of interface delays / 10) )
    Full Formula -
                     K2*Bw                       K5
    256*([K1*Bw + ---------- + K3*Delay]*[----------------])
                  (256-Load)              (Reliability+K4)


    Values to right of decimals get dropped during calculation.

    Stub routers - hub router contains info, performs routing for all networks. Spike routers have only enough info to reach hub router.

    Timer Comparison

     Hello(RIP-Invalid)
    (OSPF-Suspicious)
    Dead
    (RIP-Flush)
    Holddown
    RIP30180 (6x)240 (8x)180
    OSPF10 BMA
    30 NBMA
    90 (3x)120 (4x)5 second delay +
    10 seconds Hold
    EIGRP5
    60 WAN < 1.544Mbps
    15 (3x)
    STP220 blocking
    15 listening
    15 learning
    forwarding

    Packets


    EIGRP
    Opcode
      
    Description  
    5 Hello Multicast to 224.0.0.10. Default timer is (5 seconds (60 seconds on WAN links with 1.544Mbps or less)). Holddown timer is 3x hello timer
      Acknowledgment   hello packet with no data. Acks reception of update packet. Sent to unicast address of sender of update packet.
    1 Update contain routing info of destinations. unicast to newly discovered neighbors or multicast to 224.0.0.10 when link or metric changes. Uses RTP.
    3 Query Multicast to find feasible successors to destination.
    4 Reply Sent in response to query packets. Unicast to sender of query in order to provide feasible successor.
    6 IPX, SAP  

    Tables

    neighbor table – establish relationship with neighbor
        successor  is neighbor that can give you best path to destination
            feasible distance – value of network to successor
            reported distance – router reports FD to next router
            feasible distance = my FD + Reported distance
        feasible successor is next best router that can get to destination based on
        feasibility condition – reported distance has to be less than my own feasible
                    distance through successor
       sh ip eigrp neighbors
    interface table
    Interfaces participating in eigrp AS
    sh ip eigrp interfaces
    topology table
    routes that eigrp knows about
        feasible successor goes in here (not in routing table)
        2 successors – load balancing
        sh ip eigrp topology
        sh ip eigrp topology all-links (will see everything including bad links)
    routing table

    Type/Length/Value (TLV)

    Taken from http://www.rhyshaden.com/eigrp.htm .
    There are a number of TLVs, all of them begin with a 16 bit Type field and a 16 bit Length field. There then follows a number of fields that vary depending on the type as given below.

    Commands

    router eigrp [as]   (AS used to be 2 bytes - 65335, may now be 4
                        bytes (4billion+?))
                        (one AS doesn't play with another unless you
                        resdistribute)
    network [ip subnet to participate in routing proc -classful or
            classless if you leave off subnet]

    no auto-summary
    ip summary-address eigrp AS IP-Addr Mask eigrp stub [receive-only | connected | static | summary]
    default network <ip addr or exit interface> (like default gw for router)
    redistribute ospf  <BW> <D> <R> <L> <M>
        (e.g. redistribute ospf 10000 100 255 1 15000)

    show ip eigrp neighbor
    show ipv6 eigrp neighbor
    show ipv6 eigrp interfaces
    show ip eigrp topology
    show ipv6 eigrp topology
    show ip protocols (gets info about eigrp and other routing protocols) show ipv6 protocols
    show ip route
    show ipv6 route

    (Show's route w/ weights advert fr diff rtr IDs)
        (FD - Feasible Distance - calc'ed distanced connected)
        (RD - Received Distance - Distance recieved from neighbor)
    sh ip eigrp topology all-links (will see all incl bad links)
    show ip protocols
    debug ip eigrp events

    IPv4 config

    Router One
    router eigrp 2000 (The "2000" is the autonomous system - must match on neighboring routers) 
      network 172.16.1.0 0.0.0.255 
    metric weight 0 1 1 1 0 0 (last 5 numbers are K values) (EIGRP neighbors have to have matching K values)
    AUTHENTICATION
    key chain DEMO
      key 1
      key-string DaKEYstring
    int fa 0/1
      ip authentication key-chain eigrp 100 DEMO
      ip authentication mode eigrp 100 md5 (send hash of key string)
      
    Unequal cost routing
    Figure variance based on max FD.
    FD 1 - 390123
    FD 2 - 2304357
    
    variance = roundup(2304357/390123) = 6
    
    router eigrp 100
      variance 6
    
    show ip route (will show unequal cost routes in routing table)
    Autosummarization
    router eigrp 100
      auto-summary
    
    doesn't work well with discontinguous networks...
    
    Passive interface
    listen but don't advertise
    router eigrp 100
      passive-interface fa 0/0
    
    show ip protocols (will show passive interfaces)
    show ip eigrp neighbors
    show ip eigrp interfaces
    
    Router Two
    router eigrp 2000
      redistribute eigrp 1000 route-map to-eigrp2000
      network 172.16.1.0 0.0.0.255 
    router eigrp 1000 
      redistribute eigrp 2000 route-map to-eigrp1000
      network 10.1.0.0 0.0.255.255
      
    route-map to-eigrp1000 deny 10
      match tag 1000
    route-map to-eigrp1000 permit 20
      set tag 2000
    route-map to-eigrp2000 deny 10
      match tag 2000
    route-map to-eigrp2000 permit 20
      set tag 1000
    

    IPv6 config

    ipv6 router eigrp 1 (1 is autonomous system)
      router-id 1.1.1.1
    int lo0
      ipv6 eigrp 1 (tell interface to participate in as 1)
    int fa 0/1
      ipv6 eigrp 1
    

    Troubleshooting

    sh ip route (check admin distances and FD)
    show ip eigrp topology (FD / advertised distance)
    show ip eigrp interfaces
    show ip eigrp neighbors
    NIT
    show ip protocols