Mobilita v IP verze 6
Pavel SatrapaTechnická univerzita v Liberci
Hálkova 6, 461 17 Liberec 1
IP verze 6
Protokol IP verze 6 (IPv6) je následovníkem současného Internet Protocolu (IPv4). Hlavní příčinou jeho vzniku byl rychle se krátící adresní prostor. Postupem času však byly vytvořeny mechanismy pro efektivnější přidělování adres (CIDR, NAT a podobně), takže tento tlak ztratil svou naléhavost. Pro prosazení IPv6 do praxe proto budou pravděpodobně rozhodující jeho další vlastnosti, mezi něž patří:- vestavěné bezpečnostní mechanismy
- podpora mobilních počítačů
- automatická konfigurace
- optimalizace pro nasazení ve vysokorychlostních sítích
Podle některých názorů to bude právě podpora mobilních počítačů, která se ukáže jako rozhodující. V dnešní době stále více a více se rozšiřujících přenosných počítačů, osobních záznamníků, handheldů či počítačů vestavěných snad ve všech dopravních prostředcích nelze tomuto názoru upřít jistou oprávněnost. Ve svém příspěvku se pokusím popsat mechanismy pro podporu mobilních počítačů v IPv6.
Základní principy
Přestože koncem roku 1998 vyšla již druhá verze specifikace IPv6 (RFC 2460), prostředky pro podporu mobility stále ještě nejsou definitivní. Jejich definice dosud nemá podobu RFC, ale zůstává v podobě návrhu (draft). Nicméně popsané mechanismy již lze považovat za dostatečně stabilizované (poslední verze návrhu pochází z listopadu 1998) a pravděpodobně v nich již nedojde k žádným radikálním změnám. Základní myšlenka by se dala formulovat známým rčením "každý je někde doma". Podle ní i mobilní počítač má svou domácí síť a domácí IP adresu. Zde pobývá, pokud zrovna není na cestách. S touto adresou je zaveden v DNS a na ni je směrováno zahájení komunikace, pokud mu někdo chce odeslat data. Jestliže je počítač momentálně na cestách, zastupuje jeho zájmy domácí agent. Tuto roli hraje některý ze směrovačů v domácí síti. Domácí agent na sebe stahuje veškerý provoz směřující na domácí adresu mobilního počítače a prostřednictvím tunelu je předává na jeho aktuální adresu. Nejvhodnějším kandidátem na domácího agenta je směrovač, jehož prostřednictvím je síť připojena k Internetu, pokud to jeho kapacita umožňuje. Když mobilní počítač obdrží takto tunelovaná data, pošle jejich odesilateli tak zvanou aktualizaci vazby, v níž jej seznámí se svou aktuální adresou. Od tohoto okamžiku již odesilatel může svá data posílat přímo a domácí agent v další komunikaci nehraje žádnou roli. Prostřednictvím aktualizace vazby také mobilní počítač informuje svého domácího agenta, který musí neustále znát jeho aktuální adresu. Jinak by se celý mechanismus rozpadl.
Obrázek 1: Základní schéma podpory mobility v IPv6
Důležité je, že veškerá podpora mobilních počítačů je omezena na vrstvu IP. Protokoly vyšších vrstev (TCP, UDP) používají neustále domácí adresu a veškerá agenda související s mobilitou je pro ně zcela transparentní. Díky tomu může komunikace s mobilním počítačem nerušeně pokračovat bez ohledu na jeho cestování a průběžné změny aktuálních sítí a adres.
Vazby
Klíčovým pojmem při práci s mobilními počítači je vazba (binding). Vyjadřuje vztah mezi domácí a aktuální adresou určitého uzlu. Každý účastník IPv6 sítě si musí udržovat specializovanou datovou strukturu zvanou cache vazeb (binding cache). Do ní si ukládá vazby pro počítače, se kterými komunikuje. Kdykoli chce odeslat data, nejprve nahlédne do cache vazeb, zda tam cílový počítač nemá svou položku. Pokud ano, vezme v ní obsaženou dočasnou adresu a datagram odešle (prostřednictvím rozšiřující IPv6 hlavičky směrování) na tuto adresu.Cache vazeb tedy v každé své položce obsahuje domácí adresu, aktuální adresu a některé další údaje, jako je životnost a podobně. Údaje v ní jsou aktualizovány na základě rozšiřujících IPv6 hlaviček aktualizace vazby v datagramech přicházejících od jednotlivých komunikačních partnerů. Ti posílají aktualizaci vazby v následujících situacích:
- při zahájení komunikace s novým počítačem (jako reakce na data předaná tunelem od domácího agenta)
- při změně své aktuální adresy (např. pokud během cesty přešel do jiné sítě); aktualizaci posílá všem svým aktuálním komunikačním partnerům
- při návratu na domácí adresu (speciální případ předchozí situace, tentokrát však posílá aktualizaci s nulovou životností, aby došlo ke zrušení vazeb)
- jako odpověď na žádost o vazbu
Obrázek 2: Rozšiřující hlavička "aktualizace vazby"
Jak již bylo řečeno, vazba má omezenou životnost. Po jejím vypršení je odesilatel povinen vazbu odstranit a dále se chovat, jako by nikdy neexistovala. Aby se předešlo nutnosti znovu navazovat spojení prostřednictvím domácího agenta, může odesilatel použít další rozšiřující IPv6 hlavičku, nazvanou žádost o vazbu. Jejím prostřednictvím žádá, aby mu mobilní počítač zaslal aktualizaci vazby a buď prodloužil životnost dočasných údajů nebo poskytl nové. Zpravidla se odesílá, když se životnost některé položky v cache vazeb blíží ke konci.
Aktualizace vazby představuje potenciální bezpečnostní riziko. Mohlo by se totiž stát, že by ji poslal cizí počítač a zmocnil se tak dat určených někomu jinému. Aby se tomuto chování zabránilo, musí aktualizace vazby povinně obsahovat bezpečnostní hlavičku, která prostřednictvím standardních bezpečnostních mechanismů IPv6 potvrdí pravost odesilatele.
Domácí agent
Úlohou domácího agenta je předávat mobilnímu počítači data přicházející na jeho domácí adresu. Tyto činnost může vykonávat pouze směrovač, nikoli běžný počítač. Důvodem je jednak prostá skutečnost, že směrovače bývají trvale v provozu, jednak mechanismus výběru domácího agenta. Oznámení o tom, že daný stroj je ochoten působit jako domácí agent je totiž součástí ohlášení směrovače.Problematickou otázkou je, jak mobilní počítač zjistí, kdo je jeho domácím agentem. Nejjednodušší by byla pevná konfigurace. Ta by však nedokázala reagovat na změny v domácí síti, ke kterým mohlo dojít od doby, kdy ji mobilní počítač opustil. Proto se domácí agent vybírá automaticky.
Každý ze směrovačů 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ů.
Byla definována výběrová (anycast) adresa pro všechny domácí agenty v dané síti. Když chce mobilní počítač získat svého domácího agenta, pošle tak zvanou žádost o domácí registraci na tuto adresu. Jedná se o variantu běžné aktualizace vazby, která má nastaven příznak H (podle Home registration). Žádost je dopravena jednomu z domácích agentů, který je povinen ji odmítnout a jako součást odmítnutí poslat žadateli seznam všech potenciálních domácích agentů v jeho domácí síti.
Mobilní počítač si 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 tentokrát již cíleně adresovanou žádost o domácí registraci. 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.
Tímto způsobem je zajištěno, že mobilní počítač dokáže získat domácího agenta, aniž by znal konkrétní situaci ve své domácí síti. Zároveň se (díky vhodnému uspořádání seznamu) zátěž dobře rozkládá mezi jednotlivé domácí agenty.
Domácí registraci je třeba obnovit po každé změně aktuální adresy mobilního uzlu. Tentokrát již zná svého domácího agenta a registraci tudíž adresuje přímo jemu. Automatické hledání zde není použito, protože by mohlo vést ke vzniku nového domácího agenta místo aktualizace údajů ve stávajícím.
Činnost domácího agenta však musí být potvrzována i z druhé strany. Také potvrzení registrace má svou životnost a po jejím vypršení je nutno považovat činnost domácího agenta za ukončenou. Mobilní počítač musí poslat novou žádost o domácí registraci, aby vše pokračovalo.
Z větších otázek zbývá ke zodpovězení poslední - jak se domácí agent zmocní datagramů směřujících na domácí adresu mobilního počítače? Mechanismus používaný k podobnému účelu je znám již velmi dlouho jako proxy ARP. Domácí agent lehce podvádí při objevování sousedů (které v IPv6 nahradilo ARP). Kdykoli někdo hledá fyzickou adresu pro domácí IP adresu mobilního uzlu, odpoví mu domácí agent a tvrdí, že právě on je ten hledaný. Díky tomu budou datagramy předávány jemu.
Konkurence, perspektivy, shrnutí
Analogický způsob podpory mobilních počítačů byl vytvořen i pro stávající IPv4. V něm však nelze požadovat změny na straně odesilatele (cache vazeb), protože řada implementací již dávno existuje a nelze zpětně měnit požadavky na ně. Proto se změny týkají pouze mobilních uzlů a zavedení domácích agentů. Nepříjemným důsledkem je, že veškerá komunikace s mobilním uzlem prochází přes jeho domácího agenta. To vede ke značné neefektivitě (určitou částí infrastruktury data procházejí dvakrát - jednou po cestě od odesilatele do domácí sítě, podruhé od domácího agenta k mobilnímu uzlu) a potenciálně nemalému zpoždění.Bohužel rozšíření IPv6 je zatím nevalné a jeho stávající implementace, přestože existují již pro řadu operačních systémů, se pohybují spíše ve fázi osmělování a úvodních krůčků. Podporu pro mobilní počítače zatím obsahuje jen málokterá z nich.
Nepříjemnou překážkou pro rozšíření mobility je skutečnost, že vyžaduje bezpečnostní mechanismy, jejichž implementace je poměrně obtížná. Kromě základních šifrovacích algoritmů totiž zahrnuje i dost komplikované mechanismy pro správu a distribuci klíčů. Důsledkem je, že implementace podpory mobilních počítačů je velmi náročná a zpravidla patří mezi poslední implementované vlastnosti.
Na druhé straně však představuje velmi užitečné a z technického hlediska pokročilé řešení. Proto nezbývá, než doufat, že se v dohledné době bude prosazovat více a více.
IPv6 v síti TEN-155 CZ
Jeden z dílčích projektů v rámci sítě TEN-155 CZ je zaměřen na IPv6. V jeho rámci zde vznikla testovací infrastruktura, zahrnující kromě Prahy i města Brno, České Budějovice, Hradec Králové a Liberec. Vzájemná spojení jsou realizována buď nativními IPv6 spoji (PVC v rámci ATM infrastruktury sítě TEN) nebo pomocí tunelů vedoucích běžnou IPv4 sítí. Síť je napojena na světovou virtuální síť 6bone, která slouží k ověřování IPv6 a experimentům s tímto protokolem.
Obrázek 3: IPv6 infrastruktura v rámci sítě TEN-155 CZ
Přestože bychom rádi svou testovací infrastrukturu rozšiřovali a zdokonalovali, nelze očekávat, že by v roce 1999 zahrnovala i podporu mobilních počítačů. Předpokládáme, že tohoto cíle se podaří dosáhnout v roce příštím.
Literatura
Johnson D. B., Perkins C.: Mobility Support in IPv6.
Internet draft (draft-ietf-mobileip-ipv6-07.txt), 1998
Deering S., Hinden R.: Internet Protocol, Version 6 (IPv6).
RFC 2460, 1998
Narten T., Nordmark E., Simpson W.: Neighbor Discovery for IP Version 6
(IPv6).
RFC 2461, 1998