1. Protokoly třídy Distance Vector

1.1. Charakteristika DV

„Distance vector routing“ volně přeloženo jako „směrování podle délky vektoru“, je typ algoritmu používaný směrovacími protokoly pro zjištění trasy v síti. Primární algoritmus DV je Bellman-Fordův algoritmus. Jiné protokoly jsou založené na principu tzv. stavu linky (link-state). Protokoly využívající metody distance vector jsou například RIP (Routing Information Protocol), Ciscův IGRP (Internet Gateway Routing Protocol) a Applu RTMP (Routing Table Maintenance Protocol). Nejobvyklejší protokol metody link-state je OSPF (Open Shortest Path First).

Dynamické směrování, na rozdíl od statického (ručně vkládáného) směrování, vyžaduje směrovací algoritmy. Algoritmy dynamického směrování pomáhají tvořit (a plnit) směrovací tabulky. Topologie sítě se může kdykoliv změnit, spojení může neočekávaně spadnout, nebo naopak se může kdykoliv objevit nové spojení. Dynamický směrovací protokol musí tyto změny rozeznat, automaticky upravit směrovací tabulky a informovat sousední směrovače o těchto změnách. Proces přestavování směrovacích tabulek založený na nových informacích se nazývá konvergence.

Distance vector směrování odkazuje na metodu pro výměnu směrovacích informací. Každý směrovač inzeruje směr cesty jako vektor směru (next hop) a vzdálenosti (metric). Směr odkazuje na rozhraní, které vede na nejbližší směrovač podél cesty k cíli, ačkoli to může být libovolná hodnota, která dává prioritu před ostatní cestou. Směrovače v síti si tyto informace vyměňují a budují si tak směrovací tabulky.

1.2. RIP (Routing Information Protocol)

1.2.1. Změny směrování

RIP posílá aktualizované zprávy (update message) o směrovacích tabulkách v pravidelných intervalech, a při změně topologie sítě. Když směrovač přijme update message, která obsahuje změny, aktualizuje svoji směrovací tabulku, a tím odráží novou cestu. Hodnota metric pro konktrétní cestu se zvýší o 1, a odesílatel je označen jako směr cesty (next hop). Směrovače používající RIP udržují jen tu nejlepší cestu (cestu s nejnižší metrikou) k cíli. Po aktualizaci vlastní směrovací tabulky začne směrovač vysílat update message aby informoval okolní směrovače o změnách.

1.2.2. RIP metrika

Protokol RIP používá jednoduchou směrovací metriku hop count (počet přeskoků) pro měření vzdálenosti mezi zdrojovou a cílovou sítí. Každému přeskoku na cestě mezi zdrojem a cílem je přiřazena metrika - hop count value, která je běžně 1. Pokud směrovač obdrží aktualizaci cesty, která se změnila, zvýší její metriku o 1, a vloží adresu sítě do směrovací tabulky. IP adresa odesílatele je použita jako nejbližší přeskok.

1.2.3. Stabilita protokolu

Protokol RIP předchází směrovacím smyčkám ...... Maximální počet přeskoků v jedné cestě je 15. Pokud směrovač obdrží update, který obsahuje nový nebo změněný záznam, který způsobí zvýšení metriky na nekonečno (což je 16), cílová siť je shledána nedostupnou. Stinná stránka téhle vlastnosti je, že maximální počet přeskoků v "RIP síti" je limitován na méně než 16.

RIP obsahuje i informaci o ostatních vlastnostech, které jsou společné pro mnoho různých směrovacích protokolů. Tyto vlastnosti jsou navrženy pro zajištění stability při rychlých změnách v topologii sítě. Například RIP implementuje split horizon a tlumící mechanismus pro zajištění nesprávné směrovací informace, která by byla jinak dál propagována.

1.2.4. Časovače

RIP obsahuje několik časovačů pro řízení výkonnosti.

  • Routing-update timer - časuje interval mezi periodickým odesíláním update message. Obecně je nastaven na 30 sekund, s malou časovou prodlevou kdykoli když je resetován, zabraňuje se tím ucpání linky.

  • Route-timeout timer - pokud vyprší, je příslušná cesta označena jako neplatná.

  • Route-flush timer - pokud vyprší je uchovávaná neplatná cesta vymazána.

1.2.5. Formáty paketů

1.2.5.1. RIP v1
  • Command - Indikuje zda je paket požadavkový nebo odpověďový. Požadavkový zjišťuje zda směrovač poslal všechny části směrovací tabulky, odpovědový může být nevyžádaný pravidelný update dotaz anebo odpověď na žádost. Odpovědi obsahují záznamy ve směrovací tabulce. Vícenásobné RIP pakety jsou použity pro doručení informací z rozsáhlých směrovacích tabulek.

  • Version number - Specifikuje verzi použitého RIP-u. Táto položka může naznačit různé, potenciálně nekompatibilní verze.

  • Zero - Tohle pole konkrétně není použito v RFC 1058 RIP; bylo přidáno pouze pro poskytnutí zpětné kompatibility s různými prestandartními RIP-y. Výchozí hodnota je 0.

  • Address-family identifier (AFI) - Specifikuje použitou adresní rodinu. RIP je navržený pro přenos směrovacích informací několika různých protokolů. Každý záznam má identifikátor adresní rodiny, pro označení typu adresy. AFI pro IP je 2.

  • Address - Specifikuje IP adresu pro záznam.

  • Metric - Indikuje kolik propojených sítí (směrovačů) bylo překročeno na cestě k cíli. Hodnota metric je mezi 1 a 15 pro platnou cestu, 16 pro nedostupnou síť.

Note

Je povoleno až 25 výskytů AFI, Address a Metric položek v jediném IP RIP paketu. (Až 25 destinací může být zaznamenáno v jediném IP RIP paketu.)

1.2.5.2. RIP v2
  • Command - Indikuje zda je paket požadavkový nebo odpověďový. Požadavkový zjišťuje zda směrovač poslal všechny části směrovací tabulky, odpovědový může být nevyžádaný pravidelný update dotaz anebo odpověď na žádost. Odpovědi obsahují záznamy ve směrovací tabulce. Vícenásobné RIP pakety jsou použity pro doručení informací z rozsáhlých směrovacích tabulek.

  • Version number - Specifikuje verzi použitého RIP-u. V RIP paketu implementujícím jakékoliv RIP 2 pole, anebo použití autentifikace, je táto hodnota nastavena na 2.

  • Unused - Nepoužito - výchozí hodnota je 0.

  • Address-family identifier (AFI) - Specifikuje použitou adresní rodinu. V RIP2 AFI poli funguje stejně jako RFC 1058 RIP AFI poli, s jednou výjimkou: Pokud má AFI pole pro první záznam hodnotu 0xFFFF, zbytek záznamu obsahuje informace o autentifikaci. Nyní je jediný typ autentifikace jednoduché heslo.

  • Route tag - Zajišťuje rozlišování směrování mezi interním (naučené RIP-em) a externím (naučené od ostatních protokolů).

  • IP Address - Specifikuje IP adresu pro záznam.

  • Subnet mask - Specifikuje masku podsítě. Pokud je nastavena nula, maska podsítě není definovaná.

  • Next hop - Specifikuje IP adresu dalšího skoku, kde mají být pakety přeposlány.

  • Metric - Indikuje kolik propojených sítí (směrovačů) bylo překročeno na cestě k cíli. Hodnota metric je mezi 1 a 15 pro platnou cestu, 16 pro nedostupnou síť.

    Note

    V jediném IP RIP paketu se může nacházet až 25 AFI, Address a Metric položek. (Až 25 destinací může být zaznamenáno v jediném IP RIP paketu.)

1.3. IGRP (Interior Gateway Routing Protocol)

1.3.1. Charakterisktika IGRP

Protokol IGRP patří do rodiny protokolů distance vector, a vnitřních protokolů (Interior Gateway Protocol (IGP)). IGRP používá kompozitní metriku vypočítanou z několika položek, jako jsou zpoždění sítě (delay), šířka pásma (bandwidth), spolehlivost (reliability) a zatížení (load). Správce sítě může nastavovat závažnost faktorů pro každou z těchto metrik, ačkoli zásah do těchto nastavení se musí dělat s velkou opatrností. IGRP poskytuje širokou škálu nastavení metriky. Spolehlivost a vytížení může například dosahovat jakékoliv hodnoty mezi 1 a 255; šířka pásma dosahuje hodnot odrážejících rychlosti od 1200 bps až do 10 Gbps, přičemž zpoždění dosahuje hodnot mezi 1 a 224. Tohle velké rozmezí metriky jsou dále doplněny sérií uživatelsky definovanými konstantami, které umožňují správci sítě ovlivňovat výběr směru cesty. Tyto nastavení jsou hashovány pro případ metriky, a jiných algoritmů, které poskytuje jednoduchá kompozitní metrika. Správce sítě může ovlivnit výběr cesty nastavením vyšší či nižší váhy specifické metriky. Tato přizpůsobenost umožňuje správci doladit IGRP automatickou volbu cesty.

Poskytovaním dodatečné přizpůsobivosti, dovoluje IGRP vícecestné směrování. Na zdvojené šířce pásma může proudit jednoduchý tok provozu způsobem round-robin, s automatickým pčepínáním, pokud jedna linka vypadne. Vícenásobné cesty můžou mít nerovnoměrné metriky, přesto jsou stále platné. Např. pokud je jedna cesta 3x lepší než druhá (její metrika je 3x nižší), bude táto cesta 3x častěji využita. Jen cesty s metrikou uvnitř určitého rozsahu nebo rozdílných nejlepších cest můžou být použity jako mnohonásobné cesty. Rozdílnost je další významný faktor, který může být zajištěn správcem sítě.

1.3.2. Stabilita protokolu

IGRP zajišťuje několik vlastností, která jsou navrženy pro zvýšení stability. To zahrnuje holddown, split horizon a poison-reverse updaty.

Holddowny předcházejí obnovám vadných směrovacích cest v pravidelných updatech. Pokud směrovač "spadne", sousedícím směrovačům chybějí pravidelné updaty. Tyto směrovače pak vypočítají novou cestu a informují "sousedy" o změnách v síti. O nových updatech není okamžitě informován každý síťový prvek, tak je možné pro zařízení, které bylo právě informováno o poruše, poslat klasickou update message, která propaguje problematickou cestu jako platnou, tomu zařízení, které bylo právě informováno o změnách. V tomto případě může druhé zařízení obsahovat nekorektní směrovací informaci. Holddowny zajišťují směrovači udržení jakékoliv změny, která může ovlivnit směrování po jistý čas. Holddown perioda je vypočítavána tak aby byla o něco větší než je doba pro aktualizaci změn v směrování celé sítě.

Split horizon pravidlo je odvozeno z předpokladu, že není užitečné posílat zpět informace o cestách, směrem odkud přišly. Obrázek ilustruje pravidlo split-horizon. Router 1 propaguje síť A. Router 2 nemá důvod zahrnovat do svojí směrovací tabulky informaci o síti A Routeru 1, protože ten je blíž k síti A. SH pravidlo říká Routeru 2, aby nezahrnoval tuto cestu do sítě A Routeru 1. Pomáhá tak zabránit směrovacím smyčkám. Uvažujme možnost, ve které rozhraní Routeru 1 do sítě A spadne. Bez split horizonu by Router 2 dále informoval Router 1, že se dostane do sítě A (přes Router 1). Pokud nemá Router 1 dostatečné znalosti, měl by aktuálně vybrat Router 2, jako alternativní cestu na "spadnuté" přímé spojení, čímž by způsobil směrovací smyčku. Ačkoli tomuhle holddowny předcházejí, split horizony jsou v IGRP implementovány zvláště pro jejich estra stabilní algoritmy.

SH pravidlo může předejít směrovacím smyčkám přilehlých směrovačů, ale poison-reverse updaty jsou nutné pro zdolání větších smyček. Zvyšování metriky obecně signalizuje směrovací smyčky. Poison-reverse updaty jsou pak posílány pro vyjmutí "špatné" cesty a její umístění do holddown seznamu. V Cisco implementaci protokolu IGRP jsou posílány reverse-poison updaty pokud metrika stoupne o koeficient 1.1 a výš.

1.3.3. Časovače

Protokol IGRP má několik časovačů a proměnných časových intervalů. Jsou to: update timer, invalid timer, hold-time period a flush timer.

  • update timer - specifikuje jak často se bude posílat směrovací tabulka. Výchozí hodnota IGRP pro tuto proměnnou je 90 sekund.

  • invalid timer - určuje jak dlouho má směrovač čekat při neobdržení směrovací tabulky o specifické cestě před tím, než ji označí za neplatnou. Výchozí IGRP hodnota pro tento časovač je 3x větší než update timer.

  • hold-time period - specifikuje "holddown" dobu. Výchozí hodnota je 3x více než update timer plus 10 sekund.

  • flush timer - indikuje kolik času má uplynout před tím, než se cesta smaže ze směrovací tabulky. Výchozí hodnota IGRP je sedmkrát větší než update timer.