Lukáš Repka
Mobilita v IP verze 6 Úvod IP je nejzákladnějším nosným protokolem rodiny TCP/IP. Všechny ostatní protokoly jsou přenášeny přímo v datové části IP s příslušným identifikačním číslem vyššího protokolu nebo jsou navrženy tak, aby nějakým způsobem napomohly vykonávat IP jeho funkci. Dle OSI modelu leží IP protokol na vrstvě síťové. Každé zařízení komunikující prostřednictvím rodiny protokolů TCP/IP musí softwarově implementovat i IP protokol. IP protokol umožňuje spojit jednotlivé lokální sítě do celosvětového Internetu. Od protokolu IP dostal také Internet své jméno. Zkratka IP totiž znamená InterNet Protocol, tj. protokol spojující jednotlivé sítě. Později se místo InterNet začalo psát Internet. Protokol IP verze 4 (IPv4) je nejrozšířenějším protokolem síťové vrstvy dle OSI modelu. Protokol IP verze 6 (IPv6) je následovníkem současného IP verze 4. Nový protokol má splňovat tyto požadavky: • Rozsáhlý, nevyčerpatelný adresní prostor • Tři druhy adres – individuální, skupinové a výběrové (kapitola 3) • Jednoduché adresní schéma • Hierarchické směrování, adresace • Vyšší bezpečnost • Podpora služeb se zajištěnou kvalitou (kapitola 8) • Automatická konfigurace • Podpora mobility (kapitola 7) • Hladký přechod z IP verze 4 na IP verze 6 (kapitola 9) • Optimalizace pro nasazení ve vysokorychlostních sítích Tlak, který byl způsoben rychle nezmenšujícím se adresním prostorem v IP verze 4, byl zpočátku hlavní hnací silou pro vznik IP verze 6. Postupem času byly vytvořeny mechanismy pro efektivnější přidělování adres v IP verze 4 a tím i tento tlak ustoupil. Navíc pro většinu firem byl zajímavější protokol, který již fungoval a mohl přinášet okamžité zisky, než investovat do vývoje protokolu nového, jehož zavedení nebylo jisté. Toto se však mění díky ostatním vlastnostem IP verze 6. Kromě adresního prostoru jsou pro prosazení IP verze 6 do praxe rozhodující vestavěné bezpečnostní mechanismy, automatická konfigurace, optimalizace pro nasazení ve vysokorychlostních sítích a hlavně podpora mobilních počítačů. Povinná podpora mobility je považována za jednu z největších předností Internet Protokolu verze 6. Bohužel celých deset let trvalo, než byly oficiálně definovány principy, podle kterých má podpora mobilty fungovat. Důvodem zpoždění byly problémy se zabezpečením. V podstatě šlo o to zamezit, aby se někdo nevydával za jiný počítač na cestách. Dokument, který popisuje podporu mobility je Mobility Support in IPv6, v RFC 3775 (Request for Comments) z června roku 2004.
1
Jak jsem již uvedl, měla by být mobilita jeden z hlavních argumentů pro zavedení IP verze 6 do praxe a vzhledem k expanzi mobilních zařízení, která mají možnost připojit se k internetu snad i argument nejdůležitější. Bohužel došlo ke zdržení. Přestože se již počítalo s tím, že mechanismy popsané v návrhu z listopadu 1998 již lze považovat za dostatečně stabilizované, objevily se v létě 2002 problémy v zabezpečení. Změnily se bezpečnostní mechanismy, objevilo se nové záhlaví mobilita a několik dalších změn. Konečné řešení je popsáno v již výše zmíněném dokumentu RFC 3775.
Základní princip Základní vlastností mobilních zařízení je, že za provozu přecházejí z jedné sítě do druhé (např. když komunikujete ze svého notebooku během cesty z Prahy do Vídně) a tudíž mění svou IP adresu. IP verze 6 se opírá o myšlenku, že každý je někde doma a tudíž i mobilní počítač v IP verze 6 má svou domácí síť a domácí IP adresu. Na tuto adresu je směrováno zahájení komunikace, pokud mu někdo chce odeslat data. V případě, že komunikaci zahajuje mobilní počítač sám, je vše bez problémů. Stačí pouze příjemce seznámit se svou aktuální adresou. Proto, aby mohlo být mobilní zařízení (uzel) dosažitelné, ustaví si ve své domácí síti tzv. domácího agenta. Tuto roli hraje jeden ze směrovačů v domácí síti mobilního stroje (podpora mobility zahrnuje i způsob jeho automatického výběru, aby nemusel být konfigurován staticky). Mobilní uzel průběžně informuje svého domácího agenta o aktuální IP adrese.
2
Obr. 1: Navázání spojení s mobilním uzlem
Navázání spojení s mobilním uzlem Externí počítač zašle datagram s žádostí o navázání spojení na domácí (trvalou) adresu mobilního uzlu (část 1 na obr 1). Domácí agent na sebe přesměruje data určená mobilnímu stroji (při objevování sousedů odpovídá místo něj) a předává je mobilnímu uzlu tunelem (část 2). Jakmile mobilnímu uzlu dorazí tunelovaný datagram, dozví se o snaze kontaktovat ho na domácí adrese. Současně se svou odpovědí zahájí tzv. optimalizaci cesty (část 3), jejímž úkolem je seznámit odesilatele s aktuální adresou, aby nadále mohla komunikace probíhat přímo (část 4). K tomu slouží volba Aktualizace vazby (Odstavec 7.3.2). Ještě předtím musí proběhnout procedura (bezpečnostní mechanismy), která má prokázat skutečnou identitu mobilního uzlu. Když protější stroj přijme aktualizaci vazby, opatří své další datagramy rozšiřujícím záhlavím Směrování. Jsou tedy finálně určeny pro domácí adresu, ale posílají se na adresu dočasnou. Kdykoli mobilní uzel změní svou adresu, informuje o tom nejen svého domácího agenta, ale také všechny stroje, se kterými v poslední době komunikoval. Navíc lze informovat implicitní směrovač ze sítě, kterou právě opustil. Ten pak může pracovat jako domácí agent pro datagramy směřující na předchozí dočasnou adresu. Domácí adresa je pevným bodem a z pohledu vyšších vrstev je mobilita pouze něco, co pracuje pod ní.
Záhlaví a volby Záhlaví mobilita Většina zpráv, kterými se domlouvají účastníci, je přepravována v záhlaví Mobilita (obr. 2). Protokol obsahu identifikuje obsah následujícího za tímto záhlavím. Typ zprávy určuje, jaká zpráva je tímto záhlavím přenášena (Tab. 1).
Obr. 2: Záhlaví Mobilita
3
Typ zprávy 0 1 2 3 4 5 6 7
Význam žádost o vazbu zahájení testu domácí adresy zahájení testu dočasné adresy test domácí adresy test dočasné adresy aktualizace vazby Tab. 1: Typy zpráv potvrzení vazby záhlaví Mobilita chybějící vazba
Aktualizace vazby Nejdůležitější volbou je aktualizace vazby (typ zprávy 5, obr. 2), jejíž funkcí je oznámit aktuální adresu mobilního uzlu domácímu agentovi nebo zařízení (počítač), s nímž komunikuje. Dočasné adresy se mění, proto je každá aktualizace vazby opatřena Pořadovým číslem(16 bitů), díky němuž se nestane, aby se cílový počítač vrátil k již neplatné adrese. Životnost (32 bitů) stanoví dobu platnosti dočasné adresy v sekundách. Příznaky A,H,S a D ovlivňují příjemce. A (acknowledge) je žádost o potvrzení vazby. Je-li H (home registration) nastaven, jde o žádost, aby se příjemce datagramu (směrovač v domácí síti) stal domácím agentem. Příznak S (single address only) omezí domácího agenta na jedinou adresu uvedenou ve volbě domácí adresa. Příznak D (duplicate address detection) je žádost o detekci duplicitních adres v domácí síti.
Obr. 3: Volba Aktualizace vazby Parametry umožňují připojit k aktualizaci informace, které nejsou potřeba vždy, což mohou být Indexy náhodných hodnot či Autentizační data pro prokázání identity nebo Alternativní dočasná adresa, oznamující, že se ve vazbě má použít adresa zde uvedená. 4
Potvrzení vazby Jako reakce na aktualizaci vazby slouží volba Potvrzení vazby (obr. 4), jejíž nejpodstatnější položkou je stav, kde je uvedeno, zda aktualizace byla přijata ( hodnota nižší než 128) či nikoli ( hodnota vyšší než 128).
Obr. 4: Volba Potvrzení vazby
Získání domácího agenta Získání domácího agenta probíhá zcela dynamicky, čímž odpadá nutnost statické konfigurace, což mobilním přístrojům ulehčuje práci. Algoritmus pro vyhledávání vhodného domácího agenta, který se v závislosti na vytížení jednotlivých směrovačů může měnit, se nazývá Dynamické objevování adres domácích agentů. Získání domácího agenta probíhá ve dvou fázích. V první se mobilní zařízení dozví adresy všech možných domácích agentů. Odešle ICMP zprávu Žádost o adresy domácích agentů jednomu ze směrovačů v domácí síti. Každý ze směrovačů totiž sleduje ohlášení ostatních směrovačů a vede si přehled o tom, kdo všechno v domácí síti je ochoten vykonávat funkci domácího agenta. Údaje si ukládá do další datové struktury seznamu domácích agentů, který na požádání odešle mobilnímu uzlu. Ve druhé fázi si mobilní počítač jeden z nich vybere (seznam by měl být uveden v pořadí podle priorit, potenciální agenti se stejnou prioritou pak náhodně a mobilní počítač by měl vybírat postupně od jeho začátku) a tomu pošle již cíleně adresovanou žádost o domácí registraci (Aktualizaci vazby s aktivním H (home registration)). Domácí agent ji pravděpodobně přijme a pošle zpět potvrzení. Pokud k tomu nedojde, osloví mobilní počítač dalšího v seznamu.
Optimalizace cesty Z bezpečnostních důvodů byly navrženy mechanismy, které mají ověřovat totožnost mobilního uzlu a dočasné adresy. IP verze 6 přichází s metodou, jak ověřit, zda mobilní
5
uzel skutečně poslouchá na domácí i dočasné adrese, které uvedl v Aktualizaci vazby. Tato metoda se nazývá Return routability (RR), je sice velmi složitá, ale přesto se pokusím zkráceně naznačit, jak probíhá, jelikož je zas na druhou stranu velmi účinná (Obr. 5).
Obr. 5: Aktualizace mobilního uzlu při aktualizaci vazby
Zahájení komunikace, testu Počátek komunikace je naznačen na obr.1 části 1 a 2. Když mobilní uzel obdrží tunelovaný datagram, pokusí se informovat odesilatele o své aktuální adrese. Nejprve však musí dokázat svou identitu. Odešle tedy dva datagramy Zahájení testu domácí adresy (obsahuje domácí adresu) domácímu agentovi (část 1b v Obr. 5), který je pošle na cílovou adresu a Zahájení testu dočasné adresy (obsahuje dočasnou adresu) posílá přímo na cílovou (partnerovu) adresu (část 1a v Obr. 5).
6
Partnerova odpověď Partner na příchod obou zpráv reaguje odesláním speciálního čísla cookie, které se vypočítává ze soukromého klíče. Tento si každý uzel podporující mobilitu udržuje. Cookie je ve výsledku 128 bitů dlouhé číslo a je odesláno ve zprávě Test domácí adresy na domácí adresu (obsaženou v Zahájení testu domácí adresy, část 2b v obrázku 5), odkud ji domácí agent odešle mobilnímu uzlu (část 2a v obrázku 5). Zároveň je cookie také odesláno na dočasnou adresu, kterou obdržel ve zprávě Zahájení testu dočasné adresy (adresu mobilního uzlu, část 1a Obr. 5).
Aktualizace vazby Pokud mobilní uzel podal pravdivé informace o své identitě, dostane obě cookie a z nich vypočítá klíč pro aktualizaci vazby. Ta již probíhá přímo, protější přístroj obdrží aktualizaci, porovná autentizační data a přenos dat může probíhat. Mobilní uzel si aktualizaci vazby ukládá (po dobu její životnosti) do seznamu aktualizací vazby pro případ, že by změnil svou dočasnou adresu.
Změny a návrat domů Vzhledem k tomu, že mobilní uzel mění svou adresu a to velmi často, mnohdy i během několika minut, je nutné vyřešit problém detekce této změny.
Detekce změny, reakce na změnu Základním prostředkem pro to, aby mobilní uzel zjistil změnu sítě vychází z objevování sousedů. Z ohlášení směrovačů se dozví prefixy sítě, v níž se nachází i seznam možných implicitních směrovačů, z nichž si jeden vybere za svůj a jeden ze směrovačem ohlašovaných prefixů přijme za svůj primární. Vytvořenou adresu zaregistruje u svého domácího agenta. Dosažitelnost implicitního směrovače je potvrzována například přijetím jakéhokoliv jeho datagramu nebo případně výzvou k sousedovi. V případě změny sítě musí tuto skutečnost (změnu implicitního směrovače a tedy změnu adresy) ohlásit jednak domácímu agentovi (aktualizací vazby) a jednak všem strojům, se kterými komunikoval (ty nalezne v seznamu aktualizací). Dále může mobilní uzel poslat žádost o domácí registraci některému z domácích směrovačů v síti, kterou opustil, aby se k němu dostali datagramy, které byly odeslány dříve, než dorazila aktualizace vazby ohlašující novou dočasnou adresu.
Návrat domů Návrat do domácí sítě je vlastně speciálním případem změny. Detekce probíhá stejným způsobem. Tentokrát však posílá žádost o zrušení vazby. Ta má podobu Aktualizace vazby s nulovou životností nebo se v ní dočasná adresa shoduje s domácí. Tuto informaci zašle domácímu agentovi i všem strojům ze seznamu aktualizací. Také musí zrušit účinek ohlášení svého bývalého agenta odesláním několika ohlášení souseda.
7