Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
vyuka:cviceni:y36sps:semestralky:papaij1 [2008/05/02 09:44] – papaij1 | vyuka:cviceni:y36sps:semestralky:papaij1 [2008/05/28 09:42] (current) – papaij1 | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ======Konfigurácia | + | ======Konfigurácia dynamického smerovania na routroch Cisco====== |
==Ján Pápai== | ==Ján Pápai== | ||
Line 8: | Line 8: | ||
* nakonfigurovať routovací protokol EIGRP | * nakonfigurovať routovací protokol EIGRP | ||
* nakonfigurovať routovací protokol OSPF | * nakonfigurovať routovací protokol OSPF | ||
- | * | + | |
+ | =====Testovanie funkčnosti===== | ||
+ | |||
+ | Funkčnost nakonfigurovaného smerovania sa najlahšie otestuje tak, že sa ručne spôsobí výpadok niektorej linky (vytiahnutím kábla medzi smerovačmi resp. vypnutím rozhrania na routri). Sieť by mala zkonvergovať a fungovať bez problémov ďalej (overenie fukčnosti pomocou ping-u). | ||
=====Ciel práce===== | =====Ciel práce===== | ||
Line 17: | Line 20: | ||
{{http:// | {{http:// | ||
- | **Práca schválená: | + | **Práca schválená: |
+ | {{vyuka: | ||
+ | ======Popis protokolov a ich konfigurácia====== | ||
+ | |||
+ | =====Základná konfigurácia Cisco routra===== | ||
+ | |||
+ | Pred začatím konfigurácie treba vedieť ze Cisco zariadenia majú viacero módov a každý z nich umožňuje prístup k iným príkazom. Tieto módy sú: | ||
+ | |||
+ | * user mode, v konzoli spoznáme podla znaku ">": | ||
+ | * privileged EXEC mode: Router# | ||
+ | * do tohoto módu sa prepneme príkazom enable: Router> | ||
+ | * späť sa prepneme píkazom disable: Router# | ||
+ | * konfiguračný mód do ktorého sa prepneme z privileged módu, na konzoli: Router(config)# | ||
+ | * do tohoto módu sa prepneme príkazom configure terminal: Router# | ||
+ | * späť sa prepneme píkazom exit alebo Ctrl+Z | ||
+ | |||
+ | Je dobré vedieť aj to že Cisco konzola podporuje doplňovanie pomocou TAB-u ako unixový shell. Pomoc získame napísaním ?: | ||
+ | |||
+ | * ak poznáme iba začiatok príkazu, použijeme v tvare //prik?// (písané spolu) | ||
+ | * ak poznáme príkaz ale nevieme aké má ďalšie parametre/ | ||
+ | |||
+ | Väčšina príkazov má krátku verziu. Namiesto //show running-config// | ||
+ | Keď chceme zrušiť nejaký prikaz ktorý sme zadali tak pred neho napíšeme no, napr. //bandwidth 64// zrušíme pomocou //no bandwidth// | ||
+ | V Cisco routroch sú implementované programy //ping// // | ||
+ | |||
+ | |||
+ | **Základné príkazy** | ||
+ | |||
+ | * Router> | ||
+ | * Router# | ||
+ | * Router# | ||
+ | * Router# | ||
+ | * Router# | ||
+ | * Router# | ||
+ | * Router# | ||
+ | * Router# | ||
+ | * Router# | ||
+ | * Router# | ||
+ | * Router# | ||
+ | * Router# | ||
+ | * Router(config)# | ||
+ | |||
+ | **Heslá** | ||
+ | |||
+ | * Router(config)# | ||
+ | * Router(config)# | ||
+ | * Router(config)# | ||
+ | * Router(config-line)# | ||
+ | * Router(config-line)# | ||
+ | * Router(config)# | ||
+ | |||
+ | Možno nastaviť aj prístup cez SSH, postup si každý vygoogli sám :) | ||
+ | |||
+ | **Rozhrania** | ||
+ | |||
+ | * Router(config)# | ||
+ | * Router(config)# | ||
+ | * Router(config)# | ||
+ | * Router(config-if)# | ||
+ | * Router(config-if)# | ||
+ | * Router(config)# | ||
+ | * Router(config-if)# | ||
+ | |||
+ | =====EIGRP===== | ||
+ | |||
+ | ====O EIGRP==== | ||
+ | |||
+ | * Enhanced Interior Gateway Routing Protocol | ||
+ | * Distance Vector Protocol (routy sú propagované ako vektory vzdialenosti a smeru kde vzdialenosť je daná metrikou a smer je interface ktorým router pošle update) | ||
+ | * Classless Routing Protocol (v routovacích updatoch posiela masku podsiete) | ||
+ | * Cisco proprietary protocol | ||
+ | * na rozdiel od klasických distance vector protokolov (RIP, IGRP) EIGRP neposiela periodické updaty | ||
+ | * informacie o routách uchováva v routovacej tabulke a tabulke topológie kde je uložená najlepšia cesta a všetky bezsmyčkové (loop-free) záložné cesty (cesty splňujúce tzv. Feasibility Condition, viď ďalej) | ||
+ | * Autonomous-System Number je číslo pridelené pre ISP, backbone providerov, velké inštitúcie ktoré sa pripájajú pomocou BGP | ||
+ | * Autonomous-System Number v kontexte EIGRP značí číslo EIGRP procesu (na routri môže bežat viacero inštancií EIGRP), toto číslo musí byť vrámci siete rovnaké aby routre vytvorili susedstvá (adjacency) | ||
+ | * IP internal routes - cesty vrámci autonomného systému | ||
+ | * IP external routes - cesty importované do EIGRP procesu (napr. default static route) | ||
+ | * posiela tzv. partial bounded updates - posielanie updatov iba o zmenách v sieti a iba routrom ktoré novú informáciu potrebujú | ||
+ | * administratívna vzdialenosť pre EIGRP je 90, pre EIGRP summary route 5 a pre External route 170 (administratívnu vzdialenosť-AD možno chápať ako mieru dôveryhodnosti záznamu v routovacej tabulke, každý routovací protokol má inú AD a podla toho je uprednostnený pri výbere najlepšej cesty, vyberie sa cesta s menšou AD) | ||
+ | |||
+ | ====Sumarizácia==== | ||
+ | |||
+ | * napriek tomu že EIGRP je classless, defaultne sumarizuje na " | ||
+ | *toto je možné vypnúť - treba to urobiť na každom routri, príkaz viď ďalej | ||
+ | * s automatickou sumarizáciou je spojený tzv. Null0 interface - ak paket vyhovuje classful sieťovej adrese (v routovacej tabulke tzv. level 1 parent route) ale nevyhovuje ani jednej podsieti tak je poslaný na Null0 interface, tj. je zahodený | ||
+ | * Null0 interface sa v routovacej tabulke objaví vždy ak je aspoň jedna podsieť naučená via EIGRP a nie je vypnutá automatická sumarizácia | ||
+ | * siete možno po vypnutí automatickej sumarizácie sumarizovať manuálne na každom rozhraní po ktorom chceme aby posielalo sumarizovanú adresu (tj. sumarizuje sa na rozhraní) | ||
+ | |||
+ | ====EIGRP pakety==== | ||
+ | |||
+ | * EIGRP pakety sa posielajú IP/ethernet multicastom | ||
+ | * Protocol Dependent Modules (PDM) umožňujú prevádzkovať EIGRP nielen na IP sieťach ale aj na IPX a AppleTalk, na posielanie EIGRP paketov sa používa Reliable Transport Protocol (RTP) a nie TCP/UDP (IPX ani AppleTalk nemá protokoly z rodiny TCP/IP) | ||
+ | * hello packet - slúži na objavenie susedov, vytváranie susedstva, nevyžaduje odpoveď | ||
+ | * update packet - poslaný pri páde/ | ||
+ | * query packet - používa ho DUAL (viď ďalej) pri hladaní novej cesty, odpoveďou je acknowledge a následný reply packet | ||
+ | |||
+ | ====Hello protocol==== | ||
+ | |||
+ | * monituruje stav spojenia so susedmi a vyvolá update ak sa objaví nová linka alebo linka spadne | ||
+ | * hello interval - čas po ktorom router pošle hello paket (defaultne 5s), po uplynutí tohoto času je sieť unreachable | ||
+ | * hold time - čas po ktorého uplynutí sa považuje sused za down a DUAL vyhladá novú cestu (defaultne 15s, musí byť väčší alebo rovný hello intervalu) | ||
+ | |||
+ | ====Výpočet metriky==== | ||
+ | |||
+ | * EIGRP počíta metriku na základe bandwidth, delay, reliability a load (defaultne sa však používa iba bandwidth a delay) | ||
+ | * EIGRP parameters - váhy K1 až K5 ktorými sa násobia jednotlivé činitele pri výpočte metriky (defaultne má váhu 1 bandwidth a delay, ostatné sú nastavené na nulu) | ||
+ | * bandwidth - najnižšia nakonfigurovaná (viď príkaz bandwidth) šírka pásma ktoréhokoľvek rozhrania na ceste, statická hodnota, nemusí to byť reálna šírka pásma | ||
+ | * delay - suma oneskorení od zdroja k cieli, statická hodnota | ||
+ | * reliability - pravdepodobnosť že linka spadne, meria sa dynamicky (vážený priemer posledných 5min), 1/255 je najmenej spolahlivá linka, 255/255 je najspolahlivejšia linka | ||
+ | * load - dynamicky meraná vyťaženosť linky (vážený priemer posledných 5min), 1/255 je málo vyťažená linka, 255/255 je plne saturovaná linka | ||
+ | * samotný výpočet vypadá nasledovne: | ||
+ | * (referenčná hodnota bandwidth je defaultne 10.000.000 - vo výpočte dostanú rýchlejšie linky menšiu a pomalšie linky väčšiu metriku) | ||
+ | * ak sú hodnoty K a referenčný bandwidth ponechané na defaultných hodnotách tak výpočet je nasledovný: | ||
+ | |||
+ | ====DUAL==== | ||
+ | |||
+ | * Diffusing Update ALgorithm | ||
+ | * Finite State Machine, možno nakresliť stavový diagram | ||
+ | * zaisťuje rýchlu konvergenciu a bezsmyčkové cesty | ||
+ | * výpočetne náročný, aby nemusel byť často spustený predpočítava aj záložné cesty | ||
+ | * ak spadne linka, vyhladá novú v tabulke topológie, ak tam záložná cesta nie je začne posielať query pakety a podla odpovedí počítať novú routu | ||
+ | * pojmy: | ||
+ | * Successor - susedný router ktorý je na najlepšej ceste (cesta s najnižšou metrikou) k cielovej sieti | ||
+ | * Feasible Distance - najnižšia metrika k cielovej sieti | ||
+ | * Reported (Advertised) Distance - susedova Feasible Distance k cielovej sieti (metrika ktorú daný router propaguje susedom ako svoju metriku k cielovej sieti) | ||
+ | * Feasibility Condition - podmienka ktorá je splnená ak Reported Distance od suseda je menší ako môj Feasible Distance k cielovej sieti | ||
+ | * Feasible Successor - sused ktorý splňuje Feasibility Condition | ||
+ | * v tabulke topológie sa uchováva Successor, Feasible Distance a Feasible Successor-i s ich Reported Distance | ||
+ | * to že neexistuje Feasible Successor nemusí znamenať že neexistuje ani záložná cesta - v tomto prípade nastupuje DUAL s query paketmi | ||
+ | |||
+ | ====Konfigurácia EIGRP==== | ||
+ | |||
+ | * Router(config)# | ||
+ | * Router(config-router)# | ||
+ | * Router(config-router)# | ||
+ | * Router(config-router)# | ||
+ | * Router(config-if)# | ||
+ | * Router(config-router)# | ||
+ | * Router(config)# | ||
+ | * Router(config)# | ||
+ | * Router(config-router)# | ||
+ | |||
+ | **Ostatné užitočné príkazy** | ||
+ | |||
+ | * Router# | ||
+ | * Router# | ||
+ | * Router# | ||
+ | * Router# | ||
+ | * Router# | ||
+ | |||
+ | =====OSPF===== | ||
+ | |||
+ | ====O OSPF==== | ||
+ | |||
+ | * Open Shortest Path First | ||
+ | * Link-State Protocol | ||
+ | * Classless Routing Protocol | ||
+ | * každý router udržuje link-state databázu (mapa topológie) z ktorej sa pomocou Dijkstrovho algoritmu počíta SPF strom najlepších ciest a podla neho sa plní routovacia tabulka | ||
+ | * SPF schedule delay - vždy keď router obdrží informáciu o zmene topológie musí spočítať nový SPF strom, aby sa Dijkstra nespúšťal zbytočne (napr. kvôli linke ktorá neustále mení stav up-down) počká router 5s po prijatí updatu a výpočet spustí až potom; po dokončení sa začne odpočet hold time (10s) a ďalší beh SPF sa môže uskutočnit až potom | ||
+ | * administratívna vzdialenosť pre OSPF je 110 | ||
+ | * Process ID má na rozdiel od Autonomous-System Number u EIGRP lokálny význam, tj. nemusí byť rovnake na všetkých routroch | ||
+ | * na rozdiel od EIGRP nesumarizuje do classful adries | ||
+ | * router každých 30min pošle svoju link-state databázu (periodický update) | ||
+ | |||
+ | ====OSPF pakety==== | ||
+ | |||
+ | * enkapsulované do IP alebo ethernet, posielané multicastom | ||
+ | * hello packet - objavuje susedov, vytvára susedstvá, posielaný defaultne každých 10s na multi-access a point-to-point linkách | ||
+ | * database description packet - obsahuje krátky zoznam sietí z link-state databázy odosielajúceho routru a prijímajúci router si voči nemu kontroluje svoju databázu | ||
+ | * link-state request - žiadost o link-state záznamy na základe rozdielu z database description paketu | ||
+ | * link-state update - oznamuje zmeny v sieti, je to aj odpoveď na request, obsahuje tzv. link-state advertisement | ||
+ | * link-state ack - potvrdenie o prijatí updatu | ||
+ | |||
+ | ====Hello protocol==== | ||
+ | |||
+ | * slúži na objavenie susedov a vytvorenie susedstva | ||
+ | * posiela parametre na ktorých sa routre musia zhodnúť aby sa stali susedmi (hello interval, dead interval, network type) | ||
+ | * hello interval - čas po ktorom router pošle hello paket (defaultne 10s) | ||
+ | * dead interval - čas ako dlho router čaká na prijatie hello paketu, potom prehlási suseda za down - odstráni ho z link-state databázy a oznámi pád linky, defaultne 40s | ||
+ | * je použitý pri volbe designated router(DR) a backup designated router(BDR) na multiaccess sieťach (ethernet) | ||
+ | |||
+ | ====OSPF area==== | ||
+ | |||
+ | * skupina routrov ktoré medzi sebou zdielajú link-state informácie - všetky routre vrámci oblasti majú konzistentné informácie vo svojich databázach | ||
+ | * použitie jednej oblasti - single-area ospf, typicky area 0, tzv. backbone area | ||
+ | * použitie viacerých oblastí - multi-area ospf, výhodou sú menšie link-state databáze, musí existovať area 0 a ostatné k nej musia byť pripojené (prípadne pretunelované) | ||
+ | |||
+ | ====Router ID==== | ||
+ | |||
+ | * jednoznačne identifikuje router v sieti, dva routre nesmú mať rovnaké id | ||
+ | * ID má tvar IP adresy | ||
+ | * odvodzuje sa z (podla priority): | ||
+ | * pevne nakonfigurované ID | ||
+ | * najvyššia adresa ktoréhokoľvek nastaveného loopbacku na routri | ||
+ | * najvyššia adresa na fyzickom interfaci, interface nemusí routovať OSPF, stačí ak je v stave up | ||
+ | * ID sa nastaví pri pridaní prvého interfacu do routovacieho procesu, ak potom pridáme loopback alebo interface s vyššou IP tak ID zostane nezmenené | ||
+ | |||
+ | ====Volba DR a BDR==== | ||
+ | |||
+ | * iba na multiaccess linkách (typicky ethernetové LANy), point-to-point nie | ||
+ | * problémom na týchto sieťach je velké množstvo susedstiev a z toho vyplývajúce množstvo link-state oznámení | ||
+ | * riešením je volba Designated Router (DR) a Backup Designated Router (BDR) | ||
+ | * DR je zodpovedný za updatovanie ostatných OSPF routrov (DROthers) keď nastane zmena na sieti | ||
+ | * BDR prevezme úlohu DR ak ten vypadne, následne sa zvolí nový BDR | ||
+ | * volba prebieha takto: | ||
+ | * DR bude router s najvyššou OSPF interface prioritou (defaultne 1, možno meniť, vyššie číslo znamená vyššiu prioritu) | ||
+ | * BDR bude router s druhou najvyššou interface prioritou | ||
+ | * ak sa priority rovnajú rozhoduje vyššie router ID | ||
+ | * keď je DR zvolený zostane ním až kým sa nepokazí, alebo nespadne interface do multiaccess siete | ||
+ | * volba sa spustí hneď ako sa do siete pripojí prvý router s nastaveným OSPF (ten sa stane DR) | ||
+ | |||
+ | ====Cost==== | ||
+ | |||
+ | * metrika OSPF, implementácia od Cisca používa na výpočet bandwidth | ||
+ | * počíta sa na interfacoch ako 10^8/ | ||
+ | * cost pre cestu je suma costov na ceste k cielovej sieti | ||
+ | * možno ho zadať priamo (užitočné v sieťach ktoré obsahujú Cisco + non-Cisco zariadenia kde môžu non-Cisca používať iný výpočet costu) | ||
+ | |||
+ | ====Konfigurácia OSPF==== | ||
+ | |||
+ | * Router(config)# | ||
+ | * Router(config-router)# | ||
+ | * Router(config-router)# | ||
+ | * Router(config)# | ||
+ | * Router(config-router)# | ||
+ | * Router(config-router)# | ||
+ | * Router(config-if)# | ||
+ | * Router(config-router)# | ||
+ | * Router(config-if)# | ||
+ | |||
+ | **Ostatné užitočné príkazy** | ||
+ | |||
+ | * Router# | ||
+ | * Router# | ||
+ | * Router# | ||
+ | * Router# | ||
- | ~~DISCUSSION~~ |