advanced eigrp

Cisco Routing 2 - EIGRP - Enhanced Interior Gateway Routing Protocol
Druhý díl o routování, se zaměřením na konfigurace Cisco zařízení, se věnuje proprietálnímu protokolu firmy Cisco Enhanced Interior Gateway Routing Protocol (EIGRP).

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.

Článek byl upraven podle připomínek Tomfiho. Děkuji.

Vlastnosti EIGRP
proprietálním Cisco protokol, rozšíření staršího IGRP, jedná se o rozšířený (Advanced) Distance-Vector Routing Protocol, obsahuje i některé vlastnosti z link-state routing protokolu
používá DUAL algoritmus - Diffusing Update based algorithm
proti IGRP - rychlejší konvergence, větší rozšiřitelnost, smyčky jsou téměř vyloučeny (díky DUAL algoritmu) - zasílá pouze změny, neperiodicky
jedná se o classless protokol, používá CIDR a VLSM (variable length subnet masks) - jako masku zasílá délku prefixu pro každý cílový subnet
sestavuje vztahy se sousedy zvané sousedství (adjacency), sousedy objevuje pomocí Hello paketů, které se zasílají každých 5s na rychlých a 60s na pomalých linkách
aby dva routery mohly být sousedy, tak musí být členy stejného AS (Autonomous system) a mít stejné K values (konstanty pro výpočet metriky), také stejná verze EIGRP (zatím se nepoužívá), interface na stejném subnetu, stejný MD5 hash
defaultně používá autosumarizaci přes classful hranice - zajišťuje, aby routovací tabulky byly co nejvíce kompaktní, můžeme vypnout no auto-summary, to je třeba v případě, kdy máme nespojitý adresní prostor (při sumarizaci by se zahrnuly i adresy, které jsou mimo naši síť)
můžeme použít manuální sumarizaci per interface, jako cíl (destination) se nastaví Null0
podporuje IP, IPv6, IPX, AppleTalk
maximálně zabere (v defaultním nastavení) 50% propustnosti interfacu (údaj získává z bandwidth)
metrika je pomocí 32 bitových hodnot, většinou se používá pouze šířka pásma a delay
metric = ([(K1 * bandwidth) + [(K2 * bandwidth) ÷ (256 - load)] + (K3 * delay)] * [K5 ÷ (reliability + K4)]) * 256 = cca = (bandwith + delay) * 256
pokud router nemá žádný feasible successor, tak se přepne do aktivního stavu a dotáže se sousedů
Stuck In Active (SIA) - stav, kdy je cesta v aktivním stavu, router odešle Query a v určitém stavu neobdrží odpověď, v tom případě EIGRP vyřadí tyto sousedy
routovací tabulky (update směrovací informace) se předávají pomocí multicastu na 224.0.0.10, pokud je to možné, jinak se použije unicast (opakování nepotvrzeného updatu, rozhranní bez podpory multicastu, ručně zadaní sousedé)
nestejnoměrné vyvažování zátěže (unequal cost path load balancing) - používá proměnnou variance, standardně se zvolí cesta s nejmenší metrikou (FD), pokud je takových cest více (mají stejné FD), tak se použije stejnoměrné rozvažování; pokud zadáme variance, tak se použijí všechny cesty, které mají metriku menší než variance*minimální metrika do cíle (metrika <= variance*FD). Použijí se ale pouze cesty, které jsou feasible successor, tedy pro které platí RD<FD (=cesta od souseda do cíle je menší než nejkratší cesta).
Základní termíny EIGRP
Successor - primární routa k cíli, ukládá se do routovací tabulky, může být více succesorů ke stejnému cíli
Feasible Successor - záložní cesta (backup route), ukládá se do tabulky topologie, může být více feasible succesorů ke stejnému cíli, její RD je menší než FD současné nejlepší cesty
Reported Distance (RD) - nebo také Advertised Distance (AD), je nejnižší celková metrika (vzdálenost) podél cesty do cílové sítě (přes succesory) zaslaná sousedem
Feasible Distance (FD) - je RD + cena k dosažení souseda, který zaslal RD
Feasibility Condition (FC) - je dostačující podmínka k dosažení sítě bez smyček, používá se při volbě succesora a feasible succesora, říká, že pokud je RD < FD pro určitý cíl, tak leží na cestě bez smyček
Pakety posílané v EIGRP
Hello - multicast, zasílání nespolehlivě (nevyžaduje potvrzování), objevování sousedů (discover), identifikace nefunkčních routerů, posílá (interval) se každých 5s na rychlých linkách nebo každých 60s, hold time pro hello paket je 3 x hello interval
Acknowledgement - unicast, nespolehlivě, hello bez dat s číslem potvrzení
Query - multicast, doručování spolehlivě, zasílá se při přepnutí do aktivního stavu
Reply - unicast, doručování spolehlivě, odpověď na query
Update - multicast, doručování spolehlivě (reliably), zprostředkovává dostupnost, soused si pomocí nich sestaví topology table
Tabulky pro EIGRP
routovací (routing) - nejlepší routy do destinací
topologie (topology) - routovací záznamy do všech destinací
sousedé (neighbor) - informace o sousedních routerech (adjacent)
Stub Routing
používá se pro topologii Hub and Spoke (model kola - střed kola a paprsky, obdoba topologie hvězda)
jako stub se konfigurují pouze remote routers (spoke)
jako sousedi stub routeru by měli být pouze EIGRP hub routers (distribution)
snižuje využití zdrojů, zvyšuje síťovou stabilitu a zjednodušuje konfiguraci stub routeru
Stub router směruje pakety pouze do sítě, kterou explicitně zveřejnil, proto mu Hub router neposílá Query
stub router oznamuje (advertised) pouze summary a connected routes
neptáme se stub routeru na jich routy
Schéma Stub Routingu
Příkazy Cisco IOSu pro konfiguraci EIGRP
ROUTER(config)#router eigrp 100 // zapnutí EIGRP, 100 = číslo AS

ROUTER(config-router)#network 10.1.10.0 0.0.0.255 // které interfacy se zapojí do EIGRP (podle čísla sítě), u masky se používá wildcard mask
ROUTER(config-router)#no auto-summary // vypnutí autosumarizace
ROUTER(config-router)#variance number // nestejnoměrné rozvažování (unequal cost path load balancing), akceptuje vše < min_metric*variance
ROUTER(config-router)#distance eigrp 80 130 // změna AD, slouží k zabránění smyčkám mezi vice AS při vícecestné redistribuci, 80 = internal-distance, 130 = external-distance
ROUTER(config-router)#passive-interface serial0/0 // neoznamuje routovací informace na daném interface - přestane vysílat i přijímat hello pakety (tedy routovací updaty)

ROUTER(config-router)#eigrp stub // posílá sumární a přímo připojené routy
ROUTER(config-router)#eigrp stub receive-only // neposílá nic
ROUTER(config-router)#eigrp stub connected // posílá pouze přímo připojené routy
ROUTER(config-router)#eigrp stub static // posílá pouze statické routy
ROUTER(config-router)#eigrp stub summary // posílá pouze sumární

ROUTER(config-if)#ip summary-address eigrp 100 192.1.0.0 255.255.0.0 // manuální definice sumarizace, 100 = číslo AS
ROUTER(config-if)#bandwidth 56 // max. kbits datový tok interfacem, pro určování metriky
ROUTER(config-if)#ip bandwidth-percent eigrp 1 200 // kolik procent může využít EIGRP, AS = 1, 200% (počítá se z bandwidth)
ROUTER(config-if)#ip authentication mode eigrp 1 md5 // Autentizace pro EIGRP na interfacu (je třeba ještě definovat klíče)
ROUTER(config-if)#ip authentication key-chain eigrp 1 name

ROUTER#show ip eigrp traffic // statistiky EIGRP paketů
ROUTER#show ip eigrp topology // zobrazí záznamy z tabulky topologie
zobrazeno: 41702krát | Komentáře [10]

Autor: Petr Bouška
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.