Expanding the Embedded Universe: Migrating From IPv4 to IPv6

Rex Smith

September 10, 2008

Rex Smith

Neighbor Discovery
Neighbor Discovery solves a set of problems related to the interaction between nodes attached to the same link. It defines mechanisms for solving each of the following problems:

Stateless Address Autoconfiguration. This is a new feature of IPv6 beneficial to network administrators, because it requires no manual configuration of hosts, minimal (if any) configuration of routers, and no additional servers. The stateless mechanism allows a host to generate its own addresses using a combination of locally available information and information advertised by routers and verifies that each generated address is unique on the link.

Stateless Address Autoconfiguration should greatly decrease the costs of administering an enterprise network. Also, the task of renumbering networks will be simplified since IPv6 can assign new addresses and gracefully time out existing addresses without manual reconfiguration or DHCP.

Router Discovery. This feature is used to locate neighboring routers as well as to learn prefixes and configuration parameters related to Stateless Address Autoconfiguration.

Router Advertisements. These allow routers to inform hosts how to perform Address Autoconfiguration and contain Internet parameters such as the hop limit which should use in outgoing packets and, optionally, link parameters such as the link Maximum Transmission Unit (MTU). This facilitates centralized administration of critical parameters that can be set on routers and automatically propagated to all attached hosts.

Prefix Discovery. Flags associated with the prefixes specify the intended uses of a particular prefix. Hosts use the advertised on-link prefixes to build and maintain a list that is used in deciding when a packet's destination is on-link or beyond a router.

Address Expiration. IPv6 addresses are leased to an interface for a fixed (possibly infinite) length of time. Each address has an associated lifetime that indicates how long the address is bound to an interface.

When a lifetime expires, the binding (and address) become invalid and the address may be reassigned to another interface elsewhere in the Internet. To handle the expiration of address bindings gracefully, an address goes through two distinct phases while assigned to an interface.

Initially, an address is "preferred," meaning that its use in arbitrary communication is unrestricted. Later, an address becomes "deprecated" in anticipation that its current interface binding will become invalid. While in a deprecated state, the use of an address is discouraged but not strictly forbidden.

Address Resolution. This capability is the process through which a node determines the link-layer address (Ethernet MAC address, for example) of a neighbor given only its IP address. Address Resolution is redefined for IPv6 and does not use Address Resolution Protocol (ARP) packets, as is the case for IPv4.

Nodes accomplish Address Resolution of IPv6 neighbors by multicasting a request for the target node to return its link-layer address. The target returns its link-layer address in a unicast response. By using multicast and unicast addresses instead of the broadcast address, there are fewer needless interruptions of other nodes on the network.

Neighbor Unreachability Detection. This detects the failure of a neighbor or the failure of the forward path to the neighbor. Once failure has been detected, an alternate route can be found without interrupting the flow of data from the application's point of view.

Duplicate Address Detection. To insure that all configured addresses are unique on a given link, nodes perform Duplicate Address Detection on addresses before assigning them to an interface.

Header Format Simplification. In order to simplify and optimize processing of IP packets, a few changes were made to the format of the IP header for IPv6. The length of the IPv6 header is fixed as opposed to the variable length IPv4 header.

This helps to simplify processing of IPv6 packets as certain assumptions in the IP processing code can be made. Also, some IPv4 header fields have been dropped or made optional.

Most notable is the lack of a checksum field for the IPv6 header. This greatly improves performance in routers. When an IPv4 packet is forwarded by a router the Time-to-Live (TTL) field must be decremented, which forces the IPv4 header checksum to be recomputed; a CPU intensive operation. Since this field is not present in the IPv6 header routers simply decrement the Hop Limit, TTL in IPv6, and forward the packet.

Further, Neighbor Discovery defines five different ICMPv6 packet types. The messages serve the following purpose:

* Router Solicitation: Hosts send out Router Solicitations that request routers to generate Router Advertisements.

* Router Advertisement: Routers advertise their presence together with various link and Internet parameters either periodically, or in response to a Router Solicitation message.

* Neighbor Solicitation: Sent by a node to determine the link-layer address of a neighbor, or to verify that a neighbor is still reachable via a cached link-layer address.

* Neighbor Advertisement: A response to a Neighbor Solicitation message. A node may also send unsolicited Neighbor Advertisements to announce a link-layer address change.

* Redirect: Used by routers to inform hosts of a better first hop for a destination.

Multicast Listener Discovery
The purpose of Multicast Listener Discovery is to enable each IPv6 router to discover the presence of multicast listeners (that is, nodes wishing to receive multicast packets) on its directly attached links, and to discover specifically which multicast addresses are of interest to those neighboring nodes.

This information is then provided to whichever multicast routing protocol is being used by the router, in order to ensure that multicast packets are delivered to all links where there are interested receivers.

< Previous
Page 2 of 3
Next >

Loading comments...

Most Commented

  • Currently no items

Parts Search Datasheets.com

KNOWLEDGE CENTER