Úvod
IPv6 je internetový protokol verzie 6, ktorý má nahradiť IPv4. Takisto ako IPv4, je určený na smerovanie dát po internete. Protokol verzie 6, bol síce predstavený na konci deväťdesiatych rokov, no štandardom sa stal až v roku 2017. Napriek tomu, že IPv6 je vytvorený tak dlhú dobu, stále úplne nenahradil jeho predchodcu.
Výhody proti IPv4
IPv4 bol štandardizovaný v roku 1981, kedy bolo použitie 32-bitových adries veľmi logickou a postačujúcou implementáciou. To znamená, že existuje 2³² originálnych IPv4 adries, čo sa rovná viac ako 4 miliardám. Aj keď sa toto číslo môže zdať obrovské, je jasné, že sa originálne adresy vyčerpajú. Z tohto dôvodu bol vytvorený IPv6 protokol, ktorého rozsah adries je 128-bitov a teda počet dostupných originálnych adries je mnoho násobne vyšší.
Okrem množstva dostupných adries, má IPv6 ďalšie výhody. Jednou z nich je aj funkcionalita Plug and Play, ktorá sprostredkováva používateľom jednoduchšie pripojenie zariadenia k sieti tým, že konfigurácia sa po pripojení vykoná automaticky a nie je potrebné ju nastavovať manuálne.
Ďalšou dôležitou súčasťou implementácie je aj tzv. IPv6 Flow Label špecifikácia. Každý IPv6 paket má hlavičku, v ktorej sa nachádza trojica informácií, dôležitých pre túto špecifikáciu. Zdrojová adresa, cieľová adresa a informácia o toku, do ktorého tento paket patrí. Celá hlavička protokolu je zobrazená na nasledujúcom obrázku:
Ide o tok paketov, ktoré majú niečo spoločné a sú odosielané na rovnakú unicast, multicast alebo broadcast adresu. Správne zaradenie paketov do toku je zabezpečené uzlami. Uzlom je každé zariadenie v sieti, či už ide o router, switch alebo koncové zariadenie ako počítač. Vďaka flow label je možné identifikovanie multimediálnych prúdov dát, ako TV alebo videokonferencie, ktoré by mali mať prioritu.
Zaujímavosťou je, že fragmentácia v routeroch pri IPv6 nie je možná. Pokiaľ router zistí, že dáta sú veľké, zahodí ich a pošle ICMPv6 správu odosielateľovi, pretože zdrojová stanica dokáže pomocou rozširujúcej hlavičky fragmentovať dáta na menšie. V procese posielania to ale možné nie je.
Adresácia IPv6
IP adresa verzie 6 môže vyzerať nasledovne:
2001:0db8:3c4d:0015:0000:0000:1a2f:1a2b
Ako je možné vidieť na príklade, adresa sa skladá z 8 skupín, v ktorej každá obsahuje 4 hexadecimálne cifry od 0 do 15. To znamená čísla od 0 až 9 a písmena od A až F. IPv6 adresy je možné zjednodušiť, resp. skrátiť. Je možné použiť :: na reprezentáciu skupiny, ktorá obsahuje 0000. Takisto je možné vynechať nuly, pokiaľ sú na začiatku skupín. Po úprave by náš príklad vyzeral nasledovne:
2001:db8:3c4d:15::1a2f:1a2b
Koexistencia IPv4 a IPv6
Keďže nie je možné prejsť z používania IPv4 na IPv6 z hodiny na hodinu a stále existujú zariadenia, ktoré nepodporujú IPv6 adresovania, existujú 3 techniky, vďaka ktorým dokážu verzia 4 a 6 spolupracovať.
Dual stack alebo dvojitý zásobník je implementovaný priamo v operačnom systéme. Systémy majú v hybridnej forme (môžu byť aj oddelene) vytvorené zásobníky pre adresy. Hybridné zásobníky umožňujú reprezentovanie IPv4 adresy vo formáte IPv6. Komunikácia medzi uzlami prebieha novým IPv6 protokolom vtedy, pokiaľ majú oba uzly, ktoré komunikujú pridelenú IPv6 adresu. Pokiaľ sa u jedného z nich alebo oboch takáto adresa nenachádza, komunikácia musí prebiehať pomocou IPv4. Vo svojej podstate na niektorých zariadeniach simultánne beží aj IPv4 aj IPv6 protokol.
Tunelovanie je druhým spôsobom spojenia dvoch svetov. Ide o techniku, kde sa IPv6 pakety, prenášajú IPv4 internetom. IPv6 paket sa zabalí do IPv4 paketu, ktorý sa pošle po sieti s ktorou je kompatibilný. V cieľovom uzle sa rozbalí, pretože v hlavičke je označený ako „zapuzdrený“ a pokračuje ďalej po sieti ako IPv6 paket.
V prípade, že komunikujú dva zariadenia, pričom jeden dokáže používať výlučne nový protokol a druhé zariadenie výlučne starý protokol, používa sa preklad. Úlohou prekladača je teda sprostredkovať komunikáciu medzi dvoma zariadeniami, ktoré využívajú rôzne internetové protokoly. Implementácia prekladu je realizovaná pridávaním dočasných IP adries, ktoré sú dynamicky menené. Odborne sa táto technika nazýva Network Adress Translation – Protocol Translation (NAT-PT) a konkrétne sa prekladajú IPv6 pakety na IPv4 pakety.
Bezpečnosť
Súčasťou IPv6 protokolu je aj IP security (IPsec), ktorý predstavuje súbor bezpečnostných špecifikácií, ktoré boli vytvorené v rámci implementácie IPv6. Ide o framework definovaný v RFC 2401.
Pretože internet už nie je ani zďaleka bezpečným miestom, stalo sa nutným zakomponovať IPsec aj do staršej verzie protokolu. Táto implementácia v IPv4 protokole je ale voliteľná a prevládajú v nej proprietárne riešenia. Naopak, IPv6 poskytuje vďaka IPsec end-to-end bezpečnú komunikáciu, čo v preklade znamená, že dáta sú zabezpečené celou cestou od odosielateľa, až po zvolené miesto určenia. Na tom, že dáta prechádzajú cestou medzi uzlami vôbec nezáleží, stále ostávajú zabezpečené, až kým sa nedostanú do svojej destinácie. IPv4 je typický v tom, že takúto bezpečnosť sprostredkuje len medzi hraničnými routermi, ktoré sa nachádzajú medzi rozdielnymi sieťami.
IPsec ďalej využíva dôležitú funkcionalitu, ktorá sa nazýva hlavička autentifikácie - Authentication Header (AH). Ide o jednu z tzv. New Extension Headers. Je to spôsob zabezpečenia integrity a autentifikácie dát, pre celý IPv6 paket. AH takisto zaručuje Anti-replay ochranu, ktorý predstavuje prvok bezpečnosti, zodpovedný za zabránenie útočníkovi prerušiť originálny tok paketov tak, že medzi ne vloží ním upravené pakety.
Čo sa týka autentifikácie, ide o prvok, ktorý príjemcovi zaručuje, že IP paket prišiel naozaj z takej adresy, aká je zapísaná v hlavičke a teda nedošlo k narušeniu toku dát. Integrita dát zase poukazuje na skutočnosť, že pokiaľ boli dáta doručené príjemcovi, ich obsah počas cesty nebol nikým upravený. Celý formát takejto rozširujúcej hlavičky pre IPv6 paket vyzerá nasledovne:
V obsahu hlavičky je možné vidieť aj Sequence Number Field. Toto pole obsahuje číslo, ktoré zabezpečuje vyššie spomínané Anti-replay zabezpečenie. Pole je nastavené na 0 v prípade, keď komunikácia medzi cieľovou adresou a odosielateľom začne. Toto číslo je vždy zvýšené o 1, pokiaľ jeden z komunikujúcich vysiela dáta. Ako náhle prijímateľ detekuje IP paket, ktorý obsahuje toto pole duplicitne, paket je odmietnutý. Duplicita tohto poľa znamená, že útočník sa dostal ku komunikácii a upravil a znovu preposlal dáta.
IPv6 predstavuje veľký skok v bezpečnosti napred, oproti jeho predchodcovi. Napriek tomu, aj tento protokol vo svojej implementácii obsahuje nedokonalosti. Napríklad pravdepodobnosť útoku s názvom Flooding je rovnaká, ako pri protokole IPv4. Ide o DoS (Denial of Service) útok, pri ktorom sa útočník snaží zneprístupniť službu užívateľom tým, že pošle veľké množstvo požiadaviek na server alebo na určitú časť siete a tým ho/ju zahltí.
Záver
Implementácia internetového protokolu IPv6 priniesla určite množstvo výhod. Dôležité je ale poznamenať, že úplný prechod zo starého protokolu na nový nie je jednoduchý a určite to ešte nejakú dobu potrvá. Preto je momentálnou výzvou okrem prechodu aj koexistencia týchto dvoch protokolov, pričom treba dbať na to, aby sa neporušili princípy bezpečnosti a spoľahlivosti.