Sunday, April 12, 2015

IPv6 usage by German ISPs

IPv6 usage by German ISPs:

$ ./show-ipv6-usage-sorted-on-percentage.sh | grep -e "^DE"
DE  --- SPEEDPARTNER SpeedPartner GmbH  --- 88.66%
DE  --- DE-DGW FL!NK GmbH  --- 41.94%
DE  --- INTERSCHOLZ-AS interscholz Internet Services GmbH & Co. KG  --- 36.01%
DE  --- DEGNET DegNet GmbH  --- 27.61%
DE  --- DELUNET inexio Informationstechnologie und TelekommunikationKGaA  --- 23.81%
DE  --- DTAG Deutsche Telekom AG  --- 20.12%
DE  --- MWN-AS Leibniz-Rechenzentrum  --- 19.84%
DE  --- KIT Karlsruhe Institute of Technology (KIT)  --- 18.16%
DE  --- BELWUE Landeshochschulnetz Baden-Wuerttemberg (BelWue)  --- 9.66%
DE  --- MANITU manitu GmbH  --- 5.77%
DE  --- IKS IKS Service GmbH  --- 1.12%
DE  --- SCALEUP ScaleUp Technologies GmbH & Co. KG  --- 1.11%
DE  --- FILOO-ASN filoo GmbH Autonomous System  --- 0.19%
DE  --- ADDIX-AS ADDIX Internet Services GmbH  --- 0.10%

ISPs with highest percentage IPv6 usage

ISPs with highest percentage IPv6 usage ... including country code:

SI  --- GO6 Zavod za IPv6 - go6  --- 100.00%
PL  --- ORANGE-PL Orange Polska Spolka Akcyjna  --- 100.00%
US  --- DNIC-AS-00022 - Navy Network Information Center (NNIC)  --- 93.10%
CH  --- SNOWFLAKE snowflake productions gmbh  --- 91.75%
DE  --- SPEEDPARTNER SpeedPartner GmbH  --- 88.66%
MX  --- Centros Culturales de Mexico, A.C.  --- 84.19%
BR  --- FUNDACAO PARQUE TECNOLOGICO ITAIPU - BRASIL  --- 78.68%
US  --- LSU-1 - Louisiana State University  --- 74.27%
IT  --- TOPIX-AS Consorzio Topix - Torino e Piemonte Exchange Point  --- 73.86%
US  --- MARIST - Marist College  --- 68.62%
CZ  --- VUTBR-AS Brno University of Technology  --- 68.49%
BR  --- UNIVERSIDADE ESTADUAL DE PONTA GROSSA  --- 67.97%
US  --- PRGMR - prgmr.com, Inc.  --- 67.92%
US  --- GOOGLE-FIBER - Google Fiber Inc.  --- 65.84%
US  --- CELLCO-PART - Cellco Partnership DBA Verizon Wireless  --- 61.87%
IT  --- FUSOLAB Fusolab Onlus  --- 61.37%
CZ  --- CZNIC-AS CZ.NIC, z.s.p.o.  --- 60.46%
US  --- BUFFALO-ASN - University of Buffalo  --- 60.03%
BE  --- ASBRUTELE Brutele SC  --- 57.78%
US  --- UVM-EDU-AS - University of Vermont  --- 56.84%
SE  --- NETNOD-IX Netnod Internet Exchange Sverige AB  --- 56.68%
NL  --- XS4ALL-NL XS4ALL Internet BV  --- 55.23%
US  --- UPENN - University of Pennsylvania  --- 54.07%
US  --- RPI-AS - Rensselaer Polytechnic Institute  --- 52.94%
BE  --- TELENET-AS Telenet N.V.  --- 52.62%
US  --- VA-TECH-AS - Virginia Polytechnic Institute and State Univ.  --- 52.05%
CH  --- MIRONET-AS MiroNet AG  --- 50.62%

IPv6 deployment by ISPs in the Netherlands

Based on the info on http://www.worldipv6launch.org/apps/ipv6week/measurement/timeline-nets.html I was able to analyze the IPv6 deployment (if any) by ISPs in the Netherlands:


$ ./show-ipv6-usage-per-ISP-for-TLD.sh NL
NL  --- XS4ALL-NL XS4ALL Internet BV  --- 55.23%
NL  --- COMPUKOS-AS DirectVPS B.V.  --- 49.38%
NL  --- AMS-IX1 Amsterdam Internet Exchange B.V.  --- 43.66%
NL  --- PCEXTREME PCextreme B.V.  --- 4.48%
NL  --- ZEELANDNET ZeelandNet BV  --- 4.20%
NL  --- NL-SOLCON SOLCON  --- 3.45%
NL  --- NL-BIT BIT BV  --- 2.94%
NL  --- DUOCAST-AS Duocast B.V.  --- 1.43%
NL  --- SURFNET-NL SURFnet, The Netherlands  --- 1.41%
NL  --- SIGNET-AS Signet B.V.  --- 0.75%
NL  --- OXILION-AS Oxilion B.V.  --- 0.46%

So ... in April 2015 still no KPN, UPC, Ziggo, Tele2, Unet, Caiway ...

Tuesday, April 7, 2015

Dutch cable ISP Ziggo starts IPv6

Good news: Ducth cable ISP "Ziggo" has started the rollout of IPv6. See article (in Dutch) on http://tweakers.net/nieuws/102311/ziggo-begint-met-uitrol-van-ipv6.html

Ziggo spokesperson Gradus Vos confirms the rollout has started last week (around beginning of April 2015), and so far 6.000 users have been assigned IPv6 connectivity.




Netflix and "This webpage has a redirect loop"

Suddenly Netflix was not working anymore: my Chrome on Ubuntu Linux said "This webpage has a redirect loop" on www.netflix.com.

Netflix advised to clear my cookies.

The real cause was different: IPv6, and possibly my Hurricane Electric IPv6 tunnel.

After disabling IPv6 in Chrome with the startup command "google-chrome --disable-ipv6", Netflix was working again.

Great. Not.

EDIT: I found a dirty workaround: I put this into my /etc/hosts

54.197.238.114 www1.netflix.com

... and now a plain google-chrome startup (so with IPv6 enabled) leads to a working Netflix!

EDIT 2:

Thijs Kroesbergen (@TheIceCoMa) reports a Netflix problem with Sixxs IPv6:

https://twitter.com/TheIceCoMan/status/585829217046294528

@NetflixNL IPV6 on the http://netflix.com  site is broken (connection timeout on the first HTTPS request) coming from a SiXXS tunnel.

EDIT 3:

Windows 7 & Chrome on the same LAN (so: with tunneled IPv6) correctly works with Netflix. Strange
Ubuntu & Netflix with Pipelight works too with Netflix



Screenshot of the not-working Netflix:



Tuesday, February 17, 2015

Docker 1.5 and IPv6 on Ubuntu

Docker 1.5 offers IPv6. Here's how I got it working on my Ubuntu VPS.

First of all: my VPS provider (thanks, Philip!) was so friendly to provide & route a separate IPv6 subnet to my VPS, which I used for Docker:

  • Separate subnet provided by my VPS provider: 2001:AAAA:FF00:1700::/56
  • Sub-subnet used for Docker: 2001:AAAA:FF00:1700::/64 


(Note: AAAA is a placeholder for the real hex digits)

First check you have at least docker 1.5:

sander@makreel:~$ sudo docker --version
Docker version 1.5.0, build 7e803ba

Stop de docker daemon:

sudo service docker stop

To avoid

FATA[0000] bridge IPv6 does not match existing bridge configuration fe80::1

do this:

sudo apt-get install bridge-utils
sudo ifconfig docker0 down
sudo brctl delbr docker0

Then start the docker daemon with IPv6 and the IPv6 subnet:

sudo docker -d --ipv6 --fixed-cidr-v6="2001:AAAA:FF00:1700::/64"

And that's it! The docker daemon is ready, and you don't need any special settings in the docker container. Let's check that:

Check IPv6 within a ubuntu container:

sander@makreel:~$ sudo docker run -it ubuntu bash -c "ifconfig"
eth0      Link encap:Ethernet  HWaddr 02:42:ac:11:00:0a
          inet addr:172.17.0.10  Bcast:0.0.0.0  Mask:255.255.0.0
          inet6 addr: fe80::42:acff:fe11:a/64 Scope:Link
          inet6 addr: 2001:aaaa:ff00:1700:0:242:ac11:a/64 Scope:Global
          UP BROADCAST  MTU:1500  Metric:1
          RX packets:1 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:110 (110.0 B)  TX bytes:90 (90.0 B)

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

Looks good. 
Check you have outside IPv6 connectivity

sander@makreel:~$ sudo docker run -it ubuntu bash -c "ping6 -c5 ipv6.google.com"
PING ipv6.google.com(2a00:1450:400c:c07::64) 56 data bytes
64 bytes from 2a00:1450:400c:c07::64: icmp_seq=3 ttl=56 time=7.12 ms
64 bytes from 2a00:1450:400c:c07::64: icmp_seq=4 ttl=56 time=7.05 ms
64 bytes from 2a00:1450:400c:c07::64: icmp_seq=5 ttl=56 time=7.28 ms

--- ipv6.google.com ping statistics ---
5 packets transmitted, 3 received, 40% packet loss, time 4019ms
rtt min/avg/max/mdev = 7.056/7.152/7.280/0.116 ms
sander@makreel:~$

Good! So IPv6 is working!

Speedtest:


$ sudo docker run -it ubuntu bash -c "apt-get update && apt-get install -y wget && wget -6 'http://ftp.belnet.be/ubuntu.com/ubuntu/releases/precise/ubuntu-12.04.4-desktop-i386.iso' -O /dev/null"
...
100%[======================================>] 766,509,056 8.25MB/s   in 97s
2015-02-17 12:16:50 (7.52 MB/s) - '/dev/null' saved [766509056/766509056]
sander@makreel:~$



Note: the official documentation https://docs.docker.com/articles/networking/#ipv6-with-docker does not state you need a separate IPv6 subnet. Strange.




Wednesday, January 14, 2015

One-liner to check (and ping6) IPv6 devices

A one-line to check IPv6 devices on your LAN:

$ ping6 -c3 -I wlan0 ff02::1 | awk ' /bytes from/ { print $4 }' | sort -u | sed 's/:$//'

fe80::1af4:6aff:fe9c:ced4
fe80::212:40ff:fe8a:8e38
fe80::66d1:a3ff:fe31:9c57
fe80::c24a:ff:fe2c:dcbc
fe80::d263:b4ff:fe00:2a61

So: 5 IPv6-enabled devices on my LAN. At least: 5 devices that react on the broadcast ping6.


You can feed that into ping6 to see if they are ping6-able:

$ ping6 -c3 -I wlan0 ff02::1 | awk ' /bytes from/ { print $4 }' | sort -u | sed 's/:$//' | awk '{ print "ping6 -c3 -I wlan0 " $1 }'  | /bin/sh | awk ' /PING/ { print $2 } /packets transmitted/ { print $0 "\n" }  '  

fe80::1af4:6aff:fe9c:ced4(fe80::1af4:6aff:fe9c:ced4)
3 packets transmitted, 3 received, 0% packet loss, time 2000ms

fe80::212:40ff:fe8a:8e38(fe80::212:40ff:fe8a:8e38)
3 packets transmitted, 3 received, 0% packet loss, time 2004ms

fe80::66d1:a3ff:fe31:9c57(fe80::66d1:a3ff:fe31:9c57)
3 packets transmitted, 3 received, 0% packet loss, time 2002ms

fe80::c24a:ff:fe2c:dcbc(fe80::c24a:ff:fe2c:dcbc)
3 packets transmitted, 3 received, 0% packet loss, time 2004ms

fe80::d263:b4ff:fe00:2a61(fe80::d263:b4ff:fe00:2a61)
3 packets transmitted, 3 received, 0% packet loss, time 2002ms

So ... they are all ping6-able.