IPv6

Martin Vizváry, 255917@mail.muni.cz

Obsah


Úvod

O protokole IPv6 sa začalo uvažovať na začiatku 90. rokov minulého storočia, ako o nástupcovi stávajúceho protokolu IPv4. Bolo jasné, že pri aktuálnej rýchlosti prideľovania adries nebude v blízkej dobe adresný priestor dostačujúci. Krátkodobé riešenia v podobe Classless Inter-domain Routing (CIDR) a Network Address Translation (NAT) nestačili. Špecifikácia protokolu IPv6 sa tak objavila v RFC 1883 na konci roka 1995 (v roku 1998 nová špecifikácia RFC 2460) - na plné nasadenie sa čaká dodnes.


Zmeny v IPv6

Primárnym cieľom nového protokolu bolo zvačšenie adresného priestoru. Z pôvodnej velkosti adresy 32b narástla na 128b. Do špecifikácie protokolu sa však dostali aj dalšie zaujímavé zmeny:


Hlavička IPv6 paketu

V porovnaní s protokolom IPv4 prešla veľkými zmenami. Hlavička bola minimalizovaná na najnutnejšie prvky a bola jej určená pevná d.žka na 40B (IPv4 mala dlžku 20B). Napriek tomu, že sa adresy zväčšili 4x, hlavička narástla len dvojnásobne. Všetky dopl.ujúce a nepovinné možnosti boli presunuté do rozširujúcich hlavičiek, ktoré sú umiestnené lineárne za základnou hlavičkou.



Obrázok prevzatý z IPv6.cz.


Adresy v IPv6

Základná špecifikácia adries je popísaná v RFC 4291. Existujú tri typy adries:

Každé rozhranie može mať pridelených niekoľko adries rôznych typov.

Zápis adresy

IP adresy sa zapisujú pomocou štvoric šestnástkových číslic oddelených dvojbodkou. Plná IPv6 adresa: abcd:03d4:0000:0000:965c:ab32:ac31:abcd
Možnosti skrátenia zápisu:

Špeciálne prefixy adries

EUI64 identifikátor

Vznikne z linkovej adresy rozhrania vložením konštanty FFFE. Pri IPv6 EUI64 sa navyše otáča význam siedmeho najvyššieho bitu. Nulová hodnota označuje lokálne jednoznačný identifikátor.

MAC: 00-EC-38-E3-65-A5
IPv6 identifikátor rozhrania: 2ec:38ff:fee3:65a5

Takto vytvorené identifikátory sú však jednoducho sledovateľné v sieti. Preto boli v RFC 4941 zavedené identifikátory, ktoré zachovávajú súkromie užívatelov. Zariadenie tak využíva viacero identifikátorov - trvalý EUI64 a krátkodobé náhodne generované. Trvalý používajú ostatné stroje pri kontaktovaní zariadenia, a krátkodobý používa stroj sám pri nadväzovaní spojenia.


Autokonfigurácia

Bezstavová konfigurácia - SLAAC

Základnou myšlienkou bezstavovej konfigurácie je, že klient sa dozvie všetky informácie potrebné ku konfigurácii z Router Advertisment (RA). K získaným prefixom, ktoré sieť používa, si doplní identifikátor rozhrania a vytvorí si vlastnú IPv6 adresu. V oznámeniach smerovača však chýbali adresy DNS serverov. Snaha o doplnenie RA o adresy rekurzívnych dns serverov sa dostala do podoby štandardu až v roku 2010 (RFC 6106). Podpora je zatiaľ len pre linux/unix v radvd.

Stavová konfigurácia

Podobná DHCP(v4). Podporuje dva režimy - bezstavový a stavový DHCPv6. Bezstavový doplňuje bezstavovú konfiguráciu SLAAC. Ak RA nastaví príznak O - other, pri konfigurácii siete je SLAAC doplnený o bezstavové DHCPv6 z ktorého si klient doplní informácie. Ak je použitý príznak M - managed, nastavenie prebieha podobne ako u DHCPv4. Nič však klientovi nebráni v tom aby si nastavil IP adresu aj pomocou SLAAC. DHCPv6 nepredáva adresu pred default gateway.

Vo výsledku ani jeden z prístupov k autokonfigurácii zatiaľ nedokáže existovať samostatne.

Smerovanie a DNS

Smerovanie aj DNS je v porovnaní s IPv4 prakticky rovnaké. Okrem manuálneho vytvárania smerovacích tabuliek je možné využit aj niektorý z protokolov napr. RIPng, OSPFv3, BGP4+. Pri smerovaní používame bu. ip -6 alebo route -A inet6.
Pre IPv6 adresy sa vytvára AAAA záznam. Reverzný záznam sa zapisuje po jednotlivých šestnástkových čísliciach oddelených bodkov (na konci doplnené o ip6.arpa). U reverzného záznamu nie je možné skracovanie a vynechávanie 0.

hostname AAAA 2001:db8::1428:57ab
b.a.7.5.8.2.4.1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa PTR hostname


Bezpečnost IPv6 (IPsec)

Bezpečnosť sa poskytuje na úrovni IP - IPsec. Poslednou špecifikáciou, ktorá sa venuje bezpečnosti je RFC 4301: Security Architecture for the Internet Protocol vydané koncom roku 2005. Základ bezpečnostných služieb spočíva na dvoch rozširujúcich hlavičkách AH (Authentication Header) a ESP (Encapsulating Security Payload). Prvá hlavička je určená k autentizácii - je nepovinná. Hlavička ESP je povinná a dokáže zastúpiť funkciu AH.
Bezpečnostné hlavičky môžeme používať v dvoch režimoch:

Prechod na IPv6

Protokoly IPv4 a IPv6 nie sú navrhnuté ako kompatibilné. Je jasné, že prechod na protokol IPv6 neprebehne počas krátkej doby a preto bolo nutné vyriešit koexistenciu oboch protkolov. Prechodové mechanizmy možeme rozdelit do troch skupín - dualstack, tunelovacie a prekladové mechanizmy.

Dualstack

Systém umožnuje chod aplikácií využívajúcich IPv4 aj IPv6 protokol súčasne. Využíva IPv4 namapované IPv6 adresy. Pracuje sa v IPv6 priestore. Ak chce aplikácia použit IPv4 využije špeciálne adresy ::ffff:IPv4 adresa.

Tunelovacie mechanizmy

Prekladové mechanizmy

Ide o preklad IPv6 adries na jednu alebo viac IPv4 adries (privátna sieť používa IPv6). Preklad adries rieši mechanizmus NAT64, doplnený o DNS64, ktorý "podvrhne" klientovi AAAA záznam serveru ktorý nebeží na IPv6. Následne NAT64 preloží IPv6 na IPv4.


Konfigurácia

Nastavenie klienta podporuje väčšina operačných systémov. V Linuxe je možné nastaviť IPv6 pomocou ifconfig.
ifconfig eth0 inet6 add 2001:0db8:0:f101::1/64

Ak chceme zariadenie využívať ako smerovač musíme nastaviť démona RADVD (/etc/radvd.conf).
interface eth0 {
  #zapnutie RA, časový interval v sekundách
  AdvSendAdvert on;
  MinRtrAdvInterval 5;
  MaxRtrAdvInterval 20;
# konkrétne parametry pre prefix
  prefix 2001:0bbb:111:1::/64 {
    AdvOnLink on;
    AdvAutonomous on;
    AdvRouterAddr on;
  };
  RDNSS ip [ip] [ip] {
    #AdvRdnssLifetime seconds|infinity
    #FlushRDNSS on|off
  };
};

viz. man radvd.conf


Literatúra