6. 4. 2006

Ako integrovať IPv6 do laboratoórnej siete

1 IP verzie 4
Koncom šesťdesiatych rokov minulého storočia sa v oblasti sieťových technológií začala prejavovať potreba zaviesť komunikačný protokol, ktorý by bol nezávislý na hardvérovej implementácii, centrálnom riadení a rovnocennosti jednotlivých pripojených uzlov. V roku 1969 americká agentúra DARPA vyhlásila projekt na vytvorenie takejto siete. Nová sieť dostala meno ARPANET a stala sa základom budúceho Internetu. K jej vývoju sa pripojilo viacero organizácií. V polovici sedemdesiatych rokov vznikajú základy TCP (Cerf V., Dala Y., Sunshine C., 1974). V roku 1983 bol TCP/IP štandardizovaný a vyhlásený za jediný komunikačný protokol v prostredí ARPANETu. V roku 1990 sieť ARPANET zaniká a vzniká sieť Internet.
Základným komunikačným protokolom siete Internet je protokol IP (Postel J., 1981). V pôvodnom návrhu počíta IP protokol s jedinečnou adresou dlhou štyri bajty. Preto má táto verzia označenie 4. V čase keď sa definoval IP protokol, nikto nepredpokladal obrovský rast siete, vývoj a zlacnenie osobných počítačov a prudký rozvoj telekomunikačných technológií. Rozsah IP adries bol rozdelený do piatich tried, ktoré sa veľmi štedro prideľovali jednotlivým záujemcom o pripojenie k sieti.
Jednotlivé triedy IP adries sú uvedené v tabuľke č. 1.

Tab. 1 Rozdelenie tried IPv4

Trieda Rozsah Počet sietí Počet počítačov v jednej sieti
A 1.0.0.0/8 – 126.0.0.0/8 126 224-2 = 16 777 214
B 128.0.0.1/16 – 191.0.0.0/16 214 = 16 384 216-2 = 65 534
C 192.0.0.1/24 – 223.0.0.0/24 222 = 4 194 304 28-2 = 254 počítačov
D 224.0.0.1 – 239.255.255.255 – –
E 240.0.0.1 – 254.255.255.255 – –

Začiatkom 90-tych rokov si zodpovední uvedomili, že takého delenie je veľmi neefektívne. Príliš veľa spoločnostiam sa pridelil počet adries, ktoré nevyužívali. S rastom žiadostí o pridelenie adries sa objavil problém ich vyčerpania. Začali sa preto hľadať možnosti ako vyriešiť nedostatok adries.
Pokiaľ sa nenašlo riešenie bolo nutné spomaliť rýchlosť akou sa rozdeľovali adresy. Zrušili sa preto triedy a zaviedlo sa teda beztriedne adresovanie. Zároveň sa zaviedli privátne adresy použiteľné len v intranetoch. Ako privátne adresy sa podľa RFC 1597 (Rekhter Y., Moskowitz B., Karrenberg D., de Groot G., 1994) vyčlenili siete 10.0.0.0/8, 172.16.0.0/12 a 192.168.0.0/24. Všetky ostatné adresy označujeme ako verejné. Privátne adresy spolu s mechanizmom NAT (Network Address Translation) vyriešili problém s nedostatkom IP adries na dostatočne dlhý čas. Princíp NAT spočíva v tom, že za pod jedinú verejnú IP adresu môžeme schovať ľubovoľný počet počítačov s privátnymi adresami.
Komplexné riešenie sa objavilo v roku 1994. Vznikol nový protokol, ktorý riešil nie len problém s nedostatočným počtom adries, ale aj mnohé ďalšie problémy. Nový protokol mal vedieť zabezpečiť skupinovú komunikáciu, bezpečnosť, mobilitu, prioritu dátových tokov a automatickú konfiguráciu.
Aj keď bol definovaný nový protokol, jeho masovému uvedeniu do praxe bráni skutočnosť, že technológia NAT je pre väčšinu organizácií dostačujúca. Preto pokiaľ nenarastie záujem o garantované vysokorýchlostné dátové prenosy a bezpečnosť prenosu bude IPv6 stále trocha v úzadí.

2 IP verzie 6
Výsledkom snaženia mnohých odborníkov je protokol verzie 6. Jednou zo základných vlastností nového protokolu je zmena dĺžky IP adresy na 128 bitov (Huitema C., 1997). Takéto rozšírenie nám dáva možnosť použiť 2128 adries, čo je približne 35 triliónov adries. Toto neuveriteľne veľké číslo je dostatočnou rezervou na veľmi dlhý čas.
Protokol IPv6 disponuje mnohými ďalšími vlastnosťami. Ako príklad si vymenujme tie najdôležitejšie:
  • skupinové adresovanie – skupinová komunikácia je dôležitá pri dátových prenosoch ako sú rádiové a televízne vysielanie alebo videokonferencia. Dátový tok sa nevysiela každému účastníkovi zvlášť (unicast) ale celej skupine účastníkov (multicast). IPv6 zavádza ešte jeden spôsob skupinovej adresácie. Je ňou metóda, pri ktorej odpovedá najbližší účastník (anycast).
  • bezpečnostné funkcie – priamo v protokole sú definované autorizačné a autentifikačné funkcie
  • autokonfigurácia – automatická konfigurácia sieťových nastavení na základe jedinečného 64 bitového EUI sieťového adaptéru.
  • definovanie priority prenosu – protokol rozlišuje medzi dátovými tokmi, ktoré musia byť prenášané v reálnom čase, a teda ich spracovanie musí byť uprednostnené pred spracovaním komunikácie nižšej priority
  • mobilita – umožňuje jednoduchý presun účastníka medzi rôznymi počítačovými sieťami so zachovaním si adresy, ktorú mal vo svojej domácej sieti
Nový protokol definovaný v RFC 2460 (Deering S., Hinden R., 1998) má zjednodušenú hlavičku, čo prispieva k jeho rýchlejšiemu spracovaniu na smerovačoch. Zmenšenie hlavičky ale neznamená zníženie počtu informácií, ktoré sa prenášajú. Menej dôležité časti sa presunuli do rozširujúcich hlavičiek, ktoré si spracuje to zariadenie, pre ktoré sú určené.
Nová IP adresa má aj nový spôsob zápisu. Tvar adresy je rozdelený na osem 16 bitových častí písaných v šestnástkovej sústave. Jednotlivé čísla sú oddelené dvojbodkou. Syntax umožňuje používať aj skrátený zápis (tab. 2), kde
  • sa nemusia písať uvádzacie nuly,
  • štyri nuly môžu nahradiť jednou nulou a
  • skupina núl sa môže na nahradiť dvojbodkou.

Tab. 2 Formáty zápisu IPv6 adresy
0123:0000:0000:0000:FEDC:BA98:7654:3210
123:0000:0000:0000:FEDC:BA98:7654:3210
123:0:0:0:FEDC:BA98:7654:3210
123::FEDC:BA98:7654:3210


Protokol IPv6 nedelí adresy na triedy, ale definuje prefix, ktorý oddeľuje časť určenú pre označenie siete od časti určenej pre označenie pre jednotlivé pripojené počítače. Prefix sa udáva podobne ako u starých adries za lomkou. Vo všeobecnosti sa IPv6 adresy delia na
  • globálne – sú jednoznačné v celom Internete
  • lokálne – sú jednoznačné v rámci jednej inštitúcie
  • linkové – sú jednoznačné iba v rámci jednej fyzickej siete

Na obr. 1 je zobrazené rozdelenie jednotlivých častí IPv6 adresy. Jednotlivé čísla uvádzajú začiatočný bit poľa. Celková dĺžka poľa je 128 bitov.


Obr. 1 Členenie globálnej adresy
  • I je štandardný identifikátor pre globálnu adresu (3 bity), binárne sa rovná 001
  • TLA (top level aggregation, 13 bitov) je identifikátor agregačnej inštitúcie najvyššej úrovne (globálny poskytovateľ).
  • NLA (next level aggregation, 32 bitov) je identifikátor agregačnej inštitúcie, ktorá je na ďalšej úrovni v poradí (lokálny poskytovateľ)
  • NLA a TLA zodpovedajú topológii „verejného“ Internetu, teda siete mimo koncovú pripojenú organizáciu
  • SLA (site level aggregation, 16 bitov) je agregačný identifikátor pre jednu lokalitu (pre inštitúciu). Rozdelenie v poli SLA zodpovedá topológii miestnej siete.
  • Zvyšok adresy tvorí 64 bitový identifikátor sieťového rozhrania koncového uzla, ktoré môže byť vytvorené napríklad z EUI-64, ktoré je vytvorené z MAC adresy rozhrania.

3 Pripojenie k IPv6 sieti
3.1 Získanie IPv6 adresy
Postup prideľovania IPv6 adresy je nasledujúci:
  • Poskytovateľ najvyššej úrovne dostane od registračnej autority pridelený identifikátor (prefix siete), z rozsahu ktorého môže prideľovať identifikátory nižšej úrovne jednotlivým ISP – poskytovateľom služieb Internetu.
  • ISP potom v rámci svojho identifikátora prideľujú číselne kombinácie pre svojich klientov.
  • Koncový klienti si pridelený prefix (najčastejšie dĺžky /48) rozdelia podľa svojich potrieb.

Prvým krokom pripojenia sa k sieti IPv6 je výber poskytovateľa pripojenia. Natívny spôsob pripojenia sa k sieti nie je technicky jednoduchý, tak sa pripojenie k IPv6 sieti rieši tunelovaním IPv6 protokolu v rámci protokolu IPv4. Princíp tunela je zobrazený na obr. 2.

Obr. 2 Tunelovanie IPv6 protokolu

Aby sme sa pripojili k IPv6 sieti, musíme si nájsť poskytovateľa, ktorý nám umožní vytvoriť si k nemu tunel. Takýto poskytovateľ má pomenovanie IPv6 Tunnel Broker. Takýchto „brokerov“ je veľa. Ako príklad spomenieme Freenet6, Huricane Electric, SixXS, XS26, SingNet. Pre naše potreby sme si vybrali ako brokera kanadskú spoločnosť Hexago, ktorá poskytuje pripojenie k sieti Freenet6.

3.2 Registrácia tunela
Registrácia tunela a teda aj získanie IPv6 adresy spočíva v troch krokoch.
  • vyplnenie registračného formulára na adrese http://www.hexago.com
  • nainštalovanie TSP klienta (TSP klient je potrebný pre vytvorenie virtuálneho adaptéra siete a pre autorizáciu u brokera). Tabuľka 3 uvádza podporované operačné systémy TSP klienta.
  • spustenie TSP klienta

Tab. 3 Podporované operačné systémy pre TSP klienta


3.3 Inštalácia tunela
Pre overenie funkčnosti tunela sme nainštalovali TSP klienta na operačné systémy Windows XP SP2 a FreeBSD 6. Inštalácia na oboch systémoch bola bezproblémová a štandardná. V systéme Windows XP sa vytvorili dva sieťové adaptéry (obr. 3), ktoré umožnia vytvorenie tunela. Po spustení klienta (obr. 4) sa virtuálny adaptér pripojil rýchlosťou 10 Mbps a získal IP adresu 2001:5c0:8fff:fffe::44b7. Druhá strana tunela má IP adresu 2001:5c0:8fff:fffe::44b6 a slúži ako predvolená brána. Treba podotknúť, že systém bežiaci na Windows XP bol pripojený do súkromnej bezdrôtovej siete, a to cez viacnásobný NAT.


Obr. 3 Virtuálny adaptér umožňujúci pripojenie k IPv6 sieti


Obr. 4 TSP klient v aktívnom stave

V systéme FreeBSD sme úpravou konfiguračných súborov TSP klienta požiadali o pridelenie prefixu dĺžky /64 pre druhý sieťový adaptér v systéme. Zo systému sa tak stáva IPv6 router, ktorý bude prideľovať svojim klientom pripojeným na jeho vnútorné rozhranie IPv6 adresy a cez tunelované rozhranie bude smerovať komunikáciu do IPv6 siete. Systém s FreeBSD má pridelenú verejnú IP adresu verzie 4 zo sady pridelenej UKF v Nitre. Je teda priamo pripojený do Internetu.
TSP klient sa spúšťa štartovacím skriptom uloženým v /usr/local/etc/rc.d/freenet6.sh. Po spustení sa klient pripojí k brokerovi, autorizuje sa a pridelí IPv6 adresu virtuálnemu adaptéru (gif0) ako aj vnútornému rozhraniu (fxp0). Pridelené adresy sú uvedené na obr. 5.

fxp0: flags=8843 mtu 1500
options=8
inet6 fe80::20d:60ff:feab:31ee%fxp0 prefixlen 64 scopeid 0x1
inet6 2001:5c0:8dfe::1 prefixlen 64
ether 00:0d:60:ab:31:ee
media: Ethernet autoselect (none)
status: no carrier

gif0: flags=8051 mtu 1280
tunnel inet 194.160.210.164 --> 64.86.88.116
inet6 2001:5c0:8fff:fffe::44b9 --> 2001:5c0:8fff:fffe::44b8 prefixlen 128
inet6 fe80::20d:60ff:feab:31ee%gif0 prefixlen 64 scopeid 0x5
Obr. 5 Konfigurácia sieťových zariadení v systéme FreeBSD

3.4 Overenie funkčnosti tunela
Na overenie funkčnosti tunela sme použili štandardné nástroje oboch operačných systémov. Prvým krokom bolo overenie dostupnosti druhej strany tunela. Na systéme Windows XP aj FreeBSD je to príkaz ping6. Priebeh testu je zobrazený na obr. 6.


C:\Documents and Settings\Petko>ping6 2001:5c0:8fff:fffe::44b6 -t

Pinging 2001:5c0:8fff:fffe::44b6
from 2001:5c0:8fff:fffe::44b7 with 32 bytes of data:

Reply from 2001:5c0:8fff:fffe::44b6: bytes=32 time=232ms
Reply from 2001:5c0:8fff:fffe::44b6: bytes=32 time=211ms
Reply from 2001:5c0:8fff:fffe::44b6: bytes=32 time=209ms
Reply from 2001:5c0:8fff:fffe::44b6: bytes=32 time=354ms
Reply from 2001:5c0:8fff:fffe::44b6: bytes=32 time=386ms
Reply from 2001:5c0:8fff:fffe::44b6: bytes=32 time=311ms

Ping statistics for 2001:5c0:8fff:fffe::44b6:
Packets: Sent = 6, Received = 6, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 209ms, Maximum = 386ms, Average = 283ms

Obr. 6 Testovanie dostupnosti druhej strany tunela

Tunel bol dostupný z obidvoch systémov. Ďalej bolo treba zistiť, či sa tieto dva systémy v sieti vidia, teda či sú navzájom dostupné. Univerzitný firewall blokuje ping žiadosti na počítače vo vnútornej sieti. Keďže celá naša komunikácia prebieha vo vytvorenom tuneli, táto skutočnosť by nám nemala vadiť. Priebeh testu zobrazuje obr. 7.


C:\Documents and Settings\Petko>ping6 2001:5c0:8fff:fffe::44b9

Pinging 2001:5c0:8fff:fffe::44b9
from 2001:5c0:8fff:fffe::44b7 with 32 bytes of data:

Reply from 2001:5c0:8fff:fffe::44b9: bytes=32 time=340ms
Reply from 2001:5c0:8fff:fffe::44b9: bytes=32 time=372ms
Reply from 2001:5c0:8fff:fffe::44b9: bytes=32 time=315ms
Reply from 2001:5c0:8fff:fffe::44b9: bytes=32 time=340ms

Ping statistics for 2001:5c0:8fff:fffe::44b9:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 315ms, Maximum = 372ms, Average = 341ms
Obr. 7 Testovanie prechodu ping žiadosti IPv4 firewallom

Týmito príkazmi sme si overili, že komunikácia v rámci siete nášho brokera je bezproblémová. Našim cieľom ale nie je komunikovať iba v rámci jednej siete, ale v rámci viacerých sietí. Preto sme sa rozhodli preskúmať cesty k cieľu, ktorý je pripojený v inej IPv6 sieti ako je náš broker. Vybrali sme si brazílsky segment 6bone siete. Cestu sme preskúmali príkazom tracert6. Výsledok testu zobrazuje obr. 8.


C:\Documents and Settings\Petko>tracert6 www.6bone.rnp.br

Tracing route to virgo.6bone.rnp.br [3ffe:2b00:1:101:204:acff:fee6:50b1]
from 2001:5c0:8fff:fffe::44b7 over a maximum of 30 hops:

1 * 129 ms 285 ms 2001:5c0:8fff:fffe::44b6
2 283 ms 190 ms 259 ms 2001:5c0:0:5::114
3 393 ms * 417 ms if-5-0-1.6bb1.MTT-Montreal.ipv6.teleglobe.net
[2001:5a0:300::5]
4 323 ms * 296 ms gin-ad1-6bb1.ipv6.teleglobe.net [2001:5a0:200
::1]
5 267 ms 386 ms 347 ms eth10-0-0.xr1.ams1.gblx.net [2001:7f8:1::a500
:3549:1]
6 491 ms * 448 ms 2001:12f0:1:2011::1
7 548 ms * 570 ms 2001:12f0:1:2011::1
8 471 ms 555 ms * 2001:450:1:1::26
9 568 ms 695 ms 637 ms 2001:12f0:1:2011::2
10 578 ms 629 ms 626 ms 2001:12f0:0:fe::e1
11 695 ms 689 ms * 3ffe:2b00:500:2::1
12 719 ms 850 ms 675 ms 3ffe:2b00:1:101:204:acff:fee6:50b1

Trace complete.

Obr. 8 Testovanie trasy do inej IPv6 siete

3.5 Služby servera
Na FreeBSD sme sa rozhodli spustiť IPv6 služby. Ako prvú službu, ktorú bude server poskytovať je služba siete www. Systém FreeBSD má snáď najlepšie implementované IPv6 služby so všetkých unixových systémov. Ako webový server sme nainštalovali Apache vo verzii 1.3. Výsledok je zobrazený na obr. 9. Stránku sme prezerali v prehliadači Opera 8.51 volaním http://[2001:5c0:8fff:fffe::44b9]


Obr. 9 Webový server Apache dostupný cez sieť IPv6
S inicializáciou TSP klienta sa na serveri spustil démon rtadvd, ktorý umožňuje automatickú konfiguráciu klientov pripojených na vnútorné rozhranie fxp0. Týmto krokom sme pripojili celú učebňu k sieti IPv6.

4 Záver
Podarilo sa nám pripojiť sa k sieti IPv6 prostredníctvom voľne dostupného brokera a spojazdniť na jednom z počítačov služby internetového servera. Naším ďalším cieľom bude požiadať správcu adresného priestoru o pridelenie určitého rozsahu adries, ktoré budú použité pre jednotlivé koncové uzly. Ďalším cieľom bude spustenie väčšieho počtu internetových služieb, napríklad elektronickej pošty, systému DNS, webového servera, FTP servera a ďalších. Najväčším cieľom bude vytvoriť natívne, nie tunelované pripojenie do IPv6 siete.

5 Literatúra
Cerf V., Dala Y., Sunshine C. 1974. Specification of Internet Transmission Control Program. 1974. RFC 675
Deering S., Hinden R. 1998. Internet Protocol, Version 6 (IPv6) Specification. 1998. RFC 2460
Huitema, C. 1997. IPv6: The New Internet Protocol, (Second edition). Prentice Hall, 1997. ISBN 0138505055.
Miller, P.E., Miller M. A. 2000. Implementing IPv6: Supporting the Next Generation Internet Protocols, Faster City: IDG Books Worldwide, ISBN: 0764545892
Postel J. 1981. Internet Protocol. 1981. RFC 791
Rekhter Y., Moskowitz B., Karrenberg D., de Groot G., 1994. Address Allocation for Private Internets. 1994. RFC 1597

Zdroj:
Švec, Peter: Ako integrovať IPv6 do laboratórnej siete.
In: VII. vedecká konferencia doktorandov a mladých vedeckých pracovníkov. - Nitra: UKF, 2006. - ISBN 80-8050-960-3. - S. 747-754.