I could just be misinformed/sleepy, but why can't we all just multihome? Upgrade or replace (tech refresh, anyone?) all gear which doesn't natively support v6 and start running both networks at the same time.
You hardly need to support anything but the routable address space of v6 if the device is configured for a v4 network, and applications can get patches to prefer a v6 connection (apparently even though some applications claim to try to make a v6 connection first, it doesn't usually work for me in practice). This at least buys you the time and flexibility of transitioning the chicken while the egg finishes gestating/maturing.
We all realize that every v4 frontend server has to support v6 before clients can be transitioned. However, I don't see a problem with giving everyone a v4 and a v6 in the meantime while the servers are upgraded. This means middle-man upgrades first, and basically every link between an internet host has to natively support both ipv4 and ipv6. If you just used RAs you don't have to support dhcpv6 yet, and dhcpv4 handles the stuff RAs don't for the clients. Perhaps i'm over-simplifying.
(edit) Also, completely separate thought: why the hell isn't Obama offering a discount to help transition like they did with TV? That was a pointless upgrade while this is a real looming problem. Can somebody get Google and Microsoft in a room and make them form an IPv6 lobby?
I can't edit this post anymore so another random comment: ssh doesn't work with link local addresses. I just set up an ad-hoc wireless network between my two laptops and tried to ssh from one to the other. The addressing works because I can "broadcast"-ping both networks successfully:
psypete@pinhead:~$ ping6 -Iwlan0 ff02::1
PING ff02::1(ff02::1) from fe80::216:eaff:fe9b:56e2 wlan0: 56 data bytes
64 bytes from fe80::216:eaff:fe9b:56e2: icmp_seq=1 ttl=64 time=0.055 ms
64 bytes from fe80::20e:8eff:fe13:5741: icmp_seq=1 ttl=64 time=2.23 ms (DUP!)
But unfortunately it seems ssh doesn't know to set its sin6_scope_id for the interface of the bind address I tell it.
(edit)
Wait, nevermind, i'm a noob. I have to specify the scope ID in the address with the postfix '%wlan0'. Adds to the list of new crap to memorize for IPv6 transition
> I don't see a problem with giving everyone a v4 and a v6 in the meantime while the servers are upgraded
The problem is the total absence of short term benefit, while the cost is not null (in money, time, or cognitive load). So, even if it's better for everyone to go IPv6, it's worse for each individual to move first. So everyone wants to move last.
The short term benefit in my proposal is being completely backwards-compatible and avoiding the problems of tunneling and other proposed workarounds while providing IPv6 routing where necessary. It doesn't "fix" the problem of running out of IPv4 address space (unless a given ISP decides to switch to IPv6-only, require its customers to upgrade, and turn on a multihomed IPv4 address for extreme cases). What it does do is allow the transition to take place. Everyone should be shouting at the top of our lungs at ISPs to support this so we can get this chicken/egg scenario over with.
People are basically in denial. The cost is never going to be null and everyone has to move eventually. Server admins actually have the bulk of the responsibility here for getting the whole internet migrated to IPv6. It's their services we want to use and network addresses are just a way of getting to them.
The problem is they have seemingly no accountability. I tried to hold the admin of xkcd.com's feet to the fire and I got rebuffed. Unless there's a substantive potential for their customers to abandon them they don't really give a crap (hopefully because they have other things to take care of). And in the meantime they can claim they don't need to move because the rest of the network isn't ready for them yet. So tell ISPs to multihome already and we can then start telling server admins to get their shit together because the rest of the network is ready for them.
> […] while providing IPv6 routing where necessary.
This is the key point. Right now, and on the short term, IPv6 is not necessary at all. Or at least it isn't perceived to be. Reason: everyone is still compatible with IPv4. I know it's as stupid as racing towards a concrete wall, telling yourself that you can always slam the breaks later, but we seem to race towards that wall anyway.
> People are basically in denial. […] they have seemingly no accountability […]
I completely agree. But I can't think of a way to solve this.
You hardly need to support anything but the routable address space of v6 if the device is configured for a v4 network, and applications can get patches to prefer a v6 connection (apparently even though some applications claim to try to make a v6 connection first, it doesn't usually work for me in practice). This at least buys you the time and flexibility of transitioning the chicken while the egg finishes gestating/maturing.
We all realize that every v4 frontend server has to support v6 before clients can be transitioned. However, I don't see a problem with giving everyone a v4 and a v6 in the meantime while the servers are upgraded. This means middle-man upgrades first, and basically every link between an internet host has to natively support both ipv4 and ipv6. If you just used RAs you don't have to support dhcpv6 yet, and dhcpv4 handles the stuff RAs don't for the clients. Perhaps i'm over-simplifying.
(edit) Also, completely separate thought: why the hell isn't Obama offering a discount to help transition like they did with TV? That was a pointless upgrade while this is a real looming problem. Can somebody get Google and Microsoft in a room and make them form an IPv6 lobby?