Feb 102012
Spend 30 minutes with IPv6 every Friday!

Here in Sweden it’s cold and dark this time of year. Today I woke up to -17 degrees celsius outside. No wonder I rather stay home working on my IPv6 compatible SIP platform than go out and freeze to the bones. Today, I’m going to give you advice on how to set up IPv6 labs in order to learn, test software and services on your network. Spend 30 minutes on IPv6 every Friday and learn more!

Who to lab with?

It is crucial that everyone who works with networking – from the BGP gurus to the javascript jockeys – get involved in IPv6 and get used to it. The start is – like always – to take baby steps and get used to the new environment in a friendly way. You need to set up places where this can happen – in your organization and outside of it, to meet people that work in other situations and share experiences.

In Sweden, we have invited the local Internet Society chapter, the local Free and Open Software group, the Linux and Unix user groups and the Swedish Network Users Society. We’re trying to reach the Java development community as well as the Microsoft development community. I’m sure you have groups and organizations like this where you live too. Get involved and organize IPv6 labs! It’s a lot of fun and you will learn a lot from every session.

How to lab

When you start it is important not to set the bar too high. Most people haven’t seen IPv6 addresses on their laptop and tested either dual stack or single stack IPv6. That’s where to start. After you’ve gone through that you can focus on more advanced topics. But don’t forget that you will always get new people involved and let them start where you started. Here’s what we’ve done in the Swedish IPv6 Forum (and what we plan):

  • Get connected: Test IPv6 on your system. Very basic tests.
  • Address management: Test combinations of router advertisment/solicitation and DHCPv6 – how does address management look different on IPv6 compared with IPv4? Can you configure server and client side in the combination you want? Is it possible to manage hosts like before?
  • IPv6 routing and DHCPv6 PD: What is there to think about when routing IPv6? What’s best practice for subnetting? How do you set up DHCPv6 prefix delegation and which devices support it?
  • World IPv6 Launch preparation: What is needed to run dual stack web services, mail and DNS? What’s the quickest route to success?
  • IPv6 Security: Are home routers providing the same security mechanisms over IPv6 as over IPv4 with NAT? Are firewalls ready for IPv6? What’s the best current practice? Does the e-mail spam filters work over IPv6 mail servers?
  • IPv6 development: How do you make sure you can connect over dual stack networks? Are your applications handling IPv6 properly? Which API’s to use for a specific development platform?
There’s no shortage of topics, just get going and invite people. The important thing is to meet for a few hours, talk and work with IPv6. It doesn’t really matter if you reach a specific goal, because every minute you spend discussing, testing, screaming, laughing is important – you build on your shared knowledge base.

The base: IPv6 connectivity

The base for all labs is to get IPv6 connectivity. By preparing in advance, you can get a tunnel working regardless if you are on dynamic IP or have a fixed public IPv4 address for the tunnel endpoint. In most cases, you will be allocated a /48 IPv6 network, which is more than enough for most labs. For the first lab, we got a tunnel to a laptop running FreeBSD, then set up router advertisements and DHCPv6 on that system.

Adding a managed switch

We found it very useful to add a managed switch with VLAN support. By sub netting your IPv6 network and configuring routes to various VLANs that ends in different ports on the switch, you can set up IPv6 only networks, dual stack and networks with broken IPv6 or broken IPv4 for testing. All of these are interesting to experiment with. The broken ones are for testing Happy Eyeballs-like syndroms – what happens to a specific protocol if the IPv6 connection fails? Does the application move over to the working side of the dual stack world and try again within reasonable amount of time?

Testing all operating systems

Try to test multiple implementations of IPv6 to get the best experience. If you run virtual machines, make sure that the machine shares your host machine’s network interface in bridged mode. You want to test both server and client implementations. If you test routing – try to get equipment from multiple vendors and some Open Source routing applications too.

Getting your hands on IPv6-compatible devices

It will help if you get access to some IPv6-compatible devices, like the new generation of Dlink home routers or something from Netgear. This will show how vendors are implementing IPv6 support and how far they’ve gotten. Also, make sure people bring iPhone and iPads. With the brilliant IPv6 Toolkit application by James Hamilton, you will see that these devices connect and support IPv6 fully too. If you are aware of similar apps for Android or other platforms – please don’t hesitate to add pointers in a comment to this article!

The network manager’s best friend – Wireshark

The Wireshark network analyzer supports IPv6. There are many blog entries on the Wireshark blog about IPv6.  Attaching a laptop with Wireshark to a projector to go through various packet sequences on a large screen together really helps.

Finally – providing the engineers with necessary energy

To get the lab going and making the participants happy you need to provide them with large amounts of coffee and tea. Maybe energy drinks and snacks too. And don’t forget that the room you occupy need a large amount of power outlets, CAT5 cables and enough space for everyone to have multiple pieces of equipment around. After the lab, make sure you share your experiences on a blog, wiki or somewhere else where other can find your reports.

I’m looking forward to getting my hands over those lab reports to learn more!

Have a great IPv6 Friday!