Tuesday, June 12, 2012

iOS 6: "IPv6 Support for Wi-Fi and LTE"

Apple showed the included sheet on yesterday's WWDC with information on iOS 6. It says "IPv6 Support for Wi-Fi and LTE" in the right lower corner (right below the blue logo). 

Let's analyze that:
  • IPv6 support for Wifi is nothing new: an iPod Touch 4 with iOS 5 connected to Wifi will already handle IPv6 correctly (if IPv6 is offered by the LAN).
  • IPv6 support for LTE is great ... as long as your iOS device supports LTE. I guess currently that is only the new iPad / iPad 3. A far as I know the iPhone 4 does not support LTE. I guess iOS 6 does not support any IPv6 tunnels, so your mobile operator also needs to offer IPv6. That's what T-Mobile in the US does (based on NAT64).
  • Apparantly IPv6 support for 3G / UMTS / HSPA / HSDPA / EDGE / GPRS is not available. Pity.


Sunday, June 10, 2012

IPv6 accounts for 40% of all traffic by IPv6 customers

On the IPv6 Launch Day on 6-6-2012 in Amsterdam (http://www.ipv6launch.nl/), Xs4all reported on their IPv6 status:


  • Until May 2012, any Xs4all customer with the correct modem could opt-in to IPv6.
  • At some moment, Xs4all turned on IPv6 on all its FttH's cutomers.
  • At the end of May 2012 Xs4all switched to the policy that any new or upgraded customer would automatically get IPv6.

The result is that there are now 13.000 IPv6 leases (read: customers with IPv6 active). Together they generate 1.6 Gbps IPv6 peak traffic. That means a mean of 123 kbps IPv6 traffic per IPv6 user at the peak moment (normally at 21:00 for consumer connections).

This 123 kbps IPv6 mean peak traffic may sound low. However, it's quite much and it probably means that about 1/3 or 1/2 of the total traffic is IPv6, as the typical traffic peak is about 100 - 300 kbps per user.

First an explanation of that number "100 - 300 kbps per user": if you have 1000 customers each with a 10 Mbps connection, at the peak moment those 1000 customers will not generate 1000 * 10 Mbps = 10 Gbps traffic. Typically, at the peak moment those 1000 customers will generate a total of about 100 Mbps - 300 Mbps traffic, which means the mean peak traffic per customer is 100 kbps - 300 kbps. That number is used by architects to design networks.

So let's say 300 kbps mean peak traffic (IPv4 and IPv6). That means the 123 kbps IPv6 traffic accounts for 40% of the traffic. And that's much as it needs IPv6 servers / hosts on the 'other' side.

How can that huge amount of IPv6 traffic be explained? I can only guess: youtube.com, newsserer/newsgroup traffic, facebook.com, a bit google.com, and ...?
Peer2peer traffic like bittorrent is unlikely do cause a lot of IPv6 traffic at this moment as very little "peers" have IPv6 working right now.

Hopefully Xs4all will do an analysis of the type of IPv6 traffic, and report on it.


Friday, June 8, 2012

Blocked Piratebay and IPv6

If your ISP, like mine, has blocked access to http://www.thepiratebay.org/ , but you have IPv6, there is an easy solution: http://thepiratebay.se.ipv6.sixxs.org/

Update (based on the comments):

If you update your 'hosts' file, you can just access http://thepiratebay.se/ over IPv6. The Dutch ISPs block IPv4 addresses, not IPv6 addresses.

On Windows, open the file \Windows\System32\drivers\etc\hosts (admin rights needed), and add:

2002:c247:6b96::1       thepiratebay.se

Then restart your browser (or whole OS), and happily surf to http://thepiratebay.se/

This probably also works if you have only teredo / miredo IPv6 (which is active in all Windows Vista and Windows 7 systems).

Update 2:

Probably handy to have this in your hosts file:


2002:c247:6b96::1 thepiratebay.se
2002:c247:6b96::1 www.thepiratebay.se
2002:c247:6b96::1 thepiratebay.org
2002:c247:6b96::1 www.thepiratebay.org


HTH

Update 2012-07-15:

It looks like TPB has no IPv6 anymore:


sander@R540:~$ host thepiratebay.se
thepiratebay.se has address 213.75.28.117
sander@R540:~$ host thepiratebay.org
thepiratebay.org has address 213.75.28.117
sander@R540:~$ 




sander@R540:~$ telnet 2002:c247:6b96::1 http
Trying 2002:c247:6b96::1...
telnet: Unable to connect to remote host: Connection timed out
sander@R540:~$ 


:-(




Wednesday, June 6, 2012

Cool: this blog itself IPv6 enabled

Today is IPv6 Launch Day. Among others, Google has turned on IPv6 on its websites: google.com, youtube.com, and ... blogspot.com. So this blog http://ipv6-or-no-ipv6.blogspot.com/ is now IPv6 enabled.

blogspot.l.google.com has IPv6 address 2a00:1450:4007:802::100c

Thank you, Google!

Tuesday, June 5, 2012

Nice site to check IPv6-ness of a domain

Here's a nice site to check the IPv6 results for a certain domain: http://ip6.nl/

At this moment (one day before IPv6 Launch) google.com has zero score:



Linux 3.2 shows IPv6 addresses used in route table

I'm running Ubuntu 12.04 with Linux 3.2.0. I just saw that "ip -6 route show" shows an enormous list of IPv6 addresses. After some research, it looks all IPv6 address that are used (by a webbrowser or any other program), get added to that list. The entries have a short life: after a few minutes, they're gone (if not re-visited). Maybe it's just a list of active IPv6 connections?

I had a look on my Ubuntu Server 11.10 (with Linux 3.0), and there the ipv6 route list just shows the usual default gateway and the local LAN addresses, and not all the IPv6 sites visited. So it's a change between Linux 3.0 and 3.2?

I don't know why that is done. Does it make IPv6 network communication faster? If so, why is it not done for IPv4 ("ip route show" does not show sites visited)? Or is it used to keep parameters for each destination (like the cwnd at the end: cwnd = "clamp for congestion window")?

Anyway: Apart from the official goal, how can you (mis)use this feature? Some thoughts:
  • you can see which of the sites you've visited have IPv6
  • you can create some statistics: will the list grow in the coming time (months, years) with more websites introducing IPv6?
  • you can see which sites are visited by other users and processes on the system. Remember: you don't need root rights for "ip -6 route show". I don't know if that is a great feature as seen from a privacy point of view
  • ...


Funny commands:

ip -6 route show | grep via | grep -vi default  | awk '{ print "host " $1 }'  | /bin/sh | grep -vi "not found"
ip -6 route show | grep via | grep -vi default  | awk '{ print "whois " $1 }' | /bin/sh | grep -i -e netname -e inet6num -e descr 


IPv6 route table on my system:

ubuntu@ubuntu:~$ ip -6 route show | grep via | grep -vi default
2001:470:0:64::2 via fe80::5267:f0ff:fed7:61fb dev wlan0  proto static  metric 1024  rtt 168ms rttvar 75ms cwnd 10
2001:610:188:301:145:0:2:10 via fe80::5267:f0ff:fed7:61fb dev wlan0  proto static  metric 1024  rtt 80ms rttvar 85ms cwnd 4
2001:610:510:0:192:42:113:60 via fe80::5267:f0ff:fed7:61fb dev wlan0  proto static  metric 1024  rtt 28ms rttvar 20ms cwnd 10
2001:680:12:130::3e29:130a via fe80::5267:f0ff:fed7:61fb dev wlan0  proto static  metric 1024 
2001:680:12:130::3e29:1330 via fe80::5267:f0ff:fed7:61fb dev wlan0  proto static  metric 1024  rtt 30ms rttvar 16ms cwnd 10
2001:6a8:3c80::39 via fe80::5267:f0ff:fed7:61fb dev wlan0  proto static  metric 1024  rtt 34ms rttvar 10ms cwnd 10
2001:720:418:cafd::20 via fe80::5267:f0ff:fed7:61fb dev wlan0  proto static  metric 1024 
2001:888:0:18::80 via fe80::5267:f0ff:fed7:61fb dev wlan0  proto static  metric 1024 
2001:888:2000:63:194:109:35:48 via fe80::5267:f0ff:fed7:61fb dev wlan0  proto static  metric 1024 
2001:41d0:2:bb58:dead:beef:8637:e45b via fe80::5267:f0ff:fed7:61fb dev wlan0  proto static  metric 1024  rtt 248ms rttvar 227ms cwnd 10
2406:da00:ff00::1715:b9ae via fe80::5267:f0ff:fed7:61fb dev wlan0  proto static  metric 1024 
2406:da00:ff00::3211:f660 via fe80::5267:f0ff:fed7:61fb dev wlan0  proto static  metric 1024 
2406:da00:ff00::b849:f31c via fe80::5267:f0ff:fed7:61fb dev wlan0  proto static  metric 1024 
2620:0:1c18:0:face:b00c:0:7 via fe80::5267:f0ff:fed7:61fb dev wlan0  proto static  metric 1024 
2a00:1450:4007:802::1012 via fe80::5267:f0ff:fed7:61fb dev wlan0  proto static  metric 1024  rtt 46ms rttvar 32ms cwnd 10
2a00:1450:8005::68 via fe80::5267:f0ff:fed7:61fb dev wlan0  proto static  metric 1024 
2a02:26f0:7:1:8000::eed via fe80::5267:f0ff:fed7:61fb dev wlan0  proto static  metric 1024 
2a02:26f0:7:1:8800::eed via fe80::5267:f0ff:fed7:61fb dev wlan0  proto static  metric 1024 
2a02:26f0:7:1:8d00::236 via fe80::5267:f0ff:fed7:61fb dev wlan0  proto static  metric 1024 
2a02:26f0:7:1:8f00::236 via fe80::5267:f0ff:fed7:61fb dev wlan0  proto static  metric 1024 
2a02:26f0:7:1:9100::eed via fe80::5267:f0ff:fed7:61fb dev wlan0  proto static  metric 1024 
2a02:26f0:7:1:9700::236 via fe80::5267:f0ff:fed7:61fb dev wlan0  proto static  metric 1024

Comments are welcome!

Update:

Info from Iljitsch van Beijnum https://twitter.com/#!/iljitsch and http://www.muada.com/ : the above is "route cloning". Info from an IBM site:


Route cloning
Route cloning allows a host route to be created for every host that a system communicates with.

When network traffic is about to be sent, a search is done of the routing table to find a route to that host. If a specific host route is found, it will be used. If a specific host route is not found, a network route or the default route may be found. If the route that is found has the cloning flag, 'c', set, a host route for the destination will be created using the gateway from the route that is being cloned. Subsequent routing table searches for that destination will find the cloned host route. Cloned routes have the 'W' flag set. These routes will time out and be deleted from the routing table if they are unused for route_expire minutes. You can modify route_expire by using the no command.

The route cloning feature is used mainly by the path MTU discovery protocol within AIX® to allow it to keep track of path MTU information for every destination it communicates with. If the network options tcp_pmtu_discover or udp_pmtu_discover (settable with the no command) are 1, the cloning flag is turned on for all network routes on the system. In AIX 4.3.3 and later, path MTU discovery is on by default.