OSPF multi-area adjacency Martin Hlozák, Daniel Gryžbon Abstrakt: Tato práce poslouží jako studijní dokument popisující teoretické a praktické využití nasazení oblastí v interním směrovacím protokolu OSPF na síťových prvcích CISCO. Klíčová slova: OSPF, stub, NSSA, totally stubby area, multi-area adjacency Obsah: 1 Úvod... 2 1.1 OSPF... 2 1.2 OSPF oblasti... 2 1.2.1 Backbone area... 3 1.2.2 Standard (regular) area... 3 1.2.3 Stub area... 3 1.2.4 Totally stubby area... 3 1.2.5 Not-so-stubby area (NSSA)... 3 1.2.6 Totally stubby not-so-stubby area... 3 2 Multi-area adjacency... 4 2.1 Multi-area možnosti konfigurace... 4 2.2 Nejvhodnější řešení... 5 3 Praktický příklad... 6 4 Použitá literatura... 9 květen 2013 1/9
1 Úvod V této semestrální práci se budeme snažit popsat výměnu routovacích záznamů v sítích s dynamickým protokolem OSPF mezi oblastmi. Termín pro toto označení se nazývá Multi-Area adjacency. 1.1 OSPF Open Shortest Path First (OSPF) routovací protokol je jeden z běžně nejpoužívanějších interních směrovacích protokolů (IGP) v IP sítích. Jedná se o otevřený standard založený na RFC2328, patří mezi tzv. Link State protokoly, tedy protokoly, které na rozdíl od Distance Vector protokolů si udržují kompletní topologickou databázi celé sítě. Posléze se spouští nad touto tabulkou SPF algoritmus, který vypočte nejvhodnější cesty do daných sítí a umístí je do routovací tabulky. Protokol OSPF používá metriku označovanou jako cena (cost). Síť, ve které běží OSPF a je pod jednou administrativní jednotkou se nazývá autonomní systém (AS) a ten může být celistvý či rozdělený na oblasti (Area). 1.2 OSPF oblasti Pokud je síť, ve které běží OSPF nedělená na oblasti a je příliš velká, tzn. obsahuje velký počet směrovačů, tak pouhá malá změna na jednom směrovači vyvolá šíření LSU a LSAck paketů v celé síti. Navíc po každé změně je nutné na všech směrovačích provést výpočet SPF algoritmu. Například rozhraní směrovače na kartě může vyvolat neustálou výměnu informací a tedy i výpočtu, které by výkonově postihly všechny směrovače a linky. Druhý případ je například, pokud chceme snížit objem distribuovaných směrovacích záznamů mezi směrovači a tak zmenšit požadavky na velikost paměti RAM směrovače, ve které jak víme, se uchovává momentální routovací tabulka. Z těchto důvodů je tedy dobré využít síly OSPF protokolu, která tkví v možnosti rozdělit síť na oblasti. Tímto se omezí šíření LS paketů a také výpočet SPF algoritmu pouze na jednu oblast. Směrovače pak uvnitř oblasti mají kompletní routovací záznamy o všech cestách pouze v této oblasti, zatímco do jiné oblasti či sítě mímo vlastní oblast, znají pouze zesumarizovaný záznam či používají defaultní routu, to vše a víc se odvíjí od typu oblasti. Typy oblastí: Backbone area (area 0) páteřní oblast Standard area Stub area Totally stubby area Not-so-stubby area (NSSA) Běžně se očekává při správném návrhu oblastí, že páteřní oblast je souvislá a všechny ostatní oblasti jsou přímo k ní připojeny. V některých případech ale může nastat, že páteřní oblast je nesouvislá nebo ty ostatní oblasti nejsou přímo připojeny k ní. V takových situacích se může využit prvku, kterým disponuje OSPF a tím je Virtual Links. Doporučeno je mít v oblasti maximálně 50 směrovačů a každý směrovač by měl být maximálně ve třech oblastech. květen 2013 2/9
1.2.1 Backbone area Také páteřní oblast je vždy značená jako oblast 0 a při návrhu a konfiguraci se to musí respektovat. Všechny ostatní oblasti jsou k ní připojeny. Má stejné vlastnosti jako standard area. Backbone směrovač, jen ten směrovač, který má alespoň jedno rozhraní připojené do páteřní oblasti 1.2.2 Standard (regular) area Je původní oblast, která vznikne bez konkrétnější specifikace při konfiguraci typu oblasti. Přijímá sumarizaci záznamů, externí cesty a aktualizace linek. Všechny regulární oblasti musí být připojené do backbone oblasti. Prakticky vzato je to jakákoliv jiná oblast než 0. 1.2.3 Stub area Tento typ oblasti nepřijímá informaci o externích cestách do jiného AS. Pokud směrovač uvnitř této oblasti potřebuje zaslat paket do jiného AS, musí využít defaultní cesty 0.0.0.0, který je směrovaný na nejbližší ABR. Stub oblasti neobsahují typ směrovače ASBR. Tato oblast blokuje LSA 4 a 5. Typicky se používá v síti hub-and-spoke. 1.2.4 Totally stubby area Je Cisco proprietární typ oblasti, která nepřijímá informace o externích cestách do jiného AS a také zesumarizované cesty z jiných oblastí v témže AS. Opět pro komunikaci mimo oblast využije defaultní cesty 0.0.0.0 na ABR. Tato defaultní cesta je propagována celou oblastí. Tato oblast také neobsahuje typ směrovače ASBR. Blokuje LSA 3, 4 a 5. Z hlediska efektivity je vždy vhodnější užít této oblasti před klasickou stub oblastí. 1.2.5 Not-so-stubby area (NSSA) Podobně jako Stub oblast blokuje LSA 4 a 5, ale NSSA povoluje použití směrovače typu ASBR v oblasti oproti stub oblasti. Tuto oblast použijeme v případě, kdy chceme šířit externí cesty z jiného AS v oblasti při zachování vlastnosti stub oblasti. Umožňuje tedy vložit do stub oblasti externí cesty do jiných AS, které jsou následně šířeny do backbone oblasti. Jen v této oblasti vzniká speciální LSA typu 7, které se šíří jen v této oblasti od ASBR k ABR. Mimo tuto oblast se poté šíří už jako typ LSA 5. 1.2.6 Totally stubby not-so-stubby area Je to Cisco proprietární řešení NSSA. Opět povoluje použití směrovače typu ASBR v oblasti, ale zakazuje přijmutí sumarizovaných cest z jiných oblastí v témže AS a navíc také příjímání externích cest. Tato oblast tedy blokuje LSA typu 3, 4 a 5. Chová se jako Totally stubby area s prvkem NSSA. Defaultní cesta se zde používá, aby bylo možné dosáhnout sítě mimo tuto oblast. květen 2013 3/9
Obrázek č. 1: Tabulka vlastností jednotlivých oblastí. 2 Multi-area adjacency Je schopnost od OSPFv2 umožnit lince býti nakonfigurována na primárním rozhraní tak, aby se nacházela ve více oblastech a byla chápana jako Intra-area v těchto oblastech, tzn. bude s ní nakládáno jako by se jednala o Intra-area linku, ač samotná trasa vede do jiné oblasti a navíc bude více preferována před ostatními Intraarea linkami. Problémem je taky, že Intra-area záznamy jsou upřednostněny před Inter-area záznamy. Jsou situace, kdy máme jednu vysokorychlostní linku mezi dvěma oblastmi ABR směrovače, tehdy užijeme multiarea adjacency, kde tato linka může ležet v různých oblastech. Je třeba rozeznávat dva typy naučených cest Intra-area a Inter-area: Intra-area Jsou cesty, které pocházejí a jsou naučené směrovačem ze stejné oblasti. Tyto naučené cesty se označují ve směrovací tabulce jako O Inter-area Jsou cesty, které pocházejí a jsou sířeny z jiné oblasti pomocí ABR. Směrovače si tyto cesty uloží do směrovací tabulky jako O IA Po zprovoznění takového rozhraní se naváže Point-to-Point nečíslovaná Unnumbered linka, je třeba, aby tyto rozhraní byly stejného typu (např. serial). Unnumbered rozhraní je rozhraní bez nakonfigurované IP adresy, kterou si ale vypůjčí z již jiného nakonfigurovaného rozhraní. 2.1 Multi-area možnosti konfigurace Je několik možností, jak přimět rozhraní, aby existovalo ve více oblastech. Stejné rozhraní může být nakonfigurované ve více oblastech pomocí sekundární IP adresy. Nevýhoda toho přístupu je ta, že potřebuje další IP adresu, to znemožní použití unnumbered rozhraní a způsobí vyšší počet směrových záznamů ve směrovací tabulce. Pokud by byla použita pouze jedna IP adresa, tak neduhy z předešlého způsobu by se odstranili. Bylo květen 2013 4/9
by nutné ale použít stejný subnet. Třetí způsob je použití unnumbered rozhranní v těchto oblastech. Area ID je použit k demultiplexování přijímaného paketu. Při tomto způsobu nejsou podporované sítě s mnohonásobným přístupem. Tato limitace může být překonána pomocí s podporou Point-to-Point operation over LAN in link-state routing protocols = P2PLAN. Tehdy, ale není možné nakonfigurovat rozhraní jako unnumbered. 2.2 Nejvhodnější řešení Směrovače typu ABR vybudují mnohonásobný vztah k jiným oblastem. Každý multi-area vztah je brán jako Point-to-Point unnumbered linka. Tato linka poskytuje topologickou cestu pro tuto oblast. Na PtP síti jsou pakety zaslány na multicastovou adresu AllSPFRouters 224.0.0.5. Potom co je paket přijat se porovnává verze OSPF a AREA ID. Pokud AREA ID souhlasí, paket je připuštěn a od této chvíle je asociován s multiarea vztahem k této oblasti. Příkaz: ip router ospf instance-tag multi-area area-id no ip router ospf instance-tag multi-area area-id květen 2013 5/9
3 Praktický příklad Jelikož tento projekt na téma OSPF multiarea adjacency nebylo možno konfigurovat na obyčejných fyzických Cisco zařízení, protože ho IOS nepodporoval, museli jsme si stáhnout virtuální router a ten navirtualizovat pomocí virtualizačním programu. Pro realizaci OSPF multiarea adjacency jsme našli 60-ti denní trial verzi virtuálního cloud routeru CSR1000V který je dostupný zde [3]. Pro stažení souboru je nutné provést registraci. Na výše uvedeném odkazu jsou k dispozici tři soubory v jiných formátech. Pro naše účely jsme volili soubor s příponou.iso. Nejdříve jsme zkoušeli tento image spustit v programu Virtualbox, avšak nedošlo ke kompatibilitě s tímto souborem. Proto jako virtualizační program jsme využili VMware Workstation verze 8.0.6. Tento program jsme opět stáhli jako trial verzi. Stažení je možno zde [4]. Opět je nutná registrace na webových stránkých VMware pro stažení tohoto programu. Pozn. Jako operační systém jsme volili Xubuntu a to proto, že systém Windows 7 velice dlouho komprimoval iso soubor cca 1-2hodiny. V operačním systému Xubuntu bylo toto hotovo do 10min. Po stažení programu VMware, provedeme instalaci: sudo -i chmod +x <jmeno souboru> // povolení systémových práv./<jmeno souboru> // spustění instalace programu Pozn. Je nutné být ve složce, kde se soubor nachází. Spuštění VMware: Při spustění programu zvolíme File>New Virtual Machine. Dále program nastavíme podle obrázků níže: Obrázek č. 2: Zvolení instalace. Obrázek č. 3: Vložení ISO souboru. květen 2013 6/9
Při vytvoření nového virtualizačního systému zvolíme možnost instalace Typical (recommended). Poté je nutné vložit stažený ISO soubor. Obrázek č. 4: Rozdělení virtuálního disku Obrázek č. 5: Rozdělení virtuálního disku Maximální kapacitu disku můžeme nechat na velikosti 8GB a zvolíme možnost rozdělit virtuální disk do více souborů (split virtual disk into multiple files). V dalším kroku volíme jako operační systém další (other) a verzi OS nápodobně. Obrázek č. 6: Přizpůsobení hardware. Obrázek č. 7: Nastavení velikosti RAM. Před spuštěním virtuálního stroje je nutné zvýšit kapacitu operační paměti a přidat podle potřeby další síťová rozhraní. To provedeme klepnutím na přizpůsobit hardware (customize hardware). Doporučuji nastavit maximální možnou paměť pro virtuální směrovač. květen 2013 7/9
Obrázek č. 8: Nastavení síťového adaptéru. Obrázek č. 9: Přidání virtuálního rozhraní. Proto, aby nám rozhraní správně fungovalo, je potřeba nastavit u síťového adaptéru specifickou virtuální síť (specific virtual network) podle obrázku č. 7. Dále je můžeme podle potřeby přidávat další rozhraní pro virtuální směrovač. To provedeme tlačítkem přidat (add) a vybereme nový síťový adaptér (network adapter). Opět ke správnému fungování je potřeba nastavit speciální virtuální síť podle obrázku č. 8. K dispozici je možno nastavit až deset virtuálních sítí VMnet0 - VMnet9. Obrázek č. 10: Volba konzole. Při klepnutí na tlačítko finish a spuštění virtuálního směrovače se nám objevila volba spuštění konzole. Volíme Virtual Console. Později se opět budeme tázání zde dvou voleb zvolíme packages.conf. Nyní je nutné přemostit virtuální rozhraní směrovače na fyzické rozhraní síťové karty počítače. Jak již bylo výše zmiňováno k dispozici je deset virtuálních rozhraní VMnet0 - VMnet9. Každé toto virtuální rozhraní musí být přidruženo k jednomu fyzickému rozhraní (např. eth0). Konfigurace níže je opět prováděna pod operačním systémem Xubuntu: květen 2013 8/9
brctl addbr br1 // vytvoření bridge s názvem br1 brctl addif br1 vmnet8 // přidání virtuálního rozhraní vmnet8 brctl addif br1 eth0 // přidání fyzického rozhraní eth0 ip link set br1 up // nahození bridge s názvem br1 brctl addbr br2 // vytvoření bridge s názvem br1 brctl addif br2 vmnet1 // přidání virtuálního rozhraní vmnet 1 brctl addif br2 eth1 // přidání fyzického rozhraní eth1 ip link set br2 up // nahození bridge s názvem br2 Pozn. Jeden bridge slouží pro jedno rozhraní směrovače. Konfigurací jsme zprovoznili dvě rozhraní směrovače. Tímto je směrovač připravený k použití. Co se týče verze virtuálního směrovače, zjistili jsme, že OSPF multi-area adjacency není podporovaná ve stažené verzi 3.9.0aS. Funkci OSPF multi-area adjacency je možné nakonfigurovat na vyšší verzi (4.2) virtuálního směrovače. I přes naší snahu, nebylo možné vyšší verzi virtuálního směrovače stáhnout, protože nejnovější dostupná verze 3.9.0aS byla z dubna 2013. Nicméně tento postup pro virtualizaci směrovače je korektní. 4 Použitá literatura [1] TEARE, Diane. Implementig Cisco IP Routing (ROUTE): Foundation Learning Guide. Indianapolis, IN 46240 USA: Cisco Press, 2010. ISBN 978-1-58705-882-0. [2] RFC 5185: OSPF Multi-Area Adjacency. [online]. 2008 [cit. 2013-05-20]. Dostupné z: http://tools.ietf.org/html/rfc5185 [3] Cisco Nexus 1000V Series Switches. Http://software.cisco.com [online]. 2013 [cit. 2013-05-21]. Dostupné z: http://software.cisco.com/download/release.html?mdfid=284364978&flowid=39582&softwareid=28204 6477&release=3.9.0aS&relind=AVAILABLE&rellifecycle=ED&reltype=latest [4] VMware Workstation 8.0. Https://my.vmware.com/ [online]. 2013 [cit. 2013-05-21]. Dostupné z: https://my.vmware.com/web/vmware/info květen 2013 9/9