300 likes | 485 Views
IPv6 Operations. Defining and Configuring Neighbor Discovery. ICMPv6. Next Header = 58 ICMPv6 Packet . ICMPv6 is similar to ICMPv4: Provides diagnostic and error messages Used for path MTU discovery. IPv6 Basic Header. ICMPv6 Packet. ICMPv6 Packet. ICMPv6 Type. ICMPv6 Code. Checksum.
E N D
IPv6 Operations Defining and Configuring Neighbor Discovery
ICMPv6 Next Header = 58 ICMPv6 Packet • ICMPv6 is similar to ICMPv4: • Provides diagnostic and error messages • Used for path MTU discovery IPv6 Basic Header ICMPv6 Packet ICMPv6 Packet ICMPv6 Type ICMPv6 Code Checksum ICMPv6 Data
Source Destination Path MTU Discovery 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
Maximum Transmission Unit • IPv4 • MTU >= 68 octets • IPv6 • MTU >= 1280 octets • Path MTU used Link-Layer Frame Frame Header IPv6 Packet Frame Trailer Minimum MTU = 1280 Octets
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
IPv6 over Ethernet • IPv6 has a specific Ethernet protocol ID that is different from the protocol ID in IPv4. Destination Ethernet Address Source Ethernet Address 0x86DD IPv6 Header and Payload
Modified EUI-64 Format Ethernet MAC Address (48 Bits) • A modified EUI-64 address is formed by inserting "FFFE" and “complementing” a bit identifying the uniqueness of the MAC address. 00 90 27 17 FC 0F 00 90 27 17 FC 0F FF FE 64-Bit Version 00 90 27 FF FE 17 FC 0F 1 = universally unique 0 = locally unique U/L Bit 000000X0 where X = X = 1 17 FC 0F 02 90 27 FF FE Modified EUI-64 Address
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
128 Bits Solicited-Node Multicast Address • 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 IPv6 Address Prefix Interface ID 24 Bits Solicited-Node Multicast Address FF02 0 0001 FF Lower 24
Multicast Mapping over Ethernet FC0F IPv6 Address 2001 0DB8 1001 000F 02C0 10FF FE 17 IPv6 Solicited-Node Multicast Address FF02 0000 0000 0000 0000 0001 FF17 FC0F Corresponding Ethernet Address FF 33 33 17 FC 0F Multicast Prefix for Ethernet Multicast
B A Duplicate Address Detection • DAD uses neighbor solicitation to verify the existence of an address to be configured. ICMP type = 135 Src = 0 (::) Dst = solicited-node multicast ofA Data = link-layer address of A Query = What is your link address?
B A 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.
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
Neighbor Discovery: Autoconfiguration • Autoconfiguration • Stateless • Uses neighbor discovery router advertisements • Stateful • Uses DHCPv6 service
Neighbor Discovery: Router Advertisements • Routers send periodic router advertisements to the all-nodes multicast address. Router Advertisement RouterAdvertisement • Router advertisement packet definitions: • ICMP type = 134 • Src = router link-local address • Dst = all-nodes multicast address • Data = options, prefix, lifetime, autoconfiguration flag
Neighbor Discovery Parameters • Router advertisements: • Default router • IPv6 network prefix • Lifetime of advertisement Autoconfiguring IPv6 Hosts
Neighbor Discovery Parameters (Cont.) • Router advertisements: • Default router • IPv6 network prefix • Lifetime of advertisement Autoconfiguring IPv6 Hosts
Neighbor Discovery: Router Solicitations • At boot time, nodes send router solicitations to promptly receive router advertisements. Router Solicitation RouterAdvertisement • Router solicitation packet definitions: • ICMP type = 133 • Src = unspecified address • Dst = all-routers multicast address
Stateless Autoconfiguration • Router solicitations are sent by booting nodes to request router advertisement for configuring the interfaces. 1. Router solicitation 2. Routeradvertisement 2. Routeradvertisement • 1. Router Solicitation: • ICMP type = 133 • Src = :: • Dst = all-routers multicastaddress • Query = Please send router advertisement • 2. Router Advertisement: • ICMP type = 134 • Src = router link-local address • Dst = all-nodes multicast address • Data = options, prefix, lifetime, autoconfiguration flag
Renumbering • Renumbering is achieved by modifying the router advertisement to announce the old prefix with a short lifetime and the new prefix. • Router advertisement packet definitions: • ICMP type = 134 • Src = Router link-local address • Dst = All-nodes multicast address • Data = Two prefixes: • Current prefix (to be deprecated) with short lifetime • New prefix (to be used) with normal lifetime RouterAdvertisement
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.
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.
IPv6 Internet Cisco IOS Command for Overriding the Neighbor Discovery Defaults interface Ethernet0 ipv6 address 2001:db8:c18:1::1/64 ipv6 nd prefix 2001:db8:c18:1::/64 2000 1800 Router1 Router Advertisement Ethernet0 LAN1: 2001:db8:c18:1::/64 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 prefix2001:db8:c18:2::/64 2000 1800 Ethernet0 Router Advertisement Router2 Ethernet1 LAN2: 2001:db8:c18:2::/64
IPv6 Internet Cisco IOS Command for Overriding the Neighbor Discovery Defaults (Cont.) interface Ethernet0 ipv6 nd prefix 2001:db8:c18:1::/64 2000 1800 Router1 Router Advertisement Ethernet0 LAN1: 2001:db8:c18:1::/64 interface Ethernet0 ipv6 nd prefix 2001:db8:c18:1::/64 2000 1800 interface Ethernet1 ipv6 nd prefix2001:db8:c18:2::/64 2000 1800 Ethernet0 Router Advertisement Router2 Ethernet1 LAN2: 2001:db8:c18:2::/64
IPv6 Internet Cisco IOS Neighbor Discovery Lifetimes Router1 interface Ethernet0 ipv6 nd prefix 2001:db8:c18:1::/64 43200 43200 Router Advertisement Ethernet0 LAN1: 2001:db8:c18:1::/64 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 Ethernet0 Router Advertisement Router2 Ethernet1 LAN2: 2001:db8:c18:2::/64
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 preferred address 2001:db8:c18:1:260:8ff:fede:8fbe
Cisco IOS Network Prefix Renumbering Scenario (Cont.) Router Configuration after Renumbering: interface Ethernet0 ipv6 nd prefix2001:db8:c18:1::/64 43200 0 ipv6 nd prefix 2001:db8:c18:2::/64 43200 43200 or: interface Ethernet0 ipv6 nd prefix2001: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::/64Deprecated Prefix: 2001:db8:c18:1::/64 Router Advertisements Host Configuration: deprecated address 2001:db8:c18:1:260:8ff:fede:8fbe preferred address 2001:db8:c18:2:260:8ff:fede:8fbe Autoconfiguring IPv6 Hosts
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.