Routovací protokoly


Úvod

Aplikačních protokolů pro routing vznikla v historii celá řada. Dnes se z nich prakticky využívají jen RIP, OSPF a BGP. Se všemi ostatními se setkáváme jen zřídka.

Routovací protokoly slouží pro automatické plnění routovacích tabulek. Mohou sice běžet na pracovních stanicích, ale nejběžnější jejich použití je na routerech. Na pracovní stanici, která není router, tj. nemá více síťových interfejsů, stačí staticky default na sousední router.

Routovací protokoly se dělí dvěma na sobe nezávislými kritérii. Jednak podle algoritmu, který používají a jednak podle rozsahu jejich použití.

Routovaci protokoly pouzivaji bud Routing vector algoritmus nebo Link state algoritmus. Jsou určeny buď pro práci uvnitř autonomního systému, tj. Interior gateway protocols (IGP) nebo pro výměnu routovacích informací mezi autonomními systémy, tj. Exterior gateway protocols (EGP).

Protokol RIP je Routing vector protocol typu IGP. OSPF je Link state protocol typu IGP. O BGP by se dalo říci, že je Link state, ale je typu EGP. Nyní musíme vysvětlit co jednotlivé termíny znamenají.


Routovaci tabulky

Routovací tabulka je tabulka, kde každý řádek obsahuje IP-adresu cílove sítě, siťovou masku, IP-adresu následujícího routeru, síťový interface, do kterého se bude paket směrovat směrem k následujícímu routeru, metriku (cenu - vybírá se vždy cesta o nejnižší ceně - metrice), protokol kterým byla položka získaná a časové razítko.

Přijde-li paket na router, pak si router z jeho záhlaví zjistí IP-adresu příjemce. Hledá ji v IP-adresách cílové sítě své routovací tabulky. Najde-li cílovou siť v routovací tabulce, pak v záhlaví IP-paketu sníží položku TTL alespoň o jedničku. Pokud má položka TTL po snížení hodnotu 0, pak router paket zahodí a pošle odesílateli protokolem ICMP zprávu, že životnost jeho paketu vypršela. Podle routovací tabulky router zjistí, do kterého síťového interface má paket poslat. Zjistí-li, že je to ten samý interface, kterým paket přišel, pak jej do interfacu pošle, ale odesílateli o tom pošle protokolem ICMP zpravu, aby se vzpamatoval a opravil si routovaci tabulku. Čili i protokolem ICMP se muze dynamicky měnit routovaci tabulka. Protokol ICMP však není aplikačni protokol, je soucasti IP-protokolu.

Nenajde-li router v routovaci tabulce cílovou síť, ale má v tabulce položku default, pak zvolí směr v položce default. Nemá-li ani default, pak paket zahodí a pošle odesílateli protokolem ICMP zprávu, že taková síť je nedosažitelná.


Routing vector protocol

Routing vector protocol (RVP) je velice jednoduchý protokol. Routery vysílají protokolem RVP do svých síťových interfaců obsah své routovací tabulky. Takže sousední routery si mohou přečíst vzájemně své routovací tabulky. Sousední router přijme z určitého síťového interface routovací tabulku svého souseda. V routovací tabulce svého souseda připočte ke všem metrikám cenu (metriku) k sousedovi a začne porovnávat, není-li v takto opravené sousedově routovací tabulce nějaká nová cesta, aby si ji zařadil do své routovací tabulky. Také zjišťuje, neni-li tam cesta k síti, kterou sice v tabulce má, ale s nižší metrikou. Pokud v sousedově routovací tabulce najde lepší cestu, pak původní položku své routovací tabulky nahradí novou.

RVP u rozsáhlejších sítí způsobují oscilaci routovacích tabulek a vůbec mají celou řadu neduhů. Mají však jednu výhodu - nepotřebují žádnou konfiguraci a proto jsou velice oblíbeny - okamžitě chodijou. Jsou určeny pro uzavřené sítě, které mají maximálně kolem deseti LAN.


Link state protocol

Link state protokol (LSP) je určen pro rozsáhlejší sitě - pro sítě do velikosti autonomního systému.

Router pracujicí v protokolu LSP testuje pomoci HALLO paketu, zda-li je sousedni router ziv. V pravidelnych intervalech pak zaplavuje sit obezniky (multicast), ve kterych uvadi jake ma momentalne (zive) sousedy. Takze kazdy router obdrzi informace o vsech routerech v siti a o tom jake maji sousedy. Uklada si tyto informace do databaze. V pripade, ze prijde nejaky paket, ktery ma router routovat, tak si zjisti IP-adresu prijemce. Na databazi spusti algoritmus nejkratsi cesty, za ktereho zjisti nasledujici router k prijemci. Na tento router paket odesle.

Jelikoz zaplavovani pakety by mohlo sit zatezovat, tak se rozsahlejsi site deli na oblasti. Routing se pak vyrizuje na dvou urovnich: uvnitr oblasti a mezi oblastmi.


Routing Information Protocol (RIP)

Routing Information Protocol (RIP) byl jedním z vůbec prvních úspěšných směrovacích protokolů (vyvinut firmou Xerox v r. 1981). První verze protokolu RIP pro IP (RFC 1058) je dnes zastaralá, přechází se na normalizovanou verzi 2 (RFC 2453).

Metrika, kterou používá protokol RIP, je počet směrovačů na cestě k cíli. Nejnižší metrika je pro přímo připojené sítě ke směrovači, nejdelší cesta je 15 skoků (směrovačů), vyšší metrika (16) označuje neplatnou cestu (nedostupnou síť). RIP vysílá aktuální směrovací informace na všeobecnou adresu v periodě 30 s.

Nová verze protokolu RIP 2 je plně založena na charakteristikách protokolu RIP verze 1, které obohacuje o:

- podporu podsíťových masek umožňuje využít RIP i v prostředí s podsíťovými maskami proměnné délky (VLSM) nebo se směrováním na bázi adresových prefixů (CIDR),
- možnost vysílat směrovací tabulky nikoli na všeobecnou, ale na skupinovou adresu,
- autentizaci směrovacích informací,
- spolupráci s jinými vnitřními směrovacími protokoly (pomocí odkazu na následující skok) i vnějšími protokoly (prostřednictvím označení cest mimo autonomní systém).

RIP lze výhodně použít jako vnitřní směrovací protokol v sítích, které jsou homogenní a mají maximálně střední velikost, neboť jeho jednoduchost i z hlediska konfigurace tam vyváží pomalou konvergenci a nepříliš vhodnou metriku.


Open Shortest Path First (OSPF)

Protokol Open Shortest Path First (OSPF verze 2, RFC 2328) je v rodině de facto normalizovaných vnitřních směrovacích protokolů pro IP opačným pólem než RIP. Používá algoritmus stavu spojů, který umožňuje rychlou konvergenci sítě reagující na jakékoli topologické změny, jako např. poruchu spoje, a nevede ke směrovacím smyčkám. Aktuální informace pro směrování se zasílají okamžitě po jakékoli detekci změny v topologii sítě, nebo minimálně (periodicky) každých 30 min. Každý směrovač má stejný pohled na topologii sítě (topologická databáze). Směrovací informace jsou zasílány v paketech o stavu spojů (LSP, Link State Packet), v nichž se popisuje stav rozhraní směrovače a jeho sousedů, tj. stav připojených sítí. Souhrn všech LSP tvoří topologickou databázi protokolu.

OSPF využívá hierarchické směrování, kdy sítě a směrovače se v jednom autonomním systému dělí do tzv. oblastí (area), které konfiguruje správce sítě (intersíť může být rozdělena do jedné nebo více oblastí). Znalost topologie dané oblasti zůstává skrytá ostatním oblastem, a tak umožňuje provádět změny topologie v každé oblasti nezávisle na ostatních. Právě jedna oblast tvoří tzv. OSPF páteř (backbone), k níž musí být (logicky) připojeny všechny ostatní oblasti. Každá oblast používá individuální kopii algoritmu pro výpočet nejkratších cest, a proto má svou topologickou databázi, která je u všech směrovačů v oblasti totožná. Hraniční směrovače oblastí mají tolik databází, kolik oblastí propojují. Hierarchická struktura intersítě z hlediska OSPF znamená, že směrování probíhá ve dvou stupních: uvnitř oblasti a mezi oblastmi.

Směrování pomocí OSPF je založeno na jediné bezrozměrové metrice, obecně označované cena (nejlepší cesta je ta s nejnižší souhrnnou cenou). Cena spojů ve složené cestě odpovídá propustnosti spojů, nákladů na spoje apod. podle potřeb správce intersítě. OSPF rychle reaguje na topologické změny sítě a vypočítává nejkratší cesty do všech dostupných existujících sítí na bázi Dijkstrova algoritmu.


Vnější směrovací protokoly

Pro sítě TCP/IP se vyvinuly dva vnější směrovací protokoly: EGP a BGP, z nichž pouze BGP došel širokého praktického uplatnění a má naději na rozvoj i v budoucnu, neboť je v podstatě jediným vnějším směrovacím protokolem používaným v současném Internetu. Border Gateway Protocol (BGP) se dnes používá ve verzi 4. Na rozdíl od vnitřních směrovacích protokolů založených na distančně vektorovém algoritmu, které používají jednotnou metriku, může mít u BGP každý AS jiný soubor kritérií pro výběr optimální cesty. Mezi kritéria určující kvalitu (váhu) cesty patří počet AS na cestě k cílové síti, přítomnost nebo nepřítomnost určitých AS na cestě (např. kvůli parametrům provozu jako rychlost, velikost AS), původ cesty (cesta plně zjištěná pomocí BGP má obecně přednost před cestou zjištěnou jinak), nebo stabilita spojů. Tato kritéria mají přesně specifikované pořadí, v němž se mohou vyskytnout a podle nějž se výběr cesty nakonec řídí.


GNU Zebra

Zebra je jedním z démonů na správu routovacích protokolů. Má podporu pro BGP-4 protokol jak je popsán v RFC1771, stejně tak pro RIPv1, RIPv2 a OSPFv2. Má pro každý protokol jeden proces. Používá multithreadovou technologii. Zebra má pět routovacích démonů a jeden manager démon. Tyto démony mohou být spuštěny na jiném stroji než manager démon. Každý z nich poslouchá na particulárních portech pro příchozí VTY spojení. Jsou to:

Následující sekce hovoří o příkazech běžných pro všechny démony. (jenom výcuc)

Běžné parametry:

Interface Commands

Static Route Commands

zebra Terminal Mode Commands

ospfd

Ospfd obstarává ISPF verze 2 routovací protokol jak je popsán v RFC2178.

Configuring ospfd

Ospfd nemá specifická nastavení. Potřebuje informace o interfacech ze Zebry. Takže musí Zebra běžet. Jako ostatní démony ospfd konfigurace je dělaná v OSPF specifickém konfiguracním souboru ospfd.conf

OSPF router

Ke spuštění OSPFprocesu musíme specifikovat OSPFrouter. Z toho plyne, že ospfd nepodporuje více OSPF procesů.

OSPF area

OSPF interface

Redistribute routes to OSPF

Showing OSPF information

Debugging OSPF


Nějaky odkazy

Další routovací démony:
Bird, Zebra, GateD