www.SAMURAJ-cz.com 

27.04.2024 Jaroslav Translate to English by Google     VÍTEJTE V MÉM SVĚTĚ

Články

Cisco Routing 3 - OSPF - Open Shortest Path First

Pátek, 03.04.2009 10:54 | Samuraj - Petr Bouška |
Třetí díl o routování se zaměřením na konfigurace Cisco zařízení se věnuje asi nejrozšířenějšímu standardizovanému protokolu pro routování uvnitř AS, tedy Open Shortest Path First (OSPF).

Celý tento seriál o routingu vznikl, když jsem se připravoval na Cisco test 642-901 BSCI, jako moje poznámky. Následně jsem provedl pouze jednoduchou úpravu a text publikoval. Pokud myslíte, že něco podstatného chybí, něco není správně popsáno nebo není úplně jasné, tak uvítám vaše informace v komentářích.

Vlastnosti OSPF

  • otevřený standard, asi nejrozšířenější IGP protokol ve větších firmách
  • jedná se o classless protokol / podporuje VLSM
  • používá Dijkstrův algoritmus nejkratší cesty - SPF
  • spolupracuje s MPLS (Multi Protocol Label Switching) - udržuje routovací tabulky
  • velké OSPF sítě je vhodné rozdělovat do oblastí (areas) - sníží se výpočet SPF, menší routovací tabulky, snížení LSU (link-state update)
  • díky oblastem podporuje hierarchický síťový design
  • používá link-state databázi, která předchází smyčkám
  • pro snižování routovacích tabulek se může použít manuální sumarizace, ale automatická není podporována
  • routovací updaty se posílají, pouze pokud jsou potřeba
  • využívá multicast (takže neovlivňuje stanice a ostatní zařízení bez OSPF), 224.0.0.6 - všechny DR a BDR, 224.0.0.5 - všechny routery, 224.0.0.2 - všechny routery na stejném subnetu
  • nepoužívá TCP, ale IP protokol 89, sám si řeší detekci a opravu chyb
  • podporuje autentizaci, plain text nebo MD5, pro akceptování LSA
  • používá hello protokol - lepší než výměna tabulek v RIP, pomocí něj navazuje sousedství, posílá každých 10s
  • aby se routery staly sousedy, hello paket musí mít shodné hodnoty - číslo oblasti, typ oblasti (stub nebo NSSA flag), subnet a subnet mask, hello a dead timer, autentizační údaje
  • LSA se odesílá každých 30min nebo při změně, šíří se pomocí flooding (zaplavování)
  • cena linky pro OSPF cost = 100Mb / bandwidth
  • OSPF router ID (nastavuje se při restartu) je nejvyšší IP adresa (aktivní) na routeru nebo adresa loopback interfacu (to je doporučeno, protože je stále up)
  • DR/BDR volba je podle nastavené priority nebo podle Router ID, probíhá pouze v multi-access sítích, ne v point-to-point, když DR selže, tak BDR se stane DR a zvolí se nový BDR, pokud původní DR naběhne, tak se nestane automaticky DR (pouze až selže DR i BDR)
  • pokud nějaká oblast nemůže být přímo připojena do backbone, může být připojena do jiné oblasti, která je přímo do oblasti 0, a musí se vytvořit virtuální link (logická cesta do backbone skrze tranzitní oblast) - je identifikována pomocí router id sousedního routeru (pokud se zadá špatně, tak se nevytvoří)
  • hranice oblastí jsou definovány uvnitř routeru
  • na routeru může běžet až 30 OSPF routing proces

Tabulky pro OSPF

  • routovací (routing) - nejlepší routy do destinací
  • topologie (topology) - routovací záznamy do všech destinací
  • sousedů (adjacency) - informace o sousedních routerech
  • link-state database - stejná pro všechny routery, synchronizace pomocí zaplavení LSA, pomocí ní se vytvoří routovací tabulky, obraz síťové topologie ve stromové struktuře

OSPF routes (typy záznamů)

  • O - OSPF síť ve stejné oblasti (intra-area)
  • O IA - OSPF inter-area, z ABR (LSA 3 a 4)
  • O* IA - default OSPF inter-area
  • O N1 - OSPF NSSA external type 1
  • O* N2 - default OSPF NSSA external type 2
  • O E1 - OSPF external type 1, z ASBR,
  • O* E2 - default OSPF external type 2

Typy OSPF oblastí (area)

  • standard area - přijímá link updaty a sumární routy i externí
  • backbone area - propojení všech ostatních oblastí, vždy Area 0, stejné vlastnosti jako standard
  • stub area - nepřijímá routy z ostatních AS (autonomus system), pro směrování mimo AS se použije defaultní routa, O, O IA, O* IA
  • totally stubby area - Cisco proprietální, nepřijímá sumární routy mimo jeho oblast, O, O* IA
  • not-so-stubby area (NSSA) - obdoba stuby, ale importuje některé externí routy typu 7 LSA a převádí je na typ 5 LSA, O, O IA, O N2, O* N2

Typy routerů v OSPF

  • Area Border Router - ABR - má interfacy ve více oblastech, pro každou oblast má separátní tabulku link-state, připojuje oblasti do backbone
  • Autonomous System Border Router - ASBR - má interfacy ve více AS, slouží k distribuci route z jiné AS, většinou zde běží i BGP
  • Internal Router - běžný, pouze v jedné oblasti
  • Backbone Router - alespoň jeden interface v Area 0

DR/BDR routery

  • Designated Router - DR - posílá LSA 2 všem sousedům v multi-access, je to router (přesněji interface routeru), který se volí v rámci segmentu u multiaccess (speciálními technikami i u NBMA), slouží k redukci síťového provozu, DR je zdrojem routovacích updatu, udržuje si kompletní tabulku topologie, všechny ostatní routery s ním navazují spojení
  • Backup Designated Router - BDR - stává se DR, pokud selže původní DR, má druhou nejvyšší prioritu v době volby

Link State Advertisements - LSA v OSPF

  • typ 1 - router, informace o routeru a jeho přímo připojených interfacech, pouze v rámci oblasti, generuje každý router
  • typ 2 - network, informace o LAN a routerech v ní, v multi-access network pochází z DR, pouze v oblasti
  • typ 3 - summary, pochází z ABR (Area Border Router), sítě dostupné mimo oblast, pro ABR
  • typ 4 - ASBR summary, pochází z ABR, pro ASBR
  • typ 5 - external AS, oznamuje externí routy (default route), pochází z ASBR, v rámci AS
  • typ 6 - multicast info
  • typ 7 - ostatní rozšíření - NSSA

Typy sítí - network types

  • broadcast multi-access (BMA) - sdílené médium, ethernet, volí se DR a BDR automaticky
  • nonbroadcast multi-access (NBMA) - bez subinterfaců, klasicky serial Frame Relay, DR a BDR vyžaduje ručně definované sousedy
  • point-to-point (PtoP)- spojení dvou routerů, nepotřebuje DR a BDR
  • point-to-multipoint (PtoM) - jeden interface, který se připojuje k více cílům (pomocí subinterfaců), série point-to-point okruhů, nedochází k volbě DB/BDR, často serial Frame Relay, automaticky formuje sousedství (nemusí se ručně definovat)

Příkazy Cisco IOSu pro konfiguraci OSPF

ROUTER(config)#router ospf 1         // 1 je process-id, můžeme provozovat více procesů na routeru

ROUTER(config-router)#network 192.168.5.4 0.0.0.3 area 1 // používá wildcard masku, 1 je číslo oblasti
ROUTER(config-router)#neighbor 192.168.5.4     // určení souseda, může obsahovat prioritu/cenu
ROUTER(config-router)#summary-address 10.1.0.0 255.255.0.0 // sumarizace sítí na ASBR
ROUTER(config-router)#redistribute connected [subnets]  // posílá všechny lokální interfacy, subnets - pošle i subneted routes
ROUTER(config-router)#passive-interface Serial0/0       // daný interface neposílá a nepřijímá updaty

ROUTER(config-router)#area 1 stub              // určí oblast 1 jako stub
ROUTER(config-router)#area 1 stub no-summary   // neposílá LSA 3 a 4 = totally stuby 
ROUTER(config-router)#area 1 nssa no-summary   // neposílá LSA 3 a 4 = NSSA totally stuby 
ROUTER(config-router)#area 1 range 10.1.0.0 255.255.0.0 // sumarizace sítí na ABR, můžeme určit, zda se má zveřejňovat - klíčové slovo advertise
ROUTER(config-router)#area 16 virtual-link 8.187.175.82 // virtuální link na IP (třeba loopback) do backbone

ROUTER(config-if)#ip ospf network point-to-multipoint   // nastaví mod na interface, další možnosti broadcast, non-broadcast, point-to-point
ROUTER(config-if)#encapsulation frame-relay             // nastaví encapsulaci interfacu
ROUTER(config-if)#ip ospf priority 10                   // nastaví prioritu pro volbu DR
ROUTER(config-if)#ip ospf cost 10        // nastavení cenu odchozím paketům na interfacu
ROUTER(config-if)#frame-relay map ip 10.1.1.1 200 broadcast // 200 = DLCI (Data-link connection identifier), broadcast potřeba pro Frame Relay

ROUTER#show ip ospf                // hlavní informace o OSPF procesu, oblasti, apod.
ROUTER#show ip ospf border-routers // interní routovací záznamy do ABR a ASBR
ROUTER#show ip ospf neighbor       // informace o sousedech per interface včetně link state, bez ABR, ASBR, SPF
ROUTER#show ip ospf interface      // informace z daného interfacu související s OSPF (link state .) - router ID, vztah se sousedy
ROUTER#show ip ospf virtual-link   // info o virtul link do backbone
ROUTER#show ip ospf database       // info o topologii, link state, LSA

OSPF a IPv6

  • IPv6 je podporováno v OSPF verze 3 (a to pouze IPv6 ne IPv4), základ je podobný jako předchozí verze OSPF, ale je nový konfigurační mód
  • můžeme provozovat více instancí OSPF IPv6
  • pro zařazení do routovacího procesu se nepoužije příkaz network, ale přímo se konfiguruje interface
ROUTER#show ipv6 ospf                // hlavní informace o OSPF procesu, oblasti, apod.
ROUTER#clear ipv6 ospf process       // OSPF DB se obnoví a znovu se spustí SPF
ROUTER(config)#ipv6 unicast-routing  // zapne podporu IPv6
ROUTER(config)#ipv6 router ospf 1    // zapne OSPF IPv6, 1 - process-id interní identifikace 1 až 65535 
ROUTER(config-if)#ipv6 ospf 1 area 5 // zapne OSPF IPv6 pro interface, 1 - process-id, 5 - area-id 
ROUTER(config-if)#ipv6 ospf authentication ipsec spi 500 md5 // IPsec autentizace
zobrazeno: 58715krát | Komentáře [10]

Autor:

Související články:

Routing - směrování

Směrování paketů mezi jednotlivými počítačovými sítěmi (LAN) se provádí technikou zvanou routing. Používají se k tomu různé routovací protokoly. Routing je jedna ze základních částí komunikace v internetu.

Cisco IOS

Velký seriál o operačním systému aktivních prvků firmy Cisco.

Pokud se chcete vyjádřit k tomuto článku, využijte komentáře níže.

Komentáře

  1. [1] davro

    OSPF nepodporuje MPLS. Je pouze jedním z protokolů, které jsou použitelné ke spolupráci s LDP. (pod pojmem "podporuje" bych chápal to, že by byl schopen distribuovat labely, což nedělá)

    Pátek, 10.04.2009 01:44 | odpovědět
  2. [2] Samuraj

    odpověď na [1]davro: Děkuji za info. S MPLS nemám žádné zkušenosti. Absolvoval jsem pouze krátký seminář a z něj jsem si odnesl následující informaci (doufám, že správnou).

    Pro výpočet/údržbu routovacích tabulek v MPLS se používá link-state IGP (jako OSPF nebo IS-IS). Protokol LDP (Label Distribution Protocol) spravuje značky (label) a vazby mezi routami a značkami. Na Control Plane pak běží dohromady LDP (nebo alternativní protokol) a IGB (třeba OSPF).

    Pátek, 10.04.2009 15:27 | odpovědět
  3. [3] davro

    odpověď na [2]Samuraj: To je správně. Nicméně to neznamená podporu MPLS, protože toho se dá dosáhnout s libovolným protokolem.

    Podporou MPLS bych rozumněl takovou situaci, kdy bude OSPF distribuovat i značky, čehož by asi modifikací protokolu šlo dosáhnout.

    Nicméně přístup s odděleným protokolem pro distribuci značek je hezčí, protože není nutné modifikovat směrovací protokol a funguje v podstatě s každým protokolem.

    Pátek, 10.04.2009 17:36 | odpovědět
  4. [4] tomfi

    odpověď na [3]davro:

    myslím, že by nebyl dobrý nápad nechat ospf distribuovat labely.

    1. jedná se o LS, tedy informace o labelech, které se "per-hop" mění by byly zbytečně a nefektivně ve všech databázích (ls protokoly distribuují všechny informace do celé sítě (chápej area))

    2. labely nemají nic společného s výměnou směrovacích informací směrovacími protokoly, ale spíše s používanou směrovací tabulkou. Ta jak víme přímo s tím co máme za informace v ospf nesouvisí :)

    Neděle, 12.04.2009 22:42 | odpovědět
  5. [5] tomfi

    odpověď na [3]davro:

    myslím, že by nebyl dobrý nápad nechat ospf distribuovat labely.

    1. jedná se o LS, tedy informace o labelech, které se "per-hop" mění by byly zbytečně a nefektivně ve všech databázích (ls protokoly distribuují všechny informace do celé sítě (chápej area))

    2. labely nemají nic společného s výměnou směrovacích informací směrovacími protokoly, ale spíše s používanou směrovací tabulkou. Ta jak víme přímo s tím co máme za informace v ospf nesouvisí :)

    Neděle, 12.04.2009 22:42 | odpovědět
  6. [6] davro

    odpověď na [5]tomfi:

    2. to není tak úplně pravda, labely se mohou přidělovat podle různých kritérií, třeba i podle mac adres nebo staticky (a vytvářet tak EoMPLS). Nicméně ve speciálních případech by se modifikované OSPF pro distribuci labelů dalo použít (např. v síti běží jako směrovací protokol pouze OSPF a všechny další routy jsou redistribuovány do OSPF). Ale asi je zřejmé, že samostatný protokol je nezávislejší a tudíž lepší.

    Pátek, 17.04.2009 14:31 | odpovědět
  7. [7] thead

    Este by som pridal ze existuje aj NSSA totally stubby area, je to Cisco extension, ktora automaticky generuje defaultnu routu O*N2 , nieje nutne davat area x nssa default-information originate na ABR,potom do NSSA je advertisovana iba ta routa, O IA su supresnute na ABR.

    Středa, 22.04.2009 22:36 | odpovědět
  8. [8] Thead

    K network types, existuje este point-to-multipoint nonbroadcast, opat cisco proprietarny,rozdely oproti standardu su tie ze funguje na WAN sietach kde nieje povoleny broadcast/multicast, pri tomto mode sa musia konfigurovat susedia rucne (na hube),a elekcia DR/BDR nieje vyzadovana

    Středa, 22.04.2009 22:40 | odpovědět
  9. [9] vlastis

    Ahoj,

    posilam drobne doplneni clanku o par poznatku:

    aby se routery staly sousedy, hello paket musí mít shodné hodnoty - dalsi nutna podminka je shodne MTU, ale to plati pro vetsinu routovacich protokolu.

    Typ site Point-to-multipoint (PtoM) - jeden interface, který se připojuje k více cílům - je potreba manualne zvolit DR, ten ktery je hubem

    to co dal pises je obejiti pomoci subinterfacu

    jinak diky za prehledne shrnuti

    Středa, 22.02.2012 22:06 | odpovědět
  10. [10] Josef

    Ahoj, chtěl bych se zeptat kdo je autorem algoritmu OSPF

    Díky za odpověď

    Čtvrtek, 12.09.2019 12:14 | odpovědět
Přidat komentář

Vložit tag: strong em link

Vložit smajlík: :-) ;-) :-( :-O

Nápověda:
  • maximální délka komentáře je 2000 znaků
  • HTML tagy nejsou povoleny (budou odstraněny), použít se mohou pouze speciální tagy (jsou uvedeny nad vstupním polem)
  • nový řádek (ENTER) ukončí odstavec a začne nový
  • pokud odpovídáte na jiný komentář, vložte na začátek odstavce (řádku) číslo komentáře v hranatých závorkách