Směrování v sítích

Pojmem směrování (routing) je označováno hledání cest v počítačových sítích. Jeho úkolem je dopravit datový paket určenému adresátovi, pokud možno co nejefektivnější cestou. Směrování je základním úkolem síťové vrstvy (L3) referenčního modelu OSI. Prakticky jej zajišťují routery (směrovače) v rámci WAN sítě (Internet).

Problém se smyčkami v síti

Switch je zmatený, když mu chodí  zprávy z jedné adresy na různé porty. K čemuž dochází v případě že síť obsahuje cykly.

Řešení: Spanning Tree
Graf sítě, ale bez cyklů, na základě kterého switch nepoužívá některé porty. V případě výpadku nějaké části si graf aktualizuje.

LAN sítě - jsou lokální sítě, tedy počítače propojené HUBy, nebo SWITCHi (může být i routery)

HUB žádné směrování neřeší, to co mu příjde z jednoho portu pošle na všechny ostatní.

SWITCH už je inteligentnější a eviduje si v tabulce kam má jakou adresu směrovat. Toto směrování probíhá na 2.vrstvě OSI modelu. Pokud však posílám data do světa, přichází na řadu router. 

WAN sítě - velké sítě komunikující na velké vzdálenosti (Internet) jsou propojeny routry.

ROUTER- zařízení k propojení sítí. Pracuje na 3.vrstvě OSI modelu a využívá protokol IP. Router si vede a aktualizuje routrovací tabulku (směrovací tabulku), které obsahují nejlepší cesty k cílům.

Směrovací tabulka - Základní datovou strukturou, podle které se rozhoduje, co udělat s kterým paketem.Formát: Cílová adresa/maska, Výstupní rozhraní, Brána(next hop), Metrika. Použije se cesta, která se shoduje s adresou cíle v paketu na co největší počet míst.

Výchozí cesta – typická pro sítě připojené jediným rozhraním k hierarchicky vyšší síti. Pro ty pakety, pro které neexistuje položka ve směrovací tabulce bude použita výchozí cesta. Snižuje počet záznamů v tabulce.

Konvergence - je proces a čas potřebný pro konverzi směrovacího protokolu. Dosažena ve chvíli, kdy všechny routry mají kompletní aktuální informaci o topologii.

MetrikaKaždý směrovací protokol potřebuje kritérium podle kterého posoudí, která z více možných cest do cílové sítě je nejvýhodnější. Toto kritérium se označuje jako metrika. Různé metriky více (IGRP-bandwidth+delay) či méně (RIP-počet přeskoků v síti) odrážejí skutečné vlastnosti linek. 

Pro směrování se používají 2 základní algoritmy: statické a dynamické.

Statické (neadaptivní) směrování

Záznamy v routovacích tabulkach nejsou za běhu měněny. Změnit je může jen správce počítače.

Dynamické (adaptivní) směrování

Tabulky jsou měněny a aktualizovány za provozu počítače a přizpůsobují se změnám v síti. Dynamické směrování dělíme na:

Problém nejkratší cesty

Problém nalezení nejkratší cesty pro pakety.

  • Centralizované - při centralizovaném směrování routery posílají všechny informace o stavu sítě do řídícího centra, které je vyhodnotí, vypočítá routovací tabulky a rozesíla je zpátky routerům.
  • Distribuované - každý router zná cesty ke svým sousedům (vzdálenost, funkčnost, přenosovou rychlost) a vyměňuje si s nimi i informace o směrování. Tak se šíří informace síti ze souseda na souseda.
  • Izolované - routovací tabulky si vypočítává sám na zákadě procházejících paketů, nebo používá jiné metody, které z tabulkou nepracují. 
    • Záplavové směrování - do paketu umístí počítadlo přeskoků a vyšle jej na všechny linky kromě té z které přišel. Po dosažení limitu na počítadle se paket sám zruší a dál se nešíří.
    • Backward learning - do paketu se vkládá počítadlo a identifikace zdrojové sítě. Router z příchozích paketů zjistí jak daleko jsou sítě z kterých paket přichází.
    • Horky brambor - router se chce co nejrychleji zbavit paketu, tak jej zařadí do nejkratší výstupní fronty.
  • Hierarchické směrování se používá v hierarchicky členěných sítí, které jsou rozděleny na autonomní oblasti. Směrovače těchto autonomních celků znají jen topologií svého celku.
  • Distance Vector – vektory vzdálenosti – jednoduchá implementace, historicky starší
  • Link State – stavy spojů – složitější, ale rychlejší konvergence

 

Distance vector 

Směrovače neznají topologii sítě, pouze rozhraní, přes která mají posílat pakety do jednotlivých sítí a vektory vzdálenosti k těmto sítím. Na začátku obsahuje směrovací tabulka pouze přímo připojené sítě, tak jak byly nakonfigurovány administrátorem. Celá směrovací tabulka je periodicky zasílaná sousedům. Z příchozích směrovacích tabulek (vzdáleností sousedů od jednotlivých sítí) a výběrem nejlepší cesty si směrovač postupně upravuje svou sm.tabulku. Pokud mi nějaké cesta nebyla dlouho inzerována, odstraním ji z tabulky.

Metrikou je počet přeskoků (hop count) do cíle. Nezohledňuje parametry spojů. Pomalá konvergence při změnách topologie (kvůli periodě). Zátěž od broadcastu směrovacích tabulek. 

S každým záznamem ve směrovací tabulce je uložen čítač, který určuje jeho stáří (typicky 3xupdate_perioda). Po vypršení je cesta rozesílaná jako nedosažitelná (route poisoning).

Link state 

Směrování na základě znalosti „stavu“ jednotlivých linek (funkčnost, cena). Směrovače znají topologie celé sítě a ceny těchto linek. Informace udržují v topologické databázi (všichni ji mají stejnou). Každý směrovač počítá strom nejkratších cest ke všem směrovačům(a k nim připojeným sítím) pomocí Dijkstrova algoritmu.

Neustálé sledování stavu linek zajišťuje komunikace mezi směrovači pomocí LSA Hello zpráv. Při změně okamžitě šíří informaci o stavu svého okolí všem ostatním. Spotřebovává více pásma (hlavně na počátku zasílá množství LSP) a zdrojů na routeru.

Topologická databáze obsahuje záznamy ve tvaru: ID směrovače, seznam přilehlých linek k sousedním směrovačům (u každé je ID souseda), seznam koncových sítí připojených ke směrovači. U každé linky je i její cena. Z těchto záznamů lze zkonstruovat graf topologie sítě.

Pro zlepšení vlastností se rozděluje na menší oblasti, hraniční routery posílají sumární cesty, využívá multicast, číslování LSA.

 

 

Kam dál?