Směrování protokoly typu vektor vzdálenosti
Směrovací protokoly s vektorem vzdáleností
Směrovací algoritmus s vektorem vzdáleností předává sousedním směrovačům kompletní obsah směrovací tabulky. Tyto směrovače následně kombinují přijaté položky směrovací tabulky se svými vlastními tabulkami, které tímto způsobem finalizují. Dá se to nazvat jako směrování na základě drbů, protože směrovač přijímající aktualizace od sousedního směrovače věří informacím o vzdálených sítích, aniž by je sám ověřoval.
Některá síť může mít více spojů do stejné vzdálené sítě. V tomto případě se nejdříve kontroluje administrativní vzdálenost každé přijaté aktualizace. Jestliže je administrativní vzdálenost stejná, musí protokol určit optimální cestu do dané vzdálené sítě pomocí jiné metriky. Protokol RIP zjišťuje nejlepší cestu do sítě pouze pomocí počtu přeskoků. Pokud do vzdálené sítě najde více spojení se stejným počtem přeskoků, automaticky zajistí cyklické vyrovnání zátěže. Protokol RIP může poskytovat vyrovnávání zátěže až pro šest spojů se stejnými náklady (standardně čtyři).
Problém s tímto typem metriky směrování se však objevuje tehdy, mají-li dva spoje do vzdálené sítě odlišnou šířku pásma, ale stejný počet přeskoků. Obrázek 6. 12 ukazuje příklad dvou spojení do vzdálené sítě 1 72. 1 6.10.0.
Síť 1 72. 1 6.30.0 je připojena spojem Tl se šířkou pásma 1 ,544 Mb/s a síť 1 72. 1 6.20.0 má spojení s rychlostí pouze 56 kb/s. Určitě by bylo lepší, kdyby směrovač upřednostnil spojení Tl před 56 kb/s. Avšak vzhledem k tomu, že se u směrování RIP používá pouze metrika počtu přeskoků, budou mít obě spojení z hlediska tohoto protokolu stejné náklady. Tento drobný zádrhel se označuje jako zahlcení kapiláry (pinhole congestion).
Je důležité rozumět tomu, co dělá směrovací protokol s vektorem vzdáleností při své aktivaci. Čtyři směrovače na obrázku 6. 13 mají ve svých směrovacích tabulkách nejdříve jen přímo připojené sítě. Poté, co je v každém směrovači spuštěn směrovací protokol s vektorem vzdáleností, dojde k aktualizaci směrovacích tabulek o informace o všech trasách, které jsou získány ze sousedních směrovačů.
Jak je patrné na obrázku 6. 1 3, jsou ve směrovací tabulce každého směrovače uvedeny pouze přímo připojené sítě. Jednotlivé směrovače odešlou ze všech svých aktivních rozhraní kompletní směrovací tabulku. Směrovací tabulka každého směrovače zahrnuje číslo sítě, výstupní rozhraní a počet přeskoků do sítě.
Směrovací tabulky na obrázku 6. 14 jsou kompletní, protože obsahují data o všech sítích v rámci datové sítě. Říká se jim konvergované. Když směrovače konvergují, nemusí se předávat žádná data. Proto je krátká doba konvergence značnou výhodou. V praxi je právě jedním z problémů protokolu RIP jeho pomalá konvergence. Směrovací tabulka každého směrovače zahrnuje informace týkající se čísla vzdálené sítě, rozhraní, na které směrovač odešle pakety určené do této sítě a počet přeskoků nebo metriku sítě.
Smyčky ve směrování
Směrovací protokoly s vektorem vzdáleností sledují všechny změny v datové síti tak, že pravidelně všesměrově vysílají aktualizace směrování ze všech aktivních rozhraní. Toto všesměrové vysílání obsahuje úplnou směrovací tabulku. Tento postup sice úspěšně funguje, ale má vysoké nároky na vytížení procesoru a spotřebu šířky pásma. Pokud navíc dojde k výpadku sítě, mohou nastat skutečné problémy. Pomalá konvergence směrovacích protokolů s vektorem vzdáleností navíc může vést k nekonzistenci směrovacích tabulek a smyčkám ve směrování.
Smyčky ve směrování se mohou objevit proto, že všechny směrovače nejsou ani zdaleka aktualizovány současně. Uveďme si příklad - řekněme, že dojde k výpadku rozhraní do sítě 5 na obrázku 6. 15. Všechny směrovače mají o síti 5 informace ze směrovače RouterE. Směrovač RouterA má ve svých tabulkách uvedeno, že cesta do sítě 5 vede přes směrovač RouterB.
Když síť 5 vypadne, směrovač RouterE to oznámí směrovači Routere. RouterC tedy přestane směrovat do sítě 5 přes směrovač RouterE. Směrovače A, B a D však o potížích sítě 5 zatím nevědí, takže i nadále odesílají aktualizační informace. RouterC nakonec odešle svou aktualizaci a zajistí, že směrovač RouterB přestane směrovat do sítě 5, ale směrovače A a D zatím aktualizovány nejsou. Z hlediska těchto zařízení je síť 5 stále dostupná přes směrovač RouterB s metrikou 3.
Problém nastává tehdy, když směrovač RouterA jako každých 30 sekund odešle zprávu typu "Jsem zde a toto jsou spojení, o kterých vím", jež zahrnuje možnost přístupu do sítě 5. Směrovače B a D nyní přijmou skvělou novinku, že síť 5 je dosažitelná ze směrovače Router A. Směrovače B a D tedy odešlou zprávu o tom, že síť 5 je dostupná. Všechny pakety určené síti 5 budou směřovat na směrovač RouterA, poté na RouterB a nakonec zpět na RouterA. Tím vzniká smyčka ve směrování - jak ji lze přerušit?
Maximální počet přeskoků
Právě popsaný problém se smyčkou ve směrování se označuje jako počítání do nekonečna a způsobují jej drby (všesměrová vysílání) a chybné informace, které se přenášejí a šíří v datové síti. Bez určitého zásahu by počet přeskoků bez omezení narůstal při každém průchodu paketu přes směrovač. Jeden ze způsobů, jak tento problém vyřešit, spočívá v definici maximálního počtu přeskoků. Protokol RIP povoluje až 15 přeskoků, takže libovolné umístění vyžadující 16 přeskoků se považuje za nedosažitelné. Jinými slovy: když smyčka způsobí 15 přeskoků, bude síť 5 považována za nefunkční. Maximální počet přeskoků tedy ovlivňuje, jak dlouho trvá, než je položka ve směrovací tabulce označena za neplatnou nebo spornou.
Rozdělení horizontu
Další řešení problému se smyčkou ve směrování se nazývá rozdělení horizontu (split horizon). Tato funkce omezuje rozsah nesprávných směrovacích informací a režie spojené se směrováním v sítích s vektorem vzdáleností. Vynucuje totiž pravidlo, že informace o směrování nelze odesílat zpět ve směru, ze kterého byly přijaty. Jinými slovy směrovací
protokol rozlišuje, ze kterého rozhraní informace o síťové trase pocházejí. Jakmile to zjistí, nebude trasu zveřejňovat zpět na stejné rozhraní. Toto pravidlo by zabránilo tomu, aby směrovač RouterA odeslal zpět směrovači RouterB aktualizovanou informaci, kterou od něj přijal.
Znehodnocení cesty
Další metoda, která zabraňuje problémům s nekonzistentními aktualizacemi a předchází síťovým smyčkám, se nazývá znehodnocení cesty (route poisoning). Když například vypadne síť 5, směrovač RouterE inicializuje znehodnocení cesty tím, že u sítě 5 zveřejní počet přeskoků 1 6, tj. její nedosažitelnost (někdy se tomu říká nekonečná vzdálenost). Díky tomuto znehodnocení trasy do sítě 5 již směrovači RouterC nehrozí, že přijme nesprávné aktualizace o trase do této sítě. Když RouterC přijme znehodnocení cesty od směrovače RouterE, odešle zpět tomuto zařízení aktualizaci, která se nazývá znehodnocená zpětná aktualizace (poison reverse). Tím je zajištěno, že informaci o znehodnocené trase přijmou všechny trasy v segmentu.
Odstavení
Odstavení (holddown) zabraňuje tomu, aby pravidelné aktualizační informace znovu ustavily trasu, která je v provozu jen příležitostně (což se označuje jako kolísání - flapping). Tato situace obvykle nastává u sériového spojení, kde konektivita vypadává a opět se obnovuje. Pokud by neexistoval způsob, jak to stabilizovat, síť by nikdy nekonvergovala a jedno kolísající rozhraní by ji dokázalo vyřadit z provozu! Odstavení znemožňují, aby se trasy měnily příliš rychle. Před změnou na další nejlepší trasu totiž poskytují čas buď k tomu, aby se obnovila funkčnost přerušené trasy, nebo aby se síť poněkud stabilizovala. Směrovače také po určitý časový interval nemohou provádět změny, které by ovlivnily nedávno odebrané trasy. Díky tomu nemohou být nefunkční trasy předčasně obnoveny v tabulkách jiných směrovačů.