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