Which is more important: Mastering the theory of IPv6 or actually testing IPv6?
Theory is nice, but working with IPv6 in a lab is absolutely critical. Once you sit down and see things work, you understand them better. You gain the ability to put things into context based on your own eyes and experience. It's important to keep in mind that things constantly change in an environment. IPv6 is a live protocol and, just like IPv4, it continues to evolve. Implementations also continue to get refined and innovations start to penetrate implementation.
In one implementation, for example, we started by experimenting with IPv6 in a wiring closet. The setup was very small and simple -- just a few servers and other basic equipment -- and this was sufficient in getting our client up to speed on the basic functionality and capabilities of the new protocol. It was a great way to get things started. It matched very little of the production environment, but it was a very easy way for us to get a team interested in the IPv6 playground.
Next, you would move into an environment that is a bit more complex, particularly if you have an environment that's already being used for some type of trialing or development. Inserting an IPv6 component into this type of environment allows you to build an infrastructure that reflects the reality into which you can expand your testing scope.
Eventually, you can explore more and more complex scenarios when you start to mix the aspects of your infrastructure that relate to service delivery, data centers and so on. You shouldn't wait until you can build a big, beautiful testing environment before taking action. You should instead take things step by step.
Moreover, these little steps along the way are valuable, because sometimes you do have to go back and leverage a smaller set of resources in order to test a recent development or address something that needs to be re-evaluated.
Building an infrastructure or test environment according to your current environment is a bit less valuable than building an environment that matches future plans. You can't just focus on enabling current capabilities -- you need to think about the fact that soon you will need to enable a next-generation architecture. To a certain extent, you might need to enable current capabilities if you are already in the development process to leverage and test in that context, but the end goal should always be focused on next-generation development and planning.
For more information: Check out our guide on IPv6 basics.
Editor's note: With permission of the presenter, this expert answer was excerpted from a recorded presentation given by Popoviciu in 2011 at gogoNET LIVE!, an IPv6-centric conference sponsored by gogo6. View the full presentation here.
This was first published in May 2013