Stack-Hacker Itojun Talks About IPv6
Alert reader Sin Yuhara writes: "I've encountered [an interview in which] Jun-ichiro "itojun"
Ogino(KAME Project Core/NetBSD Core/FreeBSD Comitter)
talks about IPv6. The KAME IPv6 [?] stack is very well
known in the BSD world and beyond. I'm sure IPv6 and
related stuff must deploy, and this article may help all
people." It's a really good read -- itojun talks about the IPv6 tools that are already integrated into the various BSD systems, about the need for ever more testing, and about why Japan rocks.
First of all, the IPv6 header is actually more regular than the IPv4 header - fewer fields, and only twice the size of IPv6 despite addresses that are four times larger. Also, the routing tables for IPv6 are supposed to be more regular, so the performance impact on software-based routers may not be that much.
The vast majority of IPv6 packets will not have options - yes, they need to be looked at if present, but in that case you just dump the packet into a slow path. Also, MPLS will help here (see below) - the packet should only hit the slow path on lower end routers.
As for core routers that use forwarding ASICs - the answer is to implement MPLS, starting on edge routers that forward IPv6 in software, and attach MPLS labels. The core routers ONLY see the 32 bit MPLS label, so there is no problem about forwarding IPv6 just as efficiently as IPv4, once it is MPLS labelled. The core routers need to run IPv6 routing processes, but that's just on the main CPU.
MPLS is already deployed in ISP and telco IP networks - it is currently used for traffic engineering (balancing traffic loads over the network) and MPLS VPNs, and the same technique will be used to carry ATM, Frame Relay, Ethernet and SONET.
In the longer term, new routers will come on the market with smart enough ASICs and network processors to handle IPv6 with no reduction in forwarding rates, but MPLS will be useful for those ISPs that want its extra features.
Go, Japan!
-- Stanislav Shalunov
Great; now we can all steal the *BSD IP stack again. :)
Thanks, *BSD, for continuing to be the research arm of the software community...
Will the real Bruce Perens Please Stand Up
It's not totally stupid - one of the problems that does need to be solved by any widespread replacement of the current IPv4 stack is routing table size for the Big Internet, as BGP usage continues to multiply. IPv6 has some support for efficiency and consolidation, but there's still a lot of work to be done.
Bill Stewart
New Fast-Compression-only CPR http://preview.tinyurl.com/dy575ks
It's too bad this article didn't mention that you do not need to wait for your ISP; you can start using IPv6 today with 6to4. Slashdot ran a story about how to configure 6to4 under BSD, and here are the instructions for Linux.
I know someone is going to mention that freenet6 or the 6bone is also easy to use, but they're much less efficient than 6to4.