2010/04/22

IPv6 tunnels latency

NOTE: since I live in Brazil, the informations contained in this post are moslty valid for Brazilians only, because the latencies depend heavily on where you live.

I have tried three types of tunnels: 6to4, Freenet6 and Sixxs.

Executive summary: Sixxs has the lowest latency of all, because they have a point of presence in Brazil (CTBC).

Pinging ipv6.google.com and v6.epx.com.br had RTT latencies of 200ms and 300ms respectively under Sixxs tunnel. The other two solutions delivered latencies in the range of 400-600ms.

Except by the "nirvana solution" of giving an IPv6 address to the final customer, 6to4 has the potential of delivering the lowest latency, among all tunnel technologies. My Rimuhosting VPS machine has 1-2ms latency to 192.88.99.1, the anycast 6to4 broker. But Oi (my local telecom/ISP) seems to delegate to a foreign carrier, hence the big latency. Maybe GVT or other Brazilian telecoms do better in 6to4 latency.

The IPv6 range supplied by 6to4 is automatically defined by your IPv4 address. This means that, if you have a typical ADSL account with dynamic IP, you won't get a fixed IPv6 range either. This is not a problem or shortcoming of 6to4; it's just how it is. If you are a second-class citizen in IPv4, you won't get a first-class citizenship because of 6to4. If you do want a fixed IPv6 range, you must use an explicit IPv6 tunnel.

I chose Freenet6 and Sixxs because they supply IPv6 tunnels that fulfill the following desirable features:

a) free (which rules out many options like Hurricane Electric);
b) does not demand fixed IPv4 address (which rules out Brazilian RNP, otherwise RNP would probably be the best bet);
c) works from behind a NAT (*);
d) provides a fixed IPv6 subnet, so I can distribute IPv6 addresses in my local LAN (some tunnels only supply a single IPv6 address);
e) reasonable (preferably low) latency;
f) 'good' tunnel software solution -- where 'good' is open-source, light, works in all major operating systems.

(*) I could put a PC to work as a router, removing the requirement C, but sometimes I'd need to connect from some other network, where I don't control the router.

Freenet6 is very, very user-friendly. They even supply an 'anonymous' IPv6 tunnel+subnet. The tunnel software (gw6c) is apt-getable in Ubuntu. If you want a fixed IPv6 address range, all you have to do is create an account, and actually use the tunnel so you don't lose the assigned range. I happened to have an old account in there, and it still worked.

The gw6c software if very easy to configure, and takes care of all local configuration (radvd and eth0 IPv6 address).

The only problem with Freenet6 is that nearest gateway is at Montreal, so the latency is high.

Sixxs has a completely different workflow. Every request is handled by a human; they CHECK all contact information you supply, so don't try to cheat. You need to request a tunnel, explain why you want it, be approved and make the tunnel work, and only then you can request a subnet.

Also, they have a point system. You begin with 25 ISKs, each request costs some ISKs, and eventually you can't make more requests because you have a balance of 0 ISK. You earn more ISKs in a number of ways, the easiest is to keep your tunnel up and running (+5 ISKs per week, AFAIR).

I've seen some complaints about Sixxs shutting down tunnels "for no reason". So far, my personal experience has been good, and I appreciate their work. I even made silly mistakes, had to ask for support (and credits back, otherwise I would be stuck, with no tunnel and no ways to get credit) and they answered favorably to my requests.

You need to understand a bit of IPv6 and radvd configuration to put Sixxs subnet to work. The AICCU software is apt-getable but you need to configure radvd and local IPv6 address (in eth0) yourself.
blog comments powered by Disqus