Technologie internetu (7.): Směrovací hierarchie

17. 9. 2007

Sdílet

Jak víme od minule, směrování datagramů se řídí obsahem směrovací tabulky. Platí to stejnou měrou pro hostitele (koncová zařízení) i směrovače, i když v softwaru směrovačů se tabulka obvykle implementuje důmyslněji, aby byla schopna efektivně pojmout mnoho desítek tisíc směrovacích cest. Značně se však liší způsob plnění směrovací tabulky.

Jak víme od minule, směrování datagramů se řídí obsahem směrovací tabulky. Platí to stejnou měrou pro hostitele (koncová zařízení) i směrovače, i když v softwaru směrovačů se tabulka obvykle implementuje důmyslněji, aby byla schopna efektivně pojmout mnoho desítek tisíc směrovacích cest. Značně se však liší způsob plnění směrovací tabulky.

Většině hostitelů postačuje jediná směrovací cesta na implicitní směrovač neboli bránu (default gateway), kterou je lokální síť propojena se zbytkem internetu. Proto se v případě hostitelů směrovací tabulka buď konfiguruje ručně, nebo se využívá některého z mechanismů autokonfigurace. Ve větších centrálně spravovaných sítích je dnes standardem protokol DHCP (Dynamic Host Configuration Protocol). Server DHCP jednotlivým hostitelům spolu s IP adresou a jinými informacemi obvykle předává i implicitní směrovací cestu. V IPv6 je kromě DHCP k dispozici ještě jednodušší autokonfigurační postup: potřebnou směrovací cestu všem hostitelům z daného segmentu může sdělovat sama implicitní brána.

Pro úplnost ještě dodejme, že jediná – implicitní – směrovací cesta v tabulce hostitelů obvykle postačuje i v případě, že z lokální sítě vede více cest. Implicitní brána v takovém případě hostiteli vypomůže přesměrováním (redirect): dostane-li od něho datagram, o němž podle své směrovací tabulky usoudí, že měl být správně poslán jinému směrovači v lokální síti, přepošle mu ho, ale kromě toho také upozorní hostitele, aby pro příště datagramy se stejnou cílovou adresou posílal přímo onomu směrovači. Hostitel pak na základě této informace svou směrovací tabulku upraví.

Mnozí síťoví správci sestavují směrovací tabulky ručně i pro své směrovače. Pokud se topologie sítě příliš nemění, má tento postup, který se nazývá statické směrování, výhodu ve své jednoduchosti – co je ve směrovací tabulce psáno, je také dáno. Pro větší sítě se však statické směrování nehodí, protože při každé změně topologie musí správce pamatovat na úpravu směrovacích tabulek ve všech svých směrovačích. Kromě toho se staticky směrovaná síť neumí bez vnějšího zásahu vyrovnat s výpadky linek nebo směrovačů.

Všechny výše uvedené nedostatky statického směrování odstraňují dynamické směrovací protokoly. S jejich pomocí si mohou směrovače mezi sebou vyměňovat potřebné informace o aktuální topologii sítě a dostupných IP prefixech a na jejich základě pak dynamicky a bez zásahu správce upravovat směrovací tabulku. V internetu se dnes běžně používá kolem půl tuctu směrovacích protokolů. Ty se sice, jak uvidíme v příštích pokračováních seriálu, v mnoha aspektech liší, základní princip jejich funkce je však podobný: Každý směrovač se nabízí svým sousedům jako potenciální následník (candidate next hop) pro určitou množinu síťových prefixů. Pro každý prefix také uvádí určitou metriku, tj. jak „daleko“ je od něj k síti s tímto prefixem. Každý směrovač všechny směrovací informace získané od sousedů průběžně zpracovává a předepsaným způsobem předává dále. Kromě toho si na jejich základě vytváří směrovací tabulku, aby pro každý přijatý datagram mohl rozhodnout, která z možných cest k cílové síti má nejmenší metriku.

Dojde-li ke změně síťové topologie, například vinou výpadku, je dynamicky směrovaná síť schopna přeorganizovat směrování tak, aby se konektivita znovu obnovila v co největší možné míře. Jednou z nejdůležitějších vlastností všech směrovacích protokolů je rychlost konvergence, což je doba, která uplyne od změny topologie k ustavení nových stabilních směrovacích poměrů. Je samozřejmě velice žádoucí, aby fáze nestability byla co nejkratší, protože během ní se mohou v síti objevit směrovací smyčky a jiné patologické jevy.

V následujících dvou pokračováních seriálu postupně probereme nejběžnější směrovací protokoly. Aby nám to ale celé dávalo smysl, musíme se nejprve na směrování v internetu podívat z ptačí perspektivy a říci si něco o celkové organizaci směrování.

Autonomní systémy

Internet není nijak centralizovaně řízen a funguje na bázi dobrovolné součinnosti velkého množství subjektů, které mají pochopitelně velmi různé zájmy, možnosti i úroveň know-how. Z tohoto důvodu by nebylo příliš rozumné nechat šířit směrovací informace napříč internetem na velké vzdálenosti. Globální internet je proto rozdělen na relativně samostatné podsítě zvané autonomní systémy (AS), jinak též směrovací domény (routing domains). Ty vytvářejí dvouúrovňovou hierarchii směrování (viz obrázek): jedna úroveň se odehrává uvnitř každého autonomního systému (intra-domain routing) a používá detailní informace o topologii sítě. Druhá, vyšší úroveň (inter-domain routing) pracuje s grafem libovolně propojených autonomních systémů, které jsou v tomto případě chápány jako černé skříňky. Vazbu mezi oběma úrovněmi zajišťují hraniční směrovače autonomních systémů (ASBR, autonomous system border router), které jsou v levé části obrázku vyznačeny jako přípojné body autonomních systémů.

Čísla autonomních systémů

Každý autonomní systém je označen šestnáctibitovým číslem ASN (Autonomous System Number). Bloky ASN jsou stejně jako v případě IP adres přidělovány institucí IANA (Internet Assigned Numbers Authority) pěti regionálním internetovým registrům (RIR), které je dále rozdělují síťovým operátorům a jiným organizacím. Z celkového rozsahu 0-65535 je část ASN vyhrazena:
● Čísla 0 a 65535 se používají pro speciální účely.
● Blok 64512-65534 je určen pro privátní použití podobným způsobem jako privátní IP adresy. Tato čísla se nesmí v globálním internetu objevit.
Ze zbývajících 64511 čísel bylo koncem roku 2005 přiděleno již více než 40 tisíc. Aby se předešlo jejich vyčerpání, připravuje se od roku 2007 postupné zavádění 32bitových čísel autonomních systémů.

Jak je uvedeno ve vloženém textu, přidělování autonomních systémů zájemcům zajišťují regionální internetové registry (RIR). Autonomní systém ale nedostane jen tak každý, přidělení je totiž vázáno na splnění poměrně přísných kritérií. Nejde přitom ani tak o velikost sítě – vedle obrovských autonomních systémů najdeme i relativně malé. Podmínkou ale je, aby žadatel prokázal vůli a schopnost vystupovat v globálním internetu jako konzistentní subjekt, který navíc může realizovat vlastní nezávislou směrovací politiku. To v praxi znamená, že autonomní systém musí být obvykle propojen s několika jinými AS. Sítě s jediným připojením by totiž nemělo smysl ustavovat jako samostatný AS, protože nemají žádný prostor pro vlastní směrovací politiku – vše musí tak jako tak posílat „nahoru“.

Ve raných fázích vývoje internetu měla vyšší úroveň směrovací hierarchie stromovou strukturu (bez cyklů). Existoval jeden kořenový AS, k němuž byly připojeny všechny ostatní, které se však dále mezi sebou nepropojovaly. Toto omezení bylo postupně odstraněno, takže dnes může struktura vzájemně propojených autonomních systémů tvořit libovolný graf. Takové uspořádání je samozřejmě podstatně pružnější a odolnější vůči výpadkům.