User Tools

Site Tools


wiki:site:cisco:ospf:start

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
wiki:site:cisco:ospf:start [2016/01/18 22:16]
root vytvořeno
wiki:site:cisco:ospf:start [2018/01/24 20:51] (current)
root
Line 1: Line 1:
-=== OSPF (RFC 2328)=== +====== OSPF - Open Shortest Path First ====== 
-  * routing table tabulka známých cesta interfaců +//(RFC 2328)// 
-  * LSA Link-state advertisement pomocí LSA si routery vyměňují informace o svých interfacech (stavipbw) + 
-  * Topological database - router si sestavuje "mapu" celé sítě z ijatých LSA +===== Úvod do OSPF ===== 
-  * SPF Shortest Path First kalkuluje strom z pohledu routeru plní routing table +  * Link state routovací protokol 
-  * Updaty se posílají jen při změně topologie +  * hiearchický design možnost segmentace sítě (Areas) 
-  * Rychlá konvergence + 
-  * možnost authentikace rout +Link state: 
-  * Classless, VLSM +  - neighbor discovery 
-  * Náročnější na systémové prostředky (RAM,CPU) a obsluhu+  - topology database exchange - naplnění LSDB 
 +  - route computation - SPF Algorithm 
 + 
 +LSDB obsahuje: 
 +  * info o existenci indentifikátoru všech routerů (router ID) 
 +  * interface, IP adress, mask, subnet 
 +  * list dostupných routerů přes každý router na každém interfejsu 
 + 
 +Hiearchický model OSPF: 
 +{{ :wiki:site:cisco:ospf-hyearchical-model.png?direct&800 |}} 
 +  * rozdělení na různé area 
 +  * 1 area (0) je backbone a jsou do ní připojeny všechny ostatní 
 +  * paket, který má má projít z jedné non-backbone area do jiné, musí vždy projít Area0 
 +  * ABR - Area Border Router 
 +  * ABR tvoří hranici mezi areami 
 +  * ABR udržuje LSDB všech area do kterých je připojen 
 +  * ABR mezi areami nepřenáší podrobné informace o tolpologii 
 +  * ABR přenáší jen info o subnetech a délce prefixu, subnety se tak z perspektivy vnitřních routerů tváří jako přímo připojené k ABR 
 +  * díky rozdělení sítě lze snížit nároky na výpočet topologie (CPU,Mem,přenos topolog. informací) 
 + 
 +Přehled Pojmů: 
 +  * LSDB Link State Database informace o topologii udržované routerem 
 +  * SPF Shortest Path First algoritmus analyzující data v LSDB 
 +  * LSU Link State Update - název OSPF paketu obsahujícího detailní topolog.informace, konkrétně LSA 
 +  * LSA Link State Advertisement - OSPF struktura dat obsahující topolog.informace, je v paměti LSDB a vyměňují si ji routery v síti pomocí LSU zpráv 
 +  * Area - skupina routerů a interfaců, která si vyměňuje podrobné topologické informace. Neučí se nic topologii z jiných Areas . 
 +  * ABR Area Border Router - routerkterý má interfacy v různých areách. 
 +  * Backbone router - routerkterý má alespoň jeden interface v Area 0 
 +  * Internal routers - router, který má všechny interfacy jen v jedné area 
 +  * DR Designated Router - Zvolený router v multiaccess síti, který má zvláštní funkci i zpracování LSA 
 +  * BDR Backup Designated Router monitoruje DR je připraven převzít jeho úlohu v případě poruchy 
 + 
 +Konfigurace: 
 +  **router ospf //process-id//** - číslo procesu nemá vliv na sestavení sousedství 
 +  - **network //net-id wildcard-mask// area //area-id//** - subnet se zařadí do connected sítí a router rozešle OSPF Hello zprávy z interfaců v daném subnetu 
 +  - volba aktivních interfaců probíhá porovnáváním IP a wildcard masky s IP adresou interfacu 
 +  - nezávisle na pořadí při konfiguraci, router ukládá //network// záznamy dle nejspecifičtější (nejvíce nul) wildcard masky - ta je první. 
 +  - pořadí network příkazů v **show running-config** se porovnávají IP interfejsů a první souhlas určuje Area id interfacu 
 + 
 +Příklad - Network matching: 
 +  * na R2 je vidět že most-specific network příkaz má vždy přednost 
 +  * S0/0/1 je tedy v Area 1 
 + 
 +{{ :wiki:site:cisco:ospf-network-matching.png?direct&600 |}} 
 + 
 +RID Router ID: 
 +  - Použije se RID definované příkazem **router-id //x.x.x.x//** 
 +  - Nejvyšší IP adresa up/up Loopbacku 
 +  - Nejvyšší IP adresa up/up non-Loopback interfejsu 
 + 
 +Verifikace OSPF 
 +  - Zjistit na kterých int. je zapnuto OSPF 
 +  - Ověřit zda o sobě vědí sousední routery (neighborship) 
 +  - Ověřit obsah topology table non-ABR routerů, zda obsahují data jen ze své Area 
 +  - Ověřit zda jsou dostupné všechny routy 
 + 
 +>Router# **show ip ospf interface brief** 
 +>Router# **show ip protocols** 
 +>Router# **show ip ospf neighbors** 
 +>Router# **show ip ospf database** 
 +>Router# **show ip route** 
 + 
 +OSPF Shrnutí: 
 +  * **Transport** - IP, protocol type 89 (nepoužívá UDP ani TCP) 
 +  * **Metric** - kumulovaná cena(odv.od šířky pásma) všech výstupních interfaců v cestě (routě), lze explicitně stanovit 
 +  * **Hello interval** - interval vysílání Hello zpráv na interfacu 
 +  * **Dead interfval** - slouží k odhalení závady souseda když od něj určitou dobu nepříjmáme žádné zprávy 
 +  * **Update destination address** - 224.0.0.5 (všechny SPF routery)224.0.0.6 (všechny Designated routery) 
 +  * **Full or partial updates** - full updaty jen při zjištění nového souseda, jinak partial updaty 
 +  * **Authentication** - MD5 nebo clear-text 
 +  * **VLSM/classless** - každá routa obshuje masku, podpora nespojitých sítí a VLSM 
 +  * **Route tags** - umožňují OSPF označkovat routy dle způsobu jakým byly redistribuovány do OSPF 
 +  * **Next-hop field** - podpora distribuce rout s rozdílnou next-hop adresou 
 +  * **Manual route sumarization** - podpora sumarizace pouze na ABR routerech 
 + 
 +====== OSPF Neighbors on LAN ====== 
 + 
 +Hello zprávy: 
 +  * na interfacu musí být zapnuté OSPF (globálním příkazem **network** nebo na interfejsu **ip ospf area**) 
 +  * interface nesmí být nastaven jako pasivní (příkazem **passive-interface**) 
 +  * multicast 224.0.0.5 
 + 
 +Obsah Hello zpráv: 
 +  * OSPF RID 
 +  * Stub area flag 
 +  * Interface specific settings: 
 +    * Hello interval 
 +    * Dead interval 
 +    * Subnet mask 
 +    * list of neighbors reachable on interface 
 +    * Area ID 
 +    * Router priority 
 +    * DR IP address 
 +    * BDR IP address 
 +    * Authentication digest 
 + 
 +Podmínky navázání sousedství: 
 +  * primární IP interfaců musí být ve stejném subnetu 
 +  * connected interface nesmí být pasivní 
 +  * musí být ve stejné Area 
 +  * Hello a Dead timer musí být stejný 
 +  * unikátní RID 
 +  * IP MTU musí souhlasit 
 +  * musí projít authentikace (je-li nastaveno) 
 +  * (OSPF process-ID nemá vliv) 
 + 
 +**show ip ospf neighbor** States: 
 +  * FULL/.. - znamená plnohodnotný sousedský ztah, kompletní výměna topo informací napřímo 
 +  * 2WAY/.. - funkční sousedský vztah, topo se vyměnuje prostřednictvím DR 
 +  * FULL/DR 
 +  * FULL/BDR 
 +  * 2WAY/DROTHER 
 + 
 +===== Hello and Dead Timers ===== 
 + 
 +  * **Hello interval** - (def. 10 s) definuje jak často jsou vysílány Hello zprávy 
 +  * **Dead timer** - (def. 40 s) definuje jak dlouho router čeká než vyřadí souseda, pokud od něj nechodí hello zprávy 
 +  * Selhání interfacu - všechny OSPF sousedy dostupné přes int. router považuje za failed bez čekání na vypršení Dead timeru 
 +  * nastvím-li jen hello interval, změní se automaticky i dead interval na 4x hello 
 + 
 +>Router(config-if)# **ip ospf hello-interval** //sekundy// 
 +>Router(config-if)# **ip ospf dead-interval** //sekundy// 
 +>**show ip ospf interface fa0/0 ** 
 +>**show ip ospf neighbors** 
 + 
 +>//Nastavi dead-interval na 1s, hello na 1/4s// 
 +>Router(config-if)# **ip ospf dead-interval minimal hello-multiplier** //4// 
 + 
 +===== Router-ID ===== 
 +Určuje se v tomto pořadí: 
 +  - hodnota nastavená příkazem **router-id** 
 +  - nejvyšší IP up/up Loopbacku 
 +  - nejvyšší IP up/up non-Loopback interface 
 + 
 +  * musí být **unikátní** 
 +  * dle RID se identifikují routery v topo databázi 
 +  * OSPF proces nemůže nastartovat bez RID 
 +  * mají-li dva routery stejné RID, nenavážou spolu sousedství 
 +  * ostatní routery s oběma routery se shodným RID naváží sousedství, avšak routy si natáhnou od toho se kterým sousedili jako s prvním 
 + 
 +===== Shodné IP MTU ===== 
 +  * shodné MTU je podmínkou pro funkční sousedství ! 
 +  * defaultně 1500 byte, z důvodu limitu ethernetu na 1526 byte 
 +  * je-li potřeba přenést větší paket, router jej buď zahodí nebo fragmentuje 
 +  * je-li v IP hlavičce nastaven bit DF (don't fragment)router paket zahodí 
 +  * není-li DF nastaven, router paket fragmentuje na dva či více menších 
 + 
 +Mají-li routery rozdílné MTU: 
 +  * ve výpisu sousedů **sh ip ospf neighbors** je vidět soused s měnícím se statusem (EXSTART,INIT,DOWN) 
 +  * soused tedy je vidět v tabulce sousedů 
 +  * k výměně topo informací však nedochází !!! 
 + 
 +===== OSPF Authentikace ===== 
 +  * authentikují se všechny OSPF zprávy 
 +  * routery používají pre-shared-key 
 +  * MD5 otisk klíče+zprávy je v každé zprávě 
 +  * nesouhlasí-li otisk přijaté zprávy s otiskem vytvořeným z lokálního klíče příjemce, je zpráva zahozena 
 +  * selže-li autentikace, nelze ani navázat sousedství, protože neautentifikované Hello zrávy jsou zahazovány 
 +  * neumožňuje jako EIGRP time-based klíče 
 +  * pro změnu klíče je dobré na všech routerech přidat nový klíč s jiným id než měl starý poté starý klíč smazat 
 +  * pokud je na interfejsu nastaveno více klíčů jsou OSPF zprávy vysílány pro každý klíč zvlášť 
 +  * např. jsou-li na int. dva klíče, odesílají se všechny OSPF zprávy dvakrát 
 + 
 +Tři typy auth.: 
 +  * **type 0** - no authentication (default) 
 +  * **type 1** - clear text  
 +  * **type 2** - MD5, jediná rozumná metoda pro skutečné nasazení 
 + 
 +Konfigurace: 
 +>//Type 0 - none// 
 +>Router(config-if)# **ip ospf authentication null** 
 + 
 +>//Type 1 - per-interface// 
 +>Router(config-if)# **ip ospf authentication** 
 +>Router(config-if)# **ip ospf authentication-key** //key-value// 
 +>//Type 1 - Globálně// 
 +>Router(config-router)# **area** //area-id// **authentication** 
 + 
 +>//Type 2 - per-interface// 
 +>Router(config-if)# **ip ospf authentication message-gigest** 
 +>Router(config-if)# **ip ospf message-digest-key** //key-number// **md5** //key-value// 
 +>//Type 2 - Globálně// 
 +>Router(config-router)# **area** //area-id// **authentication message-digest** 
 + 
 +>//key-value// - maximálně 16 znaků 
 + 
 +>**show ip ospf interface** 
 +>**show ip ospf neighbor** 
 +>**debug ip ospf adjacency** 
 + 
 +====== OSPF Neighbors on WAN ====== 
 +FIXME  
 +str.162 
 + 
 + 
 + 
 +==== Command reference ==== 
 +>router(config)#router ospf <process-id> 
 +>router(config-router)#network <ip-address> <wildcard> area <id> 
 + 
 +>show ip protocols 
 +>show ip route 
 +>show ip ospf 
 +>show ip ospf neighbor 
 +>show ip ospf interface 
 + 
 +>debug ip ospf packet 
 +>debug ip ospf hello 
 +>debug ip ospf adj 
 + 
 +Plain text authentikace per Area: 
 +>Router(config)# **router ospf** //1// 
 +>Router(config-router)# **area** //0// **authentication** 
 +>Router(config)# **interface** //fa 0/0// 
 +>Router(config-if)# **ip ospf authentication-key** //password// 
 + 
 +Plain text authentikace per Interface: 
 +>Router(config)# **interface** //fa 0/0// 
 +>Router(config-if)# **ip ospf authentication** 
 +>Router(config-if)# **ip ospf authentication-key** //password// 
 + 
 +MD5 authentikace per Area: 
 +>Router(config)# **router ospf** //1// 
 +>Router(config-router)# **area** //0// **authentication message-digest** 
 +>Router(config)# **interface** //fa 0/0// 
 +>Router(config-if)# **ip ospf message-digest-key** //10// **md5** //password// 
 + 
 +MD5 authentikace per Interface: 
 +>Router(config)# **interface** //fa 0/0// 
 +>Router(config-if)# **ip ospf authentication message-digest** 
 +>Router(config-if)# **ip ospf message-digest-key** //10// **md5** //password// 
 + 
 +Tuninng - priority: 
 +>Router(config)# **interface** //fa 0/0// 
 +>Router(config-if)# **ip ospf priority** //<0-255>// 
 +>Router# **clear ip ospf process** 
 + 
 +Tuninng - Router ID: 
 +>Router(config)# **router ospf** //1// 
 +>Router(config-router)# **router id** //<ip-address>// 
 +>Router# **clear ip ospf process** 
 + 
 +Tunning - Loopback: 
 +>Router(config)# **interface** //Loopback 1// 
 +>Router(config-if)# **ip address** //10.10.10.10 255.255.255.255// 
 + 
 +Tunning - Bandwidth/Cost: 
 +>Router(config)# **interface** //ser 0/0/0// 
 +>Router(config-if)# **bandwidth** //64// 
 +nebo: 
 +>Router(config-if)# **ip ospf cost** //1562// 
 + 
 +Tunning - Refernece BW pro linky > 100Mbps: 
 +>Router(config)# **router ospf** //1// 
 +>Router(config-router)# **auto-cost reference-bandwidth** //10000// (max.rychlost v Mbps) 
 + 
 +Propagace default-route (ta je pak v RT ostatnich routeru oznacena E2*O): 
 +>Router(config)# **router ospf** //1// 
 +>Router(config-router)# **default-information originate** 
 + 
 +Inter Area sumarizace na ABR: 
 +>Router(config)# **router ospf** //1// 
 +>Router(config-router)# **network 192.168.10.64 0.0.0.3 area 1** 
 +>Router(config-router)# **network 192.168.10.68 0.0.0.3 area 1** 
 +>Router(config-router)# **network 10.10.10.10 0.0.0.255 area 0** 
 +>Router(config-router)# **area 1 range 192.168.10.64 255.255.255.248** 
 + 
 +Load Balancing (jen equal-cost, 1-16 smeru, def.4): 
 +>Router(config)# **router ospf** //1// 
 +>Router(config-router)# **maximum-paths** //<1-16>//
wiki/site/cisco/ospf/start.1453151779.txt.gz · Last modified: 2016/01/18 22:16 by root