Ebben a fejezetben a projekt résztvevői az általuk használt és ismert
implementációkat vizsgálták meg IPv6-os támogatottság szempontjaiból.
Ezek az AIX, BSD Unix (FreeBSD, OpenBSD, NetBSD), HP-UX, Linux, Microsoft
Windows 2000, Solaris és a Tru64 UNIX.
Az AIX az IBM által létrehozott UNIX alapú operációs rendszer, melyet az
RS/6000 rendszerek teljes körű támogatására írtak 32 és 64 bites környezetben.
Az AIX mind a 32, mind a 64 bites alkalmazásokat megfelelően támogatja. Az
IPv6 protokollra nézve az AIX széleskörű támogatást ad, az IPv4-hez hasonlóan
a rendszer szerves, integrált részét képezi. Az IPv6 megvalósítás
jelenleg is használható, de még vannak hiányosságai, illetve kísérleti állapotban
levő elemek, mint például a flow labeling (folyamcimkézés) [RFC2460]
- állapotmentes autokonfiguráció (autoconf6).[RFC2462]
- szomszéd meghatározás (NDP).[RFC2461]
- útvonal átirányítás.
- RFC 1897 típusú címtámogatás, EUI 64 címtámogatás, többszörös cím
kezelése.[RFC1897]
- tunnelig (konfigurált, automatikus).[RFC1933]
- Router üzemmód csak korlátozott formában működik (csak RIPng router
daemon van).[RFC2080]
- DNS szolgáltatás használata csak IPv4 fölött működik.
- DNS támogatás (AAAA mező) nem teljes. [RFC2136]
- Támogatott médiumok: Ethernet [RFC2464], TokenRing [RFC2470], FDDI
[RFC2467].
- Nem támogatott médiumok: ATM [RFC2492], PPP [RFC2472].
- RFC2133 programozói interfész [RFC2133].
- IPv6-ra is fejlesztett alkalmazások (4.3.3): telnet, ftp, tftp, rlogin,
rsh.
- Nem támogatott még: mail (sendmail), http szerver, kliens, NFS, X11R6.
- Teljes IPSec: van hitelesítés (authentikáció) [RFC2402], illetve
titkosítás [RFC2401].
Az IPv6-hoz és IPv4-hez közös TCP-UDP szállítási réteg tartozik, az
autokonfigurációs üzeneteket egy közös daemon processz segítségével
kezeli (INRIA implementáció jellemzője).
- AIX 4.3 (1997. okt. 6): IPv6 támogatás, 128 bites IP címek, dinamikus
autokonfiguráció, redundáns route. Hálózat hitelesítés
(authentication) és titkosítás, IP szűrés.
- AIX 4.3.2: IPv6 Gateway, route és forward lehetőségek (csak RIPng)
- AIX 4.3.3: Tunneling (alagút), IKE (Internet Key Exchange) [RFC2409] alagút
összetett IP felett is létesíthető.
Megfigyelehető, hogy már 1997-ben lényegében az IPv6 támogatás
megjelent az AIX-ben, és azóta dinamikusan fejlődik (a legutóbbi frissítés
2000. október 3-án jelent meg). A 4.3.3 verzió már csak néhány hiányosságot
tartalmaz, erre utalnak a sorozatban megjelenő hibajavítások és kiegészítések.
[AIX_From_Strength_to_Strength]
A megvalósított programozói interfész függvényei általában C alapúak:
- Getaddrinfo() szubrutin: protokollfüggetlen rutin hosztnév-cím
megfeleltetésre
- Getnameinfo() szubrutin: hosznév-szolgálatnév megfeleltetés IPv4 és
IPv6 fölött is működik
- Inet_ntop() szubrutin: bináris és text formátum közötti konverzió.
(Ipv4 és Ipv6 címekre is)
- Inet_pton() szubrutin: text-ről binárisra konvertál (hasonló az előzőhöz)
Különböző konfigurációs fájlokban pl.: netsvc.conf, socks5c.conf,
irs.conf, /etc/hosts, resolv.conf az Ipv6 protokoll megjelenik.
- rmfilt: IPSec filter rule table (a filterszabály tábla) egyes sorait törli,
mind IPv4, IPv6 protokollra működik.
- autoconf6: az IPv6 hálózati interfész automatikus konfigurálására
szolgál boot folyamatkor. Tunneling beállítására, loopback interfész
beállítására is alkalmazható.
- ifconfig: a TCP/IP hálózat paramétereinek konfigurálására és kiírására
szolgáló program.
- ndp: Ipv6-os (neighbour discovery) szomszéd felismerés beállítás és
vezérlés. (teljesen IPv6-os alkalmazás) [RFC2461]
- ndpd-router Daemon: NDP és RIPng (Routing Information Protocol Next
Generation) démon routerhez. Ez a démon menedzseli a Neighbour Discovery
Protocol-t (Szomszéd Felismerő Protokollt) a nem kernelbeli műveletek estén,
és RIPng routerként is működik.
- ndpd-host Daemon: egy hoszt NDP démon. Az NDP protokollon belül a
Prefix, Router, Parameter Discoveryt támogatja.
- netstat: hálózati státusz lekérdezésére szolgál.
- named: IPv4 és IPv6 protokollra.
Az AIX rendszer szerves része az IPv6 megvalósítás, így a rendszer telepítésével
együtt az IPv6 is rendelkezésre áll.
A rendszer integrált része az IPv6 protokoll ugyanúgy, ahogy az IPv4-es
is. Ez a grafikus rendszerkonfiguráló program (smit) használatakor figyelhető
meg legjobban, ahol az IPv4 és IPv6 beállítások egymás mellett, egyenrangúan
szerepelnek. A tunnelek (alagút) és hoszt konfigurációja viszonylag egyszerű,
a router konfiguráció még nem teljesen implementált.[AIXman]
Az AIX mind IPv4, mind IPv6-os alkalmazásokat támogat, a különböző
alkalmazások általában egy kapcsolóval beállíthatók, hogy IPv4, vagy IPv6
környezetben fussanak. A konfigurált tunneling is megvalósított, így általánosságban
elmondható, hogy az AIX azon megvalósítások közé tartozik, melyek a két
protokoll közötti váltást lehetővé teszik.
Ha a jelenlegi gyors ütemű IPv6-os alkalmazásfejlesztés folytatódik, az
AIX az első olyan operációs rendszerek között lesz, melyek az IPv6
protokollt teljes körűen támogatják.
Az BSD alapú rendszerekre, kutatási célra való jó használhatóságuk
miatt, 3 kísérleti IPv6 implementációja is készült. Az első a francia
INRIA [INRIA] implementáció, melynek fontosabb tulajdonságairól bővebben a
Networkshop'98 [NWS98] konferencia előadáson és a TERENA 98 [TERENA98] előadásaiban
lehet olvasni. Az implementáció jó tulajdonságai és hordozhatósága folytán
az AIX IPv6-os implementációjának az alapja lett [BULL]. Az NRL [NRL]
amerikai implementáció elsősorban a biztonságra, az IPSec-re koncentrált,
de IPv6-os funkcionalitásban, használhatóságban elmaradt a másik kettő
implementációtól. A japán KAME [KAME] implementáció célja egy szabad forráskodú
IPSec-el is ellátott cross-platform IPv6 implementáció elkészítése volt,
amely a [WIDE] implementációból fejlődött ki. 1999. folyamán a 3 implementáció
szerzői megállapodtak abban, hogy egységesítik a kódkészletet, hogy a BSD
platformra egységes IPv6-IPSec kódkészlet jöjjön létre. A kernel legnagyob
részt a KAME-ből, a felhasználói programok az INRIA-ból és a KAME-ből, az
adminisztratív programok egy része az INRIA-ból és az NRL-ből és az IPSec
az NRL KAME környezetbeni újraimplementálásból jön létre. Az OpenBSD, a
szokásos különutassága miatt, még 1999-ben teljes egészében átvette az
NRL IPSec-jének IPv4-es részét és most már nem akarja átvenni a KAME egységesített
IPv6-IPv4 alapú IPSec-jét. Ilyenformán az OpenBSD-ben csak IPv4-re létezik
IPSec, míg IPv6-ra nem, ami pedig követelmény volna. A KAME implementáció a
hivatalos IPv6 platform a FreeBSD [FreeBSD] esetén 4.0-tól kezdve, OpenBSD-ben
[OpenBSD] 2.7-től, NetBSD [NetBSD] esetén pedig az 1.5-ös verzió óta. Ezenkívül
a KAME támogatja kísérleti implementációban a FreeBSD 2-es, FreeBSD 3-as ,
a BSDI 3-as és a BSDI 4-es platformot. A BSDI következő hivatalos változata
szintén a KAME implementációra fog épülni (eddig az NRL implementációjára
épült). A jelenlegi ismertető a FreeBSD 4.2-őt, az OpenBSD 2.8-at és a
NetBSD 1.5-öt tárgyalja.
- az IPv6 alap protokoll implementált [RFC460]
- A unicast és multicast címzési specifikációk implementálva vannak a
megfelelő automatikus hozzárendeléssel együtt.
[RFC2373][RFC2374][RFC2375]
- ICMPv6 támogatás [RFC2463]
- IPv6-os útvonal MTU felismerés [RFC1981]
- állapotnélküli cím autokonfiguráció [RFC2462]
- szomszéd felismerése [RFC2461]
- IPv6 jumbogramm támogatása loopback interfészen [RFC2675], mivel nincs
más interfész jelenleg semmelyik BSD-ben, amely 64KB-nál nagyobb MTU-t támogatna.
- RIPng (Routing Information Protocol Next Generation) támogatása különböző
router szoftverek által (route6d, hroute6d, bgpd) [RFC2080]
- BGP4+ támogatott (bgpd) [RFC2283][RFC2545]
- IPv6 router alert opció [RFC2711]
- Név lekérdezés ICMPv6-al [ICMPNAME]
- Protokoll Független Multicasting sűrű [PIMDENSE] és ritka módban
[RFC2362]
- Multicast Listener discovery protokoll támogatása [RFC2710]
- IPv6 MIB-ek támogatása [RFC2465][RFC2466]
- átviteli mechanizmusok IPv6-os kiszolgálók és routerek között
[RFC1933] csak részleges támogatott. A KAME implementáció nem támogatja
a IPv4 kompatibilis IPv6 címet és ilyen formán az automatikus tunnelinget
sem. A konfigurált tunnel és dual stack működés támogatott.
- FAITH transzlátor (A típusú [TRT] transzlátor).
- 6to4 támogatása stf tunnellel [6TO4]
- DNS kibővítése IPv6 támogatásához [RFC1886]
- DNS resolver működő képes IPv6 transzporton
- alapvető IPv6 felhasználói programozási interfész (API) [RFC2553]
- kiterjesztett IPv6 programozói interfész támogatása (ADVAPI)
[RFC2292bis]
- IPv6 Etherneten [RFC2464], Arcnet [RFC2497], FDDI-on [RFC2467] ATM-en
[RFC2492] és pont-pont kapcsolaton (PPP) [RFC2472]
- DHCPv6 kísérletileg támogatott [DHCPv6][DHCPv6_EXT]
- Az FTP különböző port opciókkal és passzív módban
[RFC2428][RFC1639]
- IPSec támogatás [RFC1825]-[RFC1829], [RFC2401]-[RFC2411]
A KAME alapú BSD rendszerek az IPv4 és az IPv6 protokollokat egyszerre támogatják,
így a régiről az újra való áttérés fokozatosan is elvégezhető, kisebb
lépésekben. A különböző változatai a KAME implementációnak másképpen
kezelik a IPv4 mappelt IPv6 címeket.
Mindegyik implementáció támogatja a konfigurált tunnelt, de az
automatikust tunnelt egyik sem. A tunnelezési technikák közül támogatott még
a 6to4 tunnel is, illetve a jelenleg üzemelő tunnel brokerek többsége KAME
implementáció alatt működik.
A BSD UNIX-ok az új Internetes protokoll támogatásához kernel támogatás
is szükséges. Mindegyik rendszerben a GENERIC kernel támogatja az IPv6-ot. A
támogatás engedélyezéséhez a INET6 opciót szükséges engedélyezni
Minden KAME rendszer mind az IPv4-es, mind az IPv6-os kapcsolatokon keresztüli
AAAA lekéréseket támogatja. A resolvert és a szerver modult már portolták
IPv6 alá, és az alkalmazások a getaddrinfo és a getnameinfo hívásokkal lekérhetik
az AAAA bejegyzéseket. Az A6, DNAME bejegyzéseket jelenleg nem támogatja
semmelyik KAME implementáció.
IPv6-tal kommunikáló router vagy hoszt beállítása rendszeradminisztrátorként
sysctl parancsokkal lehetséges. A lehetséges beállítások a következőek.
Természetesen minden rendszeren az /etc/rc.conf konfigurálásval is beállítható
az IPv6 konfiguráció. Külön szabályozható IPv4-re és IPv6-ra, hogy hoszt
vagy router üzemmódban működjön a csomópont.
Konfigurált (manuális) tunnel létrehozása a gifconfig parancs segítségével
lehetséges, majd ezt az ifconfig-al inicializálhatjuk és route add-al definiálhatunk
útvonalat.
A hálózat beállítása után az alapvető működés helyességét a ping,
ping6, traceroute, traceroute6, netstat, tcpdump, ndp programokkal tesztelhetjük
le.
A legtöbb alacsonyszintű alkalmazás működik IPv6 alatt. A KAME alapú
rendszerekben rendelkezésre állnak alapvető IPv6-os alkalmazás fejlesztői
interfészek (API) és bináris programozói kitek, melyek elősegítik további
programok portolását valamint újak létrehozását az új protokoll alá. A
KAME implementáció támogatja IPv6 fölött az összes inetd-ből induló
szervert (ftp, telnet, rlogin, rsh, rexec). Rendelkezésre áll a sendmail, az
ssh több változata (SSHv1, OpenSSH), lpd és ppp IPv6 kompatibilis változata.
A KAME IPv6-os implementációja kiforrott és szinte teljes körű megoldást
nyújt. Támogatja az új protokoll hoszt és router specifikációit is, és a
rendszerbe integrált könnyen kezelhető segédprogramokkal a beállítás gördülékenyen
elvégezhető.
A Hewlett-Packard által készített és forgalmazott HP-UX operációs
rendszer a UNIX egyik legfontosabb kereskedelmi implementációja. Az Interneten
igen sok HP-UX alapú PA-RISC szerver működik, és a HP-UX munkaállomásokat
gyakran használják kliens programok futtatására. Így érthető, hogy a HP
számára is fontos az IPv6 implementálása és támogatása.
Jelenleg három különbözõ IPv6 megvalósítás létezik a HP-UX
rendszerekhez. A "hivatalos", HP által készített IPv6 implementáció,
a Swedish Institute of Computer Science http://www.sics.se/
által készített SICS IPv6, melyet a HP elismer ugyan, de nem támogat és a
Mentat protokol stackje, amely sok egyéb rendszer mellett HP-UX-on is fut.
A HP által készített IPv6 implementáció elsõ verziója (IPv6
Developer's kit V1.0) 1998. decemberében jelent meg. A jelenlegi utolsó verzió
(IPv6 Developer's kit V1.1) 2000. márciusi dátumú. Az implementáció 32 és
64 bites (V1.1-tõl) környezetben is használható, de kizárólag a HP-UX 11.0
operációs rendszer alatt fut. A V1.1 a HP-UX 11.0 release 9905-öt igényli. A
korábbi HP-UX verziókat nem támogatják. A szoftver ingyenesen letölthetõ a
http://www.software.hp.com/ címrõl.
Az implementáció az IETF által elfogadott szabványokon alapul, így elvileg
teljes mértékben képes együttműködni más IPv6 implementációkkal. A
jelenlegi implementáció deklaráltan kísérleti, tesztelési célokat szolgál,
és teljes IPv6 funkcionalitást biztosít a HP-UX 11.0 operációs rendszer
alatt.
A V1.1 megvalósítja, illetve támogatja többek között az IPv6 unicast és
multicast címzést, címfeloldást, router felderítést, TCP-t és UDP-t,
autokonfigurációt, IPv6 over IPv4-et automatikus és kézzel konfigurálható
alagutakon, ICMPv6-ot, stb. Az IPv6 képessé tett alkalmazások többek között:
ftp kliens és szerver, telnet kliens és szerver, inetd, sendmail,. rsh kliens
és szerver, rlogin kliens és szerver, DNS kliens és szerver, valamint egy sor
utility, pl: ifconfig, netstat, route, ping, nslookup stb.
A Svédországban készített SICS IPv6 implementáció a HP-UX egy korábbi
változatán, a HP-UX 9.05-ön fut http://www.ipv6.sics.se/spec.html
. A szoftver teljesen saját fejlesztésű, a máshonnan átvett és beépített
IPsec kivételével. Funkcionalitása valamivel szélesebb körű, mint a HP által
készített implementáció, hiszen az alapvetõ dolgokon kívül (IPv6, ICMPv6,
autokonfiguráció, tuneling, socket API, stb.) megvalósítja az IP security-t
is. A portolt alkalmazások között megtalálható az Apache Web szerver is.
A MENTAT a saját, teljes TCP/IP protokoll stack megvalósításának részeként
kínálja az IPv6-ot (duál IPv4/IPv6 stack formában) sok operációs rendszer
mellett HP-UX-hoz is http://www.mentat.com/tcp/tcp.html
. A MENTAT kifinomult architektúrával és megoldásokkal rendelkezik, a
vonatkozó RFC-knek megfelel. Az alapvetõ funkcionalitáson túl megvalósították
az IPsec-et is.
Noha már a 2.1-es Linux kernel is tartalmazta az IPv6-os támogatáshoz szükséges
modulok javarészét, azonban a 2.2.x kerneltől kezdve beszélhetünk natív
IPv6 támogatásról a Linux kernel esetében. Az egységes kernellel ellentétben
a sok disztribúció és az alkalmazások központosított fejlesztésének a hiánya
miatt (bazaar vs cathedral modell) meglehetősen nehéz egy átfogó képet adni
a Linux alkalmazás-szintű IPv6-os támogatásáról.
A legfrissebb (2.2.17-es) stabil kernel által támogatott RFC-k a következők:
- IP Authentication header [RFC1826]
- IP Encapsulating Security Payload (ESP) [RFC1827]
- Internet Protocol, Version 6 (IPv6) Specification [RFC1883]
- Internet Control Message Protocol (ICMPv6) for the Internet Protocol
Version 6 (IPv6) [RFC1885]
- Neighbor Discovery for IP Version 6 (IPv6) [RFC1970]
- IP Encapsulation within IP [RFC2003]
A legfrissebb (2.4.0-test10) fejlesztői kernel a fentieken túl a következő
további RFC-t támogatja:
- Basic Socket Interface Extensions for IPv6 [RFC2133]
A nagyobb Linux disztribúciók már támogatják az IPv6-ot, de léteznek
disztribútorfüggetlen fejlesztőcsapatok is. Ez utóbbiak sokkal több
alkalmazást készítettek fel IPv6-ra, mint a nagy disztribútorok. A központosított
fejlesztés hiánya miatt bizonyos alkalmazásokra több megoldás is született,
ugyanakkor nincs működő program néhány kulcsfontosságúnak mondott szolgáltatás
esetében.
Az IPv6-os alkalmazások [Apps] [Apps2], [RPM] fejlesztésével foglalkozó főbb
csoportosulások, és disztribúciók a következők:
- RPM alapú disztribúciók: Linux IPv6 RPM project [LIPR].
- Debian: kevés alkalmazás készült a Debian csoport fejlesztésében, de
sok tőlük független fejlesztésű alkalmazást támogatnak [DEB]
[DEB_setup].
- Redhat: a 7.0 verzióról nincs még információ; egyébként már a
6.2-es verzióban léteztek a szükséges kernelmodulok és néhány
elengedhetetlen alkalmazás [RH] [Bieringer].
- SuSe: kezdeti fázisban vannak, az nkit-ben már van IPv6 támogatás, más
alkalmazásról még nincs információ [SuSe], [Bieringer].
- Polish Linux Distribution: Aktív csapat, sok alkalmazást készítettek
fel IPv6-ra [PLD].
A hiányzó programok pótlásának további lehetséges módja, hogy más
operációs rendszerek megfelelő szoftvereit hozzuk át Linuxra. Az egyik legkézenfekvőbb
megoldás, hogy a BSD alá fejlesztett programokkal próbálkozunk [KAME]. Erről
a módszerről általánosságban megállapítható, hogy a forráskódok többsége
kompatibilis a 2.2.x-es Linux kernellel és a glibc2-vel, ezért a feladat nem túzottan
nehéz.
A megfelelő csomagokkal felvértezett Linux-os gép működtethető mind
dual stack, mind tisztán IPv6-os (és természetesen IPv4-es) üzemmódban,
valamint támogatja a tunnelezést is. Mégsem lehet teljes sikerről beszélni,
hiszen hiányzik néhány kernelmodul (például 6to4), valamint olyan alapszolgáltatások
IPv6-os változatai, mint például a syslog, RPC(mount, NFS), és a Samba.
A programokat és kernel modulokat általában a "régi", IPv4 -es
források újraírása, kiegészítése révén tették alkalmassá az IPv6-os működésre.
Azonban ki kell(ett) fejleszteni néhány olyan új szoftvert, melyek szükségességét
az IPv6 új szolgáltatásai indokolják. Ilyen például a RADVD (Router
ADVertisement Daemon) [Lars_RADVD], mely a router oldali állapot-nélküli
autokonfigurációs szolgáltatást nyújtja az alábbi RFC-knek megfelelően
(információink szerint egyenlőre csak Ethernet felett):
A RADVD tulajdonságai:
- IPv6 Testing Address Allocation [RFC1897]
- IPv6 Stateless Address Autoconfiguration [RFC1971]
- A Method for the Transmission of IPv6 Packets over Ethernet Networks
[RFC1972]
Egy Redhat disztribúcióra alapozott IPv6-os gép összeállításához igen
jó és részletes HOWTO-t találhatunk Peter Bieringer oldalán
[Bieringer_howto]. Itt nem csak program leírások, és installációs segédletek
találhatók, hanem a programok többféle formátumban is letölthetők. Az
oldal szerint az alábbi feltételek szükségesek egy Linuxos PC IPv6-ra való
beállításához (a konfiguráció természetesen feladatfüggő, ez csak egy
egyszerű kliensgép adatai):
- Hardware igény:
- P133-nál gyorsabb processzor
- 16MB-nál több RAM
- legkevesebb 200MB HDD (1GB bőven elegendő)
- 1MB VGA videokártya
- NE2000 kompatibilis, vagy ennél jobb hálózati kártya (természtesen
legyen Linux támogatottsága)
- A feltétlen szükséges IPv6-os kernel modulok többsége megvan, ezek a
kernel forrásában megtalálhatók, néhány viszont külön tölthető le.
A hiányzó alapvető kernel modulok:
- 6to4
- multicast routing
- anycast listening
Egyéb hiányzó kernel modulok:
- MIPL (Mobile IPv6 for Linux; igéretek szerint a 2.4-es kernelben benne
lesz)
- Lancester stack
- DHCPv6
- Hierarchikus router (és kliens) újraszámozás [Bieringer_kernel]
A meglévő és hiányzó alkalmazások összefoglaló táblázata Peter
Bieringer nagyon jó site-ján [Bieringer_apps] szintén megtalálható.
A Microsoft két IPv6 megoldást kínál. Az időrendben hamarabb megjelent a
Microsoft Research terméke, így hivatalosan nem támogatott, MSRIPv6 csomag
[USENIXNT]. Erre épült a hivatalos, jelenleg “Technology Preview” státusú
IPv6 programcsomag. Az MSRIPv6 Windows NT 4 és Windows 2000 operációs
rendszerek alatt működik, az Technology Preview IPv6 csak Windows 2000 SP1
alatt. A két csomag tulajdonságokban meglehetősen hasonló, pusztán a telepítés
módja különbözik. [MSRIPV6] [MSTPV6]
Mindkét csomag gyakorlatilag ugyanazon tulajdonságokkal rendelkezik, a támogatott
operációs rendszerek kivételével. A Microsoft IPv6 implementációja alapvetően
megvalósítja a fő IPv6 protokollokat, illetve - bizonyos eltérésekkel - az
RFC 2553 által leírt programozói felületet. Az IPSec AH és ESP ugyancsak
rendelkezésre áll.
A telepítőkészlet alapvetően a protokoll stacket tartalmazza, minimális
diagnosztikai és segédprogram, és ennél is kevesebb önálló IPv6 alkalmazás
tartozik hozzá. Mindkettő tartalmazza viszont az Internet Explorer IPv6
feletti működéséhez szükséges kiegészítőket. Ezen kívül ftp és
telnet kliens, IPv6 ping, IPSec konfigurációt beállító segédprogram és néhány
egyéb konfiguráló és lekérdező alkalmazás tartozik a csomagokhoz. Különböző
portolt applikációk külön letölthetőek. Ezek között van http szerver és
multicast eszköz is.
Az alapvető IPv6 funkciókhoz mindkét verzió elégséges. A programozói
felület és a fejlesztőkészlet része a csomagnak, így segítségükkel a
Windows IPv6 alkalmazások fejlesztése megkezdődhet.
6to4 [6to4] áttérési eszköz és ennek konfigurációs segédprogramja része
minkét csomagnak.
Az MSRIPv6-hoz külön letölthető tunnel-broker [TUNNEL_BROKER] szoftver.
Mindkét csomagra igaz, hogy az IPv4 protokollnak már telepítve kell lennie
a gépen, mielőtt az IPv6-ot installálhatnánk. Az MSRIPv6 érdekessége, hogy
a készlethez jár a forráskód is.
Az MSRIPv6 kicsomagolás után a Vezérlőpulton keresztül a szabványos
Windows telepítési eljárással telepíthető, mint további hálózati
protokoll. Az operációs rendszerre telepített Service Packektől függően
bizonyos dll-eket kézzel kell lecserélni, és ugyancsak kézzel kell telepíteni
- szintén dll cserével - az Internet Explorer IPv6 támogatását.
Az Technology Preview IPv6 csomag telepítése két lépésben történik. Először
az installáló program segítségével a kiegészítés HotFix stílusban telepítendő
a Windows 2000 alá, majd ezek után a szabványos módon a protokoll hozzáadható
a rendszerhez. A HotFix telepítés előnye, hogy így az IPv6 a rendszer
standard része lesz, ez könnyebbséget jelent a későbbi Service Pack és
HotFix telepítéseknél.
Mindkét esetben, de főleg a Technology Preview változatnál a telepítés
és az eltávolítás könnyedén végrehajtható.
Mindkét IPv6 csomag elsősorban az autkonfigurációt támogatja. Az IPv4
protokollhoz hasonló grafikus felületű konfigurációs alkalmazás nincs, címeket
és egyéb paramétereket az MSRIPv6 esetén a Windows registry közvetlen módosításával,
a másik csomag esetén pedig parancssorból lehet módosítani, nem perzisztens
módon. Hasonló módon kell konfigurált tunneleket beállíani.
Ez bizonyos esetekben hátrányos lehet, főleg teszt környezeteknél, mivel
egyrészt autokonfigurációs router hirdetéseket más eszközzel kell biztosítani
a hálózaton, másrészt nehézkes az ettől különböző paraméterek beállítása.
Az IPSec beállítások megtételéhez rendelkezésre áll egy grafikus segédprogram,
amely segítségével az IPSec konfiguráció beállítható. Ez ugyan csak egy
grafikus előtét a parancssori programhoz, de nagy könnyebbséget jelent a
kezdeti konfiguráció kikísérletezéséhez.
A SUN Solaris operációs rendszere a Solaris 8-al kezdődően nyújt IPv6-os
támogatást. A Solaris 8-at megelőzően csak kísérleti támogatás létezett.
A Solaris 8-as operációs rendszer teljes támogatást nyújt mind az
IPv4-es, mind az IPv6-os hálózati protokollhoz. A Solaris 8-nál az IPv6-os támogatás
nem egyszerűen prototípus, hanem széleskörűen letesztelt integrált szolgáltatás,
amely az operációs rendszer installálásakor opcióként választható, alapértelmezésben
azonban nincs telepítésre kijelölve. A Solaris 8 a hálózati
protokollt tekintve a kizárólagos IPV6-os üzemmódot még nem támogatja ,
IPv4-IPv6 kettős - ún. "dual-stack" -, illetve kizárólagos IPv4 üzemmódban
azonban egyaránt használható.[SOLARIS_FAQ]
A "dual-stack" üzemmód párhuzamosan mind az IPv4-es, mind az
IPv6-os hálózati protokollt támogatja. Mindazon host-ok, melyek ezzel az üzemmóddal
rendelkeznek, egyidőben képesek kommunikálni IPv4-es és IPv6-os csomópontokkal
(node-okkal) egyaránt. A "dual-stack" üzemmód nagy előnyeként említhető,
hogy az IPv4-es alkalmazások zavartalanul futhatnak tovább a kettős (IPv4-es
és IPv6-os) hálózati környezetben.
Az IPv6-os szolgáltatások használatához a name-szolgáltatásokat (DNS,
NIS, NIS+) el kell látnunk a megfelelő IPv6-os bejegyzésekkel.
A Solaris 8 két átállási mechanizmust támogat:
Dual-stack: IPv4-es és IPv6-os támogatás ugyanazon az operációs
rendszeren.
Tunnel-ek: IPv6-os csomagok átvitelét teszi lehetővé IPv4-es hálózati
környezetben oly módon, hogy az IPv6-os csomagokat IPv4-es csomagokba ágyazza
be. A folyamat neve "tunneling", melyet végezhet akár a
Solaris 8 operációs rendszerű hoszt, vagy akár az abból épített
router.
A protokoll-transzlálás (translating), amely a kizárólag IPv6-os csomópontok
kizárólag IPv4-es csomópontokkal való közvetítő transzlátoron keresztüli
kommunikációját teszi lehetővé, még nem támogatott a Solaris 8-ban.
A Sun által közreadott White Paper [Solaris_White_Paper] útmutató
programfejlesztők számára nyújt segítséget az IPv6 protokoll implementációjában,
kezelésében, IPv4-es, illetve IPv6-os példákkal illusztrálva az implementálási
folyamatot.
A programfejlesztők és rendszergazdák rendelkezésére áll egy Porting
Guide [Solaris_Porting_Guide] útmutató, valamint a Socket Scrubber for
C/C++ program [Socket_Scrubber], amely programok forráskódjainak
IPv4-es/IPv6-os vonatkozásait segít felderíteni.
- sendmail,
- ifconfig,
- ndd,
- telnet, in.telnetd,
- inetd,
- finger, in.fingerd,
- tftp, in.tftpd,
- rcp, rsh,
- in.rexecd,
- in.rshd,
- rlogin, in.rlogind,
- rdist,
- rdate,
- mconnect,
- printing
- snoop,
- ping,
- route,
- traceroute,
- netstat,
- getent,
- nslookup
- BIND (in.named),
- NIS
- NIS+
- DNS extensions to support IPv6 [RFC1886]
- Transition mechanisms for IPv6 hosts and routers [RFC1933]
- Path MTU discovery for IPv6 [RFC1981]
- Transmission of IPv6 packets over FDDI [RFC2019]
- RIPng for IPv6 [RFC2080]
- IPv6 Addressing Architecture [RFC2373]
- FTP Extensions for IPv6 and NATs [RFC2428]
- IPv6 Management Information Base for the Transmission Control Protocol
[RFC2452]
- IPv6 Management Information Base for the User Datagram Protocol [RFC2454]
- IPv6 Specification [RFC2460]
- Neighbor discovery for IPv6 [RFC2461]
- IPv6 Stateless Autoconfiguration [RFC2462]
- Internet Control Message Protocol for IPv6 [RFC2463]
- Method for transmission of IPv6 packets over Ethernet networks [RFC2464]
- Management Information Base for IPv6: Textual conventions and General
Group [RFC2465]
- Management Information Base for IPv6: ICMPv6 [RFC2466]
- Basic Socket Interface extensions for IPv6 [RFC2553]
A DHCPv6, a Java-IPv6 és Mobil-IPv6 támogatás a Solaris operációs
rendszer jelenlegi 8-as verziójának még nem képezik a részét, a következő
verziókban viszont várhatóan a meglévő IPv6-os modulok mellett ezek is
szerepelni fognak.
Az IPsec for IPv6 az előbbiekhez hasonlóan szintén nem része még a
Solaris 8 operációs rendszernek, azonban letölthető opcióként már
megjelent a Sun honlapján, mint a Solaris Data Encryption csomag része [SDE].
A jövőben a Solaris következő verzióiban várható, hogy az IPv6 biztonsági
kiterjesztése (IPsec for IPv6), valamint a mobilitás (mobil-IPv6) támogatása
az operációs rendszer részeként jelenik meg.
A Compaq Tru64 UNIX egy fejlett, 64 bites architektúrájú operációs
rendszer, mely a BSD 4.3, 4.4 és a UNIX System V változatain alapszik, támogatja
többek közt az X Window System 6.3-at, és a Motif grafikus felhasználói
interfészt is. Az egyik legkiforrottabb 64 bites Unix implementáció, jelenleg
az 5.1-es a legfrissebb verziója. Ezen nagymértékben skálázható rendszer
14TB fájlrendszer és 28GB memória felhasználását is lehetővé teszi, több
millió felhasználó egyidejű kiszolgálása mellett.
Míg az 1999. októberében kiadott 5.0-ás verzió esetében az új Internet
protokoll használatához egy külön csomagot kellett telepíteni (IPv6 Early
Adopters Kit)[EAK](hasonlóan a Tru64 Unix 4.0 változatokhoz), a jelenleg
legfrissebb 5.1-es verzió már a rendszerbe integráltan tartalmazza az IPv4
mellett az IPv6-os TCP, UDP és raw socketek támogatását az alkalmazások és
parancsok nagy részénél. [TRUE64_UNIX_man][TRU64_best]
- az IPv6 alap protokoll és a címzési specifikációk implementálva
vannak
- ICMP (Internet Control Message Protocol) támogatás [RFC2463]
- elérési út IPv6-os MTU felismerés [RFC1981]
- állapotnélküli cím auto-konfiguráció [RFC2462]
- szomszéd felismerése [RFC2461]
- RIPng (Routing Internet Protocol) [RFC2080]
- átviteli mechanizmusok IPv6-os kiszolgálók és routerek között
[RFC1933]
- DNS kibővítése IPv6 támogatásához [RFC1886]
- DNS dinamikus frissítés [RFC2136]
- alapvető IPv6 felhasználói programozási interfész (API) [RFC2553]
- erőforrás lefoglalási protokol (RSVP) [RFC2205]
- IPv6 Etherneten [RFC2464], FDDI-on [RFC2467] és pont-pont kapcsolaton
(PPP) [RFC2472]
- DHCPv6 még nem támogatott
A Tru64 UNIX rendszerek az IPv4 és az IPv6 protokollokat egyszerre támogatják,
így a régiről az újra való áttérés fokozatosan is elvégezhető, kisebb
lépésekben. Az egyes végpontoknak így kétféle címük is lehet, az IPv6-os
csomagokat tunnelezve (konfigurált tunnel) lehet továbbküldeni IPv4-es
architektúrájú infrastruktúrán, tehát az új verziójú csomagokat IPv4-es
csomagba pakolva továbbíthatják a rendszerek, lehetővé téve így az újfajta
kommunikációt a régi típusú mellett.
A Tru64 UNIX 5.1-es változata az új Internetes protokollt már
kernelszinten támogatja, ennek beállításait a régi IPv4-essel együtt a
kernel konfigurációnál kell megtenni, melyet a "doconfig -c
SYSTEM_NAME" utasítással hajthatunk végre. Ki kell választani az IPV6,
és a tunnelinghez az IPTUNNEL opciókat. Az elkészült kernelnek a régi helyére
mozgatásával és a rendszer újraindításával használható az új
protokoll. Működés közben a "sysconfig -q ipv6" és
"sysconfig -q iptunnel" utasításokkal ellenőrizhetjük a megfelelő
támogatottság meglétét a kernelben. [RFC1933]
Az operációs rendszer csak az IPv4-es kapcsolatokon keresztüli AAAA lekéréseket
támogatja. A resolvert és a DNS szerver rendszert még nem portolták IPv6 alá,
de az alkalmazások a getaddrinfo() és a getnameinfo() hívásokkal lekérhetik
az AAAA bejegyzéseket.
IPv6-tal kommunikáló router vagy host beállítása rendszeradminisztrátorként
az "/usr/sbin/ip6-setup" programmal végezhető el. Itt részletesen
beállíthatók a megfelelő interfészek, IPv6 domain név, tunnelek adatai
(automatikus/konfigurált), DNS funkciók és egyéb, a protokollhoz kapcsolódó
adatok. A beállítási procedúra végén a program felajánlja a szolgáltatás
azonnali elindítását, frissíti az /etc/rc.config, /etc/routes és
/etc/ip6rtd.conf állományokat, melyeket a biztonság kedvéért célszerű
megnézni és szükség esetén szövegszerkesztővel kijavítani.
Valamely interfész kártya be- vagy átállításánál azt inicializálni
kell, melyet az "ifconfig eszköz ipv6 up" utasítással tehetünk
meg. Ezzel a programmal beállíthatjuk az interfész azonosítóját is, az
ip6interfaceid kapcsoló segítségével. Az interfész leválasztása hasonló
módon zajlik, az "ifconfig eszköz -ipv6" paranccsal.
Konfigurált (manuális) tunnel létrehozása az "iptunnel create távoli-végpont
[helyi-végpont]" segítségével lehetséges, majd ezt az ifconfig-al
inicializálhatjuk.
Az alapértelmezés szerinti routert a "route add -inet6 default
router-cím -dev interfész" utasítással állíthatjuk be.
Ha IPv6 routerként állítottuk be a rendszert, az ip6rtrd démon állandó
időközönként router hirdetményeket továbbít a hálózaton, hogy magát
potenciális alapértelmezett routerként ajánlja, és IPv6 cím prefixet is
hirdet, mellyel a végpontok cím autokonfigurációt hajthatnak végre. Az IPv6
alrendszer beállítására és finomhangolására a sysconfig vagy a
dxkerneltuner segédeszközöket használhatjuk a későbbiekben.
Az nd6hostd és ip6rtrd démonok tájékoztató és figyelmeztető üzeneteiket
a /var/adm/syslog.dated/date/daemon.log állományba jegyzik be. Ennek tartalma
a SysMan program Event Viewer moduljával is elérhető. Alapértelmezés
szerint nyomonkövetési (debug) üzeneteket nem írnak ki a démonok, ennek
engedélyezése az rcmgr segítségével, majd az rcinet restart ipv6 kiadásával
történhet.
A hálózat beállítása után az alapvető működés helyességét a ping,
traceroute, netstat, tcpdump programokkal tesztelhetjük le.
A legtöbb alacsonyszintű alkalmazás működik IPv6 alatt. Fejlesztői
szinten is jelentős előrelépés tapasztalható, a Tru64 UNIX fejlesztői
rendelkezésre bocsátottak alapvető IPv6-os alkalmazás fejlesztői interfészeket
(API) és bináris programozói kiteket, melyek elősegítik további programok
portolását valamint újak létrehozását az új protokoll alá.
IPv4-es és IPv6-os végpontokkal való kommunikáció is megvalósítható
az új AF_INET6 socket használatával. A setsockopt() és getsockopt() függvények
is képesek az új IPPROTO_IPV6 jelzés használatára, valamint számos új függvénnyel
és struktúrával bővült a rendszer, melyek az IPv6-os alkalmazások fejlesztéséhez
szükségesek. [TRU64_UNIX_prg_man]
A 5.1-es Tru64 UNIX IPv6-os implementációja kiforrott és szinte teljes körű
megoldást nyújt. Támogatja az új protokoll hoszt és router specifikációit
is, és a rendszerbe integrált könnyen kezelhető segédprogramokkal a beállítás
gördülékenyen elvégezhető.
Copyright
|
$Id: 5.implementaciok.html 50 2001-06-07 16:10:02Z mohacsi $ |