cis185-ROUTE-lecture2-EIGRP-Part1

Download Report

Transcript cis185-ROUTE-lecture2-EIGRP-Part1

CIS 185 CCNP ROUTE
EIGRP Part 1
Rick Graziani
Cabrillo College
[email protected]
Last Updated: Fall 2011
EIGRP Part 1
 Review
 Neighbor Adjacencies and
EIGRP Reliability
 EIGRP Metric
 DUAL
 Basic EIGRP Configuration
 Passive-Interfaces
 Summarization
 Default Route
2
Materials
 Book:
 Implementing Cisco IP Routing
(ROUTE) Foundation Learning
Guide: Foundation learning for the
ROUTE 642-902 Exam
 By Diane Teare
 Book
 ISBN-10: 1-58705-882-0
 ISBN-13: 978-1-58705-882-0
 eBook
 ISBN-10: 0-13-255033-4
 ISBN-13: 978-0-13-255033-8
3
Review
What do we remember about EIGRP?
 What type of protocol is EIGRP?
 Distance Vector
 What are the default metrics used by EIGRP?
 Bandwidth (slowest) and Delay (cumulative)
 What are the optional metrics?
 Reliability and Load
 Note: Book also state MTU but it is not a metric.
 What algorithm is used to determine best path?
 DUAL (Diffusing Update Algorithm)
5
Review of EIGRP from CCNA
 Enhanced Interior Gateway Routing Protocol (EIGRP)
 Released in 1992 with Cisco IOS Software Release 9.21.
 Enhancement of Cisco’s:
 Interior Gateway Routing Protocol (IGRP).
 Both are Cisco proprietary, operate only on:
 Cisco routers
6
RTP and EIGRP
Packet Types
 What transport layer protocol does EIGRP use?
 Reliable Transport Protocol (RTP)
 Why doesn’t EIGRP use UDP or TCP?
7
ProtocolDependent
Modules
 EIGRP uses protocol-dependent modules (PDM). to route
different protocols, including:
 IPv4
 IPv6
 Internetwork Packet Exchange (IPX)
 AppleTalk
8
EIGRP Packet
Frame Payload
Frame Header
On a LAN, the EIGRP
packet is encapsulated
in an Ethernet frame
with a destination
multicast MAC address:
01-00-5E-00-00-0A
IP
Header
Protocol Number
(EIGRP = 88)
The destination IP address is
set to the multicast 224.0.0.10
and the EIGRP protocol field
is 88.
EIGRP
Header
The EIGRP
header identifies
the type of EIGRP
packet and
autonomous
system number.
EIGRP
Message
The EIGRP
message
consists of
the Type /
Length /
Value (TLV).
CRC
EIGRP Header
EIGRP Packet
EIGRP Packet
Types – Hello
Packet
 What are Hello packets used for by EIGRP to:
 Discover neighbors (sometimes called neighborships)
 Form adjacencies with those neighbors
 What is the multicast address? Hint: 224.0.0.?
 224.0.0.10
 Are these sent as reliable or unreliable deliver?
 Unreliable delivery – No ACKs returned
12
Hello Protocol
NBMA Link that are
All other serial interfaces and
LANs
13
Hello Protocol
NBMA Link that are
All other serial interfaces and
LANs
 Default hold time - 3 times the hello interval
 If the hold time expires:
 EIGRP declares the route as down
 DUAL searches for a new path in the topology table or by
sending out queries.
 It is NOT automatically adjusted if Hello Interval is modified.
14
EIGRP Packet Types –
Update and
Acknowledgement
Packets
EIGRP uses
triggered
updates
 Update Packets – Reliable Delivery
 Acknowledgment (ACK) Packets – Unreliable Delivery
 Sent when reliable delivery is used (update, query, and reply
packets).
15
EIGRP Packet
Types – Query
and Reply
Packets
 Queries and replies use reliable delivery (Ack returned).
 Used by DUAL when searching for networks and other tasks.
16
DUAL: An Introduction
J. J. Garcia-Luna-Aceves
17
DUAL: An Introduction (More later!)
R2: Checks
Topology table for
Feasible
Successor. If no
FS…
X
Or holdtime expires
.
18
Summary - RTP Packet Types
 Hellos – Identifies neighbors
 Used by the neighbor discovery and recovery process.
 Multicast
 Unreliable delivery
 Acknowledgements (ACK) – Acknowledges receipt
 Hello packets with no data
 Unicast
 Unreliable delivery
 Updates – Advertises routes
 Transmitted only when necessary
 Unicast when sent to a specific router
 Multicast when sent to multiple routers
 Reliable delivery
 Queries – Ask about a route (DUAL)
 Reliable delivery
 Multicast or Unicast
 Queries and Replies – Ask about a route and answer a query (DUAL)
 Reliable delivery
 Replies: Unicast
19
Administrative Distance
 We will discuss Administrative Distance in more detail in a later
chapter.
 Later in this chapter, you learn how to configure EIGRP summary
routes.
Routes manually
summarized.
Routes redistributed into
EIGRP.
20
Neighbor Adjacencies and
EIGRP Reliability
21
Configuring Hello Intervals and Hold Times
Router(config-if)# ip hello-interval eigrp as-number seconds
Router(config-if)# ip hold-time eigrp as-number seconds
 Configurable on a per-interface basis, NOT per neighbor (LANs)
 Does not have to match with other EIGRP routers to establish
adjacencies.
22
Neighbor Table Contents
SRTT (Smooth Round Trip Timer) and RTO (Retransmit Interval) are used by
RTP to manage reliable EIGRP packets.
SRTT indicates how long it takes for this neighbor to respond to reliable
packets.
RTO indicates how long to wait before retransmitting if no ACK is received.
R1# show ip eigrp neighbors
IP-EIGRP neighbors for process 100
H
Address
Interface
Hold Uptime
(sec)
0
192.168.1.102 Se0/0/1
11
00:07:22
R1#
Neighbor’s
IP address
Lists the order in
which a peering
session was
established with
the specified
neighbor, starting
with 0.
Local interface
receiving EIGRP
Hello packets.
SRTT
(ms)
10
Amount of time
since this
neighbor was
added to the
neighbor table.
RTO
2280
Q
Cnt
0
Queue count
should always be
zero otherwise
there’s
congestion on the
link.
Seq
Num
5
The sequence
number of the
last update,
query, or reply
packet that was
received from
this neighbor.
Seconds remaining before declaring neighbor
down.
The current hold time and is reset to the
maximum hold time whenever a Hello packet
is received.
23
Start
Neighbor Table Contents
 Smooth Round Trip Timer (SRTT)—The
average number of milliseconds it takes for an
EIGRP packet to be sent to this neighbor and
for the local router to receive an
acknowledgment of that packet.
 Used to determine the retransmit interval,
a.k.a. retransmit timeout (RTO).
 RTO—The amount of time, in milliseconds, that
the router waits for an acknowledgment before
retransmitting a reliable packet from the
retransmission queue to a neighbor.
Stop
Start
Stop
No ACK Returned
24
Start
Stop
EIGRP Reliability
 RTO—The amount of time, in milliseconds, that the
router waits for an acknowledgment before
retransmitting a reliable packet from the
retransmission queue to a neighbor.
 Updates, queries and replies are sent reliably.
 A sequence number is assigned and an explicit ACK
is returned for each sequence number.
No ACK Returned
16 x RTO < Hold Timer
 If the RTO expires before and ACK is received, EIGRP retransmits another copy of
the packet.
 A maximum of 16 times OR until the hold time expires then the Neighbor is
declared down.
 When a neighbor is declared down:
 The adjacency is removed
 All networks reached through that neighbor are removed from the routing table.
 180 second hold time on low-speed NBMA links can be a long time to wait.
 Retransmission occurs after each RTO timer expires.
 After 16 attempts the neighbor is declared down.
25
 This is less time than waiting for the hold time to expire.
EIGRP Reliability
ACK
Update 100
Update 101
(in queue)
Multicast Flow
Timer expires
show ip problem
eigrp interfaces
R3#Potential
on multiaccess (Frame Relay, Ethernet) media where
IP-EIGRP
process 1
multipleinterfaces
neighbors for
reside.
 The next reliable
multicast packet
cannot
be sent until
all peers Pending
have
Xmit Queue
Mean
Pacing Time
Multicast
Acknowledged
the previousSRTT
multicast
packet.
Interface
Peers Un/Reliable
Un/Reliable
Flow Timer
Routes
 If one or 1more neighbors
are slow
Se0/1
0/0
60 to respond
0/15 it adversely
299 affects all 0peers.
1
0/0to respond
607 to multicasts
0/15 or does
3031
0 the
Se0/0
When a neighbor
is slow
not acknowledge
R3#multicast, the router will retransmit the packet as a unicast.
 This allows reliable multicasts to continue and speeds up convergence without
waiting for peers on lower speed links.
 Multicast flow timer - Determines how long a router should wait for an ACK to
be received before switching from multicast to unicast.
 Calculation is based on RTO and SRTT (Cisco proprietary)
26
Neighbor Table Contents
R3# show ip eigrp neighbors detail
IP-EIGRP neighbors for process 1
H
Address
Interface
3
10.0.0.18
Version 12.3/1.2,
2
10.0.0.14
Version 12.3/1.2,
1
10.0.0.5
Version 12.3/1.2,
0
10.0.0.9
Version 12.3/1.2,
R3#
Hold Uptime
SRTT
(sec)
(ms)
Se0/3
13 01:03:55
24
Retrans: 2, Retries: 0
Se0/2
14 01:04:08
29
Retrans: 1, Retries: 0
Se0/0
13 01:09:52 607
Retrans: 0, Retries: 0
Se0/1
12 01:10:19
60
Retrans: 0, Retries: 0
RTO
Q Seq Type
Cnt Num
200 0 5
200
0
4
3642
0
13
360
0
21
 The show ip eigrp interfaces detail command displays a router's
EIGRP Hello timer setting for each enabled interface.
27
Initial Route Discovery
A
B
Updated
Updated
EIGRP
Neighbor
Table
Hello, I am Router A. Is anyone there?
EIGRP
Neighbor
Table
Hello, I am Router B.
Updated
EIGRP
Topology
Table
Here is all my routing information.
I’m using split horizon.
Thanks for the information!
That is very nice of you.
Successor
Updated
IP
Routing
Table
Updated
EIGRP
Topology
Table
Successor
Here is all my routing information.
I’m also using split horizon.
Thanks for the information!
We’ve reached convergence.
Updated
IP
Routing
Table
28
Example: EIGRP Tables
Router C’s tables:
Router-ID
Router(config)# router eigrp as
Router(config-router)# router-id ip-address
 EIGRP Router ID is an IP address used to uniquely identify an
EIGRP router.
1. Use the IP address configured with the EIGRP router-id
command.
2. Highest IP address of any of its loopback interfaces.
3. Highest active IP address of any of its physical interfaces.
30
Forming Neighbor Adjacencies
 The following are the most common causes of problems with EIGRP
neighbor relationships:
 Unidirectional link
 Uncommon subnet, primary, and secondary address mismatch
 Mismatched masks
 K value mismatches
 Mismatched AS numbers
 Stuck in active
 Layer 2 problem
 Access list denying multicast packets
 Manual change (summary router, metric change, route filter)
 Does NOT prevent neighbor relationships
 Hello and Hold timer setting mismatch
 Duplicate router IDs
 IP MTU mismatch
31
The Metric
EIGRP Message
EIGRP Message - TLVs
TLV 0x0001 - EIGRP Parameters
• K values are used to calculate the EIGRP metric.
• The Hold Time advertised by a neighbor is the maximum
time a router should wait for any valid EIGRP message sent
by that neighbor before declaring it dead.
TLV 0x0002 - Internal IP Routes
• Delay: Sum of delays in units of 10
microseconds from source to
destination.
• Bandwidth: Lowest configured
bandwidth on any interface along the
route.
• Prefix length: Specifies the number
of network bits in the subnet mask.
• Destination: The destination address
of the route.
TLV 0x0003 - External IP Routes
• Fields used to track
external source of route.
• Same fields contained in
the Internal IP route TLV
(0x0002).
 IP external routes are routes which are imported into EIGRP through
redistribution of a default route or other routing protocols.
Metric
 By default, K1 and K3 are set to 1, and K2, K4, and K5 are set to 0.
 The result is that only the bandwidth and delay values are used in
the computation of the default composite metric.
 Reliability and Load are optional metrics.
 MTU is NOT a metric, never has been, never will be.
38
Metric
R1# show ip protocols
Routing Protocol is “eigrp 1”
Outgoing update filter list for all interfaces is not set
Incoming update filter list for all interfaces is not set
Default networks flagged in outgoing updates
Default networks accepted from incoming updates
EIGRP metric weight K1=1, K2=0, K3=1, K4=0, K5=0
<output omitted>
K1
K2
K3
K4
K5
 The K values on R1 are set to the default.
 Changing these values to other than the default is not recommended
unless the network administrator has a very good reason to do so.
 Cisco recommends that these values are not modified.
39
Metric: Displaying Interface Values
SanJose2> show interface s0/0
Serial0/0 is up, line protocol is up
Hardware is QUICC Serial
Description: Out to Westasman
Internet address is 192.168.64.5/30
MTU 1500 bytes, BW 1544 Kbit, DLY 20000 usec,
rely 255/255, load 246/255
<output omitted>
 EIGRP bandwidth uses the minimum bandwidth link represented in
107 divided by the kilobits per second.
 Show interfaces displays bandwidth in kilobits per second.
 EIGRP delay value is the sum of delays in tens of microseconds
multiplied by 256.
 Show interfaces displays delay in microseconds.
Metric Calculation
 For a review and examples of how the EIGRP metric is calculate
read Chapter 2 EIGRP, “EIGRP Metric Calculation” or review my
CIS 82 PowerPoint presentations on EIGRP.
41
DUAL
EIGRP Operations
IP EIGRP Neighbor Table
Neighbor IP Address
Local router exit
interface to neighbor
IP EIGRP Topology Table
Destination 1
FD / AD via each neighbor
IP Routing Table
Destination 1
Best route
 EIGRP selects primary (successor)
and backup (feasible successor)
routes and injects those into the
topology table.
 The primary (successor) routes are
then moved to the routing table.
List of directly connected adjacent EIGRP
neighbor routers and the local interface to exit
to reach it.
List of all routes learned from each EIGRP
neighbor and identifies successor routes and
feasible successor routes.
List of the best (successor) routes from the
EIGRP topology table and other routing
processes.
Example: EIGRP Tables
DUAL Concepts
 Diffusing Update Algorithm is the algorithm used by
EIGRP.
 Determines:
 best loop-free path
 loop-free backup paths (which can be used immediately)
 DUAL also provides the following:
 Fast convergence
 Minimum bandwidth usage with bounded updates
 DUAL uses several terms that are discussed in more detail
throughout this section:
 Successor
 Feasible distance
 Feasible successor
 Reported distance or advertised distance
 Feasible condition or feasibility condition
45
Successors and Feasible Successors
Feasible distance (FD) is the minimum distance (metric) along a path to a
destination network.
Reported distance (RD or AD) is the distance (metric) towards a destination as
advertised by an upstream neighbor. Reported distance is the distance reported
in the queries, the replies and the updates.
A neighbor meets the feasible condition (FC) if the reported distance by the
neighbor is less than the current feasible distance (FD) of this router. "If a
neighbors metric is less than mine, then I know the neighbor doesn't have a loop
going through me."
A feasible successor is a neighbor whose reported distance (RD) is less than the
current feasible distance (FD). Feasible successor is one who meets the feasible
condition (FC).
Your route (metric) to the network (RD to me) must be LESS than my current route
(my total metric) to that same network. If your route (metric) to the network (RD to
me) is LESS than my current route (my total metric), I will include you as a
FEASIBLE SUCCESSOR.
If your route (metric) to the network (RD to me) is MORE than my current route (my
46
total metric), I will NOT include you as a FEASIBLE SUCCESSOR.
Example 1: Best Path (Successor)? Feasible Successor?
RD = 6,000,000
R2
FD = 6,500,000
Which router is
the successor?
Network X
S0/0
R1
S0/1
FD = 3,500,000
R3
RD = 3,000,000
 FD = RD + additional Delay of serial link between R1 and neighbor.
(This could also be due the slowest bandwidth.)
47
Example 1
RD = 6,000,000
R2
FD = 6,500,000
Is R2 a feasible
successor?
Network X
S0/0
R1
S0/1
FD = 3,500,000
R3
Successor
RD = 3,000,000
 FD of 3,500,000 is the metric for network X in the routing table for
R1.
48
Example 1
RD = 6,000,000
NOT a Feasible
Successor
R2
FD = 6,500,000
Network X
S0/0
R1
S0/1
FD = 3,500,000
R3
Successor
RD = 3,000,000
 RD of R2 is greater than FD through R3.
 Does not meet FC.
 No FS.
49
Example 1
RX
RD = 6,000,000
R2
NOT a Feasible
Successor
Network X
S0/0
R1
S0/1
R3
Successor
RD = 3,000,000
 Maybe R2’s path to Network X includes R1 - Loop
50
Example 1
RD = 6,000,000
R2
NOT a Feasible
Successor
Network X
S0/0
R1
RX
S0/1
R3
Successor
RD = 3,000,000
 Or maybe R2’s does have a valid path to Network X.
 But R1 can’t tell because the distance vector update only gives it
distance and direction.
51
Example 2: Best Path (Successor)? Feasible Successor?
RD = 4,000,000
R2
FD = 5,500,000
Feasible
Successor?
Network X
S0/0
R1
S0/1
FD = 4,500,000
R3
Successor
RD = 3,000,000
 FD = RD + additional Delay of serial link between R1 and neighbor.
(This could also be due the slowest bandwidth.)
52
Example 2
RD = 4,000,000
R2
FD = 5,500,000
Feasible
Successor
Network X
S0/0
R1
S0/1
FD = 4,500,000
R3
Successor
RD = 3,000,000
 RD of R2 is less than (or equal to) the FD through R3.
 Meets FC, there is no loop back through R1.
 Is a FS.
53
RtrD
Query and Reply Packets
Queries
RtrB
Replies
RtrE
RtrA
X
RtrF
RtrC
RtrG
Looking for new route
 If there are no Feasible Successors, the router must ask neighbors for help in hope of
finding a new, loop-free path to the destination.
 Neighbor routers are compelled to reply to this query.
 If a neighbor has a route, it will reply with information about the successor(s).
 If not, the neighbor notifies the sender that it doesn’t have a route to the destination
either.
54
Step 1
10.1.1.0/24
A
(1)
(1)
B
D
(2)
(2)
C
(1)
(1)
E
 The topology
55
Step 2
10.1.1.0/24
A
(1)
B
X
(1)
D
(2)
(2)
C
(1)
(1)
E
 Successor
 Feasible Successor (AD is less than FD)
56
Step 3
10.1.1.0/24
A
Unusable
(1)
Successor still
via Router A
Unreachable
B
(2)
(2)
Successor still
via Router B
D
C
(1)
Q
(1)
E
Unusable
 Router D: Sets the metric to network 10.1.1.0/24 as unreachable (–1 is unreachable).
 No FS (Feasible Successor) in the topology table, so the route changes from the passive
state to the Active state.
 Active state: Router sends out queries to neighboring routers looking for a new successor.
 Sends a query to Routers C and E for an alternative path to network 10.1.1.0/24.
 Marks Routers C and E as having a query pending (q).
 Router E: DUAL marks the path to network 10.1.1.0/24 through Router D as Unusable.
 Router C: DUAL marks the path to network 10.1.1.0/24 through Router D as Unusable. 57
Step 4
10.1.1.0/24
A
Unusable
(1)
Successor still
via Router A
B
D
(2)
(2)
(1)
R
Successor still
via Router B
C
(1)
Q
E
Unusable
 Router D: DUAL receives a reply from Router C indicating no change to the path to
10.1.1.0/24
 DUAL removes the query pending flag from Router C.
 DUAL stays Active on network 10.1.1.0/24, awaiting a reply from Router E to its query (q).
 Router E: there is no FS to network 10.1.1.0/24, because the AD from Router C (3) is not less
than the original FD (also 3).
 DUAL generates a query to Router C.
58
 DUAL marks Router C as query pending (q).
Step 5
10.1.1.0/24
A
(1)
Successor still
via Router A
B
D
(2)
(2)
Successor still
via Router B
C
R
(1)
(1)
Converged
E
 Router D: DUAL stays active on network 10.1.1.0/24, awaiting a reply from Router E (q).
 Router E: DUAL receives a reply from Router C indicating no change.
 It removes the query flag from Router C.
 It calculates a new FD and installs a new successor route in the topology table.
 It changes the route to network 10.1.1.0/24 from Active to Passive (converged).
59
Step 6
10.1.1.0/24
A
(1)
Converged
Successor still
via Router A
B
D
(2)
(2)
(1)
Converged
R
Successor still
via Router B
C
(1)
E
 Router D: DUAL receives a reply from Router E.
 It removes the query flag from Router E.
 It calculates a new FD.
 It installs new successor routes in the topology table.
 Two routes (through Routers C and E) have the same FD, and both are marked as
successors.
 It changes the route to network 10.1.1.0/24 from Active to Passive (converged).
60
Step 7
10.1.1.0/24
A
(1)
Successor still
via Router A
B
(2)
(2)
Successor still
via Router B
D
C
(1)
(1)
E
 Router D: Two successor routes are in the topology table for network 10.1.1.0/24.
 Both successor routes are listed in the routing table, and equal-cost load balancing is in
effect.
 The network is stable and converged.
 Successor
 No Feasible Successors
61
Basic EIGRP Configuration
Our Topology
63
Preconfigs
R1(config)# no ip domain lookup
R1(config)# line con 0
R1(config-line)# exec-timeout 0 0
R1(config-line)# logging synchronous
 Configured on all routers.
64
R1
interface FastEthernet0/0
ip address 192.168.10.1 255.255.255.0
!
interface Serial0/0
bandwidth 1544
ip address 10.0.0.1 255.255.255.252
clock rate 64000
!
interface Serial0/1
bandwidth 1544
ip address 10.0.0.5 255.255.255.252
 Bandwidth of 1,424 Kbps (1,424,000 bps) between R3 and R4 on
bottom link
 1544 configured on all serial links just in case.
65
R2
interface FastEthernet0/0
ip address 192.168.20.1 255.255.255.0
!
interface Serial0/0
bandwidth 1544
ip address 10.0.0.2 255.255.255.252
!
interface Serial0/1
bandwidth 1544
ip address 10.0.0.9 255.255.255.252
clock rate 64000
66
R3
interface FastEthernet0/0
ip address 192.168.30.1 255.255.255.0
!
interface Serial0/0
bandwidth 1544
ip address 10.0.0.6 255.255.255.252
clockrate 64000
!
interface Serial0/1
bandwidth 1544
ip address 10.0.0.10 255.255.255.252
!
interface Serial0/2
bandwidth 1544
ip address 10.0.0.13 255.255.255.252
clockrate 64000
!
interface Serial0/3
bandwidth 1424
ip address 10.0.0.17 255.255.255.252
clockrate 64000
67
R4
interface FastEthernet0/0
ip address 172.16.1.1 255.255.255.0
!
interface Serial0/0
bandwidth 1544
ip address 10.0.0.14 255.255.255.252
!
interface FastEthernet0/1
ip address 172.16.2.1 255.255.255.0
!
interface Serial0/1
bandwidth 1424
ip address 10.0.0.18 255.255.255.252
68
Configuring
EIGRP – R1
R1(config)# router
R1(config-router)#
R1(config-router)#
R1(config-router)#
eigrp 1
network 10.0.0.0 0.0.0.3
network 10.0.0.4 0.0.0.3
network 192.168.10.0
 Wildcard masks – Specifically tells EIGRP which interfaces to be
enabled on.
 If subnet mask is used IOS may convert it for the running-config.
 Let’s do R2, R3 and R4 serial interfaces with wildcard masks…
69
Configuring
EIGRP
R2(config)# router
R2(config-router)#
R2(config-router)#
R2(config-router)#
eigrp 1
network 10.0.0.0 0.0.0.3
network 10.0.0.8 0.0.0.3
network 192.168.20.0
R3(config)# router
R3(config-router)#
R3(config-router)#
R3(config-router)#
R3(config-router)#
R3(config-router)#
eigrp 1
network
network
network
network
network
R4(config)# router
R4(config-router)#
R4(config-router)#
R4(config-router)#
eigrp 1
network 10.0.0.12 0.0.0.3
network 10.0.0.16 0.0.0.3
network 172.16.0.0
10.0.0.4 0.0.0.3
10.0.0.8 0.0.0.3
10.0.0.12 0.0.0.3
10.0.0.16 0.0.0.3
192.168.30.0
70
Outputs
R3# show ip route
C
D
D
D
C
C
D
C
C
192.168.30.0/24 is directly connected, FastEthernet0/0
192.168.10.0/24 [90/2172416] via 10.0.0.5, 00:02:47, Serial0/0
172.16.0.0/16 [90/2172416] via 10.0.0.14, 00:02:39, Serial0/2
192.168.20.0/24 [90/2172416] via 10.0.0.9, 00:17:22, Serial0/1
10.0.0.0/30 is subnetted, 5 subnets
10.0.0.8 is directly connected, Serial0/1
10.0.0.12 is directly connected, Serial0/2
10.0.0.0 [90/2681856] via 10.0.0.5, 00:02:57, Serial0/0
[90/2681856] via 10.0.0.9, 00:02:57, Serial0/1
10.0.0.4 is directly connected, Serial0/0
10.0.0.16 is directly connected, Serial0/3
 Why does R3 prefer the top link to 172.16.0.0?
 It is 1,544 kbps link compared to 1,424 kbps link below
 What do you notice about the 10.0.0.0 network? How many paths?
 R3 has equal cost paths to 10.0.0.0/30
71
Outputs
R3# show ip eigrp neighbors
IP-EIGRP neighbors for process 1
H
Address
Interface
Type
3
2
1
0
R3#
10.0.0.18
10.0.0.14
10.0.0.5
10.0.0.9
Se0/3
Se0/2
Se0/0
Se0/1
Hold Uptime
SRTT
(sec)
(ms)
13 00:17:37
24
14 00:17:50
29
14 00:23:35 607
12 00:24:01
60
 Does R3 see R4 as a neighbor on both links?
 Yes
RTO
Q
Seq
200
200
3642
360
Cnt
0
0
0
0
Num
5
4
13
21
72
Outputs
R3# show ip eigrp neighbors detail
IP-EIGRP neighbors for process 1
H
Address
Interface
3
10.0.0.18
Version 12.3/1.2,
2
10.0.0.14
Version 12.3/1.2,
1
10.0.0.5
Version 12.3/1.2,
0
10.0.0.9
Version 12.3/1.2,
R3#
Hold Uptime
SRTT
(sec)
(ms)
Se0/3
13 01:03:55
24
Retrans: 2, Retries: 0
Se0/2
14 01:04:08
29
Retrans: 1, Retries: 0
Se0/0
13 01:09:52 607
Retrans: 0, Retries: 0
Se0/1
12 01:10:19
60
Retrans: 0, Retries: 0
RTO
Q Seq Type
Cnt Num
200 0 5
200
0
4
3642
0
13
360
0
21
 Some other commands…
73
Outputs
R3# show ip eigrp interfaces
IP-EIGRP interfaces for process 1
Interface
Se0/1
Se0/0
Se0/2
Se0/3
R3#
Peers
1
1
1
1
Xmit Queue
Un/Reliable
0/0
0/0
0/0
0/0
Mean
SRTT
60
607
29
24
Pacing Time
Un/Reliable
0/15
0/15
0/15
0/17
Multicast
Flow Timer
299
3031
143
50
Pending
Routes
0
0
0
0
74
R3# show ip protocols
What are these telling us?
Routing Protocol is "eigrp 1"
Outgoing update filter list for all interfaces is not set
Incoming update filter list for all interfaces is not set
Default networks flagged in outgoing updates
Default networks accepted from incoming updates
EIGRP metric weight K1=1, K2=0, K3=1, K4=0, K5=0
K values
EIGRP maximum hopcount 100
Variance, later
EIGRP maximum metric variance 1
Redistributing: eigrp 1
Automatic network summarization is in effect
Maximum path: 4
Routing for Networks:
10.0.0.4/30
Directly connected networks
10.0.0.8/30
10.0.0.12/30
10.0.0.16/30
192.168.3.0
Routing Information Sources:
Gateway
Distance
Last Update
Neighbors
10.0.0.9
90
00:03:03
10.0.0.14
90
00:03:03
10.0.0.5
90
00:03:11
10.0.0.18
90
00:03:03
Distance: internal 90 external 170
75
Outputs
R3# show ip eigrp topology
<output omitted>
P 10.0.0.0/30, 2 successors, FD is 2681856
via 10.0.0.9 (2681856/2169856), Serial0/1
via 10.0.0.5 (2681856/2169856), Serial0/0
<output omitted>
Feasible distance
P 172.16.0.0/16, 1 successors, FD is 2172416
via 10.0.0.14 (2172416/28160), Serial0/2
via 10.0.0.18 (2312192/28160), Serial0/3
Reported Distance
is less than
Feasible distance
successor
feasible successor
Feasible distance: if this router was the successor.
76
Outputs
R3# show ip eigrp topology all-links
P 10.0.0.0/30, 2 successors, FD is 2681856, serno 13
via 10.0.0.9 (2681856/2169856), Serial0/1
successor
via 10.0.0.5 (2681856/2169856), Serial0/0
successor
via 10.0.0.18 (3845632/3193856), Serial0/3
non-feasible
successor
 Why does R3 show a third entry for 10.0.0.0/30?
 Why is R4 a non-feasible successor?
 Reported distance > Feasible distance
 There is a loop via the lower (1424kps) link!!!
77
Passive Interfaces
Passive Interfaces
Two ways to prevent EIGRP from speaking sending EIGRP messages
on an interface.
1. Enable EIGRP on the interface using the EIGRP network command
and use the the passive-interface command.
 Does NOT send any EIGRP messages on the interface.
 No Hellos, thus no neighbor adjacency
 Prefix (interface subnet) is still advertised on other interfaces
2. Do NOT enable EIGRP on the interface,
 Advertise about the connected route using route redistribution
using the redistribute connected configuration command.
 More complicated
 Less popular
79
Passive
Interfaces
R1# show ip eigrp inter
IP-EIGRP interfaces for process 1
Interface
Se0/0
Se0/1
Fa0/0
Peers
1
1
0
Xmit Queue
Un/Reliable
0/0
0/0
0/0
Mean
SRTT
34
31
0
Pacing Time
Un/Reliable
0/15
0/15
0/10
Multicast
Flow Timer
163
147
0
Pending
Routes
0
0
0
 The show ip eigrp interfaces command displays working interfaces
on which EIGRP has been enabled, but omits passive interfaces.
 A failure of the interface, or making the interface passive, would omit
the interface from the output of this command.
80
Passive
Interfaces
R1(config)# router eigrp 1
R1(config-router)# passive-interface fa 0/0
R1# show ip eigrp inter
IP-EIGRP interfaces for process 1
Interface
Se0/0
Se0/1
R1#
Peers
1
1
Xmit Queue
Un/Reliable
0/0
0/0
Mean
SRTT
32
28
Pacing Time
Un/Reliable
0/15
0/15
Multicast
Flow Timer
151
139
Pending
Routes
0
0
R1(config)# router eigrp 1
R1(config-router)# network 192.168.10.0
 No longer a neighbor.
 Must include network command.
81
Passive
Interfaces
R1# show ip protocols
<output omitted>
Routing for Networks:
10.0.0.0/30
10.0.0.4/30
192.168.10.0
Passive Interface(s):
FastEthernet0/0
 Verifying
82
Passive
Interfaces
R4(config)# router
R4(config-router)#
R4(config-router)#
R4(config-router)#
eigrp 1
passive-interface default
no passive-interface ser 0/0
no passive-interface ser 0/1
R4# show ip protocols
<output omitted>
Routing for Networks:
10.0.0.12/30
10.0.0.16/30
172.16.0.0
Passive Interface(s):
FastEthernet0/0
FastEthernet0/1
83
Summarization
84
Summarization
 Benefits:
 Smaller routing tables
 Reduces Query scope:
 EIGRP Query stops at a router which has a summary route
that includes the subnet listed in the Query, but not the
specific route listed in the Query
 EIGRP supports summarization on any router in the network
 Trade-offs:
 Can cause suboptimal routing
 Packets destined for inaccessible destinations will flow to the
summarizing router before being discarded
 Note: If a packet matches two routes in the routing table, the best
match will be the route with the longest-bit-match, the route with the
longer prefix-length (subnet mask).
85
EIGRP Summarization – Odds and Ends
 Any EIGRP router can summarize routes.
 OSPF: Summarization can only take place on the ABRs and
ASBRs.
 The summary route's metric is based on the lowest metric route
upon which the summary route is based.
 The summary route will use a metric equal to the metric of the
lowest metric subordinate route.
 Manual summarization creates a Null0 summary on the router doing
the summarization.
R3(config)# interface serial 0/0/1
R3(config-if)# ip summary-address eigrp 1 192.168.0.0 255.255.252.0
R3# show ip route
Creates a Null0 summary route
<output omitted>
D 192.168.0.0/22 is a summary, 00:00:06, Null0
86
The Null0 Summary Route
R1# show ip route
192.168.10.0/24 is variably subnetted, 3 subnets, 2 masks
D
192.168.10.0/24 is a summary, 00:45:09, Null0
C
192.168.10.4/30 is directly connected, Serial0/0/1
D
192.168.10.8/30 [90/3523840] via 192.168.10.6, 00:44:56, S0/0/1
172.16.0.0/16 is variably subnetted, 4 subnets, 3 masks
D
172.16.0.0/16 is a summary, 00:46:10, Null0
C
172.16.1.0/24 is directly connected, FastEthernet0/0
D
172.16.2.0/24 [90/40514560] via 172.16.3.2, 00:45:09, S0/0/0
C
172.16.3.0/30 is directly connected, Serial0/0/0
D 192.168.1.0/24 [90/2172416] via 192.168.10.6, 00:44:55, Serial0/0/1
 EIGRP automatically includes a Null0 summary route as a child
route whenever both of the following conditions exist:
 There is at least one subnet that was learned via EIGRP.
 Automatic summarization is enabled. (By default with EIGRP)
 What if R1 received a packet: 172.16.4.10
 It would be discarded – never looking for a supernet or default route
 Regardless of ip classless or no ip classless command
87
 Helps prevent any routing loops between the edge and ISP routers.
Disabling
Automatic
Summarization
172.16.0.0/16
R3# show ip route
192.168.10.0/24 is variably subnetted, 3 subnets, 2 masks
D
192.168.10.0/24 is a summary, 01:08:35, Null0
C
192.168.10.4/30 is directly connected, Serial0/0/0
C
192.168.10.8/30 is directly connected, Serial0/0/1
D
172.16.0.0/16 [90/2172416] via 192.168.10.5, 01:08:30, Serial0/0/0
C
192.168.1.0/24 is directly connected, FastEthernet0/0
 Like RIP, EIGRP automatically summarizes at major network
boundaries using the default auto-summary command.
88
Disabling
Automatic
Summarization
172.16.0.0/16
172.16.0.0/16
R3# show ip route
192.168.10.0/24 is variably subnetted, 3 subnets, 2 masks
D
192.168.10.0/24 is a summary, 01:08:35, Null0
C
192.168.10.4/30 is directly connected, Serial0/0/0
C
192.168.10.8/30 is directly connected, Serial0/0/1
D
172.16.0.0/16 [90/2172416] via 192.168.10.5, 01:08:30, Serial0/0/0
C
192.168.1.0/24 is directly connected, FastEthernet0/0
 Both R1 and R2 automatically summarizing.
 R1 is the successor because of the difference in bandwidth.
89
Disabling
Automatic
Summarization
172.16.0.0/16
R3# show ip route
<output omitted>
D
172.16.0.0/16 [90/2172416] via 192.168.10.5, 01:08:30, Serial0/0/0
 Is this the best route for all 172.16.0.0 subnets?
 No, suboptimal routing may occur.
 R3 will route all packets destined for 172.16.2.0 through R1.
 Solution?
 Need R1 and R2 to send individual subnets.
 R1 and R2 must stop automatically summarizing 172.16.0.0/16.
90
Disabling Automatic Summarization
R1(config)# router eigrp 1
R1(config-router)# no auto-summary
%DUAL-5-NBRCHANGE: IP-EIGRP(0) 1: Neighbor 172.16.3.2 (Serial0/0/0) is
resync: summary configured
%DUAL-5-NBRCHANGE: IP-EIGRP(0) 1: Neighbor 172.16.3.2 (Serial0/0/0) is
down: peer restarted
%DUAL-5-NBRCHANGE: IP-EIGRP(0) 1: Neighbor 172.16.3.2 (Serial0/0/0) is
up: new adjacency
<output omitted>
R2(config)# router eigrp 1
R2(config-router)# no auto-summary
R3(config)# router eigrp 1
R3(config-router)# no auto-summary
 Automatic summarization can be disabled with the no auto-summary.
 The router configuration command eigrp log-neighborchanges is on by
default on some IOS implementations. .
91
Disabling Automatic Summarization
R1# show ip route
C
D
C
D
C
D
192.168.10.0/30 is subnetted, 2 subnets
192.168.10.4 is directly connected, Serial0/0/1
192.168.10.8 [90/3523840] via 192.168.10.6, 00:16:55, S0/0/1
172.16.0.0/16 is variably subnetted, 3 subnets, 2 masks
172.16.1.0/24 is directly connected, FastEthernet0/0
172.16.2.0/24 [90/3526400] via 192.168.10.6, 00:16:53, S0/0/1
172.16.3.0/30 is directly connected, Serial0/0/0
192.168.1.0/24 [90/2172416] via 192.168.10.6, 00:16:52, Serial0/0/1
 R1 no more Null0 summary routes:
D
192.168.10.0/24 is a summary, 00:45:09, Null0
D
172.16.0.0/16 is a summary, 00:46:10, Null0
 What does this mean?
 This means any packets for their parent networks that do not match a
child route, the routing table will check supernet and default routes.
 Unless no ip classess is used
92
Disabling Automatic Summarization
R2# show ip route
D
C
D
C
C
C
D
192.168.10.0/30 is subnetted, 2 subnets
192.168.10.4 [90/3523840] via 192.168.10.10, 00:15:44, S0/0/1
192.168.10.8 is directly connected, Serial0/0/1
172.16.0.0/16 is variably subnetted, 3 subnets, 2 masks
172.16.1.0/24 [90/3526400] via 192.168.10.10, 00:15:44, S0/0/1
172.16.2.0/24 is directly connected, FastEthernet0/0
172.16.3.0/30 is directly connected, Serial0/0/0
10.0.0.0/30 is subnetted, 1 subnets
10.1.1.0 is directly connected, Loopback1
192.168.1.0/24 [90/3014400] via 192.168.10.10, 00:15:44, S0/0/1
 R2 no more Null0 summary routes :
D
192.168.10.0/24 is a summary, 00:00:15, Null0
D
172.16.0.0/16 is a summary, 00:00:15, Null0
93
172.16.0.0/16
R3# show ip route
172.16.0.0/16
C
C
D
D
D
C
192.168.10.0/30 is subnetted, 2 subnets
192.168.10.4 is directly connected, Serial0/0/0
192.168.10.8 is directly connected, Serial0/0/1
172.16.0.0/16 is variably subnetted, 3 subnets, 2 masks
172.16.1.0/24 [90/2172416] via 192.168.10.5, 00:00:11, S0/0/0
172.16.2.0/24 [90/3014400] via 192.168.10.9, 00:00:12, S0/0/1
172.16.3.0/30 [90/41024000] via 192.168.10.5, 00:00:12, S0/0/0
[90/41024000] via 192.168.10.9, 00:00:12, S0/0/1
192.168.1.0/24 is directly connected, FastEthernet0/0
 Why does R3’s routing table now have two equal-cost paths to
172.16.3.0/24?
 Shouldn’t the best path only be through R1 with the 1544-Mbps link?
94
Disabling
Automatic
Summarization
172.16.0.0/16
172.16.0.0/16
R3# show ip route
<output omitted>
D
172.16.3.0/30 [90/41024000] via 192.168.10.5, 00:00:12, S0/0/0
[90/41024000] via 192.168.10.9, 00:00:12, S0/0/1
 The slowest link is the 64-Kbps link
95
Manual Summarization
 EIGRP can be configured to summarize routes, whether or not
automatic summarization (auto-summary) is enabled.
 Modified topology.
96
Manual
Summarization
R3(config)# interface loopback 2
R3(config-if)# ip address 192.168.2.1 255.255.255.0
R3(config-if)# interface loopback 3
R3(config-if)# ip address 192.168.3.1 255.255.255.0
R3(config-if)# router eigrp 1
R3(config-router)# network 192.168.2.0
R3(config-router)# network 192.168.3.0
 Add two more networks to R3.
 Configure EIGRP network statements.
97
Manual
Summarization
192.168.1.0/24,
192.168.2.0/24,
192.168.3.0/24
192.168.1.0/24,
192.168.2.0/24,
192.168.3.0/24
Only pertinent routes shown
R1#
D
D
D
show ip route
192.168.1.0/24 [90/2172416] via 192.168.10.6, 02:07:38, S0/0/1
192.168.2.0/24 [90/2297856] via 192.168.10.6, 00:00:34, S0/0/1
192.168.3.0/24 [90/2297856] via 192.168.10.6, 00:00:18, S0/0/1
R2#
D
D
D
show ip route
192.168.1.0/24 [90/3014400] via 192.168.10.10, 02:08:50, S0/0/1
192.168.2.0/24 [90/3139840] via 192.168.10.10, 00:01:46, S0/0/1
192.168.3.0/24 [90/3139840] via 192.168.10.10, 00:01:30, S0/0/1
 Instead of sending three separate networks, R3 can summarize the
192.168.1.0/24, 192.168.2.0/24, and 192.168.3.0/24 networks as a single route.
98
Determining the Summary EIGRP Route
1. Write out the networks that you want to summarize in binary.
2. Find the matching bits.
 Count the number of leftmost matching bits, which in this example is 22.
 This number becomes your subnet mask for the summarized route: /22
or 255.255.252.0.
3. To find the network address for summarization, copy the matching 22 bits
and add all 0 bits to the end to make 32 bits.
The result is the summary network address and mask for 192.168.0.0/22
99
Configure EIGRP
Manual
Summarization
192.168.0.0/22
192.168.0.0/22
Router(config-if)# ip summary-address eigrp as-number network-address
subnet-mask
R3(config)# interface serial 0/0/0
R3(config-if)# ip summary-address eigrp 1 192.168.0.0 255.255.252.0
R3(config)# interface serial 0/0/1
R3(config-if)# ip summary-address eigrp 1 192.168.0.0 255.255.252.0
R3# show ip route
Creates a Null0 summary route
<output omitted>
D 192.168.0.0/22 is a summary, 00:00:06, Null0
 Because R3 has two EIGRP neighbors, the EIGRP manual summarization
in configured on both Serial 0/0/0 and Serial 0/0/1.
100
Verify EIGRP
Manual
Summarization
192.168.0.0/22
192.168.0.0/22
R1# show ip route
<output omitted>
D 192.168.0.0/22 [90/2172416] via 192.168.10.6, 00:01:11, Serial0/0/1
R2# show ip route
<output omitted>
D 192.168.0.0/22 [90/3014400] via 192.168.10.10, 00:00:23, Serial0/0/1
 Fewer number of total routes in routing tables
 Faster routing table lookup process more efficient.
 Summary routes also require less bandwidth and memory
 Single route can be sent rather than multiple individual routes.
 NOTE: The minimum metric of specified routes is used as the metric of the
summary route.
101
Default Route
102
EIGRP Default
Route
Default Route
Redistribute
default static
route in
EIGRP
updates
The ISP router in our topology does
not physically exist. By using a
loopback interface, we can simulate
a connection to another router.
R2(config)# ip route 0.0.0.0 0.0.0.0 loopback 1
R2(config)# router eigrp 1
R2(config-router)# redistribute static
 Unlike RIP and OSPF, EIGRP does not propagate a 0.0.0.0 0.0.0.0 by
default.
 Two ways to propagate a static default route in EIGRP:
 Redistribute static
 Network command
 redistribute static will redistribute all static routes by default.
103
EIGRP Default
Route
Default Route
Redistribute
default static
route in
EIGRP
updates
Only static default route shown,
other output omitted.
R1# show ip route
Gateway of last resort is 192.168.10.6 to network 0.0.0.0
D*EX
0.0.0.0/0 [170/3651840] via 192.168.10.6, 00:02:14, S0/0/1
 D: This static route was learned from an EIGRP routing update.
 *: The route is a candidate for a default route.
 EX: The route is an external EIGRP route, in this case a static route outside
of the EIGRP routing domain.
 170: This is the AD of an external EIGRP route.
104
EIGRP Default
Route
Default Route
R2(config)# ip route 0.0.0.0 0.0.0.0 loopback 1
R2(config)# router eigrp 1
R2(config-router)# network 0.0.0.0
 The network 0.0.0.0 command will propagate a default route as a result of
the static default route.
105
EIGRP Default-network
Default Route
Redistribute
default static
route in
EIGRP
updates
 There is another method to propagate a default route in EIGRP, using the
ip default-network command.
106
EIGRP Defaultnetwork
default-network
R2(config)# ip default-network 10.0.0.0
R2(config)# router eigrp 1
R2(config-router)# network 10.0.0.0
R2(config-router)# network 172.16.0.0
R2(config-router)# network 192.168.10.0
 ip default-network network-number
 network-number - Network of last-resort gateway that will be announced to all
other routers.
 R2’s routing table:
 10.0.0.0 will be shown as the “gateway of last resort”
 This network is propagated in EIGRP as a “gateway of last resort”
 If a subnet is specified IOS will install a static route in the running-config
107
A few commands…
108
show ip eigrp traffic
R1# show ip eigrp traffic
IP-EIGRP Traffic Statistics for AS 100
Hellos sent/received: 338/166
Updates sent/received: 7/7
Queries sent/received: 0/0
Replies sent/received: 0/0
Acks sent/received: 2/2
SIA-Queries sent/received: 0/0
SIA-Replies sent/received: 0/0
Hello Process ID: 228
PDM Process ID: 226
IP Socket queue:
0/2000/1/0 (current/max/highest/drops)
Eigrp input queue: 0/2000/1/0 (current/max/highest/drops)
R1#
 Displays the number of various EIGRP packets sent and received
109
debug ip eigrp
traffic
 Displays the types of EIGRP packets sent and received by the router on which
this command is executed.
 See example in Chapter 2 for a detailed explanation of this output.
R2# debug eigrp packets
*Jul 26 10:51:24.051: EIGRP: Sending HELLO on Serial0/0/0
*Jul 26 10:51:24.051:
AS 100, Flags 0x0, Seq 0/0 idbQ 0/0 iidbQ un/rely 0/0
*Jul 26 10:51:24.111: EIGRP: Sending HELLO on FastEthernet0/0
*Jul 26 10:51:24.111:
AS 100, Flags 0x0, Seq 0/0 idbQ 0/0 iidbQ un/rely 0/0
*Jul 26 10:51:26.667: EIGRP: Received HELLO on Serial0/0/0 nbr 192.168.1.101
*Jul 26 10:51:26.667:
AS 100, Flags 0x0, Seq 0/0 idbQ 0/0 iidbQ un/rely 0/0 peerQ un/re
ly 0/0
*Jul 26 10:51:28.451: EIGRP: Sending HELLO on FastEthernet0/0
*Jul 26 10:51:28.451:
AS 100, Flags 0x0, Seq 0/0 idbQ 0/0 iidbQ un/rely 0/0
*Jul 26 10:51:29.027: EIGRP: Sending HELLO on Serial0/0/0
*Jul 26 10:51:29.027:
AS 100, Flags 0x0, Seq 0/0 idbQ 0/0 iidbQ un/rely 0/0
*Jul 26 10:51:31.383: EIGRP: Received HELLO on Serial0/0/0 nbr 192.168.1.101
*Jul 26 10:51:31.383:
AS 100, Flags 0x0, Seq 0/0 idbQ 0/0 iidbQ un/rely 0/0 peerQ un/re
ly 0/0
*Jul 26 10:51:33.339: EIGRP: Sending HELLO on FastEthernet0/0
*Jul 26 10:51:33.339:
AS 100, Flags 0x0, Seq 0/0 idbQ 0/0 iidbQ un/rely 0/0
*Jul 26 10:51:33.511: EIGRP: Sending HELLO on Serial0/0/0
*Jul 26 10:51:33.511:
AS 100, Flags 0x0, Seq 0/0 idbQ 0/0 iidbQ un/rely 0/0
*Jul 26 10:51:36.347: EIGRP: Received HELLO on Serial0/0/0 nbr 192.168.1.101
*Jul 26 10:51:36.347:
AS 100, Flags 0x0, Seq 0/0 idbQ 0/0 iidbQ un/rely 0/0 peerQ un/re
ly 0/0
*Jul 26 10:51:37.847: EIGRP: Sending HELLO on Serial0/0/0
*Jul 26 10:51:37.847:
AS 100, Flags 0x0, Seq 0/0 idbQ 0/0 iidbQ un/rely 0/0
*Jul 26 10:51:37.899: EIGRP: Sending HELLO on FastEthernet0/0
110
debug ip eigrp
 Displays general
debugging information.
 See example in
Chapter 2 for a detailed
explanation of this
output.
111
That’s all for tonight, good night!
112
CIS 185 CCNP ROUTE
EIGRP Part 1
Rick Graziani
Cabrillo College
[email protected]
Last Updated: Fall 2010