Bevezetés a hálózatok világába
Az IPv6-ot az IPv4 utódjának tervezték. Az IPv6 jóval nagyobb, 128 bites címtartományt használ, amely 340 szextillió címet jelent. (Ez a 340-es szám után 36 nullát takar.) Azonban az IPv6 jóval több, mint csak egy nagyobb címtér. Amikor az IETF elkezdte az IPv4 utódjának kidolgozását, ezt a folyamatot egyben arra is használta, hogy az IPv4 korlátait kijavítsa és további fejlesztéseket hozzáadjon. Egy példa erre az Internet Control Message Protocol version 6 (ICMPv6), amely az ICMP IPv4-es változatában (ICMPv4) még nem létező címfeloldást és cím autokonfigurációt is megvalósít.
Az IPv6-ra történő átállás motiváló tényezője az IPv4-címtér kimerülése volt. Afrika, Ázsia és a világ más területei egyre nagyobb mértékben kapcsolódnak az internethez, ekkora mértékű növekedéshez nincs elég IPv4-cím. 2011 január 31-én, egy hétfői napon az IANA kiosztotta az utolsó két /8-as IPv4-címblokkot a Regionális Internet Regisztrátoroknak (RIR-ek). Különböző előrejelzések szerint az öt RIR valamikor 2015 és 2020 között fog kifogyni az IPv4-címeikből. Az internetszolgáltatók ekkorra kapják meg a maradék IPv4-címeket.
Az IPv4 elméleti maximuma 4.3 milliárd cím körül van. Az RFC 1918 privát címei a hálózati címfordítással (Network Address Translation, NAT) együtt használva valamelyest le tudták lassítani az IPv4-címtartomány kimerülésének folyamatát. De a NAT bizonyos korlátai erősen befolyásolják a végpontok közti kommunikációt.
A mai internet lényegesen különbözik attól, amilyen az elmúlt évtizedekben volt. Az internet ma több, mint e-mail, weboldalak és gépek közti fájlátvitel. A folyamatosan fejlődő internet a dolgok internetévé válik. Már nem csak a számítógépek, táblagépek és okostelefonok fogják használni az internetet. A holnap érzékelőkkel felszerelt internetképes eszközei közé fog tartozni minden az autóktól és orvosi eszközöktől kezdve egészen a háztartási gépekig és természetes ökoszisztémákig. A növekvő internetes populáció, az IPv4-címtartomány korlátozott mérete, a NAT problémái, a Dolgok internete mind azt bizonyítják, hogy itt az idő IPv6-ra váltani.
Az IPv6-ra váltásnak nincs lerögzített határideje. A belátható jövőben az IPv4 és az IPv6 együtt fog létezni. Az átmenet várhatólag évekig fog tartani. Az IETF különféle protokollokat és eszközöket fejlesztett ki a hálózati rendszergazdák számára, hogy elősegítsék az IPv6-ra történő átállást. Az áttérési technikákat három kategóriába soroljuk:
Az IPv6-címek 128 bit hosszúak és hexadecimális értékek sorozataként írjuk fel őket. Mivel négy bit ad ki egy hexadecimális számjegyet, így a cím 32 hexadecimális számjegyből áll. Az IPv6-címek esetén nem különböztetjük meg a kis- és nagybetűket, bármelyiket használhatjuk.
Ahogy az előző ábrán láthatjuk, az IPv6-címek preferált formátuma x:x:x:x:x:x:x:x, ahol minden „x” négy hexadecimális értéket helyettesít. Az IPv4-címek 8 bites részeit oktettnek hívtuk. IPv6-ban egy 16 bites címrész vagyis négy hexadecimális érték nem hivatalos elnevezése hextett. Minden „x” egy-egy hextettet, azaz 16 bitet vagyis négy hexadecimális számjegyet jelent.
Az IPv6-címek preferált (előnyben részesített, elsődleges) formátuma az, amikor mind a 32 hexadecimális számjegyet kiírjuk. Ami nem feltétlenül jelenti azt, hogy ez egyben az IPv6-címek megjelenítésének ideális formátuma is lenne. A következőkben megismerünk két szabályt, melyeknek segítségével az IPv6-cím számjegyeinek száma lényegesen lerövidíthető.
A következőkben néhány példát láthatunk a preferált formátumú IPv6-címekre vonatkozóan:
2001 : 0db8 : 0000 : 1111 : 0000 : 0000 : 0000: 0200 2001 : 0db8 : 0000 : 00a3 : abcd : 0000 : 0000: 1234 2001 : 0db8 : 000a : 0001 : c012 : 9aff : fe9a: 19ac 2001 : 0db8 : aaaa : 0001 : 0000 : 0000 : 0000: 0000 fe80 : 0000 : 0000 : 0000 : 0123 : 4567 : 89ab: cdef fe80 : 0000 : 0000 : 0000 : 0000 : 0000 : 0000: 0001 fe80 : 0000 : 0000 : 0000 : c012 : 9aff : fe9a: 19ac fe80 : 0000 : 0000 : 0000 : 0123 : 4567 : 89ab: cdef 0000 : 0000 : 0000 : 0000 : 0000 : 0000 : 0000: 0001 0000 : 0000 : 0000 : 0000 : 0000 : 0000 : 0000: 0000
Első szabály - A vezető nullák elhagyása
Az első szabály az IPv6-címek rövidítésekor az, hogy a 16 bites részek vagy hextettek vezető nulláit elhagyhatjuk.
Például:
A szabály csak a vezető nullákra alkalmazható, a záró nullákra nem, különben a rövidítés nem lenne egyértelmű. Például az „ABC” hextettről nem tudnánk eldönteni, hogy „0ABC” vagy „ABC0” volt-e.
A következő táblázatokban több példát láthatunk arra vonatkozóan, hogy a vezető nullák elhagyása hogyan csökkenti az IPv6-címek méretét. Minden példához látható a teljes (preferált) forma is. Figyeljük meg, hogy a vezető nullák elhagyása a legtöbb példában kisebb címet eredményez!
Második szabály - A csupa nullát tartalmazó szegmensek elhagyása
Az IPv6-címek megjelenésének rövidítésére a második szabály az, hogy bármelyik, csak nullákat tartalmazó 16 bites szegmens (hextett) sorozat helyettesíthető dupla kettősponttal (::).
A dupla kettőspont (::) egy címen belül csak egyszer használható, különben több lehetséges cím rövidítése is ugyanaz lenne! A vezető nullák elhagyásával együtt használva az IPv6-címek mérete lényegesen lerövidül. Ezt időnként tömörített formátumnak hívják.
Az alábbi táblázatok több példát is mutatnak arra vonatkozóan, hogy a dupla kettőspont és a vezető nullák elhagyása hogyan csökkenti az IPv6-címek méretét:
| Típus | Formátum |
|---|---|
| Preferált | 2001 : 0db8 : 0000 : 1111 : 0000 : 0000 : 0000 : 0200 |
| Tömörített | 2001:db8:0:1111::200 |
| Típus | Formátum |
|---|---|
| Preferált | 2001 : 0db8 : 0000 : 0000 : ab00 : 0000 : 0000 : 0000 |
| Tömörített | 2001:db8:0:0:ab00:: |
| Típus | Formátum |
|---|---|
| Preferált | 2001 : 0db8 : aaaa : 0001 : 0000 : 0000 : 0000 : 0000 |
| Tömörített | 2001:db8:aaaa:1:: |
| Típus | Formátum |
|---|---|
| Preferált | fe80 : 0000 : 0000 : 0000 : 0123 : 4567 : 89ab : cdef |
| Tömörített | fe80::123:4567:89ab:cdef |
| Típus | Formátum |
|---|---|
| Preferált | fe80 : 0000 : 0000 : 0000 : 0000 : 0000 : 0000 : 0001 |
| Tömörített | fe80::1 |
| Típus | Formátum |
|---|---|
| Preferált | 0000 : 0000 : 0000 : 0000 : 0000 : 0000 : 0000 : 0001 |
| Tömörített | ::1 |
| Típus | Formátum |
|---|---|
| Preferált | 0000 : 0000 : 0000 : 0000 : 0000 : 0000 : 0000 : 0000 |
| Tömörített | :: |
Egy helytelen cím-példa:
A helytelen cím többféleképpen is bővíthető:
Emlékezzünk rá, hogy az IPv4-cím előtagját (prefixumát) vagy hálózat részét pontokkal elválasztott decimális alhálózati maszk formájában vagy prefixummal (peres jelöléssel) azonosíthatjuk. Például a 192.168.1.10 IP-cím pontozott decimális alhálózati maszkja 255.255.255.0, amit így is írhatunk: 192.168.1.10/24.
Az IPv6 az előtag hosszát használja a cím előtag részének meghatározására. A pontozott decimális alhálózati maszk jelölést IPv6-nál nem használjuk. Az előtag hossz jelöli ki az IPv6-cím hálózat részét az IPv6-cím/előtag hossz jelöléssel.
Az előtag hossza 0 és 128 közé eshet. A tipikus IPv6 előtag hossz LAN-ok és a legtöbb egyéb hálózat esetén /64. Ez azt jelenti, hogy az előtag, avagy a cím hálózat része 64 bit hosszú, ami az interfész azonosító (állomás rész) számára szintén 64 bitet hagy.
Az IPv6-címeknek három típusa van:
Megjegyzés: Az IPv4-gyel ellentétben, IPv6-ban nincsenek szórási címek! Viszont létezik egy IPv6 minden állomás multicast cím (all-node multicast address), ami lényegében ugyanezt az eredményt adja.
Az IPv6 globális egyedi címzésű címek globálisan egyediek és továbbíthatók az interneten. Ezek a publikus IPv4-címek megfelelői. Az ICANN (Internet Committee for Assigned Names and Numbers) és az IANA (Internet Assigned Numbers Authority) üzemeltetői osztják ki az IPv6-címblokkokat az öt RIR számára. Jelenleg csak azokat a globális egyedi címeket osztják ki, amelyek első három bitje 001 (2000::/3). Ez az elérhető IPv6-címtartománynak csupán az 1/8 része, kivéve egy egészen kis részt, amit más típusú egyedi és csoportos címzés használ.
Megjegyzés: A 2001:0DB8::/32 címet dokumentációs célokra tartják fenn, beleértve a példákban való használatot is.
A következő ábra a globális egyedi címek szerkezetét és tartományát mutatja:
A globális egyedi cím három részből áll:
A globális forgalomirányítási előtag vagy hálózat rész a cím azon része, amelyet a szolgáltató, például internetszolgáltató rendel hozzá egy ügyfélhez vagy telephelyhez. Jelenleg a RIR-ek /48-as globális előtagot adnak az ügyfeleknek. Ebbe a céges üzleti hálózatoktól az egyéni háztartásokig mindenki beletartozik. Ez a legtöbb ügyfél számára több, mint elégséges címet jelent.
A következő ábra a globális egyedi cím szerkezetét mutatja /48-as globális forgalomirányítási előtag használata esetén. A /48-as a leggyakrabban kiosztott globális előtag, a legtöbb példában ezt fogjuk használni jelen tananyag keretében.
Például a 2001:0DB8:ACAD::/48 IPv6-cím azt jelenti, hogy az első 48 bit (3 hextett) (2001:0DB8:ACAD) a cím előtagja vagy hálózat része. A /48 előtag hossz előtti dupla kettőspont azt jelenti, hogy a cím további része csupa 0.
Az alhálózat azonosítót a szervezet a saját telephelyén belüli alhálózatok azonosítására használhatja.
Az IPv6 interfész azonosító az IPv4-cím állomás részének felel meg. Amiatt hívjuk interfész azonosítónak, mivel egyetlen állomásnak lehet akár több interfésze is, és mindegyik interfésznek lehet egy vagy akár több IPv6-címe is.
Megjegyzés: Az IPv4-gyel ellentétben IPv6-ban a csupa eggyes címet is kiadhatjuk állomásnak, mivel IPv6-ban nincsenek szórási címek. A csupa nulla cím viszont fenntartott, ez az alhálózat forgalomirányító anycast címe, ezt csak forgalomirányítóknak lehet kiosztani.
A legtöbb konfigurációs és ellenőrző parancs IPv6 megfelelője Cisco IOS alatt hasonló az IPv4-es változathoz. Sok esetben mindössze annyi a különbség, hogy az ipv6 kulcsszót használjuk az ip helyett a parancsokban.
A(z) interface parancs IPv6 globális egyedi cím konfigurálására egy adott interfészen: ipv6 address ipv6-cím/előtag-hossz.
A minta konfiguráció az előző ábra topológiáját használja a következő IPv6 alhálózatokkal:
Az R1 router interfészeinek globális egyedi IPv6-címeit beállító parancsok a következők:
R1(config)# interface gigabitethernet 0/0/0 R1(config-if)# ipv6 address 2001:db8:acad:1::1/64 R1(config-if)# no shutdown R1(config-if)# exit R1(config)# interface gigabitethernet 0/0/1 R1(config-if)# ipv6 address 2001:db8:acad:2::1/64 R1(config-if)# no shutdown R1(config-if)# exit R1(config)# interface serial 0/1/0 R1(config-if)# ipv6 address 2001:db8:acad:3::1/64 R1(config-if)# no shutdown
Egy állomás IPv6-címének beállítása az IPV4-címekéhez hasonló módon történik:
Ahogy a topológi-ábrán is látható, a PC1 alapértelmezett átjárója a 2001:DB8:ACAD:1::1, ami az R1 forgalomirányító ugyanezen a hálózaton levő Gigabit Ethernet interfészének globális egyedi címe.
Ugyanúgy, mint az IPv4-nél, nagyobb hálózatokban nem praktikus a klienseknek statikusan adni a címeket. Emiatt a legtöbb IPv6-hálózat rendszergazdája az IPv6-címek dinamikus hozzárendelését alkalmazza.
Két módja van annak, hogy egy eszköz hogyan szerezheti be automatikusan IPv6 globális egyedi címét:
Állapotmentes Cím Autokonfiguráció (Stateless Address Autoconfiguration, SLAAC)
Az Állapotmentes Cím Autokonfiguráció (SLAAC) olyan módszer, ami lehetővé teszi az eszköz számára, hogy beszerezze a prefixumot, a prefixum hosszát és az alapértelmezett átjáró címét egy IPv6 forgalomirányító eszköztől DHCPv6 szerver nélkül is. SLAAC használatakor az eszköz a helyi forgalomirányító ICMPv6 forgalomirányító hirdetés (Router Advertisement, RA) üzeneteiből szerzi be a szükséges információkat.
Az IPv6 forgalomirányítók rendszeres időközönként küldenek ki ICMPv6 forgalomirányító hirdetés (Router Advertisement, RA) üzeneteket a hálózat minden IPv6-képes eszközének. Alapértelmezésben a Cisco forgalomirányítók minden 200. másodpercben kiküldik ki az RA üzeneteiket az IPv6 minden állomás multicast címre. Az IPv6 eszköznek viszont nem kell kivárnia a következő RA üzenetet. Küldhet egy forgalomirányító keresés (Router Solicitation, RS) üzenetet a routernek a minden router (multicast) csoportcímre. Ha egy IPv6 forgalomirányító RS üzenetet kap, azonnal válaszolni fog egy forgalomirányító hirdetéssel.
Attól, hogy egy Cisco forgalomirányító interfésznek IPv6-címet állítunk be, még nem lesz azonnal „IPv6 forgalomirányító”. Az IPv6 forgalomirányító olyan forgalomirányító, amely:
Az IPv6 forgalomirányítás alapértelmezés szerint nincs engedélyezve. Egy forgalomirányítót IPv6 forgalomirányítóvá tehetünk az ipv6 unicast-routing globális konfigurációs parancs kiadásával.
Megjegyzés: A Cisco forgalomirányítók alapértelmezés szerint IPv4 forgalomirányítóként üzemelnek.
Az ICMPv6 RA üzenete tartalmazza a prefixumot, a prefixum hosszát és további információkat az IPv6 eszközök számára. Az RA üzenet arról is tájékoztatja az IPv6 eszközt, hogy a címzési információt milyen módon szerezheti be. A következő ábrákon látható háromféle lehetőség közül választhat:
A forgalomirányítók ICMPv6 RA üzeneteinek forrás IPv6-címe a link-local címük. Az SLAAC-t használó eszközök a router link-local címét használják alapértelmezett átjárónak.
DHCPv6
Az IPv6 Dinamikus Hoszt Konfigurációs Protokollja (DHCPv6) hasonló az IPv4 DHCP-hez. Az eszköz automatikusan megkaphatja a címzési információkat (globális egyedi cím, előtag hossz, alapértelmezett átjáró, DNS-szerverek címei) egy DHCPv6 szerver szolgáltatásainak segítségével.
Az eszköz minden IPv6-címzési információt vagy csak egy részét a DHCPv6 szervertől kapja meg attól függően, hogy a második (SLAAC és DHCPv6) vagy a harmadik (csak DHCPv6) lehetőséget adták meg az ICMPv6 RA üzenetben. Ezen felül az állomás operációs rendszere figyelmen kívül hagyhatja a forgalomirányító RA üzenetének tartalmát és dönthet úgy, hogy az IPv6-címét és információit közvetlenül DHCPv6 szervertől szerzi be.
Az IPv6-képes eszközök hálózatba kapcsolása előtt hasznos lehet ellenőrizni, hogy az állomás figyelembe veszi-e a forgalomirányító ICMPv6 RA üzeneteinek beállításait.
Az eszköz dinamikusan is beszerezheti az IPv6 globális egyedi címét, valamint több statikus IPv6-címet is beállíthatunk ugyanazon az interfészen. Az IPv6 több IPv6-címet is megenged beállítani egy interfésznek ugyanabból az IPv6 hálózatból.
Az eszköznek egynél több alapértelmezett átjáró címet is meg lehet adni. Az RFC 6724-ben (Alapértelmezett Cím Kiválasztása IPv6-ban, Default Address Selection for IPv6) további információkat találhatunk arról, hogy milyen módon dönt az eszköz a forráscímének és alapértelmezett átjárójának megválasztásáról.
Az interfész azonosító
Ha a kliens nem használja az RA üzenet információit és csak a DHCPv6-ra támaszkodik, akkor a DHCPv6 szerver fogja az egész IPv6 globális egyedi címet adni, beleértve az előtagot és az interfész azonosítót is.
Azonban az 1. (csak SLAAC) vagy a 2. lehetőség (SLAAC DHCPv6 segítségével) használata esetén a kliens nem fogja megkapni a tényleges interfész azonosítót. Saját magának kell meghatároznia a 64 bites interfész azonosítóját akár az EUI-64 művelettel, akár egy 64 bites véletlen szám generálásával.
Az EUI-64 módszer
Az IEEE meghatározott egy Kiterjesztett Egyedi Azonosító (Extended Unique Identifier, EUI) vagy módosított EUI-64 nevű folyamatot. A művelet a kliens 48 bites Ethernet MAC-címének közepébe beszúr további 16 bitet, így állítja elő a 64 bites interfész azonosítót.
Az Ethernet MAC-címeket legtöbbször hexadecimális formában ábrázoljuk és a címek két részből állnak:
Az EUI-64 interfészazonosítót binárisan ábrázoljuk és három részből áll:
Az EUI-64 folyamatát a fenti ábra mutatja be az R1 Gigabit Ethernet MAC-címével, ami FC99:4775:CEE0.
1. lépés: A MAC-cím kettéosztása az OUI és az eszközazonosító között.
2. lépés: A hexadecimális FFFE beszúrása, ami binárisan 1111 1111 1111 1110.
3. lépés: Az OUI első 2 hexadecimális számjegyének binárissá alakítása, az U/L bit (7. bit) invertálása. Ebben a példában a hetedik bit 0, amiből tehát 1 lesz.
Az eredmény az EUI-64 generált interfész azonosító: FE99:47FF:FE75:CEE0.
Megjegyzés: Az U/L bit szerepét és az invertálásának okát az RFC 5342 tárgyalja.
A következő kimenetben egy egyszerű módszert láthatunk annak megállapítására, hogy egy cím nagy valószínűséggel EUI-64-gyel készült vagy sem, csak meg kell néznünk, hogy az interfész azonosító közepén megtalálható-e az FFFE rész.
C:\> ipconfig Windows IP Configuration Ethernet adapter Local Area Connection: Connection-specific DNS Suffix . : IPv6 Address. . . . . . . . . . . : 2001:db8:acad:1:fc99:47ff:fe75:cee0 Link-local IPv6 Address . . . . . : fe80::fc99:47ff:fe75:cee0 Default Gateway . . . . . . . . . : fe80::1 C:\>
Az EUI-64 előnye az, hogy egy interfész azonosító generálható az Ethernet MAC-cím segítségével. Lehetővé teszi a hálózat rendszergazdáinak azt is, hogy az egyedi MAC-cím alapján az IPv6-címet egészen a végberendezésig követhessék. Azonban ez sok felhasználóban adatvédelmi aggályokat ébresztett. Attól tartanak, hogy a csomagjaikat a tényleges fizikai számítógépükig követhetik. Ezen aggályok miatt használhatunk véletlenszerűen generált interfész azonosítót is.
Véletlenszerűen generált interfész azonosító
Operációs rendszertől függően az eszköz a MAC-cím és az EUI-64 algoritmus helyett véletlenszerűen generált interfész azonosítót is használhat. Például a Windows operációs rendszerek a Vista verzióval kezdődően az EUI-64 helyett már véletlenszerűen generált interfész azonosítót használnak. A Windows XP és a korábbi Windows operációs rendszerek az EUI-64-et alkalmazták.
C:\> ipconfig Windows IP Configuration Ethernet adapter Local Area Connection: Connection-specific DNS Suffix . : IPv6 Address. . . . . . . . . . . : 2001:db8:acad:1:50a5:8a35:a5bb:66e1 Link-local IPv6 Address . . . . . : fe80::50a5:8a35:a5bb:66e1 Default Gateway . . . . . . . . . : fe80::1 C:\>
Miután az EUI-64, vagy a véletlen generálás eredményeképpen előállt interfész azonosítót az IPv6 előtaggal összekombináljuk létrejön egy globális egyedi cím, vagy egy link-local cím:
Az IPv6 link-local címek lehetővé teszik, hogy az eszköz kommunikáljon a vele közös kapcsolaton lévő más IPv6-képes eszközökkel, de csak ezen az egy kapcsolaton (alhálózaton) lévőkkel. Azok a csomagok, amelyeknek a forrása vagy célja link-local cím nem továbbíthatók a kiinduló kapcsolaton kívülre.
Az IPv4 link-local címekkel ellentétben az IPv6 link-local címeknek jelentős szerepük van a hálózat különböző vonatkozásaiban. A globális egyedi cím nem szükséges, link-local címmel viszont minden IPv6-képes hálózati interfésznek rendelkeznie kell.
Ha az interfészen nem állítunk be kézzel link-local címet, az eszköz automatikusan létrehoz magának egyet DHCP-szerver nélkül is. Az IPv6-képes állomások akkor is létrehoznak maguknak IPv6 link-local címet, ha globális egyedi címet nem rendeltünk az eszközhöz. Ez lehetővé teszi azt, hogy azonos alhálózaton belül az IPv6-képes eszközök kommunikálhassanak egymással. Ebbe az alapértelmezett átjáróval (forgalomirányítóval) való kommunikáció is beletartozik.
Az IPv6 link-local címek az FE80::/10 tartományban vannak. A /10 azt jelenti, hogy az első 10 bit 1111 1110 10xx xxxx. Az első hextet tartománya 1111 1110 1000 0000 (FE80) és 1111 1110 1011 1111 (FEBF) közé esik.
A következő ábra egy IPv6 link-local címekkel zajló kommunikációra mutat példát:
A következő ábra pedig az IPv6 link-local cím formátumát mutatja:
Megjegyzés: Általában a forgalomirányító link-local címe az, amit az eszközök egy kapcsolatban alapértelmezett átjáróként használnak, nem pedig a globális egyedi címe.
Miután az interfészhez hozzárendeltük a globális egyedi címet, az IPv6-képes eszköz automatikusan generál egy link-local címet. MInden IPv6-képes eszköznek legalább egy link-local címmel kell rendelkeznie. Emlékezzünk vissza arra, hogy az IPv6 link-local cím lehetővé teszi az IPv6-képes eszközök számára az alhálózatukon belüli kommunikációt egymással.
Az IPv6 link-local címeket különböző célokra használjuk:
A link-local cím beállítható dinamikusan vagy konfigurálhatjuk kézzel is, mint statikus link-local cím.
Dinamikus link-local címek
A link-local címet dinamikusan hozzuk létre FE80::/10 előtaggal és az interfész azonosítóval.
A Cisco IOS-t futtató forgalomirányítók IPv6 interfészein alapértelmezésben az EUI64-gyel generálják a link-local címek interfész azonosítóját. Soros interfészek esetén a forgalomirányító egy Ethernet interfész MAC-címét fogja használni. Ne feledjük, hogy a link-local címnek csak ezen a kapcsolaton vagy hálózaton belül kell egyedinek lennie. A dinamikusan kiosztott link-local címek hátrányaként a hosszukat lehet megemlíteni, ami miatt nehéz felismerni és emlékezni a kiosztott címekre.
SLAAC használata esetén (akár csak SLAAC, akár SLAAC DHCPv6-tal együtt) az eszköz az előtagot és az előtag hosszát az ICMPv6 RA üzenetből szerzi. Mivel a cím előtagját az RA üzenet már meghatározta, az eszköznek csak a cím interfész azonosító részét kell biztosítania. Amint korábban említettük, az interfész azonosítót generálhatjuk az EUI-64 művelettel, vagy az operációs rendszertől függően véletlenszerűen. Az RA üzenet információiból és az interfész azonosítóból az eszköz már meg tudja határozni a link-local címét.
C:\> ipconfig Windows IP Configuration Ethernet adapter Local Area Connection: Connection-specific DNS Suffix . : IPv6 Address. . . . . . . . . . . : 2001:db8:acad:1:fc99:47ff:fe75:cee0 Link-local IPv6 Address . . . . . : fe80::fc99:47ff:fe75:cee0 Default Gateway . . . . . . . . . : fe80::1 C:\>
C:\> ipconfig Windows IP Configuration Ethernet adapter Local Area Connection: Connection-specific DNS Suffix . : IPv6 Address. . . . . . . . . . . : 2001:db8:acad:1:50a5:8a35:a5bb:66e1 Link-local IPv6 Address . . . . . : fe80::50a5:8a35:a5bb:66e1 Default Gateway . . . . . . . . . : fe80::1 C:\>
R1# show interface gigabitEthernet 0/0/0
GigabitEthernet0/0/0 is up, line protocol is up
Hardware is ISR4221-2x1GE, address is 7079.b392.3640 (bia 7079.b392.3640)
(Output omitted)
R1# show ipv6 interface brief
GigabitEthernet0/0/0 [up/up]
FE80::7279:B3FF:FE92:3640
2001:DB8:ACAD:1::1
GigabitEthernet0/0/1 [up/up]
FE80::7279:B3FF:FE92:3641
2001:DB8:ACAD:2::1
Serial0/1/0 [up/up]
FE80::7279:B3FF:FE92:3640
2001:DB8:ACAD:3::1
Serial0/1/1 [down/down]
unassigned
R1#
Statikus link-local cím
A link-local címek manuális konfigurálása lehetővé teszi, hogy olyan címet alkossunk, ami felismerhető és könnyen megjegyezhető.
A link-local címet ugyanúgy állítjuk be manuálisan, mint ahogy IPv6 globális egyedi címet adunk meg, de egy további paramétert kell használnunk az interfész parancs után:
Router(config-if)# ipv6 address link-local-address link-local
A link-local cím előtagja az FE80 és FEBF közé eső tartományban van. Ha a cím ezzel a hextettel (16 bites rész) kezdődik, a címet a link-local paraméternek kell követnie.
A következő kódrészlet az R1 router interfészeinek link-local cím konfigurációját mutatja be:
R1(config)# interface gigabitethernet 0/0/0 R1(config-if)# ipv6 address fe80::1:1 link-local R1(config-if)# exit R1(config)# interface gigabitethernet 0/0/1 R1(config-if)# ipv6 address fe80::2:1 link-local R1(config-if)# exit R1(config)# interface serial 0/1/0 R1(config-if)# ipv6 address fe80::3:1 link-local R1(config-if)# exit
A loopback címet arra használja az állomás, hogy saját magának küldhessen csomagot, az ilyen címet fizikai interfészhez nem rendelhetjük. Az IPv4 loopback címhez hasonlóan egy IPv6 loopback címet is megpingelhetünk a helyi állomás TCP/IP konfigurációjának leteszteléséhez. Az IPv6 loopback cím az utolsó bit 1-esét kivéve csupa nulla, ami ::1/128 vagy tömörített formában csak ::1.
::1/128
A meghatározatlan cím csupa nullákból áll, tömörített formátumban ::/128 vagy csak simán ::. Nem rendelhető hozzá interfészhez és IPv6 csomagnak csak forráscíme lehet. Akkor láthatunk meghatározatlan címet forráscímként, amikor az eszköz még nem rendelkezik végleges IPv6-címmel, vagy ha a csomag forrása a cél számára lényegtelen.
::/128
Az IPv6 egyedi lokális címek mutatnak némi hasonlóságot az IPv4 RFC 1918 privát címeivel, de van néhány lényeges különbség is közöttük. Az egyedi lokális címeket helyi címzésre használják egy adott helyen vagy korlátozott számú helyszínek között. Az ilyen címeket a globális IPv6 hálózatba nem szabad továbbítani. Az egyedi lokális címek tartománya FC00::/7 és FDFF::/7 közötti.
FD00:8D64:AF0C:1::1/128
IPv4-ben a privát címek használatát NAT/PAT megoldással kombinálva egyfajta több az egyhez címfordítást kapunk a privát és publikus címek között. Ezt a technológiát az IPv4-címtartomány korlátozott mérete miatt használjuk. Számos telephely az RFC 1918 címek privát tulajdonságát használja ki arra is, hogy biztonságosabbá tegye a hálózatát, vagy elrejtse azt a biztonsági támadások elől. Ezeknek a technológiáknak azonban nem ez a célja, az IETF javaslata szerint a megfelelő biztonsági megoldásokat az internetre kapcsolódó forgalomirányítón kell megvalósítani. Bár az IPv6 helyspecifikus címzést is biztosít, az viszont nem arra való, hogy segítsen elrejteni IPv6-képes eszközeinket az internet elől. Az IETF továbbra is azt javasolja, hogy az eszközeink elérésének korlátozását a legjobb gyakorlat szerinti biztonsági módszerekkel valósítsuk meg.
Megjegyzés: Az IPv6 eredeti specifikációja tartalmazott helyen belüli (site-local) címeket hasonló célra, az FEC0::/10 tartományban. A specifikáció számos kétértelműsége miatt az IETF visszavonta a site-local címeket az egyedi lokális címek javára.
Az ilyen címeket az IPv4-ről IPv6-ra történő átállás elősegítésére használjuk. Egy tetszőleges x.y.z.w IPv4 címet a ::FFFF:x.y.z.w IPv6 címmel reprezentálunk.
::FFFF:192.168.0.1/128
Az IPv6 csoportcímek hasonlóak az IPv4 csoportcímekhez. Emlékezzünk vissza a csoportcímre (multicast cím), amely arra való, hogy egyetlen csomagot küldhessünk egy vagy több célhoz (multicast csoportnak). Az IPv6 csoportcímek előtagja FF00::/8.
Megjegyzés: Csoportcím csak célcím lehet, forrás sosem.
Kétfajta IPv6 csoportos cím létezik:
A kiosztott (hozzárendelt) multicast címek bizonyos előre definiált eszközcsoportok számára fenntartott multicast címek. A kijelölt multicast cím olyan egyetlen cím, amellyel közös protokollt vagy szolgáltatást futtató eszközök csoportját érhetjük el. A kijelölt multicast címeket meghatározott protokollokkal kapcsolatban használjuk, ilyen például a DHCPv6.
Két gyakori IPv6 assigned multicast csoport:
Az IPv6-képes eszközök az ICMPv6 forgalomirányító keresés (RS) üzeneteket a minden router multicast címre küldik. Az RS üzenet RA üzenetet kér az IPv6 forgalomirányítótól, hogy segítséget kapjon a cím konfigurációjának beállításához.
A solicited-node multicast hasonló a minden állomás (all-nodes) multicast címhez. Emlékezzünk rá, hogy a minden állomás multicast cím lényegében az IPv4 szórással egyenértékű. A hálózat minden eszköze feldolgozza a minden állomás címre küldött forgalmat. Hogy lecsökkentsük azon állomások számát, amelyeknek fel kell dolgozniuk a forgalmat, solicited-node multicast címet használhatunk.
A solicited-node multicast cím olyan cím, amely az eszköz IPv6 globális egyedi címének csak az utolsó 24 bitjével egyezik meg. Csak azoknak az eszközöknek kell feldolgozniuk ezeket a csomagokat, amelyek interfész azonosítójának legkisebb helyiértékű, jobb oldali részén levő 24 bitje megegyezik vele.
Az IPv6 solicited-node multicast cím automatikusan létrejön, amikor globális egyedi vagy link-local egyedi címet állítunk be. Az IPv6 solicited-node multicast cím a speciális FF02:0:0:0:0:FF00::/104 előtag után fűzött 24 bitből (az egyedi cím jobb szélső bitjei) áll.
A solicited-node multicast cím tehát két részből áll:
Megjegyzés: Lehetséges, hogy több eszköznek is ugyanaz lesz a solicited-node multicast címe. Ritkán ugyan, de előfordulhat, hogy az eszközök interfész azonosítójának jobb szélső 24 bitje megegyezik. Ez azonban nem jelent problémát, mivel az eszköz a beágyazott üzenetet is feldolgozza, amelyben viszont az eszköz teljes IPv6-címe szerepel.
Az anycast címek szintaktikailag unicast címek, csak a használatuk módja eltérő. Míg unicast esetén minden hálózati interfész címe különböző, addig anycast esetén ugyanazt a címet több különböző számítógép hálózati interfészéhez is hozzárendelik. Egy anycast címre küldött csomagot az adott anycast címmel rendelkező interfészek közül (a hálózatban használt routing protokoll metrikája szerint) a forráshoz legközelebb található interfésznek kézbesítik.
A csomag egy csoport tagjai közül egynek szól, de nem a feladó, hanem a hálózat dönti el, hogy melyik legyen az. Tipikus választás, hogy legyen a küldőhöz legközelebb eső csoporttag.
R1# show ipv6 interface brief
GigabitEthernet0/0/0 [up/up]
FE80::1:1
2001:DB8:ACAD:1::1
GigabitEthernet0/0/1 [up/up]
FE80::1:2
2001:DB8:ACAD:2::1
Serial0/1/0 [up/up]
FE80::1:3
2001:DB8:ACAD:3::1
Serial0/1/1 [down/down]
unassigned
R1# show ipv6 route
IPv6 Routing Table - default - 7 entries
Codes: C - Connected, L - Local, S - Static, U - Per-user Static route
C 2001:DB8:ACAD:1::/64 [0/0]
via GigabitEthernet0/0/0, directly connected
L 2001:DB8:ACAD:1::1/128 [0/0]
via GigabitEthernet0/0/0, receive
C 2001:DB8:ACAD:2::/64 [0/0]
via GigabitEthernet0/0/1, directly connected
L 2001:DB8:ACAD:2::1/128 [0/0]
via GigabitEthernet0/0/1, receive
C 2001:DB8:ACAD:3::/64 [0/0]
via Serial0/1/0, directly connected
L 2001:DB8:ACAD:3::1/128 [0/0]
via Serial0/1/0, receive
L FF00::/8 [0/0]
via Null0, receive
R1# ping 2001:db8:acad:1::10 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 2001:DB8:ACAD:1::10, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms R1#
Az IPv6 alhálózatok kialakítása az IPv4 alhálózatokétól eltérő módon történik. Ennek elsődleges oka az IPv6 címek igen magas száma, így az alhálózatok kialakításának célja is teljesen eltérő. Egy IPv6 címtartományt nem a címekkel való takarékoskodás miatt bontunk alhálózatokra, hanem a hierarchikus logikai hálózattervezés érdekében. Amíg az IPv4 alhálózattervezés a címtartomány szűkösségének kezeléséről szólt, addig az IPv6 alhálózattervezés egy a forgalomirányítókat és hálózatokat támogató címhiarerchia építését tűzi ki célul.
Ahogyan azt a fenti ábra is szemlélteti, a /48-as IPv6 címtartományhoz 16 bites alhálózat azonosító (Subnet ID) tartozik. A 16 bites alhálózat azonosítóval pedig 65,536 darab /64 alhálózat alakítható ki úgy, hogy egyetlen bitet sem kell kölcsönöznünk az interfész azonosító részből (Interface ID) a címnek. Valamennyi /64-es IPv6 alhálózat durván tizennyolc trillió címet tartalmaz, jóval többet, mint egy IP hálózati szegmens valaha is igényelhet.
Az alhálózat azonosítóból képzett alhálózatokat egyszerű ábrázolni, mivel nincs szükség bináris átalakításra. A következő szabad alhálózat meghatározásához elég eggyel növelni a hexadecimális értéket. Tulajdonképpen ez nem más, mint hexadecimális számolás az alhálózat azonosító részben.
A globális előtag azonos valamennyi alhálózatban. Csak az alhálózatot azonosító kvartettek értéke növekedik minden alhálózatban.
A példa topológián alhálózatokat kell kialakítani valamennyi LAN-ra és az R1, R2 közötti WAN-kapcsolatra. Az IPv4 példával ellentétben, az IPv6 esetében a WAN-kapcsolatot nem bontjuk további alhálózatokra. Ez ugyan „címpazarlásnak” tűnhet, de ennek IPv6 esetén nincs jelentősége.
A példában 5 darab, 0001-től 0005-ig terjedő alhálózat azonosítójú IPv6 alhálózatot osztunk ki. Valamennyi /64-es alhálózat jóval több címet biztosít, mint amire valaha is szüksége lehet.
Valamennyi LAN-szegmenshez és WAN-kapcsolathoz /64-es alhálózatot rendelünk.
Az IPv4 konfigurációjához hasonlóan valamennyi forgalomirányító interfész különböző IPv6-alhálózatba esik.
R1(config)# interface gigabitethernet 0/0/0 R1(config-if)# ipv6 address 2001:db8:acad:1::1/64 R1(config-if)# no shutdown R1(config-if)# exit R1(config)# interface gigabitethernet 0/0/1 R1(config-if)# ipv6 address 2001:db8:acad:2::1/64 R1(config-if)# no shutdown R1(config-if)# exit R1(config)# interface serial 0/1/0 R1(config-if)# ipv6 address 2001:db8:acad:3::1/64 R1(config-if)# no shutdown