Kapcsolási, forgalomirányítási és vezeték nélküli kommunikációs alapok
Az IPv4-hez hasonlóan az IPv6 globális egyedi címek beállítása történhet manuálisan és dinamikusan egyaránt. Az IPv6 globális egyedi címek dinamikus kiosztására viszont két módszer is létezik:
A SLAAC egy olyan módszer, amellyel egy DHCPv6-szerver szolgáltatásai nélkül szerezhetnek az eszközök IPv6 globális egyedi címet. A SLAAC működése az ICMPv6 protokollon alapul. Az ICMPv6 az ICMPv4-hez hasonló, de annál sokkal robusztusabb protokoll, amely további funkcionalitást kínál. A SLAAC az ICMPv6 protokoll forgalomirányító-keresés és forgalomirányító-hirdetés üzeneteinek segítségével kínál címzési és egyéb konfigurációs adatokat, amelyeket normál esetben egy DHCP-szerver biztosítana.
A SLAAC a nevéből eredően nem állapottartó. Az állapotmentes szolgáltatás azt jelenti, hogy nincs olyan szerver, amely karbantartja a hálózati címadatokat. A DHCP-vel ellentétben nincs olyan SLAAC-szerver, amely tudja, hogy melyek a használatban lévő, és melyek a rendelkezésre álló IPv6-címek.
Mielőtt egy forgalomirányító RA-üzeneteket küldhetne, engedélyezni kell rajta az IPv6-irányítást. Ennek engedélyezéséhez használjuk az alábbi parancsot:
R1(config)# ipv6 unicast-routing
Az, hogy egy kliens az IPv6-címadatait a SLAAC vagy a DHCPv6 használatával, esetleg a kettő kombinációjával szerezze meg, az RA-üzenetben lévő beállításokon múlik. Az ICMPv6 RA-üzenetei két jelzőbitet tartalmaznak, annak jelölésére, hogy a kliensnek melyik lehetőséget kellene választania.
Az egyik a felügyelt címkonfigurációs jelzőbit (Managed Address Configuration flag, M jelzőbit), a másik az egyéb konfigurációs jelzőbit (Other Configuration flag, O jelzőbit).
Az M és az O jelzőbit különböző kombinációjával, az RA-üzenetek három címzési lehetőség egyikét kínálják az IPv6 eszköz számára:
Függetlenül a használt módtól az RFC 4861 azt javasolja, hogy minden IPv6 eszköz végezze el a címütközés-érzékelést bármely egyedi címre vonatkozóan, beleértve a SLAAC és DHCPv6 együttes használatával beállított címeket is.
A Cisco forgalomirányítókon a SLAAC az alapértelmezett lehetőség. Ahogy az ábrán is látszik, ilyenkor az M és az O jelzőbit értéke egyaránt 0 az RA-üzenetben. Ez a lehetőség arra utasítja a klienst, hogy kizárólag az RA-üzenet információit használja.
Az RA-üzenetek beállítása a forgalomirányítók egyes interfészein történik. Ahhoz, hogy egy másik opcióra állított interfészen ismételten engedélyezzük a SLAAC működését, az M és az O jelzőbitek kezdőértékét vissza kell állítani 0-ra. Ezt az alábbi, globális konfigurációs parancsokkal tehetjük meg:
R1(config-if)# no ipv6 nd managed-config-flag R1(config-if)# no ipv6 nd other-config-flag
Az állapotmentes DHCPv6 opció értesíti a klienst, hogy az RA-üzenet információit kell használnia a címzéshez, de a többi konfigurációs beállítást a DHCPv6-szerver bocsátja a rendelkezésére.
Az RA-üzenetben szereplő előtaggal és az előtag hosszával, valamint az EUI-64 segítségével vagy véletlenszerűen generált interfészazonosítóval, a kliens létrehozza a saját IPv6 globális egyedi címét.
A kliens ezután kommunikálni kezd egy állapotmentes DHCPv6-szerverrel, hogy megszerezze az RA-üzenetben nem szereplő további adatokat. Ez lehet például egy DNS-szerverek IPv6-címeit tartalmazó lista. Ezt a folyamatot állapotmentes DHCPv6-nak nevezzük, mivel a szerver semmilyen, a kliens állapotára vonatkozó információt (pl.: a kiosztott és a még rendelkezésre álló IPv6-címek listáját) nem tart karban. Az állapotmentes DHCPv6-szerver kizárólag konfigurációs beállításokat kínál a kliensek számára, IPv6-címet nem.
Az állapotmentes DHCPv6 esetében az O jelzőbit értékét 1-re kell állítani, az M jelzőbit értéke pedig maradjon az alapértelmezés szerinti 0. Az O jelzőbit 1-es értéke jelzi a kliens számára, hogy további konfigurációs beállítások állnak rendelkezésre egy állapotmentes DHCPv6-szerveren.
Ahhoz, hogy egy forgalomirányító interfészén kiküldött RA-üzenetet úgy módosítsunk, hogy az állapotmentes DHCPv6-ot jelöljön, használjuk az alábbi parancsot:
R1(config-if)# ipv6 nd other-config-flag
R1(config)# ipv6 unicast-routing R1(config)# ipv6 dhcp pool IPV6-STATELESS R1(config-dhcpv6)# dns-server 2001:db8:cafe:aaaa::5 R1(config-dhcpv6)# domain-name unideb.hu R1(config-dhcpv6)# exit R1(config)# interface g0/1 R1(config-if)# ipv6 address 2001:db8:cafe:1::1/64 R1(config-if)# ipv6 dhcp server IPV6-STATELESS R1(config-if)# ipv6 nd other-config-flag
R2(config)# interface g0/0 R2(config-if)# ipv6 enable R2(config-if)# ipv6 address autoconfig
Ez a lehetőség hasonlít legjobban a DHCPv4-hez. Ebben az esetben az RA-üzenet azt jelzi a kliensnek, hogy ne használja az RA-üzenet információit. Így minden címzési és konfigurációs adatot egy DHCPv6-szervertől kell megszereznie. Ezt állapottartó DHCPv6-nak nevezzük, mivel a DHCPv6-szerver tartja karban az IPv6-os állapotinformációkat. Ez hasonlít arra, ahogy a DHCPv4-szerver osztja ki az IPv4-címeket.
Az M jelzőbit mutatja, hogy szükség van-e az állapottartó DHCPv6 használatára. Az O jelzőbitnek ebben nincs szerepe. Az állapottartó DHCPv6 kifejezhető azzal, ha az alábbi parancs segítségével átállítjuk az M jelzőbit értékét 0-ról 1-re:
R1(config-if)# ipv6 nd managed-config-flag
R1(config)# ipv6 unicast-routing R1(config)# ipv6 dhcp pool IPV6-STATEFUL R1(config-dhcpv6)# address prefix 2001:DB8:CAFE:1::/64 lifetime infinite R1(config-dhcpv6)# dns-server 2001:db8:cafe:aaa::5 R1(config-dhcpv6)# domain-name unideb.hu R1(config-dhcpv6)# exit R1(config)# int g0/1 R1(config-if)# ipv6 address 2001:db8:cafe:1::1/64 R1(config-if)# ipv6 dhcp server IPV6-STATEFUL R1(config-if)# ipv6 nd managed-config-flag
R2(config)# interface g0/0 R2(config-if)# ipv6 enable R2(config-if)# ipv6 address dhcp
R1(config)# interface g0/0 R1(config-if)# ipv6 dhcp relay destination 2001:db8:cafe:1::6 R1(config-if)# end R1# show ipv6 dhcp interface g0/0