XORP

XORP, novinka na Open Source routovací scéně

24.10.2007 07:00 | Radim Kolář | přečteno 12451×

Z historie routovacího software

Unix byl ve srovnání s ostatnímy systémy vzniklými ve stejné době značně pokrokový. Každý unix host, který měl více než jedno síťové rohraní, mohl automaticky fungovat i jako IP router a směrovat přicházející packety podle své routovací tabulky. Pokud jsme nastavovali routovací tabulku staticky, nebylo nic víc pro IP routing zapotřebí.

Velmi rychle se přišlo na to, že staticky nastavovaný routing není to ono. Při každé změně stavu sítě bylo potřeba ručně routovací záznamy upravit. Navíc u velkých sítí zejména v mesh topologii není na první pohled hned zřejmé kam co routovat a je zde nebezpečí chybně nastaveného routingu.

Routed

Prvním routovacím protokolem byl RIP realizovaný programem routed. Program routed byl velmi jednoduchý a v naprosté většině případů nepotřeboval žádnou konfiguraci. Stačilo ho jen spustit. Routed byl součástí 4.2BSD a jelikož byl pod příznivou BSD licencí tak si rychle našel cestu nejen do ostatních unixů ale i do neunixových systémů, kde byly v jeho binárce vidět copyrighty University of California. Routed ostatně v systémech FreeBSD a NetBSD přetrval dodnes. Ve většině Linux distribucí jej již dnes nenajdete a v OpenBSD 4.1 byl routed nahrazen OpenRipd.

Gated

Dalším routovacím softwarem ranných dob byl Gated. Gated si díky podpoře protokolu BGP uživatelé rychle oblíbili a nahradily své zastarávající routed moderním programem gated. Naneštěstí gated se stal brzo komerčním programem, čímž upadl v nemilost a dostal se tak na naokraj zájmu veřejnosti, kde setrvává dodnes. Gated, soudě podle jeho domovské stránky, není špatný routovací software. Umí v současné době celou řadu protokolů v IPv4 i IPv6 verzích: OSPF, BGP, IS-IS, DVMRP, PIM-SM, PIM-SSM, PIM-DM, MSDP, MP-BGP.

Zebra

A pak tu najednou bylo GNU a s ním přišla svobodná Zebra. Zebra. Zebra umí protokoly RIP, OSPF a BGP. A to v IPv4 i IPv6 variantách. Uživatelské rozhraní a konfigurace Zebry je navržena tak, aby se podobala Cisco routeru. Zebra vyplnila mezeru na trhu a po dlouhou dobu zůstávala jediným svobodným softwarem, který uměl ten nejdůležitější routovací protokol na internetu - BGP. V posledních letech se však již přestalo na Zebře pracovat protože její funkčnost považovali autoři za dostatečnou. V současné době vycházejí jen bugfixy a to ještě velmi sporadicky. V průměru na jednu bugfix verzi připadají dva roky. Zebru v dnešní době již prakticky nikdo nepoužívá.

Quagga

Nejspokojenost s pomalým vývojem Zebry vedla k vytvoření jejího forku - Quaggy, seznam podporovaných routovacích protokolů je shodný s Zebrou. Quagga je v současnosti nejpoužívanějším Open Source routovacím softwarem a nové verze vycházejí často. Když srovnáme se Zebrou počet security bugů reportovaných na serveru Secunia, tak výsledek pro Quagga není příliš povzbudivý. Zejména nepříjemné jsou security bugy v BGP daemonu, protože BGP je pro provoz AS kritické.

OpenBGPd / OpenOSPFd / OpenRIPd

Tento routovací software je součástí OpenBSD. Pro uživatele jiných operačních systémů je k dispozici portabilní verze.

XORP

Posledním hitem v Open Source routovacím softwaru je XORP. Projekt XORP je šířen pod BSD licencí a velmi štědře sponzorován firmami Intel, Google, Microsoft a Vyatta. Xorp je čas od času zmiňováno na Slashdotu, zejména ve spojení se svou schopností ve spojení s Linuxem a PC platformou zčásti konkurovat low-end produktům firmy Cisco. XORP software je totiž vyvíjen přenositelně, protože se počítá s jeho provozováním na vyhrazených routerech.

XORP si získal svou rostoucí oblibu zejména díky podpoře muticastingových routovacích protokolů. Kromě klasiky OSPF v2 v3, BGP4+, RIP v2, RIPng (Podobně jako Quagga) umí i multicast routovací protokoly PIM-SM, PIM-SSM, BidirPIM, IGMP v1 v2 v3, MLD v1 v2.

Největší výhodou XORPu oproti klasickému software Cisco či Quagga je okamžité zpracování událostí. Došlá událost je ihned zpracována, a pokud je to nutné, okamžitě odeslána na ostatní routery. Tato strategie zpracování výrazně zrychluje reakci sítě na výpadek linky a ruší tradiční 5-ti minutový network downtime, který nastává pokud se desynchronizují peerující BGP routery. Naprosto ojedinělou vlastností XORPu je možnost upgradovat routovací software beze ztráty asociace s BGP peery. Umí toto také Váš router?

Ostatní routovací software s vyjímkou MTRd historicky používá dávkové zpracování událostí, prováděné zpravidla každých 30 sekund. Dávkový způsob zpracování se používá protože znatelně snižuje zátěž procesoru a routovací software historicky počítá s pomalým CPU (např. poměrně highend Cisco 7200 router ~ 10K USD má jen 250Mhz procesor). XORP v běžném provozu (bez simulovaných výpadků linky) při testování na pomalém 230Mhz stroji zabíral průměrně 3 procenta CPU. Pro srovnání ostatní routovací software zabíral méně než jedno procento.

Podobně jako v případě Zebra/Quagga je zvolena multiprocesová architektura. Každý protokol je obsluhován samostatným procesem. Pokud je to možné, IPv4 a IPv6 verze routovacího protokolu běží v samostatných procesech.

Konfigurace routeru je narozdíl od Zebry jednotná pro všechny protokoly a provádí se nikoliv telnetem, ale programem xorpsh. CLI rozhraní programu xorpsh je modelováno podle CLI routerů firmy Juniper. Příjemné je, že tento program nevyžaduje žádná hesla. Každý, kdo jej může spustit, je oprávněn k zobrazení stavu jednotlivých routovacích protokolů. Pro změnu nebo výpis konfigurace je nutné být členem skupiny xorp. Tato koncepce se mi velice zamlouvá.

K projektu patří kvalitní dokumentace, prezentace a popis aplikačního rozhraní. Kvalita a rozsah výše zmíněných dokumentů je vynikající. Doporučuji zejména shlédnout hezkou prezentaci hlavních rysů XORP.

S XORP jsem velmi spokojen, snadno se používá, CLI rozhraní ala Juniper mi plně vyhovuje, je to moderně navržený systém, umí agregaci routovací tabuky, snadno definovatelná BGP routing politika, podporuje dokonce i MS Windows a bezchybně funguje. V další verzi, která by měla vyjít v říjnu, bude v BGP zahrnuta podpora 4-bajtových AS, zlepšená konfigurace VLANů a opraveny některé drobné chyby. Jako každý projekt, tak i XORP má i své odpůrce. Jejich názorzy si můžete přečíst na stránce Why XORP sucks.

Online verze článku: http://www.linuxsoft.cz/article.php?id_article=1497