IPv6: An Interview with Itojunby Hubert Feyrer
The KAME IPv6 stack is very well known in the BSD world and beyond, but hardly anyone knows about the KAME project that developed the stack. We grabbed one of the core developers/integrators of the KAME project, Jun-ichiro "itojun" Hagino, and asked him to tell us about it.
Hubert Feyrer: General acceptance of IPv6 seems to be very low as people don't feel a pressing need to migrate from IPv4. When do you think 25 percent, 50 percent, 100 percent of Internet sites will talk IPv6?
Jun-ichiro "itojun" Hagino: I'm not very sure, but if you are talking about "IPv6-enabled devices," Unix boxes are becoming more and more IPv6-ready. If you install Solaris 8, it is IPv6-ready. I heard that next official release of Windows 2000 (2001?) will be IPv6-ready. People just need to enable it, or configure it, that's all. So I see the obstacle in the ISP and router-vendor's side. They have a kind of deadlock situation: ISPs do not deploy IPv6 until routers are ready, and vendors do not ship routers until ISPs deploy it. I would like to change the situation by making code more available.
I don't understand why people keep using NAT. I think they are wasting their time! I had more than enough troubles with NAT. I really need simpler solution -- that is, IPv6. Internet technology has to be much more stable, simple, and robust -- unlike configurations with NAT. I believe people need to get better informed.
Feyrer: Where do you see applications of IPv6 that can speed up its deployment? What's the killer application?
Itojun: To deploy IPv6, I believe we just need to make sure more products are IPv6-ready, and more ISPs are IPv6-ready (or at least their equipment is). This is what we do now.
Some say that IPv4 was deployed because of the Web, and call the Web the killer application. I feel this story is too simplified. IPv4 was there even before the Web hit the street. There were lots of ISPs; there were university networks; IPv4 was deployed enough to hit the critical mass. Then, the Web appeared and IPv4 deployed to a much wider group of people.
So, what I believe is we need to deploy IPv6 first, and then someone can come up with an application that is not possible with IPv4. I do not really have concrete image about how that application will look. IPv6 can be used for much wider purposes, due to bigger addresses, including cellphones, lightbulbs, vehicles, and household appliances -- it will make a big difference.
From an implementation and specification point of view, IPv6 is ready to replace IPv4. I do everything I would do with IPv4 with IPv6. I don't have to deal with NAT. I don't have to worry about address space shortage anymore; it's just better. We just need wider availability for it.
Feyrer: When was the KAME project born? What's its history?
Itojun: In Japan, we have an Internet technology research group called WIDE, which has a large number of researchers from universities and companies. We operate our research network backbone, and do random Internet research. Think of it as Japanese version of (USENIX + Internet2) / 2.
In 1995, WIDE started IPv6 implementation and test operations. We thought IPv6 was cool, and we also thought we had many problems to solve. IPng effort was first started at INET92 conference held in Kobe, Japan, so it is natural for Japanese guys to get involved
In 1997, we became aware of two problems. One was the maintenance of these IPv6 stacks. These implementations had only one or two developers for each, so we were wasting our human resources maintaining too many IPv6 stacks. We thought it was better to integrate implementations, taking the best parts from each of them, and ship a single source code tree. Another problem is availability of the code to wider audiences. We learned IPv4 and its gory details mainly from BSD source code, not from specifications. We thought it was very important to integrate well-documented IPv6 source code into BSD, to teach IPv6 to people, deploy IPv6, torture-test IPv6 and give feedback to the specification. We felt the serious need for deploying IPv6 code into BSDs.
We formed the KAME project in April 1998 to solve the above two problems. KAME is a consortium of companies and universities. KAME implementers are those guys who implemented IPv6 stack in their companies and universities. The year 1998 was basically spent for integration of Japanese codebases. After that, we began doing BSD integrations and new developments. Now we support seven different versions of BSDs (
freebsd, bsdi, netbsd, openbsd), and our code is integrated into all of the latest BSD releases.
http://www.kame.net/project-overview.html has slightly more "official" answer
Feyrer: How many people are there on the KAME project, and what are they doing?
Itojun: We have about 10 implementers at KAME. Though the base specifications are finished, IPv6 is still in its infancy. We see many new APIs and features coming, and we are improving many things. So we still are developing new items and fixing bugs. Examples are things like scoped routing, better multihoming, DNS enhancements, PPP (address assignment issues are very hard), routing (scalability issues), multicast, and many other things.
Another major portion of work is to backport changes to BSDs. This task is very difficult, in my opinion. Because some of the APIs/protocols/code are not mature enough for general consumption, we need to carefully decide which portions get backported.
We also have a large supporting cast, including managements (bosses in participating companies and university faculties) and user communities, like mailing lists. Without their support and cooperation KAME cannot exist so I would like to thank them now.Feyrer: Who pays for your travel, office space, machines and connectivity, etc.?
Itojun: Again KAME is a consortium of companies and universities. Developers come from these companies. Participating companies can get expertise from KAME earlier than others, and can understand more details. They can also use IPv6-ready BSD operating systems in their routers, which can reduce labor in these companies. Also the BSD IPv6 stack is guaranteed to be specification-conformant, because of tests we go through.
For example, I'm with IIJ, one of the largest ISPs in Japan. IIJ is the most aggressive ISP in deploying IPv6, among the ISPs in the world. My paycheck and travel tickets come from IIJ, and IIJ gets expertise and KAME-ready BSDs. IIJ makes and sells routers, IIJ also uses lots of BSD boxes for servers.
KAME has its own office, machines, and connectivity. In addition to support from companies, we get research funding for our work. Basically these facilities are maintained by budgets from companies, and from research funding.
Feyrer: Can you tell us something about interoperability testing?
Itojun: KAME has a sister project called TAHI. TAHI is focused on IPv6 and IPsec conformance and interoperability tests, and torture-testing our code. If we introduce bugs into the KAME tree, they will notice them and inform us. The test tool is freely available at http://www.tahi.org/, so you can use it in your office or home.
TAHI activity is helping many people, including commercial vendors and free software developers. For IPv6 to be successful we need a good conformance/interoperability test suites. For example, there are people trying to improve Linux IPv6 support, based on TAHI test results.
Pages: 1, 2