RE: Understanding the ipv6 route table

From: Scott Morris (swm@emanon.com)
Date: Wed Jun 08 2005 - 16:05:00 GMT-3


Ok... So you were trying to reach a global unicast address, and that's
cool. Changed things to show it's reachable.

How about when you ping FE80::203:6BFF:FE21:9700? What does the table do
then?

It's all part of the neighbor discovery idea within IPv6. It's similar (not
exact, but close enough for government work) to the way an arp-cache works
like we've come to know and love in IPv4.

Play around, see what changes!

With IPv6: "Unlike ARP, Neighbor Discovery detects half-link failures
(using
      Neighbor Unreachability Detection) and avoids sending traffic to
      neighbors with which two-way connectivity is absent."

Per RFC 2461:

     STALE The neighbor is no longer known to be reachable but
                  until traffic is sent to the neighbor, no attempt
                  should be made to verify its reachability.

      DELAY The neighbor is no longer known to be reachable, and
                  traffic has recently been sent to the neighbor.
                  Rather than probe the neighbor immediately, however,
                  delay sending probes for a short while in order to
                  give upper layer protocols a chance to provide
                  reachability confirmation.

So it's all part of normal functionality in the building of neighbor
reachability, and you'll see all sorts of things coming into and going out
of a stale or delayed state as your live network does things!

HTH,

Scott

-----Original Message-----
From: ccie2be [mailto:ccie2be@nyc.rr.com]
Sent: Wednesday, June 08, 2005 12:18 PM
To: 'Scott Morris'; 'Group Study'
Subject: RE: Understanding the ipv6 route table

Scott,

Thanks again.

So, when you say, "The FE80::/10 is the entire local-link range. Any
learned neighbors (discovered) will be shown as a more specific route.", you

mean I should see those neighbors in the neighbor table, not the ipv6 route

table, I assume.

Below, I tried the show ipv6 neighbor command a few times and here's what I
saw:

R6#sh ipv6 nei
IPv6 Address Age Link-layer Addr State Interface
FE80::203:6BFF:FE21:9700 225 0003.6b21.9700 STALE Ethernet0

I figured "STALE" couldn't be good, so I pinged R6's neighbor, R4.

Then, I saw this:

R6#p 2001:144:3:46:203:6BFF:FE21:9700

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 2001:144:3:46:203:6BFF:FE21:9700, timeout
is 2
 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/2/4 ms R6#sh
ipv nei
IPv6 Address Age Link-layer Addr State Interface
FE80::203:6BFF:FE21:9700 228 0003.6b21.9700 DELAY Ethernet0
2001:144:3:46:203:6BFF:FE21:9700 0 0003.6b21.9700 REACH Ethernet0

This is what the CR says about Delay and Stale:

STALE-More than ReachableTime milliseconds have elapsed since the last
positive confirmation was received that the forward path was functioning
properly. While in STALE state, the device takes no action until a packet is
sent.

.DELAY-More than ReachableTime milliseconds have elapsed since the last
positive confirmation was received that the forward path was functioning
properly. A packet was sent within the last DELAY_FIRST_PROBE_TIME seconds.
If no reachability confirmation is received within DELAY_FIRST_PROBE_TIME
seconds of entering the DELAY state, send a neighbor solicitation message
and change the state to PROBE.

What the CR doesn't say is if this is "normal" and indicates a problem that
requires some action be taken.

So, when I see Delay or Stale in the output of show ipv6 neighbors, should I
be concerned and do I need to take some action?

Thanks again for bearing with me as I try to get up to speed with this.

Tim

-----Original Message-----
From: nobody@groupstudy.com [mailto:nobody@groupstudy.com] On Behalf Of
Scott Morris
Sent: Wednesday, June 08, 2005 11:52 AM
To: 'ccie2be'; 'Group Study'
Subject: RE: Understanding the ipv6 route table

Correct, but since the /64 is in the table, is it necessary to directly see
about others? That would make for a HUGE table on an ethernet network!

"show ipv6 neighbors" will help you with that part. That's actually a
separate table (separate from routing table).

Scott

-----Original Message-----
From: nobody@groupstudy.com [mailto:nobody@groupstudy.com] On Behalf Of
ccie2be
Sent: Wednesday, June 08, 2005 10:50 AM
To: 'Scott Morris'; 'Group Study'
Subject: RE: Understanding the ipv6 route table

Scott,

Thank you. Slowing the light begins to shine.

Now, based on what you said about discovered neighbors, is this route table
telling me I have a problem?

R4 has 2 ipv6 neighbors: 1 neighbor is on subnet 2001:144:3:46::/64
connected to E0/0 but this neighbor isn't shown.

The another neighbor is via s0/0.24 (p2p) on subnet 2001:144:3:24::/64 but
this neighbor isn't listed either.

Yet, I know R4 is talking RIPng to R2 because R2 is configured to advertise
a default route and that is listed in the ipv6 route table.

R ::/0 [120/2]
     via FE80::2D0:BAFF:FE7B:F580, Serial0/0.24

R2 s0/1.24 ------ s0/0.24 R4 e0/0 ------ e0 R6

TIA, Tim

-----Original Message-----
From: nobody@groupstudy.com [mailto:nobody@groupstudy.com] On Behalf Of
Scott Morris
Sent: Wednesday, June 08, 2005 10:10 AM
To: 'ccie2be'; 'Group Study'
Subject: RE: Understanding the ipv6 route table

Your own local ID's are listed in there (the /128 is IPv6 equivalent of
/32). Remember that with the EUI-64 thing, not often do people really know
what their own IPv6 addresses are. It's not like a .1, .2, etc any longer.

The FE80::/10 is the entire local-link range. Any learned neighbors
(discovered) will be shown as a more specific route. Anything else unknown
is automatically shipped out to Null0 in order to speed up processing.
Either I know about it or I don't!

FF00::/8 is the multicast range. Again, don't know it, don't use it.

Remember that just like in IPv4 stuff, more specific routes will be used all
the time. These are just to speed up the general thinking process of the
routers and let you (the unsuspecting administrator!) know what's going on.

If you use the "show ip route | don't tell me too much" parameter, the table
will be much more readable!

;)

Scott

-----Original Message-----
From: nobody@groupstudy.com [mailto:nobody@groupstudy.com] On Behalf Of
ccie2be
Sent: Wednesday, June 08, 2005 10:01 AM
To: Group Study
Subject: Understanding the ipv6 route table

Hi guys,
 
This is a copy of the ipv6 route table from 1 of my routers. I need some
help interpreting what's it's telling me.
 
When I look at the "L" entries, it seems that they correspond to the
preceding "C" entries except that they include the interface-id until I look
at the last 2 "L" entries.
 
What are these last 2 entries telling me and why are they there?
 
TIA, Tim
 
R4#sh ipv route
IPv6 Routing Table - 7 entries
Codes: C - Connected, L - Local, S - Static, R - RIP, B - BGP
       U - Per-user Static route
       I1 - ISIS L1, I2 - ISIS L2, IA - ISIS interarea
       O - OSPF intra, OI - OSPF inter, OE1 - OSPF ext 1, OE2 - OSPF ext 2
R ::/0 [120/2]
     via FE80::2D0:BAFF:FE7B:F580, Serial0/0.24
C 2001:144:3:24::/64 [0/0]
     via ::, Serial0/0.24
L 2001:144:3:24:203:6BFF:FE21:9700/128 [0/0]
     via ::, Serial0/0.24
C 2001:144:3:46::/64 [0/0]
     via ::, Ethernet0/0
L 2001:144:3:46:203:6BFF:FE21:9700/128 [0/0]
     via ::, Ethernet0/0
L FE80::/10 [0/0] <- What's this for ?
     via ::, Null0
L FF00::/8 [0/0]
     via ::, Null0 <- What's this for?



This archive was generated by hypermail 2.1.4 : Wed Jul 06 2005 - 14:43:41 GMT-3