CMP EMBEDDED.COM

Login | Register     Welcome Guest  
HOME DESIGN PRODUCTS COLUMNS E-LEARNING CONFERENCES CODE FORUMS/BLOGS NEWSLETTERS CONTACT FEATURES RSS RSS

Expanding the Embedded Universe: Migrating From IPv4 to IPv6



Embedded.com

Tunneling
In most deployment scenarios, the IPv6 routing infrastructure will be built up over time. While the IPv6 routing infrastructure is being deployed, the existing IPv4 routing infrastructure can remain functional and can be used to carry IPv6 traffic.

Tunneling provides a way to utilize the existing IPv4 routing infrastructure to carry IPv6 traffic. IPv6/IPv4 hosts and routers can tunnel IPv6 datagrams over regions of IPv4 routing topology by encapsulating them within IPv4 packets.

IPv6 defines numerous techniques to accomplish tunneling. Based on usability, flexibility, and perceived popularity, many implementations (Nucleus IPv6) have been designed to support two such tunneling techniques: Configured Tunneling and 6to4 Tunneling.

Configured Tunneling. In configured tunneling, the tunnel endpoint address is determined from configuration information in the encapsulating node. For each tunnel, the encapsulating node must store the tunnel endpoint address.

When an IPv6 packet is transmitted over a tunnel, the tunnel endpoint configured for that tunnel is used as the destination address for the encapsulating IPv4 header. Configured tunneling uses IPv6 native addresses as the source and destination addresses of the IPv6 packet.

6to4 Tunneling. The IANA has permanently assigned the prefix 2002::/16 for the 6to4 scheme. The subscriber site is then deemed to have the address prefix 2002:V4ADDR::/48, where V4ADDR is the globally unique 32-bit IPv4 address.

Within the subscriber site, this prefix is used exactly like any other IPv6 prefix. The 6to4 address is used as the source address of all communications via the 6to4 tunnel.

DNS For IPv6
To support the storage of IPv6 addresses, the following extensions have been defined:

* A new resource record type, AAAA, is defined to map a domain name to an IPv6 address
* A new domain, ip6.int, is defined to support lookups based on address

IPv6 Extension Headers
Unlike in IPv4, the IPv6 header is a fixed length. Any additional information that needs to be provided to the IP layer is contained in extension headers appended to the basic IPv6 header.

Ancillary Data
Ancillary data is used to transfer IPv6 Extension Headers and additional control information between the application and the network stack via socket options and the SendMessage/RecieveMessage routines provided by the IPv6 networking provider. This additional data is used by the local IPv6 stack, intermediate IPv6 stacks responsible for packet routing and the destination IPv6 stack to properly process the IPv6 packet as is required by the sending application.

In Conclusion
With the imminent exhaustion of the IPv4 address space, and a mounting number of embedded devices pushing the limits, the need for a new protocol is upon us. Fortunately, IPv6 has the necessary prerequisites to move the industry forward, enabling new and innovative functionality on a variety of devices that just a few years ago were unimaginable.

Rex Smith is a Product Manager for the Embedded Systems Division of Mentor Graphics where he is responsible for Nucleus OS and related products. Rex has spent more than 12 years working with embedded systems. Smith earned a Bachelors of Science in Electrical Engineering from University of Alabama. You can email Rex at: rex_smith@mentor.com.

1 | 2 | 3

Rate this article: Low High
Current rating
  • .
Embedded.com Career Center
Looking for a new job?
SEARCH JOBS

Browse all jobs

SPONSOR
RECENT JOB POSTINGS





 :