Kabelová síť Vodafone (dříve UPC) je druhá největší přístupová síť v ČR, hned po telefonní/DSL síti CETINu. Pokud na ní ale chcete využívat vlastní veřejnou IPv4 adresu, nedostanete se k nativní IPv6 konektivitě – tu nabízí jen režim DS-Lite, při kterém jste za operátorským CG-NATem. Nezbývá vám tedy jiná možnost než používat IPv6 tunely (např. od Hurricane Electric). Na prémiovém modemu Compal ale s tunely využívajícími protokol 6in4 nikdy nedosáhnete rychlosti větší než přibližně 20 Mbps.
O tomto problému se vlastně neví (nebo nahlas nemluví), ale přesto existuje. UPC nabízí linky s velkou rychlostí (např. nejvyšší tarif pro podnikatele a firmy je 500/50 Mbps, pro domácnosti 500/30 Mbps), a služby touto rychlostí obvykle běží – alespoň pokud se bavíme o protokolech TCP a UDP s využitím nativního routování v Compalu.
Co je vlastně prémiový modem Compal zač? Je to vlastně router Compal CH7465LG s chipsetem Intel Puma 6 s podporou EuroDOCSIS 3.0 (24×8, tj. schopen sdružit až 24 kanálů pro stahování a 8 kanálů pro odesílání), Wi-Fi 802.11ac, gigabitovými porty, telefonními porty (modem funguje jako jednoduchá gateway, kdy se klasický telefon připojí do telefonní zdířky a provoz je převeden do SIP/RTP). S modemem je reálné dosahovat i maximální rychlosti u nejvyšších nabízených tarifů (500/50 Mbps).
Compal můžete provozovat ve třech režimech:
- Router v režimu nativní IPv6 s DS-Lite přístup k IPv4 síti (Compal funguje jako B4, tj. balí IPv4 provoz do IPv6 a posílá ho na AFTR gateway u operátora, kde je vybalen, zNATován a poslán do IPv4 světa)
- Router v režimu nativní IPv4 (bez IPv6)
- Bridge v režimu nativní IPv4 (bez IPv6)
Režim bridge je oblíbený u pokročilých uživatelů, protože ti tak mohou využít přidělenou veřejnou IPv4 adresu na svém routeru za Compalem. Ti nejpokročilejší uživatelé ale zároveň chtějí IPv6 – a to znamená použít tunelování IPv6 po IPv4.
Pokud pomineme tunelování pomocí WireGuardu nebo OpenVPN, nejdostupnější a nejčastěji používaná tunelovací služba je tunnelbroker.net od Hurricane Electric. Ta využívá protokol 6in4, tj. IP protokol 41, který technicky vzato leží a běží “vedle” TCP (IP protokol 6), UDP (IP protokol 17) či ICMP (IP protokol 1). Pokud vás zajímají další IP protokoly, jejich seznam naleznete na wikipedii.
Jak takový tunelovaný provoz vypadá? Inu, hned za IPv4 hlavičkou následuje IPv6 hlavička s kompletními daty.
11:48:31.464451 IP 213.220.x.x > 216.66.86.122: IP6 2001:470:6e:558::2.56534 > 2001:1488:ffff::63.80: Flags [.], ack 1303808, win 5748, options [nop,nop,TS val 3891015891 ecr 3911340140], length 0 11:48:31.464561 IP 216.66.86.122 > 213.220.x.x: IP6 2001:1488:ffff::63.80 > 2001:470:6e:558::2.56534: Flags [.], seq 1303808:1305216, ack 1, win 232, options [nop,nop,TS val 3911340141 ecr 3891015833], length 1408: HTTP
Bohužel v síti UPC s routerem Compal dochází k omezování provozu IP protokolu 41 na zhruba 20 Mbps v součtu (tj. download + upload). Zdá se, že jde o problém právě/pouze na Compalu, protože s čistým modemem Ubee EVM3206 k omezování nedochází (ověřeno v červnu 2020). A jelikož je ovlivněn veškerý provoz na IP protokolu 41 a ne konkrétní tunelovací server, nelze problém vyřešit např. výměnou tunelovacího serveru za jiný. Zároveň jde o problém roky ne(vy)řešený – kvůli němu jsem v červnu 2017 přecházel na DS-Lite, protože jen tak jsem byl schopen využít svou přípojku naplno. A to důležité: problém se projevuje, i když máte Compal v režimu bridge.
Ja mel problem s tim, ze tunely (SixXS ve svy dobe, HE, i vlastni s proto 41) mi skrz UPC jely otresnou rychlosti (cca. 20 Mbit/s). A jelikoz byla v6 preferovana, tak se samozrejme vsechno tahlo... a nikdo mi s tim nedokazal pomoct. Nejspis to byla vec modemu...
— Radek Zajic (@zajdee) April 10, 2018
Jak přesně se tedy omezení projevuje? Pokud začnete přenášet data po IPv6 skrze tunelované připojení, brzy si všimnete, že je rychlost opravdu hodně nízká (v porovnání s IPv4).
Pokud zároveň začnete stahovat i odesílat data, je vidět zastropování na 20 Mbps.
A protože IPv6 je často preferovaným protokolem, na stažení většího množství dat čekáte opravdu dlouho.
Když se naopak rozhodnete odesílat, rychlost odesílání po IPv6 je opět maximálně 20 Mbps (pokud to váš tarif umožňuje). Při odesílání po IPv4 je ale kapacita linky využita naplno (v tomto případě 50 Mbps).
Jak problém reprodukovat? Je to vlastně prosté, potřebujete jen linuxový stroj připojený přímo k Compalu v režimu bridge a dále účet na tunnelbroker.net. Na tunnelbroker.net požádáte o tunel a ten nakonfigurujete na linuxovém stroji. Na tunnelbroker.net pak pokračujte do detailu tunelu a na záložce Example Configuration zvolte Linux-route2. To vám vygeneruje ukázkovou konfiguraci pro běžný stroj s Linuxem, která vypadá zhruba takto.
modprobe ipv6 ip tunnel add he-ipv6 mode sit remote 216.66.86.122 local 213.220.x.x ttl 255 ip link set he-ipv6 up ip addr add 2001:470:6e:558::2/64 dev he-ipv6 ip route add ::/0 dev he-ipv6
Pak budete mít funkční IPv6 konektivitu a můžete začít testovat, jestli problém stále existuje.
Zdá se, že se Vodafone po akvizici chytil, a problém začal řešit. Tak mu držme palce.
Dobré dopoledne, Radku,
— Vodafone ČR (@Vodafone_CZ) June 5, 2020
informace ověřím na technickém oddělení. Jakmile budeme mít nové informace, hned vám napíšeme. Děkuji za trpělivost. Tereza
(Původně vyšlo na blogu Zajíc v pytli.)