Az internetprotokoll 6-os verziójú cím (IPv6-cím) egy hexadecimális számsorozat, mellyel egy számítógép hálózati interfészét – vagy más hálózati csomópontot – lehet azonosítani IPv6-alapú hálózatokban.
Az IP-címek arra szolgálnak, hogy egyedileg azonosítsák egy gazdagép egy hálózati interfészét, azaz egy a hálózatban található gép, valamelyik hálózati kártyáját ha egynél több hálózati kártya van behelyezve. Lehetővé téve ezzel az IP-csomagok irányítását a gépek között. A routoláshoz a cél- és forrás-címek az IP-csomag fejlécének megfelelő mezőiben találhatóak.
Az IPv6 az internet első címzési infrastruktúrájának, az internetprotokoll 4-nek (IPv4) az utódja. Az IPv6 128 bites címeket használ, szemben az elődje 32 bites címeivel, ezzel nagymértékben megnövelve a lehetséges címtartományt.
300px|bélyegkép|Az IPv6-cím felbontása kettes számrendszerbeli alakjára
__TOC__
IPv6-os címosztályok
Az IPv6-címek osztályozása az alapvető hálózati címzési és útválasztási módszertanok szerint történik: unicast (egyedi) címzés, anycast címzés, és multicast (többes-)címzés.RFC 4291, IP Version 6 Addressing Architecture, R. Hinden, S. Deering (February 2006)
Az unicast címek egy egyedi hálózati interfészt azonosítanak („egyescímzés”). Az internetprotokoll az unicast címre küldött csomagokat a megfelelő egyedi interfésznek továbbítja. Az anycast címek egy csoport interfészhez vannak hozzárendelve, amelyek általában különböző csomópontokhoz tartoznak. Egy anycast címre küldött csomagot a tag-interfészek egyike kapja csak meg, jellemzően a legközelebbi hoszt (az útválasztási protokoll távolságfogalma szerint). Az anycast címeket nem könnyű felismerni, ugyanolyan formájúak, mint az unicast címek, csak abban különböznek, hogy a hálózat több pontján vannak jelen. Majdnem minden unicast cím használható anycast címként is. A multicast címeket szintén több hoszt használja, amelyek a multicast cél státuszukat a hálózati útválasztók közti multicast elosztási protokollban való részvételükkel biztosítják. A multicast címre küldött csomag minden olyan interfészhez eljut, amely csatlakozott a megfelelő multicast csoporthoz.
Az IPv6 nem valósítja meg a szórási címzést (broadcast). A szórás hagyományos szerepét átvette a többescímzés minden csomópont kapcsolati szintű (link-local) többescímzési csoportja (ff02::1). Azonban ennek az összes csomópont csoportnak a használata nem ajánlott, és a legtöbb IPv6-protokoll dedikált kapcsolati szintű többescímzésű csoportot használ annak érdekében, hogy ne „zavarja” a hálózat összes interfészét.
Címformátumok
Az IPv6-címek 128 bitből állnak. A címek több típusra oszthatóak a fő címzési és útválasztási módszertanok alkalmazásai szerint: unicast, multicast és anycast hálózatkezelésre. Mindhárom esetben több címformátum azonosítható a 128 címbit logikai bitcsoportokra osztásával, és szabályok felállításával ezen bitcsoportok értékeinek a speciális címzési tulajdonságokkal való társításához.
Az unicast címek formátuma
Az unicast és anycast címek jellemzően két logikai részből állnak: egy 64 bites útválasztáshoz használt hálózati előtagból, és egy 64 bites interfész azonosítóból, ami a hoszt hálózati interfészét azonosítja.
{| class="wikitable" style="width: 750px" |+ Általános unicast címformátum |- !style="width: 0%"| bit |style="text-align: center; width: 37.5%;"| 48 |style="text-align: center; width: 12.5%;"| 16 |style="text-align: center; width: 50%;"| 64 |- !style="width: 0%"| mező |style="text-align: center;"| útválasztási előtag |style="text-align: center;"| alhálózat ID |style="text-align: center;"| interfész azonosító
A hálózati előtag a cím nagy helyiértékű 64 bitjében található. Az ajánlott kiosztás végfelhasználóknak 48 bitnyi routolási előtag. Ebben az esetben 16 bit alhálózati azonosító áll rendelkezésére a hálózati adminisztrátornak alhálózatok meghatározására. A 64 bites interfész azonosító lehet automatikusan generált az interfészek MAC-címeiből a módosított EUI-64 formátum szerint, adhatja DHCPv6 szerver, lehet automatikusan véletlenszerűen megállapított, vagy kézzel megadott.
A kapcsolati szintű cím is az interfészazonosítón alapul, de a hálózati előtagja más formátumú.
{| class="wikitable" style="width: 750px" |+ Kapcsolati szintű (link-local) címformátum |- !style="width: 0%"| bit |style="text-align: center; width: 7.8%;"| 10 |style="text-align: center; width: 42.2%;"| 54 |style="text-align: center; width: 50%;"| 64 |- !style="width: 0%"| mező |style="text-align: center;"| előtag |style="text-align: center;"| nullák |style="text-align: center;"| interfész azonosító
Az előtag mező értéke a bináris 1111111010. Ezt 54 nulla követi, aminek következtében a kapcsolati szintű címeknél az összes hálózati előtag ugyanaz, ezért nem routolhatóak. (Az első 64 bit hexadecimálisan leírva: fe80:0000:0000:0000:, vagy fe80:0:0:0:, röviden pedig fe80:: – ez utóbbi esetben a :: rövidítés már nem alkalmazható az interfész azonosítónál.)
A multicast címek formátuma
A multicast címek formátuma az alkalmazástól függően több specifikus szabálytól függ.
{| class="wikitable" style="width: 750px" |+ Általános multicast címformátum |- !style="width: 0%"| bit |style="text-align: center; width: 6.2%;"| 8 |style="text-align: center; width: 3.1%;"| 4 |style="text-align: center; width: 3.1%;"| 4 |style="text-align: center; width: 87.5%;"| 112 |- !style="width: 0%"| mező |style="text-align: center;"| előtag |style="text-align: center;"| flgs |style="text-align: center;"| sc |style="text-align: center;"| csoport azonosító
Az előtag a bináris 11111111 értéket tartalmazza minden multicast címnél. Jelenleg 3 flag bit van definiálva a 4-ből az flgs mezőben, a legnagyobb helyiértékű flag bit későbbi használatra van fenntartva. A 4 bites sc (scope, hatókör) mező jelzi, hogy a cím hol érvényes és egyedi.
{| class="wikitable" style="width: 750px" |+ Solicited-node multicast címformátum |- !style="width: 0%"| bit |style="text-align: center; width: 6.2%;"| 8 |style="text-align: center; width: 3.1%;"| 4 |style="text-align: center; width: 3.1%;"| 4 |style="text-align: center; width: 61.75%;"| 79 |style="text-align: center; width: 7%;"| 9 |style="text-align: center; width: 18.7%;"| 24 |- !style="width: 0%"| mező |style="text-align: center;"| előtag |style="text-align: center;"| flgs |style="text-align: center;"| sc |style="text-align: center;"| nullák |style="text-align: center;"| egyesek |style="text-align: center;"| unicast cím
Az előtag és sc mezők a bináris 11111111 és 0010 értékeket tartalmazzák. A solicited-node multicast címek a csomópont unicast vagy anycast címeiből számíthatóak. A solicited-node multicast cím az unicast vagy anycast cím utolsó 24 bitjének a multicast cím utolsó 24 bitjébe másolásával állítható elő.
{| class="wikitable" style="width: 750px" |+ Unicast-előtag alapú multicast címformátumRFC 3306, Unicast-Prefix-based IPv6 Multicast Addresses, B. Haberman, D. Thaler (August 2002)RFC 3956, Embedding the Rendezvous Point (RP) Address in an IPv6 Multicast Address P. Savola, B. Haberman (November 2004) |- !style="width: 0%"| bit |style="text-align: center; width: 6.2%;"| 8 |style="text-align: center; width: 3.1%;"| 4 |style="text-align: center; width: 3.1%;"| 4 |style="text-align: center; width: 3.1%;"| 4 |style="text-align: center; width: 3.1%;"| 4 |style="text-align: center; width: 6.2%;"| 8 |style="text-align: center; width: 50%;"| 64 |style="text-align: center; width: 25%;"| 32 |- !style="width: 0%"| mező |style="text-align: center;"| előtag |style="text-align: center;"| flgs |style="text-align: center;"| sc |style="text-align: center;"| res |style="text-align: center;"| riid |style="text-align: center;"| plen |style="text-align: center;"| hálózati előtag |style="text-align: center;"| csoportazonosító
A kapcsolati hatókörű multicast címek hasonló formátumúak.RFC 4489, A Method for Generating Link-Scoped IPv6 Multicast Addresses, J-S. Park, M-K. Shin; H-J. Kim (April 2006)
Ábrázolás
Az IPv6-címeket hexadecimális alakban ábrázoljuk, nyolc négyes csoportra osztva. Minden csoport 16 bitet, azaz két oktetet ábrázol. A csoportokat kettősponttal választjuk el (:). Egy példa IPv6-címre:
2001:0db8:85a3:0000:0000:8a2e:0370:7334
A hexadecimális számjegyek nem kis-nagybetű érzékenyek, de ajánlott a kisbetűs írásmódot használni.RFC 5952, "A Recommendation for IPv6 Address Text Representation", S. Kawamura, M. Kawashima, (August 2010)
A teljes ábrázolást több módon lehet egyszerűsíteni, elhagyva bizonyos részeket.
Bevezető nullák A bevezető nullákat el lehet hagyni egy csoportban, de minden csoportban szerepelnie kell legalább egy hexadecimális számjegynek. Példa:
2001:db8:85a3:0:0:8a2e:370:7334.
Nullák egymást követő csoportja(i) Kettő vagy több egymást követő, csak nullákból álló csoportot le lehet egyszerűsíteni egy üres csoportra két egymást követő kettősponttal (::). Ezt az egyszerűsítést egy címben csak egyszer lehet elvégezni, mivel több előfordulás többértelművé tenné a címet. Ha több ilyen cserét lehetne elvégezni, a legtöbb csoportot érintőt kell egyszerűsíteni; ha a két csoport egyforma hosszú, balról az elsőt. A példabeli cím ezek alapján tovább egyszerűsítve:
2001:db8:85a3::8a2e:370:7334
A localhost visszacsatolási (loopback) cím (0:0:0:0:0:0:0:1) és az IPv6-os nem specifikált cím (0:0:0:0:0:0:0:0) rövidítve ::1 és ::.
Ponttal elválasztott decimális jelölés Az IPv4-ről IPv6-ra való átállás közben tipikus a kevert címzésű környezet. Erre a célra egy speciális jelölést vezettek be, hogy az IPv4-mapped és IPv4-kompatibilis IPv6-címek utolsó 32 bitjét az IPv4-címeknél megszokott módon írjuk. Például az ::ffff:c000:280 IPv4-mapped IPv6-címet általában így írjuk: ::ffff:192.0.2.128, világosan jelezve az IPv4-címet, ami le lett képezve IPv6-címmé.
Hálózatok
Egy IPv6-hálózat folytonos IPv6-címekből álló, kettő hatvány méretű címtartományokat használ. A cím elején levő bitek egyformák az adott hálózatban található összes hosztnál. Ezt hálózati címnek, avagy útválasztási előtagnak hívjuk.
A hálózati címtartományokat a CIDR jelölés szerint írjuk. Egy hálózatcím három részből áll: a címtartomány első (nullákra végződő) címéből, ezt perjel követi, majd egy decimális érték, ami az előtag bitben megadott hosszát adja meg. Például a 2001:db8:1234::/48 hálózat kezdő címe 2001:db8:1234:0000:0000:0000:0000:0000, utolsó címe pedig 2001:db8:1234:ffff:ffff:ffff:ffff:ffff.
Egy interfészcím útválasztási előtagját közvetlenül jelezhetjük a címben a CIDR jelölés segítségével. Például a 2001:db8:a::123 című interfész, ami a 2001:db8:a::/64 alhálózathoz csatlakozik a következőképpen jelölhető: 2001:db8:a::123/64.
Címtartomány-méretek
A címtartomány méretét egyszerűen egy perjel után megadott decimális számmal jelöljük, ami a hálózati előtag hosszát adja meg. Így nem kell megadnunk a tartományban szereplő címeket. Például egy 48 bites előtaggal rendelkező blokk jelölése /48. Ez a blokk 2128 – 48 = 280 címet tartalmaz. Minél kisebb a hálózati előtag, annál nagyobb a címtartomány: egy /21-es blokk nyolcszor akkora mint egy /24-es.
Literális IPv6-címek mint hálózati erőforrás azonosítók
A kettőspont (:) karakterek az IPv6-címekben összeférhetetlenek az erőforrás-azonosítók (például URI-k és URL-ek) kialakult szintaxisával. A kettőspont hagyományosan a hosztcímet zárja le a portcím előtt.RFC 3986, Uniform Resource Identifier (URI): Generic Syntax, T. Berners-Lee, R. Fielding, L. Masinter (January 2005) Az egyértelműség miatt a literális IPv6-címeket szögletes zárójelbe tesszük az ilyen erőforrás-azonosítókban, például:
http://[2001:db8:85a3:8d3:1319:8a2e:370:7348]/
Ha az URL portcímet is tartalmaz, akkor:
https://[2001:db8:85a3:8d3:1319:8a2e:370:7348]:443/
Literális IPv6-címek mint UNC-elérésiút-nevek