IPv6 Operations
Defining and Configuring Neighbor
Discovery
© 2006 Cisco Systems, Inc. All rights reserved.
IP6FD v2.0—2-1
ICMPv6
Next Header = 58
ICMPv6 Packet
IPv6 Basic Header
ICMPv6 Packet
ICMPv6 Packet
ICMPv6 Type
ICMPv6 Code
Checksum
ICMPv6 Data
ICMPv6 is similar to ICMPv4:
• Provides diagnostic and error messages
• Used for path MTU discovery
© 2006 Cisco Systems, Inc. All rights reserved.
IP6FD v2.0—2-2
Path MTU Discovery
Source
Destination
MTU =
1500
MTU =
1500
MTU =
1400
MTU =
1300
Packet with MTU = 1500
ICMP error: packet too big
Use MTU = 1400
Packet with MTU = 1400
ICMP error: packet too big
Use MTU = 1300
Packet with MTU = 1300
Path MTU = 1300
© 2006 Cisco Systems, Inc. All rights reserved.
IP6FD v2.0—2-3
Maximum Transmission Unit
Link-Layer Frame
Frame Header
IPv6 Packet
Frame Trailer
Minimum MTU = 1280 Octets
• IPv4
– MTU >= 68 octets
• IPv6
– MTU >= 1280 octets
– Path MTU used
© 2006 Cisco Systems, Inc. All rights reserved.
IP6FD v2.0—2-4
IPv6 over Data Link Layers
IPv6 is defined for most data link layers:
• Ethernet
• PPP
• FDDI
• Token Ring
• HDLC
• Nonbroadcast multiaccess
• ATM
• Frame Relay
• IEEE 1394
© 2006 Cisco Systems, Inc. All rights reserved.
IP6FD v2.0—2-5
IPv6 over Ethernet
Destination
Ethernet
Address
Source
Ethernet
Address
0x86DD
IPv6 Header and Payload
IPv6 has a specific Ethernet protocol ID that is different
from the protocol ID in IPv4.
© 2006 Cisco Systems, Inc. All rights reserved.
IP6FD v2.0—2-6
Modified EUI-64 Format
Ethernet MAC Address
(48 Bits)
00
00
90
90
27
27
FF
64-Bit Version
U/L Bit
00
90
27
FF
000000X0
02
FC
0F
17
FC
0F
FE
FE
17
FC
0F
1 = universally unique
where X =
X=1
Modified EUI-64 Address
17
90
27
FF
0 = locally unique
FE
17
FC
0F
A modified EUI-64 address is formed by inserting "FFFE" and
“complementing” a bit identifying the uniqueness of the MAC
address.
© 2006 Cisco Systems, Inc. All rights reserved.
IP6FD v2.0—2-7
Neighbor Discovery
• Neighbor discovery:
– Queries for duplicate address detection
– Determines the link layer address of a neighbor on the
same link
– Finds neighbor routers on link
• Achieved by using ICMPv6 with IPv6 multicast
© 2006 Cisco Systems, Inc. All rights reserved.
IP6FD v2.0—2-8
Solicited-Node Multicast Address
IPv6 Address
Prefix
Interface ID
24 Bits
Solicited-Node Multicast Address
FF02
0
0001
FF
Lower 24
128 Bits
Solicited-node address:
• Multicast address with a link-local scope
• Formed by a prefix and the rightmost 24 bits of every unicast
and anycast address
© 2006 Cisco Systems, Inc. All rights reserved.
IP6FD v2.0—2-9
Multicast Mapping over Ethernet
IPv6 Address
IPv6 Solicited-Node
Multicast Address
2001
0DB8
1001
000F
02C0
10FF
FF02
0000
0000
0000
0000
0001
Corresponding
Ethernet Address
33
33
FF
FE 17 FC0F
FF17
17
FC0F
FC
0F
Multicast Prefix
for Ethernet
Multicast
© 2006 Cisco Systems, Inc. All rights reserved.
IP6FD v2.0—2-10
Duplicate Address Detection
ICMP type = 135
Src = 0 (::)
Dst = solicited-node multicast of A
Data = link-layer address of A
Query = What is your link address?
DAD uses neighbor solicitation to verify the
existence of an address to be configured.
© 2006 Cisco Systems, Inc. All rights reserved.
IP6FD v2.0—2-11
Neighbor Discovery: Neighbor Solicitation
ICMP type = 135
Src = A
Dst = solicited-node multicast of B
Data = link-layer address of A
Query = What is your link address?
ICMP type = 136
Src = B
Dst = A
Data = link-layer
address of B
A and B can now exchange
packets on this link.
© 2006 Cisco Systems, Inc. All rights reserved.
IP6FD v2.0—2-12
Neighbor Discovery: Neighbor Solicitation
(Cont.)
Neighbor Advertisement Message
• R: router flag, indicates sender is a router
• S: solicited flag, indicates message sent in response
to a neighbor solicitation
• O: override flag, indicates advertisement should override
existing neighbor cache entry
© 2006 Cisco Systems, Inc. All rights reserved.
IP6FD v2.0—2-13
Neighbor Discovery: Autoconfiguration
Autoconfiguration
• Stateless
– Uses neighbor discovery router advertisements
• Stateful
– Uses DHCPv6 service
© 2006 Cisco Systems, Inc. All rights reserved.
IP6FD v2.0—2-14
Neighbor Discovery:
Router Advertisements
Router
Advertisement
Router
Advertisement
Router advertisement packet definitions:
ICMP type = 134
Src = router link-local address
Dst = all-nodes multicast address
Data = options, prefix, lifetime, autoconfiguration flag
Routers send periodic router advertisements to the all-nodes multicast
address.
© 2006 Cisco Systems, Inc. All rights reserved.
IP6FD v2.0—2-15
Neighbor Discovery Parameters
Router advertisements:
• Default router
Autoconfiguring IPv6 Hosts
• IPv6 network prefix
• Lifetime of advertisement
© 2006 Cisco Systems, Inc. All rights reserved.
IP6FD v2.0—2-16
Neighbor Discovery Parameters (Cont.)
Router advertisements:
• Default router
Autoconfiguring IPv6 Hosts
• IPv6 network prefix
• Lifetime of advertisement
© 2006 Cisco Systems, Inc. All rights reserved.
IP6FD v2.0—2-17
Neighbor Discovery: Router Solicitations
Router
Solicitation
Router
Advertisement
Router solicitation packet definitions:
ICMP type = 133
Src = unspecified address
Dst = all-routers multicast address
At boot time, nodes send router solicitations to promptly receive router
advertisements.
© 2006 Cisco Systems, Inc. All rights reserved.
IP6FD v2.0—2-18
Stateless Autoconfiguration
1. Router
solicitation
2. Router
advertisement
1. Router Solicitation:
2. Router
advertisement
2. Router Advertisement:
ICMP type = 133
ICMP type = 134
Src = ::
Src = router link-local address
Dst = all-routers multicast
address
Dst = all-nodes multicast address
Query = Please send router
advertisement
Data = options, prefix, lifetime,
autoconfiguration flag
Router solicitations are sent by booting nodes to request router
advertisement for configuring the interfaces.
© 2006 Cisco Systems, Inc. All rights reserved.
IP6FD v2.0—2-19
Renumbering
Router advertisement packet definitions:
ICMP type = 134
Src = Router link-local address
Dst = All-nodes multicast address
Data = Two prefixes:
Router
Advertisement
Current prefix (to be deprecated) with short lifetime
New prefix (to be used) with normal lifetime
Renumbering is achieved by modifying the router advertisement
to announce the old prefix with a short lifetime and the new prefix.
© 2006 Cisco Systems, Inc. All rights reserved.
IP6FD v2.0—2-20
Value of Autoconfiguration
• IPv6 address autoconfiguration enables “plug-and-play.”
• Nodes may be deployed without a DHCPv6 server:
– Mobile devices (phones, PDAs, autos)
– Home electronics (TVs, DVRs, appliances)
– Field telemetry (oil pipeline gauges)
• Autoconfiguration enables massive deployment (millions)
of IPv6 nodes.
© 2006 Cisco Systems, Inc. All rights reserved.
IP6FD v2.0—2-21
Cisco IOS Neighbor Discovery Command
Syntax
router(config-if)#
ipv6 nd prefix <prefix> | default
[ [<valid-lifetime> <preferred-lifetime>] |
[at <valid-date> <preferred-date>]
[off-link] [no-autoconfig] ]
• Used to modify prefix advertisement parameters on an interface
from their default values.
© 2006 Cisco Systems, Inc. All rights reserved.
IP6FD v2.0—2-22
Cisco IOS Command for Overriding
the Neighbor Discovery Defaults
IPv6 Internet
Router1
Router
Advertisement
interface Ethernet0
ipv6 address 2001:db8:c18:1::1/64
ipv6 nd prefix 2001:db8:c18:1::/64 2000 1800
Ethernet0
LAN1: 2001:db8:c18:1::/64
Ethernet0
Router
Advertisement
Router2
Ethernet1
interface Ethernet0
ipv6 address 2001:db8:c18:1::2/64
ipv6 nd prefix 2001:db8:c18:1::/64 2000 1800
interface Ethernet1
ipv6 address 2001:db8:c18:2::1/64
ipv6 nd prefix 2001:db8:c18:2::/64 2000 1800
LAN2: 2001:db8:c18:2::/64
© 2006 Cisco Systems, Inc. All rights reserved.
IP6FD v2.0—2-23
Cisco IOS Command for Overriding
the Neighbor Discovery Defaults (Cont.)
IPv6 Internet
Router1
Router
Advertisement
interface Ethernet0
ipv6 nd prefix 2001:db8:c18:1::/64 2000 1800
Ethernet0
LAN1: 2001:db8:c18:1::/64
Ethernet0
Router
Advertisement
Router2
interface Ethernet0
ipv6 nd prefix 2001:db8:c18:1::/64 2000 1800
interface Ethernet1
ipv6 nd prefix 2001:db8:c18:2::/64 2000 1800
Ethernet1
LAN2: 2001:db8:c18:2::/64
© 2006 Cisco Systems, Inc. All rights reserved.
IP6FD v2.0—2-24
Cisco IOS Neighbor Discovery Lifetimes
IPv6 Internet
Router1
Router
Advertisement
interface Ethernet0
ipv6 nd prefix 2001:db8:c18:1::/64 43200 43200
Ethernet0
LAN1: 2001:db8:c18:1::/64
Ethernet0
Router
Advertisement
Router2
interface Ethernet0
ipv6 nd prefix 2001:db8:c18:1::/64 43200 43200
ipv6 nd ra lifetime 100
interface Ethernet1
ipv6 nd prefix 2001:db8:c18:2::/64 43200 43200
Ethernet1
LAN2: 2001:db8:c18:2::/64
© 2006 Cisco Systems, Inc. All rights reserved.
IP6FD v2.0—2-25
Cisco IOS Network Prefix Renumbering
Scenario
Router Configuration before Renumbering:
interface Ethernet0
ipv6 nd prefix 2001:db8:c18:1::/64 43200 43200
Network Prefix: 2001:db8:c18:1::/64
Router
Advertisements
Host Configuration:
Autoconfiguring
IPv6 Hosts
© 2006 Cisco Systems, Inc. All rights reserved.
preferred address 2001:db8:c18:1:260:8ff:fede:8fbe
IP6FD v2.0—2-26
Cisco IOS Network Prefix Renumbering
Scenario (Cont.)
Router Configuration after Renumbering:
interface Ethernet0
ipv6 nd prefix 2001:db8:c18:1::/64 43200 0
ipv6 nd prefix 2001:db8:c18:2::/64 43200 43200
or:
interface Ethernet0
ipv6 nd prefix 2001:db8:c18:1::/64 at Jul 31 2002 23:59 Jul 1 2002 23:59
ipv6 nd prefix 2001:sb8:c18:2::/64 43200 43200
New Network Prefix: 2001:db8:c18:2::/64
Deprecated Prefix: 2001:db8:c18:1::/64
Router Advertisements
Host Configuration:
Autoconfiguring
IPv6 Hosts
© 2006 Cisco Systems, Inc. All rights reserved.
deprecated address 2001:db8:c18:1:260:8ff:fede:8fbe
preferred address 2001:db8:c18:2:260:8ff:fede:8fbe
IP6FD v2.0—2-27
Summary
• ICMP messages are used for many IPv6 functions, including path MTU discovery,
neighbor discovery, and router discovery. ICMPv6 is an integral part of IPv6 but
looks similar to a Layer 4 protocol, much like TCP or UDP.
• Path MTU is performed by nodes in an effort to determine the largest packet size
they can send to a given destination. It is based on a process of sending large
packets and listening for ICMPv6 error messages.
• Neighbor discovery is a critical process that allows neighbors to determine the
link-layer address associated with a given IPv6 address. It also allows hosts to
receive prefix information to configure a global-scope address and find the
default router.
• Before a node can use an address, it must test it for uniqueness on the link. DAD
is a process by which a node with a "tentative" address that it would like to use
determines if that address is already in use.
• Autoconfiguration provides a type of network “plug-and-play,” easily supporting
millions of transient nodes and enabling a network environment with support for
mobile phones, field sensors, and home appliances.
• Cisco routers are IPv6-ready and are configured for IPv6 functions on a global
and per-interface basis, depending on the function being enabled.
© 2006 Cisco Systems, Inc. All rights reserved.
IP6FD v2.0—2-28
© 2006 Cisco Systems, Inc. All rights reserved.
IP6FD v2.0—2-29