Case Study: ISC & Kea

Recently, Timothy Winters, Senior Executive, Software and IP Networking, at the lab was interviewed by the Internet Systems Consortium, Inc. (ISC). Timothy is the United States Government IPv6 (USGv6) and IPv6 Ready Logo technical lead. In his role, he oversees various aspects in testing of IPv6 technology, deals with various multi-vendor IPv6 testing scenarios and acts as a liaison between students and vendors during device testing and development. Here are the findings.

How are you using Kea?

We have multiple use cases. We have been using it as a system to develop our IPv6 testing and tools. We also use it as one of our trusted partners in our interoperability testbed and as our DHCPv6 server for the lab.

Why did you decide to use Kea?

Well, we were confident that Kea was tracking the IPv6 standards because we know Tomek Mrugalski (DHCP Development Manager at ISC) from his work at the IETF (he is DHC working group co-chair). We use ISC DHCP for the DHCPv4 server in the lab. We are always trying to use the latest tools and equipment to ensure our testbed is up-to-date and provide the highest quality of testing for our customers. When we set up these particular tests, Kea was the newer option.

How do you use Kea in the UNH-IOL?

Mostly we use it for host addressing, but we also have tons of visitors who come in for events and on-site testing. Any visitor who connects to our network and needs an IPv6 address, can choose DHCP or SLAAC.

That is an interesting point. There is a big debate about when to use SLAAC vs DHCP. DHCP is clearly more useful when you need to keep records on clients, or specify a lot of options…

Our network is very open. We have loads of guest users, so we don’t track or keep records. However, we do get a lot of Microsoft Windows clients on-site. Until a recent update, Windows 10 clients needed to use DHCP to get DNS information, so those clients couldn’t use SLAAC.

Tell me about using Kea for testing IPv6

At the lab we do testing for 2 programs, the IPv6 Ready Logo Program, and the US government test program (USGv6). The IPv6 Ready Logo is a global program focused on promoting IPv6 support in networked products. People bring products from all over the world to test at the UNH-IOL. Products that pass get an IPv6 Ready Logo and are listed on the IPv6 Ready Logo Program Approved List demonstrating they work together in an IPv6 environment. 

The IPv6 Ready Logo Program has several different logos that can be acquired by a network device; There is a DHCPv6 logo which confirms a network device supports the role of a DHCPv6 server, client, or relay-agent. For this logo, there is a requirement to test against 4 different implementations. Depending on what DHCP role the product under test supports, it has to interoperate with 2 devices in each of the other two roles. 

The USGv6 Test Program uses the same test plans and requirements for agencies that want to purchase device that support DHCPv6. Kea is one of the DHCP server implementations that we commonly use for the testing. The other servers we use in our test include ISC DHCP, Cisco CNR, and Infoblox. 

What are some of the interoperability problem areas you commonly see in the lab? 

A lot of implementations just take ISC’s DHCP client and put that in their boxes but don’t implement them well – the client is running but doesn’t talk to the operating system correctly (e.g as far as releasing the address). We’ve encountered issues with clients getting DNS information from DHCPv6 but not being able to update the DNS on the OS. We see fewer issues on the server side than we see on the client side when testing. We do a ton of testing for the home gateways. One important feature service providers need is RECONFIGURE. ISC DHCP doesn’t support that feature. That’s why we started using the Dibbler DHCPv6 server in our testing. (Nb: Dibbler is another open source DHCP implementation, written by ISC’s Director of DHCP Development, Tomek Mrugalski, when he was a graduate student.)

Any comments about Kea, positive or negative? 

We have over 100 undergraduate students working at the lab. Kea has been easy for them to learn and use without a lot of support from staff which shows it is easy to use. We also have several of our student employees learning networking at the same time as they are learning testing. Some don’t have much exposure to networking so this is an excellent platform for learning on.

Have you thought about using Hooks to extend Kea? 

Yes we are certainly thinking about it. We host an annual high school summer internship program, HighTech Bound, and are thinking of having some of the interns work with hooks this upcoming year. For us, a really useful application would be automating the testing, either running the testing overnight, and/or configuring the tests. We could give these hooks to the companies we work with so they can implement them for their in-house testing.