Jak OSPF funguje a stub/NSSA area
OSPF je protokol pro distribuci informaci o routovani v jednom autonomni systemu (pro zjednoduseni v cele nasi siti :)). Je to link-state protokol, coz znamena, ze kazdy router zna topologii cele site (nebo jen sve area - zalezi na typu area ve ktere se dany router nachazi ...).
Teto protokol funguje zhruba takto:
- 1) Po inicializaci a nebo jakekoliv zmene (vypadek linky, ...) router vygeneruje LSA
- 2) Vsechny routery si navzajem vymeni tyto LSA zaplavou
- 3) Kdyz zjisti, ze maji kompletni svoji LS (link-state) databazi (ktera obsahuje informace o linkach, routerech, ... v teto siti) spusti se algoritmus, ktery spocita optimalni cesty do kazde podsite v teto siti a podle toho upravi routovaci tabulky.
- 4) Toto se opakuje pri kazde zmene. Pokud nenastavaji zadne zmeny, tak se take nic neposila a nic nepocita (tedy pokud nepocitam Hello packety, ktere se posilaji jen po jednotlivych linkach a pomoci nichz se zjistuje, zdali je tato linka jeste ziva nebo ne)
Informace o routovani se siri v tzv. LSA (link state advertisment), kterych je nekolik typu:
- 1) router link advertisment - tyto "oznameni" jsou sireny zaplavovym zpusobem (tzn. poslany na kazdy router) uvnitr jedne area a siri tak informaci o tom, ktere interface routeru v teto area jsou a jejich stavu
- 2) network link advertisment - tyto "oznameni" jsou rozsirovany pouze routery, ktere jsou zvoleny na urcitem segmentu jako DR (designated router) - tento router muze byt na jednom segmentu prave jeden a muze existovat i jeden zalozni. Tyto routery si drzi informace o routerech pripojenych do tohoto segmentu.
Pojmy ABR a ASBR
- ABR se stava router, ktery je na hranici 2 area a ktery se stara o vymeny informaci mezi temito 2 area.
- ASBR se stava router, ktery siri do site i nejakou externi informaci (tzn. v ospfd.conf uvedeme klicove slovo redistribute ... v sekci router ospf)
- Router, ktery nemusi posilat do site distribuovat zadne staticke routy a ani zadne routy napriklad z BGP a pod., tak NEMUSI byt ASBR (bohuzel v nasi siti jsou temer vsechny routery ASBR)
- Tyto prvni dva typy LSA se siri pouze uvnitr jedne area. Dale pak existuji dalsi 2 typy LSA, ktere se siri pro zmenu mezi tzv. ABR (area border routers) - tzn. routery, ktere jsou na hranicich nekolika area.
- 3 a 4) Summary link advertisment - typ 3 je pouzivan pro rozesilani informace o sitich pripojenych do jednotlivych area a typ 4 popisuje routy k ASBR
- Dale je existuje jeste jeden typ LSA, ktery ovsem mezi 2 area neni siren.
- 5) External link advertisment - je rozesilan ASBR, ktere tak oznamuji cesty do siti mimo nas AS (autonomni system) - tzn. i staticke routy, ... - tyto LSA NEJSOU sireny do stub area.
- Stub area - tyto area by mely byt takove oblasti, ktere neobsahuji ASBR (informace z ASBR nejsou v takoveto oblasti sireny a nejsou sireny samozrejme ani mimo tuto oblast) V techto oblastech, pokud maji vice "vychodu" se muze stat, ze routovani nebude uplne optimalni - tzn. packety se z teto oblasti budou dostavat pres router, ktery je sice blizsi k jine area do ktere se ma dostat, ale celkove je tato cesta delsi (s vetsim costem). Castecne se tomu da zabranit spravnym nastavenim costu ...
- To ze je nejaka area stub se konfiguruje v ospfd.conf:
area V.X.Y.Z stub
- Totally stubby area - v techto oblastech jsou sireny jen LSA typu 1 a 2 a defaultni routy (docela sikovna vecicka - pak mame v tetchto oblastech opravdu velice male routovaci tabulky a OSPF konverguje daleko rychleji)
Bohuzel je zde mala nevyhoda techto area a to, ze muzou mit jen JEDEN vystup do jinych area. Konfiguruje se v ospfd.conf: area V.X.Y.Z stub no-summary
- Dale existuje jeste jeden typ LSA, ktery je ovsem pateri do rozsireni protokolu OSPF. Toto rozsireni vetsinou neni, pokud to neni explicitne povoleno zakompilovan do starsich verzi Quaggy ! (tzn. verze starsi nez 0.98.2 +-)
- 7) (mozna bych mel napsat 6, ale typ tohoto LSA je 7, takze proto 7. Typ 6 nevim co je - pokud se to nekomu chce hledat ... :) )
Tyto LSA jsou sireny v tzv. NSSA (not so stubby area) z ASBR. Tyto LSA jsou prekladany na ABR na typ 5 a tudiz se pres tento typ LSA daji vcelku jednoduse sirit staticke routy ven z area, ale zaroven se zabrani vstupu techto rout do area, kam prijit nemusi. Konfiguruje se v ospfd.conf pomoci: area V.X.Y.Z stub [no-summary]
- NSSA jsou vlastne area silne podobne stub area s tim rozdilem, ze se siri ty LSA type 7 (jak uz jsem psal). Proto take mohou existovat NSSA, ktere se podobaji Totally stubby area, coz se konfiguruje take klicovym slovem no-summary.