ICMPv6-ND:
·
Then,
how to route the packets in IPv6?
·
Then
how address resolution happens in IPv6?
·
Answer
is ICMPv6-ND
·
As
soon as we enable IPv6 address under the interface, it automatically finds
neighbors on the link and forms the neighbor relationship.
·
ICMPv6-ND
uses 4 major messages to discover the neighbors.
1. NS, Neighbor Solicitation
2. NA, Neighbor Advertisement
3. RS, Router Solicitation
4. RA, Router Advertisement
·
Let
me take 2 routers connected via Fa0/0 and configure IPv6 address and see the
debug messages:
R1-----fa0/0---------fa0/0-----R2
R1(config)#ipv6 unicast-routing
R1(config)#int fa0/0
R1(config-if)#ipv6 address 2001:12::1/64
R1(config-if)#
R1(config-if)#do debug ipv6 packet
R1(config-if)#do debug ipv6 nd
*Mar 1
03:55:41.750: ICMPv6-ND: Received NA for 2001:12::1 on
FastEthernet0/0 from 2001:12::1
*Mar 1
03:55:41.751: IPV6: source FE80::C000:1FFF:FEB4:0 (local)
*Mar 1 03:55:41.751: dest FF02::16 (FastEthernet0/0)
*Mar 1
03:55:41.751: traffic class 224,
flow 0x0, len 76+0, prot 0, hops 1, originating
*Mar 1
03:55:41.751: IPv6: Sending on FastEthernet0/0
*Mar 1
03:55:41.755: ICMPv6-ND: Adding prefix 2001:12::1/64 to FastEthernet0/0
*Mar 1
03:55:41.755: ICMPv6-ND: Sending NS for 2001:12::1 on
FastEthernet0/0
*Mar 1
03:55:41.755: IPV6: source :: (local)
*Mar 1
03:55:41.755: dest FF02::1:FF00:1 (FastEthernet0/0)
R1(config-if)#
*Mar 1
03:55:41.759: traffic class 224,
flow 0x0, len 64+16, prot 58, hops 255, originating
*Mar 1
03:55:41.759: IPv6: Sending on FastEthernet0/0
*Mar 1
03:55:42.759: ICMPv6-ND: DAD: 2001:12::1 is unique.
*Mar 1
03:55:42.759: ICMPv6-ND: Sending NA for 2001:12::1 on
FastEthernet0/0
*Mar 1
03:55:42.759: IPV6: source 2001:12::1 (local)
*Mar 1
03:55:42.759: dest FF02::1
(FastEthernet0/0)
*Mar 1
03:55:42.763: traffic class 224,
flow 0x0, len 72+8, prot 58, hops 255, originating
*Mar 1
03:55:42.763: IPv6: Sending on FastEthernet0/0
*Mar 1
03:55:42.763: ICMPv6-ND: Address 2001:12::1/64 is up on
FastEthernet0/0
R1(config-if)#
*Mar 1
03:55:42.935: IPV6: source FE80::C000:1FFF:FEB4:0 (local)
*Mar 1
03:55:42.935: dest FF02::16
(FastEthernet0/0)
*Mar 1
03:55:42.935: traffic class 224,
flow 0x0, len 76+0, prot 0, hops 1, originating
*Mar 1
03:55:42.939: IPv6: Sending on FastEthernet0/0
R1(config-if)#
*Mar 1
03:56:08.299: ICMPv6-ND: Sending RA to FF02::1 on
FastEthernet0/0
*Mar 1
03:56:08.299: ICMPv6-ND: MTU = 1500
*Mar 1
03:56:08.299: ICMPv6-ND: prefix =
2001:12::/64 onlink autoconfig
*Mar 1
03:56:08.299: ICMPv6-ND:
2592000/604800 (valid/preferred)
*Mar 1
03:56:08.299: IPV6: source FE80::C000:1FFF:FEB4:0 (local)
*Mar 1
03:56:08.303: dest FF02::1
(FastEthernet0/0)
*Mar 1
03:56:08.303: traffic class 224,
flow 0x0, len 104+1396, prot 58, hops 255, originating
*Mar 1
03:56:08.303: IPv6: Sending on FastEthernet0/0
R1(config-if)#
*Mar 1
03:56:33.643: ICMPv6-ND: Received RA from
FE80::C001:1FFF:FEB4:0 on FastEthernet0/0
R1(config-if)#do u all
All possible debugging has been turned off
R1(config-if)#
R2(config)#ipv6 unicast-routing
R2(config)#int fa0/0
R2(config-if)#ipv6 address
2001:12::2/64
R2(config-if)#
R2(config-if)#do debug ipv6 packet
R2(config-if)#do debug ipv6 nd
*Mar 1
03:55:40.391: IPV6: source FE80::C001:1FFF:FEB4:0 (local)
*Mar 1
03:55:40.395: dest FF02::16
(FastEthernet0/0)
*Mar 1
03:55:40.395: traffic class 224,
flow 0x0, len 76+0, prot 0, hops 1, originating
*Mar 1
03:55:40.395: IPv6: Sending on FastEthernet0/0
*Mar 1
03:55:40.399: ICMPv6-ND: Adding prefix 2001:12::2/64 to FastEthernet0/0
*Mar 1
03:55:40.399: ICMPv6-ND: Sending NS for 2001:12::2 on
FastEthernet0/0
*Mar 1
03:55:40.399: IPV6: source :: (local)
*Mar 1
03:55:40.399: dest FF02::1:FF00:2 (FastEthernet0/0)
*Mar 1
03:55:40.399: traffic class 224,
flow 0x0, len 64+16, prot 58, hops 255, originating
R2(config-if)#
*Mar 1
03:55:40.403: IPv6: Sending on FastEthernet0/0
*Mar 1
03:55:41.371: IPV6: source FE80::C001:1FFF:FEB4:0 (local)
*Mar 1
03:55:41.371: dest FF02::16
(FastEthernet0/0)
*Mar 1
03:55:41.371: traffic class 224,
flow 0x0, len 76+0, prot 0, hops 1, originating
*Mar 1
03:55:41.371: IPv6: Sending on FastEthernet0/0
*Mar 1
03:55:41.403: ICMPv6-ND: DAD: 2001:12::2 is unique.
*Mar 1
03:55:41.403: ICMPv6-ND: Sending NA for 2001:12::2 on
FastEthernet0/0
*Mar 1
03:55:41.403: IPV6: source 2001:12::2 (local)
*Mar 1
03:55:41.403: dest FF02::1 (FastEthernet0/0)
*Mar 1
03:55:41.407: traffic class 224,
flow 0x0, len 72+8, prot 58, hops 255, originating
*Mar 1
03:55:41.407: IPv6: Sending on FastEthernet0/0
*Mar 1
03:55:41.407: ICMPv6-ND: Address 2001:12::2/64 is up on
FastEthernet0/0
R2(config-if)#
*Mar 1
03:55:42.811: ICMPv6-ND: Received NA for 2001:12::1 on FastEthernet0/0 from
2001:12::1
R2(config-if)#
*Mar 1
03:56:08.375: ICMPv6-ND: Received RA from
FE80::C000:1FFF:FEB4:0 on FastEthernet0/0
R2(config-if)#
*Mar 1
03:56:33.627: ICMPv6-ND: Sending RA to FF02::1 on
FastEthernet0/0
*Mar 1
03:56:33.627: ICMPv6-ND: MTU = 1500
*Mar 1
03:56:33.627: ICMPv6-ND: prefix =
2001:12::/64 onlink autoconfig
*Mar 1
03:56:33.627: ICMPv6-ND:
2592000/604800 (valid/preferred)
*Mar 1
03:56:33.627: IPV6: source FE80::C001:1FFF:FEB4:0 (local)
*Mar 1
03:56:33.631: dest FF02::1
(FastEthernet0/0)
*Mar 1
03:56:33.631: traffic class 224,
flow 0x0, len 104+1396, prot 58, hops 255, originating
*Mar 1
03:56:33.631: IPv6: Sending on FastEthernet0/0
R2(config-if)#do u all
All possible debugging has been turned off
R2(config-if)#
R1#show ipv6 nei
IPv6 Address Age Link-layer
Addr State Interface
2001:12::2 0
c201.2530.0000 REACH Fa0/0
FE80::C001:25FF:FE30:0 0 c201.2530.0000 REACH Fa0/0
R1#
R2#show ipv6 nei
IPv6 Address Age Link-layer
Addr State Interface
2001:12::1 0
c200.2530.0000 REACH Fa0/0
FE80::C000:25FF:FE30:0 0 c200.2530.0000 STALE Fa0/0
R2#
Observation:
·
As
soon as we configure ipv6 address, we see that router is first sending NS to
check for Duplicate Address Detection.
·
NS
message is originated by the originated interface and the destination is
solicited-node multicast address
·
Once
DAD is over, then it is sending NA to find the neighbors on the link
·
Since
I have configured “ipv6 unicast-routing”, router is sending RA to find out the
routing devices on the link.
·
R1
and R2 now formed the neighbor relationship, show ipv6 neighbors shows this.
·
This
“show ipv6 neighbors” output is like arp table in IPv4.
No comments:
Post a Comment