Skip to main content

9.4 Smerovací protokol OSPF

Protokol OSPF (Open Shortest Path First) predstavuje otvorený štandard pre dynamické smerovanie vo vnútorných sieťach v rámci organizácie, či v rámci prepojených organizácií. Využíva koncept oblastí (Area), pričom každou oblasťou môže byť celá organizácia s množstvom smerovačov a sietí a obvykle teda vystačíme s jedinou oblasťou (single-Area). Všetky oblasti dokopy predstavujú autonómny systém (AS). OSPF existuje vo dvoch verziách: OSPFv2 sa používa pre IPv4 siete a OSPFv3 je určený pre IPv6 siete. Na jednom smerovači môžu byť v prevádzke oba protokoly súčasne.

Princípy OSPF

Každý smerovač s OSPF si udržiava svoje databázy a tabuľky - a to oddelene pre IPv4 a pre IPv6:

  1. databázu a tabuľku susedov: zoznam susedných smerovačov, s ktorými bola nadviazaná komunikácia;
  2. databázu stavu liniek a tabuľku topológie: zoznam všetkých smerovačov v oblasti aj s ich sieťami;
  3. databázu preposielania a tabuľku smerovania: zoznam všetkých (nezacyklených) ciest do každej siete, pre hľadanie najlepšej cesty sa využíva algoritmus Dijkstra.

Najlepšia cesta sa v OSPF určuje na základe ceny trasy, pričom je definovaná cena každého úseku (spojenia na rozhraní, linky) individuálne, obvykle so zohľadnením prenosovej rýchlosti.

Pokiaľ sú dva smerovače priamo prepojené takzvanou „prepojovacou sieťou“ (v IPv4 je typickou maska /30), sú v sieti len dva, každý má teda len jedného suseda. Pokiaľ sú však viaceré smerovače prepojené prepínačom v jedinej sieti, N smerovačov má N-1 susedov, celkovo sa nadväzuje N × (N-1) / 2 susedských vzťahov, čo by pri každej zmene znamenalo zbytočne veľa odosielaných správ o zmene, pretože zmenu by hlásil každý smerovač všetkým ostatným smerovačom. Preto sa v každej sieti volí „hlavný“ smerovač (Designated Router = DR) a jeho záloha (Backup DR = BDR) - tieto voľby vyhráva smerovač s najvyššou prioritou, prípadne s najvyšším ID. Oba tieto smerovače zbierajú informácie o zmenách (ostatné smerovače ich posielajú len im) a iba DR odošle informáciu o zmene každému smerovaču. Tým sa značne zníži množstvo správ. Z praktického hľadiska je jedno, ktorý smerovač sa stane hlavným v danej sieti, no mal by to byť smerovač, ktorý je dostupný nepretržite.

V rámci oblasti (Area) sa smerovače informujú o každej zmene a vymieňajú si informácie o každej jednej sieti v oblasti. Pokiaľ je veľká inštitúcia rozdelená na viaceré menšie organizácie, je možné pre každú organizáciu definovať samostatnú oblasť, teda využívať OSPF s viacerými oblasťami (multi-Area). Prenosy medzi jednotlivými oblasťami môžu byť sumarizované, nemusia sa prenášať všetky zmeny a jednotlivé siete - stačí súhrnná adresa viacerých sietí. Jedna oblasť musí byť vždy základná (Backbone Area), jej identifikačné číslo je 0 a všetky ostatné oblasti s ňou musia susediť, hoc aj virtuálnym spojením. Smerovače na hranici medzi oblasťami sa označujú ako hraničné smerovače (Area Border Router = ABR). My sa však budeme zaoberať len AS s jednou oblasťou.

Konfigurácia v MikroTik RouterOS

Vo WinBox ponuke nájdeme konfiguráciu OSPF v ponuke Routing → OSPF, prípadne môžeme využiť príkazy /routing ospf.

Základné pojmy

  • Area = oblasť: siete, ktoré tvoria jeden celok (napr. všetky siete školy) - informácie o týchto sieťach sa posielajú medzi susednými smerovačmi
    • backbone Area: základná oblasť s ID 0.0.0.0, je povinná a obvykle aj postačujúca
  • externá sieť: sieť, ktorá nie je súčasťou oblasti
  • AS = autonómny systém: sada oblastí, ktoré si vymieňajú smerovacie informácie cez hraničné smerovače, v RouterOS vystupuje ako Instance
  • Interface = sieťové rozhranie: definujú sa parametre komunikácie so smerovačmi na tomto rozhraní
    • Passive interface = pasívne sieťové rozhranie: nebude komunikovať OSPF, ani keď bude súčasťou oblasti (typicky sa jedná o koncovú sieť zákazníka)
  • Network = sieť: adresa siete, ktorá sa stane súčasťou oblasti, teda informácie o nej sú posielané susedným smerovačom

Potrebné nastavenia Instance ospf-instance.webp

  • podľa potreby pridávame pre IPv4 (Version: 2) a/alebo IPv6 (Version: 3)
  • Router ID [main]: 32-bitové číslo, zapísané v podobe IP adresy, unikátne v AS
    • je vhodné, ale nie nutné, aby ID bolo rovnaké ako dosiahnuteľná IP adresa smerovača - pomôže to pri identifikácii a riešení problémov
    • pri „main“ sa automaticky použije najvyššia IP adresa tohto smerovača, čo nie je vždy vhodné
  • Originate Default [never]: určuje, či sa má posielať informácia o predvolenej bráne
    • zapíname, len ak má smerovač vlastné pripojenie do internetu cez externú sieť
  • Redistribute: connected [no]: určuje, či sa majú posielať informácie o pripojených externých sieťach
    • obvykle nezapíname, pretože všetky potrebné siete zahrnieme do oblasti
  • Redistribute: static [no]: určuje, či sa majú posielať informácie o staticky zadaných smerovaniach
    • zapíname len v prípade, že chceme oznámiť trasu do siete, ktorá nie je súčasťou oblasti a ani priamo susediaca

Potrebné nastavenia Area ospf-area.webp

Obvykle stačí pridať jedinú oblasť backbone a nie sú potrebné žiadne ďalšie. Viac oblastí vytvárame pri prepájaní veľkých sietí z bezpečnostných alebo výkonnostných dôvodov. Každá Area musí susediť s backbone Area.

  • Area ID [0.0.0.0]: jedinečné ID, backbone má vždy 0.0.0.0, ostatným môžeme prideliť napríklad IP adresu hlavného smerovača oblasti

Potrebné nastavenia Interface Template ospf-interface-template.webp

  • záleží na poradí Template!
  • obvykle definujeme buď Interfaces alebo Networks, nie oboje naraz
  • Interfaces [all]: sieťové rozhrania, pre ktoré nastavujeme parametre
  • Networks [::/0]: siete, ktoré sa stanú súčasťou oblasti
    • každé rozhranie, na ktorom sa vyskytuje sieť daného rozsahu alebo jeho časti, sa pridá medzi aktívne - preto je pri nastavovaní siete vhodné pre istotu zapnúť voľbu Passive

Pozor, ak Networks zahŕňa aj adresy z rozhrania, ktoré nie je definované v Interfaces, to tam bude automaticky pridané - ak sme preň nedefinovali žiadne zabezpečenie, bude bez akéhokoľvek zabezpečenia!

  • Cost [1]: cena za vstup do rozhrania; záložnému alebo pomalšiemu rozhraniu dávame vyššiu
  • Priority [128]: priorita smerovača, vyššiu dávame len v prípade, že niektorý smerovač je hlavný v danej sieti; jeden smerovač s najvyššou prioritou sa stane riadiacim (designated router - DR)
  • Authentication [none]: typ autentifikácie, dávame niektorú hash funkciu
  • Authentication Key: heslo, jednotné na všetkých smerovačoch definovaného sieťového rozhrania
  • Network Type [broadcast]: v prípade priameho spojenia dvoch smerovačov je vhodnejšou voľbou typ „ptp“ (nevolí sa DR) - je ho však potrebné nastaviť na oboch smerovačoch