Routovacie protokoly



Dynamické routovanie

Brána - gateway - je vlastne zariadenie, ktoré spája viaceré počítačové siete, aby mohli medzi sebou komunikovať. S úlohou brány takmer nerozlučiteľne súvisí routing - smerovanie. Brána môže byť zapojená medzi viac ako dvoma sieťami. Potom, ak chce paket z jednej siete ísť do druhej, nastúpi na rad rozhodovanie, do ktorej siete paket vlastne mieri a ako sa do nej dostane. A tomuto rozhodovaniu sa hovorí smerovanie alebo routing. Bráne, ktorá súčasne vykonáva aj smerovanie paketov, sa hovorí router alebo smerovač. V základe existujú dva rôzne druhy smerovania - statické a dynamické. Statické smerovanie znamená, že do routovacej tabuľky Linuxu vpíšeme pomocou príkazu route, ktorým interfejsom sa dá do ktorej siete dostať (poprípade cez akú bránu), a máme v podstate router hotový. Dynamické routovanie je zložitejší prípad, je to také routovanie, kde si routery medzi sebou neustále vymieňajú informácie, a ké siete ktorý router sprístupňuje. Ak prestane jeden router fungovať alebo zmizne spojenie naň, ostatné routery sa to v krátkom čase dozvedia a automaticky si upravia svoje smerovacie tabuľky (podľa možnosti tak, aby sa do zasiahnutej siete dalo dostať nejakou okľukou, ak existuje). Dynamické routovanie sa oplatí skôr v sieťach s komplikovanou topológiou.

Routovacie protokoly

Aplikačných protokolov pre routing vznikla v historii celá rada. Dnes sa z nich prakticky využívajú len RIP, OSPF a BGP. S ostatnými sa stretneme iba zriedka.

Routovacie protokoly slúžia pre automaticke plnenie routovacích tabuliek. Môžu síce bežať na počítačoch a zpravidla aj ich podporujú mnohé operačné systémy, ale ich najbeznejšie použitie je na routeroch. Na počítači, ktorý nie je router, tj. nemá viac sieťových interfejsov stačí staticky default na susedný router.

Routovacie protokoly sa delia dvoma na sebe nazávislými kritériami. Jednak podľa algoritmu, ktorý používajú a jednak podľa rozsahu použítia.

Routovacie protokoly používajú buď Routing vector algoritmus alebo Link state algoritmus. Sú určené buď pre prácu vo vnútri autonomného systému, tj. Interior gateway protocols (IGP) alebo pre výmenu routovacích informácii medzi autonomnými systémami, tj. Exterior gateway protocols (EGP).

Protokol RIP je Routing vector protocol typu IGP. OSPF je Link state protocol typu IGP. O BGP by sa dalo povedať, že je Link state, ale je typu EGP. Teraz si vysvetlíme čo jednotlivé termíny znamenajú.

Routovacie tabulky

Routovacia tabuľka je tabuľka, kde každý riadok obsahuje IP-adresu cieľovej siete, sieťovú masku, IP-adresu nasledujúceho roteru, sieťový interface, do krorého sa bude paket smerovať smerom k nasledujúcemu roteru, metriku (cenu - vyberá sa vždy cesta o najnižšiej cene - metrike), protokol ktorým bola položka získana a časové razítko.

Keď príde paket na router, router si z jeho záhlavia zistí IP-adresu príjemca. Hľadá ju v IP-adresách cieľovej siete svojej routovacej tabuľky. Ak nájde cieľovú sieť v routovacej tabuľke, potom v záhlavi IP-paketu zníži položku TTL aspoň o jedničku. Pokiaľ má položka TTL po znížení hodnotu 0, potom router paket zahodí a pošle odosieľateľovi protokolom ICMP správu, že životnosť jeho paketu vypršala. Podľa routovacej tabuľky router zistí, do ktorého sieťového interface má paket poslať. Ak zistí, že je to ten istý interfejs, ktorým paket prišiel, potom ho do interfejsu pošle, ale odosieľateľovi o tom pošle protokolom ICMP správu, aby sa spametal a opravil si routovaciu tabuľku. Teda aj protokolom ICMP sa môže dynamicky meniť routovacia tabuľka. Protokol ICMP však není aplikačný protokol, je súčasťou IP-protokolu.

Ak router nenájde v routovacej tabuľke cieľovú sieť, ale má v tabuľke položku default, potom zvolí smer v položke default. Ak nemá ani default, potom paket zahodí a pošle odosieľateľovi protokolom ICMP správu, že taká sieť je nedosažiteľná.

Routing vector protocol

Routing vector protokol (RVP) je veľmi jednoduchý protokol. Routery vysieľajú protokolom RVP do svojích sieťových interfejsov obsah svojej routovacej tabuľky. Takže susedné routery si môžu prečítať navzájom svoje routovacie tabuľky. Susedný router prijme z určitého sieťového rozhrania routovaciu tabuľku svojho suseda. V routovacej tabuľke svojho suseda pripočíta ku všetkým metrikam cenu (metriku) k susedovi a začne porovnávať, či nie je v takto opravenej susedovej routovacej tabuľke nejaká nová cesta, aby si ju zaradil do svojej routovacej tabuľky. Tiež zisťuje, či tam nie je cesta k sieti, ktorú síce v tabuľke má, ale s nižšiou metrikou. Pokiaľ v susedovej routovacej tabuľke nájde lepšiu cestu, potom pôvodnú položku svojej routovacej tabuľky nahradí novou.

RVP u rozsiahlejších sieti spôsobí osciláciu routovacích tabuliek a vôbec majú celú radu neduhov. Majú však jednu výhodu - nepotrebujú žiadnu konfiguráciu a preto sú veľmi obľúbené - okamžite chodia. Sú určené pre uzatvorené siete, ktoré majú maximálne okolo desiatich LAN.

Link state protocol

Link state protokol (LSP) je určený pre rozsiahlejšie siete - pre siete do veľkosti autonomného systému.

Router pracujúci v protokole LSP testuje pomocou HALLO paketu, či je susedný router nažive. V pravidelných intervaloch zaplavuje sieť obežníkmi (multicast), v ktorých uvádza akých má momentálne (živých) susedov. Takže každý router obdrží informácie o všetkých routroch v sieti a o tom akých majú susedov. Ukláda si tieto informácie do databáze. V prípade, že prijde nejaký paket, ktorý ma router routovať, tak si zistí IP-adresu príjemcu. Na databazi spustí algoritmus najkratšej cesty, z ktorého zistí nasledujúci router k príjemcovi. Na tento router paket odošle.

Pretože zaplavovanie paketmi by mohlo sieť zaťažovať, tak sa rozsiahlejsie siete delia na oblasti. Routing sa potom vykonáva na dvoch úrovniach: vo vnútri oblasti a medzi oblasťami.

IGP

IGP jsou urceny pro routing uvnitr autonomniho systemu. Tj. napr. uvnitr podnikove site.

EGP

EGP protokoly su určené pre výmenu routovacích informácii medzi autonomními systémami, tj. medzi providerami Internetu. Súčasťou konfigurácie týchto protokolov ja aj routovacia politika. Routovacia politika obsahuje administratívne opatrenia. V routovacej politike sa konfiguruje napr., z ktorých autonomnych szstémov bude provideer prijímať pakety a akou cestou ich bude prijímať. Alebo ak povoľuje provider tranzit cez svoju sieť z jedného autonomného systému do druhého.

RIP

Asi najbeľnejąím vnútorným smerovacím protokolom je RIP (Routing Information Protokol), ktorý bol definovaný v RFC 1058. Pre výmenu smerovacích informácii pouľíva transportný protokol UDP. Najviac sa hodí pre jednoduchąie sie»ové topológie. RIP pouľíva pre stanovenie optimálnych ciest Ford-Fulkersonov algoritmus.

Počítače, ktoré sa učastnia výmeny smerovacích informácii v protokole RIP, sa delia na aktívne a pasívne. Aktívni učastnici (router) informácie RIP prijímajú aj vysielajú, zatiaµ čo pasívni (stanice s jedným rozhraním) iba prijímajú.

Router v aktívnom reľime inzeruje periodicky, v intervaloch 30 sekund, na vąetky priamo pripojené siete správy s hromadnou IP adresou, obsahujúce jemu známe smerovacie informácie, teda dostupné IP siete alebo podsiete a im priradené metriky. Metrika je prirodzdené číslo, ktoré si môľeme predstavi» ako počet krokov, ktoré musí IP datagram urazi» na ceste od routeru k dotyčnej sieti. Takľe priamo pripojené siete majú metriku 1, siete dostupné cez jeden router majúmetriku 2, atď. Prostý počet krokov ovąem často nevystihuje rozdiely medzi alternatívnymi cestami k rovnakému cieµu. Napríklad cesta, ktorá vedie cez 4 segmenty Ethernetu bude pravdepodobne výraznejąie rýchlejsia ako cesta o 3 krokoch, z ktorých 2 tvoria pomalé sériové linky. Rozdiely v prenosových rýchlostiach jednotlivých médii sa preto kompenzujú umelým zvetąením metriky. To sa robí prostredníctvom parametra metric v príkaze ifconfig.

OSPF

Pre zložitejšie siete s večším počtom routerov sa skôr ako RIP hodí iný vnútorný protokol - OSPF(Open Shortest Path First), ktorého špecifikáciu najdeme v RFC 1583. Na rozdiel od RIPu, kde sa rozlíšenie liniek podľa kvality robí budˇveľmi hrubo alebo sa nerobí vôbec, počíta OSPF s ohodnotením liniek podľa reálnej prepustnosti.

V prípade OSPF každý router generuje výhradne informácie "z prvej ruky", totiž údaje o stave sieťových spojov, ktoré sú k nemu priamo pripojené. Z tohto dôvodu je OSPF označovaný ako protokol stavu liniek. V OSPF pozná každý zúčastnený router podrobne topológiu svojho širšieho okolia, v krajnom prídade dokonca celého autonomného systému.

BGP

Z vonkajších smerovacích protokolov je dnes zrejme najvýznamneší BGP. Hlavná funkcia BGP spočíva vo výmene informácii medzi autonomnými systémami.

Démon routed

Väčšina verzii Unixu obsahuje standardne smerovací démon routed, ktorý implementuje protokol RIP. Tento démon po štarte vyšle žiadosť o smerovacie informácie a čaká odpoveď. Ak je niektorý zo systémov na lokálnej sieti nakonfigurovaný ako aktívny účastnik protokolu RIP, odošle okamžite odpoveď, do ktorej zapíše všetky známe cesty zo svojej smerovacej databáze spoločne s príslušnými metrikami. Po obdržaní odpovedi smerovací démon najprv upraví metriky všetkych získaných ciest o hodnotu, ktorá je priradená sieťovému rozhraniu, z ktorého prišla príslušná informácia RIP. Do smerovacej tabuľky potom budú zapísané tie cesty, ktoré tam buď nie su, alebo su, ale s vetčšou metrikou. U takto doplnenej cesty bude v smerovacej tabuľke ako "nasledujúci krok", uvedený ten router, z ktorého správy RIP bol údaj o ceste prevziaty.

Cesty doplnené do smerovacej tabuľky z protokolu RIP majú obmedzenú platnosť. Pokial po stanovenej dobe neobdrží účastník v niektorej z periodicky vysielaných aktualizácii RIP obnovenie smerovacej informácie o danej ceste, je táto zo smerovacej tabuľky vypustena.

Démon gated

Najuniverzálnejším smerovacím démonom je gated. Jeho súčasná verzia podporuje smerovacie protokoly RIP, OSPF, BGP a niekoľko ďalších.

Automatické spúšťanie démonu gated zariadime pridaním nasledujúcich riadkov do niektorého inicializačného skriptu:

if [ -f /etc/gated.conf -a -f /usr/local/sbin/gated ]
then
	/usr/sbin/gated
	echo -n " gated"
fi

Niekoré voľby démona gated:

-c 	Po kontrole obsahukonfiguračného súboru program vypíše obsah interných 
	štruktúr do súboru /var/tmp/gated_dump

-C 	Iba sa skontroluje, či v konfiguračnom súbore nie sú syntaktické chyby 

-f konf_subor	Použije sa alternatívny súbor namiesto implicitného /etc/gated.conf

-n	Program nebude meniť smerovaciu tabuľku v jadre operačného systému	

-N	Program pobeží stále v popredí

-t vypisy	Umožňuje stanoviť, pre ktoré okruhy funkcii budú ukládané diagnostické informácie	

Pre router, ktorý bude požívať iba smerovací protokol RIP. Konfiguračný súbor /etc/gated.conf môže vyzerať takto:

#Konfiguracia GateD
rip yes {
    interface 191.120.1.254 noripin noripout ;
    traceoptions all ;
} ;

Zdroje

http://www.gated.org