Click Here!

Fall 2008 Frontpage | Subscribe | Feedback 


In This Issue

IPv6: The New IP

Device Spotlight:
Altera Stratix IV


Previous Issues

Video Processing in FPGA vs. DSP

Signal Integrity 101
Series: P1 | P2 | P3

Device Spotlights

Altera Cyclone III
QPixel QL201B
Xilinx Virtex-5
Pixim D2500

Gennum VXP

IPFlex DAPDNA-2
TI DaVinci

Lattice XP
TI DM642 DSP
ADI TigerSharc
Altera's Nios II
Airgo Wireless



Nuvation HEADLINES 

New Events

» Nuvation expands Shanghai Design Center
» Air-HockeyBot in the spotlight
» 

Nuvation's eStore is launched!

»  Nuvation is hiring! Check out Nuvation's exciting careers in North America and Asia

New Affiliations

» InPlay Technologies partners with Nuvation
 


IPv6: Embedding the New Version of IP

John Bartas
Nuvation


First some basics: A networking “protocol” is a system of encoding bits on communications hardware such as Ethernet or Wi-Fi. Standard network protocols allow products from different organizations to interoperate, much as the 120 volt AC standard allows household electrical items from multiple vendors to be compatible.

IP is the basic protocol of the Internet, perhaps the most successful standard networking protocol of all time. It has changed our world by allowing email, browsers, file transfer, and dozens of other networking programs to all share the same global Internet.

Today’s Internet operates on version four of the Internet protocol, historically abbreviated as “IP”, but in this article as IPv4. IPv4 was standardized in 1981, and initially used only on a handful of computers. Messages on an IP network can be directed to individual computers on the network by means of a unique number assign to each computer on the network. This number is known as the IP address. Like a post office address, it allows message to be delivered to a specific computer, anywhere in the world. Forwarding IP messages (“packets”) based on the IP address is know as “routing”; and machines which perform routing are “routers”.

IPv4 addresses have 32 bits (4 bytes) – about enough for 4 billion computers to each have a unique number. These IP addresses are typically written as the four byte values (in decimal), separated by dots, for example “89.21.1.2”.

So why do we need IPv6?

In the early days of IPv4, most computers were owned by large organizations – companies, universities and government groups. Routing is more efficient if computers on the same local network have similar addresses, so these organizations were assigned large blocks of contiguous IP addresses. For example Hewlett Packard was assigned every IP address which began with 15 – 15.0.0.0 through 15.255.255.255. That works out to about 14 million addresses. Over 50 companies received blocks this generous before people realized that this would lead to future problems.

By 1990 it was clear that 4 billion addresses would not be enough. It was becoming common for people to have multiple home and office computers and other network devices. With over 4 billion people on earth, not everyone was going to get a enough IP addresses. In the early 90s technologies such as NAT and DHCP were developed, which stretched the supply of IP addresses by sharing and swapping them. Blocks of IP addresses were being reassigned to allow more computers to connect. And work began on a new version of IP which would have more than 32 bits in an address.

IP version 6 is generally considered to be the replacement for IPv4 (version 5 was a short-lived experiment). IPv6 has 128-bit addresses, far larger than the 32 bits in IPv4. This works out to more than ten billion billion billion times as many addresses as IPv4  – hopefully enough to get us through the next few decades.


International Markets


Because of the Internet’s origins, North American enterprises ended up with 85% of the IPv4 addresses. Fast Internet growth in the rest of the world, especially Asia, make the IPv4 address shortage much more severe than in the U.S., so much of the push for IPv6 has come from Asia and Europe. A product which only targets US markets may be viable with IPv4 only for some years, but International markets will probably demand an IPv6 strategy (see next section) now.

The IPv6 "Safety Net" Feature

One vexing fact of live for anyone who sells IP technology is that the world is not ready to shut down IPv4 before adopting IPv6. Everyone who uses the Internet has an investment in IPv4 technology. Even a casual home Internet setup has a computer or two, a router, email programs, browsers, and perhaps network mounted drives, IP phones, game consoles and so on. Replacing all that would mean a lot of time and money. The IPv4 investment is many times larger for businesses. Like analog and digital TV, there will be a period of overlap where both IPv4 and IPv6 coexist.

Most market experts agree IPv6 is coming, but no one knows how long this period or coexistence with IPv4 will last. IPv6 could abruptly reach a critical mass, where in a matter of months it becomes the preferred protocol. As a result, companies marketing networked products often require assurance that their technology won’t be obsolete if IPv6 usage becomes popular.  But it is difficult to justify a significant R&D investment for full IPv6 support - a feature few customers use today.

This leaves your R&D department in an awkward position. Global OEMs, resellers, and product managers want a promise that IPv6 will work flawlessly when required, but it has to fit in the IPv4 R&D budget - a sort of IPv6 safety net.

Many companies take the approach of vetting their IPv4 technology providers for IPv6 compatibility, but without actually buying any IPv6 technology. For commercial IP technology vendors, IPv6 support is simply a cost of doing business. Most operating systems and network software providers have already made the investment of a basic IPv6 protocol stack and the associated testing and application reworking. By insuring that your supplier is ready to field IPv6, product companies can pass this assurance along the supply chain.


What are the challenges of designing a product with IPv6?


IPv6 is not really a new protocol – the basic design has been around for over 10 years – so the work involved in fielding it is not a mystery. The R&D investment factors into a number of predictable items. Throughout this section the assumption is made that you don’t write the IPv6 protocol and associated code (the “stack”) in-house. Most embedded operating systems (as well as most desktop systems) already have capable support for IPv6. There are lots of solid commercial and freeware products available.


IPv4 didn’t go away


One challenge is that most IPv6 projects, embedded and otherwise, involve adding IPv6 support to an existing IPv4 system. Since almost every aspect of internet design, from configuration to application code, involves the IP addresses, this means incremental work at all levels of the design. The configuration will need an additional IPv6 address beside each IPv4 address – not only network interface address, but network mask, default router, and DNS server. Applications which parse IPv4 addresses will need to support IPv6 address. For example browser location bars support typing in a raw IP address. While most users rarely use this feature, it still needs to be supported. Basically, every place your system has code or resources for an IP address, more has to be added – more code paths, more parameter storage, more configuration GUI items, etc.

1. Testing  - conformance and otherwise

Once engineers have added all the IPv6 code and options to the system, you then need to make sure it works. Testing IPv4 configuration, email, browsing, etc.; is easy – you just hook your device to any commercial ISP, and choose from thousands of public servers. IPv6 has limited market penetration, and thus you have to find or stage every aspect of the testing, from finding a special IPv6-supporting ISP to locating servers which run on IPv6.
IPv6 also has an ad-hoc standard conformance test, provided free of charge by the “Tahi” Project. (www.tahi.org). This is a two-edged sword for developers – on the one hand it means one more hoop to jump through, however it also provides a widely accepted way to gain confidence that your IPv6 products actually work.


2. Configuration

As noted before, every place you did anything with an IPv4 address now needs parallel IPv6 support. Configuration is one area where this gets complex. Before we had an address, router, mask, DHCP and DNS to set up; now we add a v6 version of each of these. Even worse, it’s common practice for an IPv6 interface to have two or more IP addresses, requiring even more complex setup than IPv4.


3. Ongoing standard changes

The IPv6 standard continues to drift – more slowly with each passing year, but it’s still subject to change. This is another argument for getting an IPv6 stack from an external supplier which will be responsible for it.


4. Will I have to change my hardware to support it?

Generally, no hardware changes are required to support IPv6. The exception to this would be if you developed hardware which was specific to IPv4. This is rare, but it exists. For example, some Ethernet interfaces now include firmware to insert a TCP checksum into TCP packets they are about to send. This usually works by having the TCP software, after first verifying that the hardware supports this feature, leave a zero in the TCP header where the checksum should be. The Ethernet hardware calculates and insets the checksum prior to sending. The details of the checksum calculation depend on the 32-bit IPv4 address, and won’t work in IPv6 unless explicitly implemented as a separate feature.
Another area where hardware can be IPv4-centric is in routers. Many routers perform their task be using hardware which directly examines the IP addresses. Obviously a chip which does this for IPv4 won’t automatically work for differently formatted IPv6 packets. If you use such hardware, you will need to check for explicit IPv6 support.


5. IPv6 on Linux

The Linux operating system not only supports IPv6, but has one of the best implementations available. Years ago, a consortium of Japanese companies funded the Kame project, which invested heavily in producing one of the first and best IPv6 stacks. The target operating system was BSD, like Linux, an open source copy of the UNIX OS. The Kame stack is maintained as part of the Linux Kernel, and regularly tested against the Tahi conformance test. If you can live with the business-surly GCC license, than adopting Embedded Linux as your OS will solve most of your IPv6 issues in a single stroke.


Timeline

In June 2008, representatives of 42 members in the Organization for Economic Cooperation and Development (OECD) issued a declaration for the support of the next-generation internet protocol. With the EU calling for mass migration to IPv6 by 2010, and with 80% of IP resources already used up in countries like China and India, the migration towards the new protocol begins immediately.

For more information on integrating IPv6 into your project, contact Nuvation at sales@nuvation.com.

Additional Quicklinks:

Ask Nuvation a Technical Question
Get an Online Quote

Search Nuvation.com
Customer service
· To subscribe yourself or a friend, please click here.
· Questions? Comments? Send us your feedback.





Copyright © Nuvation Research Corporation 2008. All rights reserved.
Privacy Policy | About Nuvation | NUVATION.COM