Technologie sítí WAN (CCNA4) Směrování a směrovací protokoly 30. března 2007 Autoři: Marek Lomnický (xlomni00@stud.fit.vutbr.cz) Vladimír Veselý (xvesel38@stud.fit.vutbr.cz)
Obsah 1 Co je směrování?... 2 2 Typy směrování... 2 2.1 Statické směrování... 2 2.1.1 Konfigurace statického směrování... 3 2.1.2 Kontrola konfigurace statického směrování... 3 2.1.3 Odstraňování problémů se statickým směrováním... 4 2.2 Dynamické směrování... 4 3 Směrovací protokoly... 5 3.1 Distance vektor... 5 3.2 Link-state... 5 3.3 Výběr cesty... 6 3.4 Konfigurace na routeru... 7 3.5 Interior a Exterior gateway protocols... 7 3.5.1 Interior routing protocols... 7 3.5.2 Exterior routing protocols... 7 3.6 Srovnání protokolů... 8 1
1 Co je směrování? Směrování je proces zjištění cesty mezi dvěma sítěmi. Děje se na 3. (síťové) vrstvě ISO OSI modelu na základe cílové adresy umístěné v hlavičce každého paketu, přičemž jsou do něj zapojené jednotlivé směrovače mezi zdrojovou a cílovou destinací. Proces směrování na směrovači má následující postup: 1) paket přijde na rozhraní směrovače, 2) směrovač vyhledá v směrovací tabulce záznam určující výstupní rozhraní cílové sítě, případně adresu dalšího směrovače na cestě k cílové adrese, 3) jak se záznam pro cílovou síť v tabulce: a) nachází, směrovač pošle paket dál zvoleným rozhraním b) nenachází a) a je nakonfigurovaná tzv. default route, směrovač pošle paket rozhraním, které tato default route určuje b) směrovač paket zahodí a zdrojovému zařízení pošle ICMP zprávu o nenalezení cesty 2 Typy směrování Proces směrování uvedený v kapitole Co je směrování? úzce souvisí se směrovací tabulkou, která obsahuje výstupní rozhraní všech sítí, které směrovač pozná. Vkládání těchto záznamů se děje buď staticky příkazy iniciovanými administrátorem a nebo dynamicky pomocí směrovacích protokolů. 2.1 Statické směrování Jedná se o směrování na základe statických záznamů v směrovací tabulce. Tyto záznamy přidává zpravidla ručně administrátor pomocí příkazů na konkrétním zařízení. Naproti tomu, že konfigurace statického směrování je velmi jednoduchá a rychlá, samotné směrování má několik nevýhod: - administrátor musí znát topologii sítě; - jakoukoli změnu v topologii sítě je nutné aplikovat ručně na každém se směrovačů, což je v případě velkých sítí velmi náročné; - složitá správa už při malých sítích. Právě kvůli těmto nevýhodám je statické směrování využívané jen ve velmi specifických případech a většinou v kooperaci se směrováním dynamickým. Každá cesta k síti v směrovací tabulce má kromě jiného uvedenou i tzv. administrativní vzdálenost. Jedná se o údaj, který určuje její spolehlivost, přičemž každá statická cesta má administrativní vzdálenost implicitně rovnu 0. Pokud existují 2 cesty do té samé sítě, má přednost ta, která má administrativní vzdálenost nižší. 2
Default route je staticky definovaná cesta, která se použije v případě, že se záznam o cílové adrese paketu nenachází v směrovací tabulce. Její použití je časté v hraničních směrovačích, které jsou do sítě připojené jediným rozhraním. rozhraní, které využíva default route 2.1.1 Konfigurace statického směrování Konfigurace statického směrování zahrnuje několik příkazů a vykonává se vždy administrátorem v konfiguračním režimu na směrovači. Přidání nové statické cesty do směrovací tabulky se vykonává příkazem ip route <adrese_sítě> <maska_sítě> <výstupní_rozhraní> ip route <adrese_sítě> <maska_sítě> <další_směrovač> Pokud chce administrátor změnit implicitní administrativní vzdálenost, uvede ji jako poslední parametr výše uvedeného příkazu. Cesta typu default route se nakonfiguruje výše uvedeným příkazem, přičemž se jako adrese sítě uvede síť 0.0.0.0 a jako maska sítě se uvede 0.0.0.0. Vyplývá to z procesu výběru cesty, když nad cílovou adresu přijatého paketu vykoná logický součin s maskou v směrovací tabulce. Tento součin se potom porovná se sítí uvedenou v tabulce. Příklad: ip route 0.0.0.0 0.0.0.0 serial 0/1 2.1.2 Kontrola konfigurace statického směrování Na zobrazení aktuální konfigurace směrovače je možné použít příkaz show running-config Na zobrazení směrovací tabulky se všemi cestami (i statickými, i dynamickými) slouží příkaz show ip route 3
2.1.3 Odstraňování problémů se statickým směrováním Na ověření dostupnosti cílového zařízení slouží příkaz ping <cílová_adresa> Zobrazit jednotlivé směrovače, kterými musí paket projít do cílového zařízení umožňuje příkaz traceroute <cílová_adresa> 2.2 Dynamické směrování Dynamické směrování je proces směrování odlišný od statického v mnohých aspektech. Jeho základ tvoří použití směrovacích protokolů jako jsou RIP, IGRP, OSPF a pod. Každý z těchto protokolů tvoří komunikaci mezi směrovačemi a umožňuje šíření informací týkající se sítí. Každá z těchto informací se využívá při aktualizovaní směrovací tabulky a celý proces se děje plně automaticky bez nutnosti zásahu administrátora. Oproti statickému směrování má dynamické následující hlavní výhody: - administrátor nemusí znát aktuální topologii sítě; - jakékoli změny v topologii sítě se automaticky okamžitě šíří prostřednictvím směrovacích protokolů na všechny zařízení, které následně flexibilně na tyto změny zareagují; - naproti složitější počítačové konfiguraci (v závislosti na zvoleném směrovacím protokolu) je potom administrace o mnoho jednodušší jako v případě statického směrování. Směrovací protokoly slouží na správu směrovacích tabulek v určité autonomní oblasti, což je oblast sítí s dohodnutou strategií správy. Autonomní oblast slouží na rozdělení velkých sítí na menší a teda i lehčeji spravovatelné sítě, přičemž každé oblasti je přidělený jednoznačný identifikátor např. v formě čísla. Podle toho, jestli protokoly pracují vevnitř této oblasti a nebo mezi oblastmi, dělí se na interní a externí. interní směrovací protokol autonomní oblasti externí směrovací protokol 4
3 Směrovací protokoly 3.1 Distance vektor Protokoly z této rodiny fungují tak, že sousední zařízení si v pravidelných intervalech či při topologické změně (obvykle výpadek zařízení) vyměňují svoje kompletní kopie směrovacích tabulek. Na základě obsahu těchto updateů doplňují nové informace a inkrementují své distance vektor číslo (které je obvykle i metrikou udávající počet hopů k dané síti). Nevýhodou je, že zařízení znají topologii sítě jen na základě informací od svých bezprostředních sousedů. Systém budování směrovacích tabulek na základě práce těchto protokolů je následující: 1. Přímo připojené sítě k danému zařízení mají distance vektor číslo rovno 0; 2. Distance vektor číslo jiné než přímo připojené sítě je získáno extrakcí ze směrovacích tabulek bezprostředních sousedů s tím, že je vždy inkrementováno o jedničku; 3. Spolu s distance vektor číslem obsahuje směrovací tabulka i jiné údaje obvykle celkovou metriku pro danou síť (kde se bere v potaz krom hopů i šířka pásma, zatížení linky, zpoždění a spolehlivost) a zejména logickou adresu prvního zařízení (typicky routeru) na cestě k dané síti; 3.2 Link-state Protokoly z této rodiny udržují kompletní informace o topologii dané sítě zařízení jsou si vědoma všech ostatních zařízení na síti. Díky tomu je nutné udržovat podstatně více informací než jen směrovací tabulku, typicky ještě minimálně topologickou databázi, která je vystavěna pomocí tzv. LSAs (Link-state advertisments), jež si mezi sebou routery vyměňují. Tato dodatečná režie se projevuje následovně: Routery potřebují více paměti a procesorového času; 5
Šířka pásma je na začátku značně vytížena (link-state packet flooding) inicializační tvorbou směrovacích a topologických tabulek, na druhou stranu po této fázi je provoz na síti již minimální; Při výběru nejvhodnější cesty se využívá SPF algoritmus, který topologii sítě chápe jako strom (s aktuálním routerem jakožto kořenem) a hledá nejkratší cestu od kořene ke koncovému listu, který reprezentuje cílovou síť. Při jakékoli změně topologie (příbytek nového zařízení, některé se zařízení spadlo, změna linky) dojde k zaslání LSA detekovaným zařízením (typicky routerem) všem ostatním zařízením na síti, čímž dojde k přepočítání a k úpravě směrovacích tabulek tak, aby odráželi nově vzniklou situaci. Konvergence je tedy rychlejší než u rodiny protokolů distance vektor, které jsou odkázány na postupné šíření informace v případě změny. 3.3 Výběr cesty Výběr správné cesty je vždy zcela v režii zařízení, které daný paket zpracovává. 1. Rámec se rozbalí na síťové (network) vrstvě na paket; 2. Prozkoumá se cílová (destination) IP adresa v hlavičce paketu; 3. Porovná se obsah směrovací tabulky s hledanou adresou a zvolí se nejvhodnější následující zařízení podle druhu směrovacího algoritmu, na které je paket poslán; 4. Paket se zabalí na rámec, kterému je přidělena nová cílová MAC adresa následujícího zařízení; 5. Rámec se odešle pryč správným rozhraním; 6
3.4 Konfigurace na routeru Příkazem router <protocol> se v módu konfigurace terminálu všeobecně spouští dynamické směrování. Příkazem network <net-portion> v módu konfigurace směrovacího protokolu se určuje, do kterých sítí se budou směrovací informace šířit. (config)#router rip (config)#router igrp 1 (config)#router eigrp 1 (config)#router ospf 1 Protokoly RIP v1 a IGRP fungují na třídním směrování, tzn. <net-portion> určují na základě implicitních masek té či oné třídy, do které síť patří. Což znamená: (config-router)#network 10.20.30.0 V případě použití výše zmiňovaných třídních protokolů se bude informace šířit do sítě 10.0.0.0 na základě implicitní masky /8 třídy A, v případě užití beztřídních protokolů pak bude záležet na nastavených maskách podsítě na jednotlivých rozhraních. 3.5 Interior a Exterior gateway protocols 3.5.1 Interior routing protocols Tyto jsou určeny pro sítě, které se nacházejí pod administrativní správou jedné organizace. Základním účelem těchto protokolů je vyhledání optimální trasy (použití metrik a různých algoritmů pracujících s těmito metrikami) k cíly v rámci daného segmentu sítě. Typickými zástupci jsou: RIP, E-/IGRP, OSPF, IS-IS 3.5.2 Exterior routing protocols Jsou navrženy tak, aby dynamicky směrovaly a spojovaly sítě, které se nadcházejí pod administrativní správou různých subjektů. Typicky se používají mezi dvěma různými poskytovateli internetového připojení (ISP) a nebo mezi vstupním bodem segmentu sítě a ISP pro tuto síť. Typickými zástupci jsou: BGP, EGP3 7
3.6 Srovnání protokolů Název Typ Druh Metrika U-I-H-F Poznámky RIPv1 IGP Distance vector Hops (max.15) 30-180-180-240 classful, broadcast update RIPv2 IGP Distance vector Hops (max.15) 30-180-180-240 classless, multicast 224.0.0.9 RIPng IGP Distance vector Hops (max.15) 30-180-180-240 podpora IPv6 IGRP IGP Distance vector Rovnice 24b 90-270-280-630 chybí VLSM EIGRP IGP Hybrid Rovnice 32b multicast update 224.0.0.10 OSPFv2 IGP Link-state SPF multicast update 224.0.0.[5-6] OSPFv3 IGP Link-state SPF podpora IPv6 MOSPF IGP Link-state SPF plně mutlicastový, nepoužívá se IS-IS IGP Link-state Dijkstra pracuje nezávisle na IP Dual IS-IS IGP Link-state Dijkstra pracuje na TCP/IP FSPF IGP Link-state pro sítě s optickou kabeláží BGP EGP Path vector path, netpolicies, rulesets standardizovaný EGP3 EGP Path vector historický přežitek E-/IGRP používají následující rovnici pro zjištění metriky: K 2 + bandwidth K5 K 1 bandwidth + + K3 delay 256 load reliability + K 4 Přičemž implicitně jsou konstanty nastaveny následovně: K 1 = 1, K 2 = 0, K3 = 1, K 4 = 0, K5 = 0 OSPF a IS-IS používají stejný algoritmus k vyhledání nejkratší možné cesty k cíly. Protokol OSPF je sice populárnější na druhou stranu není tak univerzální jako IS-IS, který je vhodný i pro velmi rozsáhlé sítě. Zatímco OSPF podporuje autonomní systémy s maximálně 50 routery, IS-IS zvládá systémy až s 1000 routery. 8