Unikátní lokální adresy pro IPv6

Uplynul přibližně rok od vydání RFC 3879, kterým byly zakázány místní (site local) adresy. Nyní Internet Engineering Task Force (IETF) zkouší problém uchopit jinak. Vydalo RFC 4193, jež definuje formát adres určených pro lokální použití, které jsou však globálně jednoznačné a jejich lokalitu zajišťují provozní opatření, nikoli oficiální deklarace.

Zájem o lokální adresy totiž je. Ať už z důvodů bezpečnostních (některé stroje či části sítě si jejich provozovatel nepřeje mít dostupné volně z Internetu), či jednoduše proto, že nejsou vázány na žádného poskytovatele, správce sítě si je prostě sám přidělí a může experimentovat.

Ve světě IPv4 je k tomuto účelu vyhrazen malý adresní prostor definovaný v RFC 1918. Adres je poměrně málo a důsledkem je, že spousta sítí používá tytéž. Málokdo totiž odolá pokušení mít adresu sítě třídy A, takže spousta správců sáhne hned po první z nich: 10.0.0.0/8. Problémy vzniknou, když pak takové sítě mají spolupracovat – propojit se vyhrazenou linkou či prostřednictvím VPN. Nastávají konflikty a řada nepříjemných situací.

Vzhledem k rozsahu adresního prostoru v IPv6 se autoři návrhu lokálních adres pustili jinou cestou. Prefix pro lokální síť si sice nadále přiděluje každý sám, ovšem způsobem, který mu s velmi vysokou pravděpodobností zaručí globálně jednoznačné adresy. Různé sítě díky tomu mají různé prefixy a jejich spolupráce by měla být bezproblémová.

Stejně jako v případě IPv4 je pro tyto účely vyhrazena část adresního prostoru, tentokrát vymezená prefixem fc00::/7. Za ním pak následuje jeden bit definující způsob přidělení (označovaný jako L). Zatím je definován prostup přidělení pro L=1. Metoda pro nulové L bude možná doplněna později, pokud se ukáže její potřeba. V současnosti tedy lokální prefixy přidělené podle RFC 4193 budou mít v počátečních osmi bitech hodnotu  fd.

Následuje čtyřicetibitový identifikátor, který si přiděluje každý sám, a to pseudonáhodně. V RFC je výslovně zakázáno přidělovat jej sekvenčně či jakýmkoli cíleným způsobem. Zároveň je doporučen vhodný postup, k němuž se hned dostanu, nejdříve ale dokončím adresu. Prefix lokálních adres společně s globálním identifikátorem vytvoří prefix sítě obvyklé délky 48 bitů. Za ním pak adresa pokračuje zcela standardně šestnáctibitovým identifikátorem podsítě a 64bitovým identifikátorem rozhraní.

Doporučený algoritmus pro přidělení globálního identifikátoru je v RFC zevrubně popsán. Vyjdete z aktuálního času ve formátu podle NTP (64 bitů) a z identifikátoru rozhraní ve formátu EUI-64 (také 64 bitů). Zřetězíte je a na vzniklou 128bitovou hodnotu vypustíte algoritmus SHA-1. Z výsledku pak odříznete nejnižších 40 bitů a použijete je jako globální identifikátor.

Hlavní výhodou tohoto postupu je, že si jej provede každý sám. Lokální adresy nejsou žádným způsobem centrálně registrovány či koordinovány. Prostě si vytvoříte pseudonáhodný prefix sítě, nakonfigurujete a začnete používat. Dá se to udělat i pro sítě, které zatím k Internetu připojeny nejsou, a po připojení nebude nutno na tom nic měnit. Jen ty stroje, které mají komunikovat i v globálním Internetu, dostanou vedle lokální adresy ještě globální s prefixem přiděleným poskytovatelem.

Popsaný postup samozřejmě nezaručuje absolutní jednoznačnost. Teoreticky si mohou dvě sítě zvolit totožný prefix, ovšem pravděpodobnost, že se tak skutečně stane, je velmi malá. Autoři při těchto výpočtech započítávají do délky identifikátoru i bit L. Při délce 41 bitů je ještě při milionu takto přidělených identifikátorů pravděpodobnost konfliktní dvojice 36,5 procenta, tedy zhruba 1/3. Pak již poměrně rychle roste – u dvou milionů činí 84 procenta a při třech milionech prefixů už je existence konfliktu prakticky jistá (98 procent).

Pokud budeme pesimističtí a vzhledem k pevně definované hodnotě bitu L pro popsaný algoritmus budeme počítat s délkou identifikátoru jen 40 bitů, dostaneme pro milion prefixů pravděpodobnost existence konfliktní dvojice 60 procent. Ještě při půl milionu však činí jen 20 procent a pro 100 tisíc prefixů nedosahuje ani jednoho procenta (0,9 procenta).

Tento typ adres je oficiálně považován za adresy globálně jednoznačné, avšak – na rozdíl od adres skutečně globálních – jejich přeprava obecným Internetem se neočekává. Výhodou tohoto přístupu je, že prakticky všechny mechanismy IPv6 s nimi pracují zcela standardním způsobem. Pouze na hranici mezi koncovou sítí a poskytovatelem budou blokovány.

Od poskytovatele Internetu se očekává, že adresy s prefixem fc00::/7 nebude přijímat ani ve směrovacích protokolech, ani k přepravě. Nebude tedy šířit informace o dostupnosti těchto sítí a nebude pro ně ani doručovat data. Může povolit výjimky pro konkrétní sítě svých zákazníků, pokud chtějí tyto adresy používat pro vzájemnou komunikaci s jinými konkrétními koncovými sítěmi. Analogicky by měly být konfigurovány i hraniční směrovače v koncových sítích.

Proto by se adresy tohoto typu neměly objevit ani v globálních DNS záznamech. DNS (Domain Name System) by se tedy měl rozpadnout na lokální část, dosažitelnou jen zevnitř dané sítě a obsahující lokální adresy, a část globální (pokud je síť připojena k Internetu), poskytující pouze globální adresy jejích strojů.

Počítač, který má být dostupný jen lokálně, proto bude zaveden jen v lokálním DNS, zatímco počítač dostupný „pod obojí“ bude v obou, v každém s jinými adresami. Aby to bylo čisté, asi by bylo nejrozumnější doménu rozdělit na poddomény, z nichž některé budou globální a jiné lokální, a počítačům pak přidělovat jména z patřičných domén. Analogicky počítač, který se má dostat jen do lokální sítě, bude mít konfigurovánu pouze lokální adresu, zatímco počítač s obecným přístupem bude mít konfigurovánu jak lokální, tak globální adresu.

EBF6

Proti původnímu konceptu místních adres má tento přístup některé nepopiratelné výhody. Adresy není nutno zpracovávat speciálními metodami, jen se na určitá místa sítě nasadí vhodné filtry. Filtrování je věc poměrně běžná a nevyžaduje od zařízení ani jeho obsluhy žádné speciální schopnosti. Pokud by nějaká adresa nedopatřením utekla, nic moc se nestane. Díky její globální jednoznačnosti nehrozí, že by byla jinde mylně interpretována jako adresa místního zařízení. Jen příslušný datagram zřejmě někde skončí v koši, protože pro něj nebude žádné použitelné směrovací pravidlo. Globální jednoznačnost navíc umožňuje sítě celkem bez problémů propojovat (asi nejlépe pomocí VPN), pokud je to potřeba.

A kdo by se mohl o lokální jednoznačné individuální adresy zajímat? Kdokoli, kdo chce část své sítě držet nedostupnou pro zbytek Internetu (to se dá zařídit i jinými cestami, třeba firewally, ale tahle by měla být dost jednoduchá a spolehlivá). Kdokoli, kdo dosud není k Internetu připojen, ale chce začít používat IPv6 a nechce nutně vše přeadresovávat, až se jednou připojí. Kdokoli, kdo chce svou interní komunikaci udržovat nezávislou na adresách pocházejících od poskytovatele Internetu. A konečně by bylo myslitelné používat tyto adresy i v běžných sítích třeba pro provozní účely – adresovat jimi například interní spoje mezi směrovači vnitřní sítě.

Anketa

Považujete unikátní lokální adresy za užitečné?

29 názorů Vstoupit do diskuse
poslední názor přidán 5. 12. 2005 22:57