IPv6 implementációk vizsgálata
Mohácsi János, Szigeti Szabolcs, Máray
Tamás
Irányítástechnika és Informatika
Tanszék,
Budapesti Mûszaki Egyetem,
Mûegyetem rakpart 9, 1111, Budapest
e-mail:{mohacsi,pink,maray}@fsz.bme.hu
Bevezetés
Az elmúlt idôszakban egyre több, különbözõ
minõségû IPv6 implementáció jelent meg.
A Budapesti Mûszaki Egyetem Irányítástechnika
és Informatika Tanszékének hálózati
kutatócsoportja a több mint másfél éves
IPv6 kutatások alatt szerzett tapasztalatok alapján egy sor
implementácó alapvetô tulajdonságait tesztelte.
A tesztek elsôsorban a szabványok teljesítését,
az alapvetô IPv6-os funkciókat, és az implementációk
együttmûködési képességét ellenôrizték. [7]
Nem volt célunk teljesítménymérést
illetve összehasonlítást végezni, mivel az alkalmazott
különbözô típusú és teljesítményû
hardverek miatt ez úgysem vezetett volna értékelhetô
eredményre.
Meg kell jegyezni, hogy a tesztek eredményei csak fényképszerûen
mutatják a jelenlegi állapotot, mivel minden implementáció
aktívan fejlôdik. A vizsgálataink elôzménényeit
a Networkshop'98 konferencián ismertettük. Öszességében
megjegyezhetjük, hogy az implementációk azóta
rendkívül sokat fejlödtek, és ma már a "második
generációjuk" ami hozzáférhetô, azaz
egyre inkább az egyszerû alkalmazhatóságukon
és az alkalmazások nagy számán van a hangsúly.
A tesztelt rendszerek
A fenti implementációkon kívül minden fontos
rendszerre készül, vagy elkészült a kísérleti
IPv6 megvalósítás (Sun Microsystems: Solaris, Hewlett
Packard: HP-UX, Silicon-Graphics: IRIX, DEC: OpenVMS, SCO: Gemini, Siemens-Nixdorf,
Novell: Netware, Mentat: Macintosh)
A host implementációk mellett nem kevésbé
lényeges az útválasztók IPv6 támogatása.
Számos router gyártó rendelkezik kísérleti
IPv6 támogatással, sõt, van, amely már kereskedelmi
forgalomban is ezzel szállítja berendezéseit. Jelenleg
két útválasztó típus (Bay Networks és
Cisco) vizsgálatát végezzük.
A tesztkörnyezet kialakítása a következõ
volt. Az 6Bone-hoz a rendszert egy router csatlakoztatta. (A 6bone egy
világméretû IPv6 teszthálózat, amihez
Magyarország 1997. április elején csatlakozott.) Ugyanez
a router illetve egy INRIA-IPv6 implementáció alkotta a belsõ
szegmensek közötti útválasztó szerepét.
Az implementációk által kínált szolgáltatások
A következô táblázat (1. táblázat)
a dokumentációk, leírások és elsô
benyomások alapján készült. A szolgáltatások
részletes vizsgálatának eredményét a
Tapasztalatok fejezet tartalmazza.
Implementáció
/
Szolgáltatás |
FreeBSD
INRIA |
FreeBSD
KAME |
Linux |
Digital UNIX |
AIX 4.3 |
FTP-win95 |
Microsoft
Windows NT |
Állapotmentes autokonfiguráció |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
Szomszéd meghatározás |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
Útvonal átirányítás |
+ |
+ |
+ |
+ |
+ |
? |
? |
RFC 1897 típusú cím támogatás [6] |
+ |
+ |
+ |
+ |
+ |
+ |
? |
EUI-64 cím támogatás [6] |
+ |
+ |
+ |
+ |
+ |
- |
+ |
Többszörös cím (Multihoming) |
+ |
+ |
+ |
+ |
+ |
? |
+ |
Tunneling Konfigurált, Automatikus |
+ |
+ |
+ |
+ |
+ |
- |
+ |
Router üzemmód |
+ |
+ |
+ |
+ |
- |
- |
- |
DNS szolgáltatás használata (1) |
+ |
+ |
+ |
+ |
+ |
- |
+ |
DNS támogatás (2) |
+ |
+ |
+ |
+ |
+ |
- |
- |
Médiumok |
Ethernet |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
TokenRing |
- |
- |
- |
- |
+ |
- |
- |
FDDI |
+ |
+ |
? |
+ |
+ |
- |
- |
ATM |
+ |
+ |
+ |
- |
- |
- |
- |
PPP |
+ |
+ |
? |
- |
- |
- |
- |
RFC2133 programozói interfész [4] |
+ |
+ |
+ |
+ |
+ |
- |
? |
Alkalmazások |
telnet |
+ |
+ |
+ |
+ |
+ |
- |
- |
ftp |
+ |
+ |
+ |
+ |
+ |
- |
+ |
mail (3)(4) |
+ |
+ |
+ |
- |
- |
- |
- |
http szerver (4) |
+ |
+ |
+ |
- |
- |
- |
- |
http kliens (4) |
+ |
+ |
+ |
- |
- |
- |
- |
NFS |
+ |
- |
- |
- |
- |
- |
- |
X11R6 |
+ |
+(5) |
- |
- |
- |
- |
- |
Partner azonosítás és titkosítás |
Partner azonosítás (authentikáció) |
+ |
+ |
+ |
- |
+ |
+ |
- |
Titkosítás |
-(6) |
+ |
+ |
- |
+ |
+ |
- |
Jelmagyarázat:
-
A resolver library jelenleg minden implementációban csak
IPv4 fölött mûködik.
-
Minden Unix implementációra lefordítható mind
a 4.9.6-es mind a 8.1.1-es Berkeley DNS, melyeknek van AAAA mezô
támogatása. A megjelölt csomagokban ez található. [5]
-
A sendmail-t adják hozzá.
-
Bármelyik RFC 2133-as programozói interfésszel rendelkezô
implmenetációra lefordítható.
-
Létezik, de nem tesztelt.
-
Az INRIA implementáció tartalmazza a kódot, de a francia
törvények értelmében exportkorlátozás
alá esik.
+ A leírások szerint az adott szolgálatatást
tartalmazza az implementáció.
- A leírások szerint az adott szolgáltatást
nem tartalmazza az adott rendszer.
? Leírások alapján eldönthetetlen a szolgáltatás
létezése
1. Táblázt: Az IPv6 implementációk által
kínált szolgáltatások
Az implementációk áttekintése
A szabadon hozzáférhetô implementációk
közül a KAME és Linux implementációk nagyon
nagy hasonlóságot mutatnak, mivel mindkettô az amerikai
Naval Research Laboratory (NRL) implementációján és
koncepcióján alapul. A koncepció lényeges eleme,
hogy az IPv6-hoz külön TCP-UDP protokollok tartoznak. Ez a KAME
implementációban igen szemléletes, mivel külön
inetd6 tartozik a rendszerhez, ami a megfelelô IPv6-os szolgáltatásokat
indítja el, teljesen függetlenül az IPv4-tôl. Ezen
implementációk másik jellemzôje , hogy az autókonfigurációs
üzeneteket a kernel mindenféle külsô folyamat segítsége
nélkül kezeli.
A másik fajta szabadon hozzáférhetô implementáció
az INRIA implementációja. Ezen koncepció alapeleme,
hogy az IPv6-hoz és IPv4-hez közös TCP-UDP szállítási
réteg tartozik. A másik jellemzôje ezen implementációnak,
hogy az autokonfigurációs üzeneteket egy daemon process
segítségével kezeli. Ezen implementáció
található meg az IBM operációs rendszerében,
valamint ezzel mutat rokonságot a Digital implementációja.
Egyébként Az INRIA implementációt nemcsak az
IBM (és Bull) választotta operációs rendszere
IPv6-os komponensének alapjául, hanem a Silicon Graphics
is.
Az NRL típusú implementációk az IPv6-ot,
mint egy "újabb" protokollt tekintik. A szeparált protokoll
stack elônye, hogy viszonylag egyszerûbb fejleszteni, tesztelni,
a mûkôdô IPv4 implementáció zavarása
nélkül. Ezzel szemben kevésbé hatékony,
mert a két protokoll egymás mellett foglalja a buffereket,
memóriát stb. Az INRIA implementáció viszont
úgy tekinti az IPv6-ot, mint egy hálózati protokoll,
amely elôbb-utóbb felváltja az IPv4-et. Ezen integrált
protokoll stack fejlesztése nyilván nehezebb, de a memória
gazdálkodás hatékonyabb lehet.
Meg kell jegyeznünk, hogy a KAME implementáció a
WIDE[9] IPv6 implementációján alapul. Ahhoz képest
több hibajavítást és IPv6-ra átírt
alkalmazást tartalmaz.
A Microsoft IPv6 csomag különálló protokollként
van megvalósítva, így az IPv4-tõl függetlenül
is telepíthetõ Windows NT 4.0 vagy 5.0(béta) alá.
Az implementáció az IPv4 alapjain nyugszik. Különlegessége,
hogy - a Microsofttól némileg szokatlan módon - a
teljes forrás hozzáférhetõ.
Az implementációk installálhatósága
A megvizsgált IPv6 implementációk nagyon különbözô
osztályzatot érdemelnek az telepíthetôségre.
A skála a jól telepíthetôtôl a szinte
installálhatatlanig terjed.
FreeBSD INRIA implementáció (1998 januári snapshot)
Az INRIA implementáció viszonylag jól installálható.
Az IPv6-os kiegészítô csomagot a FreeBSD 2.2.6-os
rendszer forrására kell kicsomagolni, és a rendszert
újra kell fordítani. Ugyancsak új IPv6-os kernelt
kell fordítani, installálni az egészet, végül
konfigurálni az IPv6-os rendszert. Az INRIA implementáció
automatikusan, minden nehézség nélkül fordítható,
csak az egész rendszer újra fordítása tart
meglehetôsen hosszú ideig (kb. 2 óra egy 133 Mhz-es
Pentiumon). Az új programok a FreeBSD-ben már megszokott
katalógusokba kerülnek, tehát az INRIA csomag nem kísérleti
rendszerként tekint önmagára, hanem gyakorlati környezetben
alkalmazható implementációként. Hátrányaként
róható fel, hogy ez az implementáció nem patch
file-ként vagy CVS update-ként jelenik meg, ami megkönnyíthetné
és gyorsíthatná a verziók közötti
upgradelést. Az telepítésrôl egy tömör,
de elegendô információt tartalmazó útmutatót
kapunk az INRIA kit részeként.
FreeBSD KAME implementáció (19980530 stable snapshot)
A KAME implementáció telepítése az elôzményéhez
(WIDE) képest sokat javult. Egy KIT-ként adják közre
a friss változatokat, ami tartalmazza az új és újra
írt felhasználó és segédprogramokat,
egy könyvtárat (libinet6) amivel össze kell szerkeszteni
az IPv6-ot használni kívánó programokat, illetve
2 patch file-t (a kernel-hez és az include file-okhoz). Az installációról
viszonylag tömör, de használható leírást
kapunk kézhez angolul és japánul. A kernel fordítása
egyszerû. A felhasználói és segédprogramok
fordítása kicsit bonyolultabb, de nem okoznak külösebb
problémát. Különesen szimpatikus az átírt
alkalmazások (ports) fordítása, mivel az FreeBSD átiratoknál
megszokott módszert alkalmazza. Az IPv6-os proramok nem a megszokott
helyre kerülnek, hanem az NRL-es konvencióknak megfelelôen
az /usr/local/v6 könyvtár alá. Tehát a KAME implementáció
installációs szempontból a WIDE-hoz képest
már kész rendszernek tekinthetô. További vonzó
tulajdonsága a KAME változatnak as Mozilla támogatása.
Linux implementáció + inet6-apps0.26 +net-tools-980126
A Linux implementációt meglehetôsen nehézkes
installálni. A kernelt és a programokat több forrásból
kell beszerezni, és ezek az alkotó részek elég
ritkán mûködnek együtt. Az installációról
csak hiányos leírások érhetôk el. Az
IPv6-os kódot minden újabb fejlesztôi kernel (2.1.x)
tartalmazza. A kernel fordítása is meglehetôsen körülményes
a config lehetôség segítségével, mivel
ezernyi opcióra kérdez rá a Linux konfiguráló
(Ezen opciók töredéke van csak dokumentálva).
Ezek közül bármit hibásan kitöltve a kernelünk
mûködésképtelen vagy instabil lehet. A új
segédprogramok két helyen vannak szétszórva.
Azt várnánk, hogy elôször az alap segédprogramokat
(mint ifconfig, netstat stb.) kell installálni a net-tools-ból,
hogy kipróbáljuk, mûködik-e az IPv6-os kernel.
Ezzel szemben, elôször az ftp-t és egyéb alkamazásokat
kell telepíteni az inet6-apps csomagból, mivel ez a csomag
tartalmazza az NRL alapú implementációknál
szokásos libinet6-ot és a kiegészítô
include file-okat. Ezek után sem egyszerû az installálás,
mivel a WIDE implementációhoz hasonlóan nem létezô
struktúrákat és konstansokat kell bogarászni
a kernelben és a header file-ok között. További
bosszantó dolog, hogy a make nem áll le a fordítási
hibáknál, hanem figyelmen kívül hagyja azokat.
A programok, az IPv6-os könyvtár, és az include file-ok
a /usr/inet6 katalógus alá kerülnek. A Linux-os IPv6
implementáció installációja távolról
sem tekinthetô kiforrottnak, még rendkívûl sok
javítani való van rajta.
Digital UNIX 4.0B + IPv6 v.6.112
A Digital Early Adopter's Kit-jét nagyon egyszerû telepíteni.
A kicsomagolás után a setld parancs segítségével
a rendszer részéve lehet tenni az IPv6-os kitet, majd új
kernelt kell fordítani. Az egész telepítési
mûvelet elég jól dokumentált. Az IPv6-os programok
az /usr/opt/IP6112 katalógusba kerülnek. A szokványos
helyükrôl szimbólikus linkek mutatnak rájuk. Noha
a DEC nem nyújt támogatást ezen kithez, de megbízhatósága,
stabilitása valódi IPv6 kísérleti rendszernek
teszi alkalmasssá. Két kisebb hiányossága van:
nem teszi lehetôvé az ATM és az IPv6 együttes
alkalmazását, valamint nem mûködik SMP-s rendszereken.
AIX4.3
Az AIX 4.3-nak integráns része az IPv6, így a rendszer
telepítésével együtt megkapjuk az IPv6-os rendszert.
Az AIX installációja egyébként szintén
viszonylag egyszerû. Két apró hiányossága
van a rendszernek. Az egyik az, hogy az egész AIX 4.3 dokumentációja
meglehetôsen hiányos, így az installációról
sincs sok leírva. A másik apróság, hogy az
IPv6 feletti, titkosítási partner azonosításhoz
és titkosításhoz szükséges csomag nem
az operációs rendszer, hanem csak a Bonus Pack részét
képezi.
FTP Software Secure client 3.0
Az egyetlen Windows 95-ös csomag a vizsgált implementációk
közûl. Windows-hoz szokott módon egyszerûen installálható.
Bár figyelmeztet, hogy a Windows TCP/IP stackjét le fogja
cserélni, a Windows 95 lefagy, ha mûködés közben,
egy lépésben történik a csere. Ezért vagy
még egyszer le kell futtatni a Secure Client telepítôjét,
vagy elôször kézzel el kell távolítani
a Microsoft TCP/IP csomagot.
Microsoft Research IPv6
A csomag a más protokolloknál megszokott úton, a Control
Panelen keresztül egyszerûen telepíthetõ és
eltávolítható. A csomag része néhány
egyszerû diagnosztikai eszköz (ping, traceroute) és egy
ftp kliens. Ezek mindegyike parancssorból futtatható.
Konfigurálás
FreeBSD INRIA implementáció (1998 januári snapshot)
Az INRIA implementáció viszonylag egyszerûen konfigurálható,
bár a konfigurációs leírások hiányoznak.
A példaként adott konfigurációs állományok
segítségével viszonylag egyszerûen lehet host
konfigurációt kialakítani. Router konfiguráció
kialakítása, illetve a tunnel-ek konfigurálása
már nem ennyire egyszerû. A példa állományokhoz
célszerû lett volna mellékelni a logikai topológiát
is. A parancsok jól vannak dokumentálva.
FreeBSD KAME implementáció (19980530 stable snapshot)
A WIDE implementációt közepesen nehéz konfigurálni.
Egy rövid leírás melett, hogy az egyes parancsok mire
valók, megjelentek a kézikönyv lapok is az installációban.
A példa állományok alapján host konfigurációt
nagyon egyszerû csinálni. Router konfigurációt
az INRIA implementációhoz hasonlóan elég bonyolult
csinálni.
Linux implementáció + inet6-apps0.26 +net-tools-980126
A Linox-ot viszonylag egyszerû konfigurálni. Egy rövid
How-to leírás található arról, hogy
az egyes parancsok mire valók, de igazi leírás nem
található egyetlen parancsról sem. Ezen leírasok
alapján host konfigurációt nagyon egyszerû csinálni.
Router konfigurációt a többi implementációhoz
hasonlóan elég bonyolult csinálni, fôleg azért,
mert a programok forrásában kell keresgélni azt, hogy
melyik kapcsoló mire való. A Router Advertisment Daemon-ról
egy rövidke leírás van, ami nagyban segíti a
konfigurálást. A tunnelek konfigurálása nem
tökéletes, mert nincsenek igazán szétválasztva
az automatikus és konfigurált tunnelek.
Digital UNIX 4.0B + IPv6 v.6.112
A Digital Early Adopter's Kit-jét nagyon egyszerû konfigurálni.
A csomaghoz átfogó felhasználói kézikönyv
jár. Ez részletesen elemzi, hogy milyen konfigurációban
miket és hogyan kell beállítani a helyes mûködéshez.
A router konfiguráció is egyszerû, mivel ezt is tárgyalja
a leírás. Az egyedüli hiányosság, hogy
a programok manualjai nem frissültek fel illetve nem készültek
el, így viszonylag keveset lehet tudni az implementáció
lehetôségeirôl. A kithez adott ipv6_setup majdnem helyes
konfigurációt generál, azonban a hiba kijavítása
a kézikönyv segítségével pár pillanat
alatt lehetséges.
AIX4.3
Az AIX 4.3-nak olyannyira integráns része a IPv6, hogy konfigurációját
SMIT segítségével is el lehet végezni. A host
konfiguráció készítése csak pár
gombnyomás. Tunnelek konfigurációja szintén
egyszerû. Router konfiguráció nem lehetséges,
mert az AIX 4.3 novemberi változata ezt nem támogatja. Hiányossága
a rendszernek a viszonylagos dokumentálatlanság.
FTP Software Secure client 3.0
Az FTP Software termékének konfigurálása egyetlen
opció beállítását jelenti, és
máris mûködik az IPv6. Azaz csak mûködne,
ha nem szolgáltató alapú címeket használna.
A 6bone 1997 november óta áttért egy hatékonyabb
címzési architektúrára (Globálisan Aggregálható
Címek), az addig használt struktúrálatlan címkiosztásról.
A Secure Client kivételével mindegyik megvizsgált
rendszer támogatja ezt a címzési rendszert. A Secure
Client nem támogatja a tunneleket és a router üzemmódot.
Microsoft Research IPv6
Ez az IPv6 csomag meglehetõsen kezdeti állapotban van, így
egyelõre nem tartalmaz igazán felhasznalóbarát
szolgáltatásokat. A többi Windows NT protokollhoz képest
nincsen grafikus felület a beállítások elvégzésére,
bizonyos dolgokat, mint pl. konfigurált tunnelek beállítását
csak a registy editorral lehet megtenni. Csak az autokonfiguráció
támogatott, így - hacsak nem egyedüli gépként,
egy tunnel végpontként kívánjuk használni
- szükség van egy routerként funkcionáló
másik berendezésre, amely a megfelelõ konfigurációs
információt szolgáltatja.
Dokumentáció
FreeBSD INRIA implementáció (1998. januári snapshot)
Az INRIA implementáció elég jól dokumentált.
A új segéd és rendszerprogramoknak mind elkészült
a kéziköny lapja (manual page). A kézikönyvet a
fejlesztéseknek megfelelôen rendszeresen frissítik.
Egyes mûködést és megvalósítást
leíró dokumentációk franciául részletesebbek,
de ezek száma egyre fogy. Mindenre kiterjedô dokumentáció
azonban nincsen.
FreeBSD KAME implementáció (19980530 stable snapshot)
A KAME implementáció elég jól dokumentált.
A telepítést és használatot bemutató
néhány rövid leíráson túl kézikönyvek
is találhatók, bár elég szükszavúak.
Linux implementáció + inet6-apps0.26 +net-tools-980126
A Linux változatot kataszrofálisan gyengén dokumentálták.
Létezik ugyan néhány HOW-TO-IPv6 változat,
de ezek ellentmondásosak és nem nyújtanak igazi segítséget.
Ezenkívül mindent a programok forrásának tanulmányozásával
kell kideríteni.
Digital UNIX 4.0B + IPv6 v.6.112
A DEC rendszer egyes dokumentációi mintaszerûek. Az
installációs, konfigurációs és programozói
dokumentáció rendelkezésre áll mind HTML mind
Postscript formában. Ezen kívül a könyv mintapéldái
is megvannak. Az egyedül a módosult programok kézikönyv
lapjainak az új változata hiányzik.
AIX4.3
Az AIX 4.3-nak sajnos nem része a dokumentáció. Ennek
a verziónak a megjelenésekor a teljes AIX dokumentáció
csak bétaváltozatú volt - ugyanis az IBM áttér
a html alapú leírásokra -, így alig található
valami leírás az AIX-rôl és az IPv6-ról.
A teljes dokumentáció elérhetô már a
Weben, és azóta a leírások külön
termékként megrendelhetôk.
FTP Software Secure Client 3.0
Ezen implementációhoz az FTP szoftver részletes leírást
mellékel, de az nem ad lényegi információt
az IPv6-ról.
Microsoft Research IPv6
A csomaghoz egy rövid leírást mellékeltek a fejlesztõk,
amely szûkszavú, de elegendõ, tekintve, hogy a telepítés
teljesen automatikus, és az egyedüli beállítási
lehetõség a konfigurált tunnelek létrehozása.
Az egyes segédprogramok minimális on-line segítséget
adnak magukról.
Elvégzett tesztek
A teszteket a tanszék kísérleti IPv6 hálózatába [13]
kapcsolt rendszereken végeztük (1. ábra). Az elvégzett méréseket
úgy választottuk meg, hogy illeszkedjenek és kiegészítsék
a JOIN IPv6-os tesztjeit.
A hálózati forgalmat a tcdpdump analizátor programmal
figyeltük. [3]
1. ábra
- Állapotmentes cím autokonfiguráció [1]
-
Az állapotmentes cím autokonfiguráció vizsgálata
során ellenõriztük, hogy ha az útválasztó
hirdetése automatikus konfigurációt ír elõ,
akkor az adott hoszt helyesen beállítja-e saját link-local
címét, és a továbbiakban ezt használja-e
a következõ konfigurációs lépésekhez.
-
Prefixmeghatározás [2]
-
A mérés során azt vizsgáltuk, hogy a szegmensen
található útválasztó Router Advertisement
hirdetéseiben elõírt prefix alapján a hosztok
megfelelõen állítják-e be saját címüket.
Helyes mûködés esetén az adott interfészek
felveszik a prefixbõl és a MAC címbõl képzett
EUI-64 formátumú címet.
-
Default route meghatározás [2]
-
Az útválasztó Router Advertisement hirdetéseiben
magát default útvonalként hirdette. Helyes mûködés
esetén a hosztok saját router táblázatukba
default gatewaynek felveszik az útválasztó link-local
címét.
-
Link paraméterek meghatározása [2]
-
Az útválasztó hirdette az adott linkre érvényes
MTU-ot. Ebben az esetben minden hosztnak ezt az MTU-ot kell kötelezõen
használnia. Helyes mûködés esetén a hosztok
figyelembe vették és használták ezt az értéket.
A helyes mûködést tcpdumppal vizsgáltuk.
-
Elavult címek kezelése [2]
-
A vizsgálat során az átszámozás esetén
elengedhetetlen cím elavulást vizsgáltuk. Az útválasztó
Router Advertisement hirdetésében véges idõtartamot
adtunk meg a hirdetett prefix élettartamának. Ezek után
az adott prefix hirdetését megszüntettük. Az érvényességi
idõtartam letelte után a hosztoknak az ebbõl a prefixbõl
elõállított címet nem szabad használniuk.
-
Többszörös prefix [2]
-
A teszt a többszörös címek kezelését
vizsgálta. Az útválasztó több érvényes
prefixet is hirdetett az adott alhálózatra. A hosztoknak
az így kialakított címeket helyesen kellett felvenniük.
-
Duplikált címek [2]
-
Egy, a szegmensen már létezõ címet kíséreltünk
meg egy másik interfészre konfigurálni. A hosztnak
helyes mûködés esetén hibajelzést kell
adni és a cím használatát meg kell tagadni.
Ugyancsak elvégeztük ezt az ellenõrzést a link-local
címekre. Ebben az esetben egy másik hoszt egyik interfészére
manuálisan konfiguráltuk a vizsgálandó hoszt
automatikusan beállítódó link-local címét.
Ezek után engedélyeztük a cím autokonfigurációt,
amelynek hibajelzéssel meg kellett szakadnia, mivel a link-local
cím egyediségét nem sikerült biztosítani.
Ez utóbbi eset egyébként helyes mûködés
esetén nem fordulhat elõ, mivel a link-local címet
az autokonfiguráció a linken mindenképpen egyedi MAC
címbõl állítja elõ.
-
Elérhetetlenség felismerés [2]
-
Az útválasztó Router Advertisement hirdetéseiben
a Retrans Timer értékét végesre állítottuk.
Ebben az esetben ezen idõ lejárta után a hosztnak
Neighbour Solicitation üzenetet kell küldenie. Az ellenõrzést
tcpdumppal végeztük.
-
Konfigurált tunnelek (ipv6 ipv4 felett)
-
Vizsgáltuk, hogy az implementáció támogatja-e
az IPv6 csomagok IPv4 csomagokban történõ átvitelét
(tunneling).
-
Automatikus tunnelek (ipv4 elérése kompatibilitási
címeken keresztül)
-
Automatikus tunneling esetén az IPv6 hoszt megfelelõ IPv4
kompatibilis IPv6 címek használatával képes
kommunikálni csak IPv4-et támogató hosztokkal. A tesztben
ennek lehetõségét vizsgáltuk.
-
Alkalmazások és szolgáltatások vizsgálata
-
Az alkalmazások IPv6 szolgáltatásainak vizsgálata
csak részben tartozik az adott operációs rendszer
IPv6 támogatásának vizsgálatához, mivel
az IPv6 lehetõségének kiaknázása elsõsorban
az alkalmazás fejlesztõjének feladata. A vizsgálat
során az adott IPv6 csomaggal együtt szállított
alkalmazásokat vizsgáltuk, különös tekintettel
a szokványos hálózati programokra (telnet, ftp, mail
stb.)
-
Installálás és dokumentáció
-
A vizsgálat során az adott IPv6 csomag installálásának
egyszerûségét vizsgáltuk.
Tapasztalatok
-
Állapotmentes cím autokonfiguráció
-
Prefixmeghatározás
-
A prefixmeghatározás a Secure Client kivételével
mindegyik implementációban helyesen mûködött.
A Secure Client nem volt képes az EUI-64 címek kezelésére,
ezért nem vett fel helyes címet.
-
Default route meghatározás
-
Mindegyik implementáció felvette az útválasztóra
mutató útvonalat. A Digital Unix az útválasztót
nem csak link-local, hanem - hibásan - normál unicast címével
is beállította, mint default route.
-
Link paraméterek meghatározása
-
Tökéletesen csak az INRIA implementáció mûködött.
A KAME és az AIX helyesen beállította és használta
az elõírt MTU-ot, azonban sem az ifconfig, sem a netstat
parancs nem mutatta. A tcpdumppal történõ ellenõrzés
viszont helyes mûködést mutatott. A Linux és a
DEC implementáció figyelembe vette a hirdetést, de
az elõírtnál kisebb MTU-t használt. Mivel RFC
1970 szerint elõírt MTU esetén minden hosztnak kötelezõen
ezt az értéket kell használnia, ez hibás mûködést
jelent.
-
Elavult címek kezelése
-
Minden implementáció, amely képes volt az automatikus
prefix meghatározásra, helyesen kezelte az cím érvényességi
idejét.
-
Többszörös prefix
-
Minden implementáció alapvetõen helyesen közölte
a többszörös prefixeket. A WIDE implementáció
hibáját, hogy a többszörös automatikusan konfigurált
unicast cím instabilitást okozott, a KAME implementációban
kiküszöbölték. A KAME és az AIX esetén
az ifconfig parancs csak az elsõ unicast címet jelezte az
interfészen, a netstat parancs viszont mindkettõ használatát
mutatta.
-
Duplikált címek
-
Egyik implementáció sem engedte olyan unicast cím
felvételét, amely már létezik az adott alhálózaton.
A WIDE esetében tapasztalt megbízhatatlan mûködést
a KAME implementációban javították. A Windows
NT csak az automatikus cím konfigurációt támogatta,
így nem lehetett kézzel címeket felvenni.
Duplikált link-local cím esetén az INRIA implementáció
autoconf6 parancsa végtelen ciklusba kerülését
javították. Az új implementáció megáll
hiba üzenettel, vagyis nem engedélyezte a többszörös
link-local cím használatát. Az elôzô változat
is lényegében helyesen mûködött, de az autoconf6
nem tudta befejezni a mûködését.
-
Elérhetetlenség felismerés
-
Mindegyik implementáció az elõírásnak
megfelelõen mûködött.
-
Konfigurált tunnelek
-
A Secure Client kivételével mindegyik implementáció
támogatta a konfigurált tunneleket.
-
Automatikus tunnelek
-
A Secure Client esetén nem volt lehetõség IPv6 címek
megadására, így az automatikus tunnel támogatását
nem lehetett vizsgálni.
-
Alkalmazások és szolgáltatások vizsgálata
-
Alkalmazás szinten a legkiterjedtebb IPv6 támogatással
egyértelmûen az INRIA és KAME implementáció
rendelkezett. Gyakorlatilag az összes Berkeley hálózati
segédprogram kezelte az IPv6-ot, illetve megvolt az IPv6 megfelelõjük.
Sok más alkalmazás (http kliens, szerver, X window, stb.)
IPv6 portja is megtalálható a csomagban.
-
A többi csomag alapszintû alkalmazásokkal rendelkezett.
-
A legkevesebb támogatása a Secure Clientnek volt, a csomagban
szállított alkalmazások egyike sem volt képes
IPv6-os címek kezelésére.
-
A Linux ftp kliens és szerver csak a Short Port parancsot értette,
így az INRIA implementáció kivételével
- amely mind a Long, mind a Short Port parancsot tudta - a többi -
csak Long Portot alkalmazó - implementációval nem
tudott együttmûködni.
-
A többi csomag több-kevesebb IPv6 alkalmazást tartalmazott,
az alábbi táblázat részletesen jelzi ezeket.
-
Külön ki kell emelni a DNS megvalósítását,
amelyet jelenleg szinte egyik implementáció sem támogat
IPv6 felett. Így, annak ellenére, hogy a name szerver képes
AAAA rekordok kezelésére, illetve a resolver képes
az IPv6 címek feloldására, DNS-t csak IPv4 felett
tudunk használni. Egyetlen kivétel a KAME, ahol egy newbie
nevû nameserver (ami külön fejlesztés és
még elég kezdetleges) IPv6 fölött is tud DNS kérésekre
válaszolni.
-
Dokumentáció
-
Az eredményeket részletesen lásd a Dokumentáció
fejezetben.
Eredmények táblázatos összefoglalása
Jelmagyarázat |
|
+ |
Támogatott |
- |
Nem támogatott vagy nem mûködik |
* |
Lásd részletes leírás |
1...5 |
Osztályzat, legjobb: 5 |
|
FreeBSD
INRIA |
FreeBSD
KAME |
Linux |
Digital Unix |
AIX |
FTP Software
Win95 |
Microsoft
Windows NT |
Autokonfiguráció |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
Prefix meghatározás |
+ |
+ |
+ |
+ |
+ |
- |
+ |
Default route |
+ |
+ |
+ |
* |
+ |
+ |
+ |
Link paraméterek |
+ |
* |
- |
- |
* |
- |
+ |
Elavult címek |
+ |
+ |
+ |
+ |
+ |
- |
+ |
Többszörös prefix |
+ |
* |
+ |
+ |
* |
- |
+ |
Duplikált címek |
* |
+ |
+ |
+ |
+ |
- |
? |
Elérhetetlenség felismerés |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
Automatikus alagutak |
+ |
+ |
+ |
+ |
+ |
- |
+ |
Konfigurált alagutak |
+ |
+ |
+ |
+ |
+ |
- |
+ |
telnet |
+ |
+ |
- |
+ |
+ |
- |
- |
ftp |
+ |
* |
* |
* |
* |
- |
+ |
sendmail (SMTP) |
+ |
+ |
+ |
- |
- |
- |
- |
http szerver |
+ |
+ |
- |
- |
- |
- |
- |
http kliens |
+ |
+ |
- |
- |
- |
- |
- |
NFS |
+ |
- |
- |
- |
- |
- |
- |
DNS |
* |
* |
* |
* |
* |
- |
* |
X window |
+ |
? |
- |
- |
- |
- |
- |
Csomagban található IPv6 alkamazások |
5* |
5 |
2 |
3 |
3 |
1* |
2 |
Installálás |
4 |
4 |
1 |
5 |
5 |
5 |
3 |
On-line kézikönyv |
4 |
3 |
1 |
4 |
3 |
1 |
1 |
Dokumentáció |
2 |
2 |
1 |
5 |
2 |
1 |
2 |
2. Táblázat: Tesztek eredménye
Útválasztók
Jelenleg két implemetációt viszsgálunk: a Cisco
kísérleti IPv6 támogatással ellátott
szoftverét egy 4500-as routeren és a Bay Networks BayRS 12.0
egy Access Node berendezésen. Sajnos a Cisco implementáció
csak zártkörû tesztelés keretében férhetõ
hozzá, és a teszt programban való részvétel
feltételei nem teszik számunkra lehetõvé, hogy
a vizsgálatok eredményeit nyilvánosságra hozzuk.
A Bay implementáció érdekessége, hogy nem kísérleti,
az új Bay routereket már ezzel szállítják.
Ennek ellenére természetesen még jelentõs változások
várhatók. Az alapvetõ IPv6 támogatása
teljes, lényeges hiányosság viszont, hogy nem támogatja
a BGP4+ routing protokollt. 6bone gerinc routerként egyelõre
nem használható, mert ott követelmény a BGP támogatás.
A konfurálás a Bay Site Manager segítségével
grafikus felületen rendkívül könnyen elvégezhetõ.
Ennek hiányában viszont nem használható az
IPv6 támogatás, mert a konzol parancsor felületében
(BCC) még nincsenek implementálva az IPv6 parancsok.
Összefoglalás
Az IPv6 még korán sem érte el a teljes fejlettség
állapotát. A szabvány és sok kiegészítés
jelen pillanatban is fejlesztés alatt áll. Ezt a gyorsan
változó környezetet próbálják meg
az IPv6 implementációk követni. Ennek megfelelõen
az egyes változatok minõsége nagyon különbözõ.
Általánosságban jellemzõ, hogy az IPv6
protokollt mindegyikben helyesen implementálták, így
IP szinten nem fedezhetõk fel jelentõs interoperabilitási
problémák. Ezt bizonyítja az is, hogy a 6bone-on is
sikeresen mûködnek együtt a vizsgált rendszerek.
Sokkal vegyesebb a kép a kiegészítõ protokollok
és az alkalmazások területén. Bizonyos rendszerekben
(AIX, Digital Unix, INRIA/FreeBSD, KAME/FreeBSD) széleskörû
támogatás van, mások (Linux, Windows NT) a kísérletezéshez
elegendõ alkamazást tartalmaznak. Az FTP Software Secure
Clientja minimális IPv6 megvalósítást tartalmaz,
gyakorlatilag nem ad többet az IPv6 kernelnél.
A vizsgálatok alapján megállapíthatjuk,
hogy "üzemszerû" használatra az AIX, Digital Unix, INRIA/FreeBSD,
KAME/FreeBSD implementáció alkalmas. A többi verzió
vagy funkcionalitásában vagy kezelhetõségében
sok kívánnivalót hagy még maga után.
Figyelembe kell venni azonban, hogy mindezek a megállapítások
a cikk írásának pillanatára vonatkoznak, folyamatos
fejlõdés, javulás várható.
Köszönetnyilvánítás
Köszönetünket fejezzük ki a Synergon Rt-nek és
a Computer 2000 Kft-nek, hogy berendezések kölcsönadásával
segítették munkánkat.
Referenciák
[1]S. Thompson, T. Nartin, IPv6
Stateless Address Autoconfiguration , RFC1971 , August 1996.
[2]T. Narten, E. Nordmark, W. Simpson, Neighbor
Discovery for IP Version 6 (IPv6) , RFC1970 , August 1996.
[3]M. Crawford, A
Method for the Tranmission of IPv6 Packets over Ethernet Networks ,
RFC1972 , August 1996.
[4]R. Gilligan, S. Thomson, J. Bound, W. Stevens,
Basic Socket Interface
Extensions for IPv6 , RFC2133, May 1997.
[5]S. Thomson, C. Huitema, DNS
Extensions to support IP version 6 , RFC 1886, December 1995.
[6]R. Hinden, S. Deering IP
Version 6 Addressing Architecture , Internet-Draft, Nov 1997.
[7]R. Hinden, S. Deering Internet
Protocol, Version 6 (IPv6) Specification , Internet-Draft, Nov 1997.
[8]FreeBSD INRIA implementáció
Magyarországon ftp://ftp.fsz.bme.hu/pub/ipv6/inria
[9]FreeBSD
WIDE homepage http://www.wide.ad.jp/wg/ipv6
[10]LINUX IPv6
FAQ http://www.terra.net/ipv6
[11]AIX
version 4.3 (IBM) http://www.austin.ibm.com/software/OS/aix43.html
[12]Digital
UNIX IPv6 KIT információk http://www.digital.com/info/ipv6/host-implementation.html
[13]Az
elsô Magyarországi IPv6 számítógép
és hálózat http://www.ipv6.fsz.bme.hu/welcome_h.html
[14]JOIN
Tests of IPv6 Implementations http://www.join.uni-muenster.de/JOIN/ipv6/texte-englisch/tests.html
[15]Microsoft Research IPv6 http://www.research.microsoft.com/msripv6/