LINUXSOFT.cz Přeskoč levou lištu
Uživatel: Heslo:  
   CZUKPL

> OSPF - 3

Miniseriál o OSPF ukončíme povídáním o problémech v praxi a alternativním routovacím softwaru.

13.10.2008 07:00 | Radim Kolář | Články autora | přečteno 6582×

Alternativní software

Kromě programu OpenOSPFd obsaženého v OpenBSD existují i jiné Open Source implementace protokolu OSPF: XORP a Quagga. S programem Quagga se setkáte i v novějších verzích Solarisu, naopak ostatní komerční Unixy používají z historických důvodů gated.

XORP

Program XORP je na konfiguraci poněkud složitější než OpenOSPFd nebo Quagga. Před vlastní konfigurací protokolu OSPF musíme nakonfigurovat rozhraní a forwardovací engine. Obě tyto sekce jsou nakonfigurovány tak, aby po shutdownu XORP ponechaly routing nastavený. Tato vlastnost je velmi užitečná pokud se na router přihlašujete vzdáleně a chce jej restartovat. Bez těchto voleb bychom se po zastavení xorp již na router díky nenastavenému routingu nedostali. Další sekce definuje exportní politiku. V xorp je exportní politika narozdíl od ostatních programů vyžadována a pokud není uvedena, neexportuje se nic. Ostatní programy obvykle pokud není uvedeno jinak exportují přímo připojená rozhraní automaticky.

Další věcí, na kterou bych chtěl upozornit je router-id. V protokolu OSPF je každý router identifikován svým jednoznačným identifikátorem. Tyto identifikátory mohou být sice libovolné, ale musí být v celé síti jednoznačné. Pokud jednoznačné nejsou, vytvoří se routing chybně. Většina programů proto z důvodu minimalizace selhání způsobené lidským faktorem generuje router-id automaticky na základě IP adresy připojených rozhraní. Používají se dvě metodiky: nejmenší nebo největší z IP adres.

interfaces {
    restore-original-config-on-shutdown: false
    interface bridge0 {
        disable: false
        default-system-config
    }
    interface ed0 {
        disable: false
        default-system-config
    }
}

fea {
    unicast-forwarding4 {
        disable: false
        forwarding-entries {
            retain-on-startup: false
            retain-on-shutdown: true
        }
    }
}

policy {
    policy-statement connected {
        term export {
            from {
                protocol: "connected"
            }
        }
    }
}

protocols {
    ospf4 {
        router-id: 10.0.0.2
        export: "connected"

        area 0.0.0.1 {
            interface bridge0 {
                vif bridge0 {
                    address 10.0.0.2 {
                        authentication {
                            md5 1 {
                                password: "secret";
                            }
                        }
                    }
                }
            }
        }
    }
}

Quagga

Pravděpodobně nejrozšířenějším opensource softwarem pro OSPF routing je Quagga, který je již dnes běžnou součástí linuxových dister. Quagga se podobně jako Zebra konfiguruje ve dvou souborech: zebra.conf pro konfiguraci rozhraní a ospfd.conf pro konfiguraci OSPF. Nastavení hodnot password a password-encryption souvisí s přístupem na router, ne s hesly pro OSPF, ta se nastavují v sekci interface pomocí ip ospf message-digest-key.

zebra.conf:

!
! Zebra configuration saved from vty
!   2007/09/02 12:06:42
!
hostname zabokuch
password 8 pYfD8aRJxbmLM
log syslog
service password-encryption
!
interface eth0
 ip address 10.0.0.3/24
 multicast
 ipv6 nd suppress-ra
!
interface lo
!
!
line vty
!

ospfd.conf:

!
! Zebra configuration saved from vty
!   2007/12/06 19:15:50
!
hostname cursa-ospf
password 8 iNFXnZeZbIXJ6
log syslog notifications
service password-encryption
!
!
!
interface bridge0
 ip ospf authentication message-digest
 ip ospf message-digest-key 1 md5 secret
!
interface eth0
 ip ospf authentication message-digest
 ip ospf message-digest-key 1 md5 secret
!
interface lo
!
interface tap0
!
router ospf
 log-adjacency-changes
 network 10.0.0.0/24 area 0.0.0.1
 area 0.0.0.1 authentication
!
line vty
!

OSPF a problémy

Technologie dynamického routování pomocí protokolu OSPF má taky své nedostatky. OSPF protokol, zejména jeho implementace state machine, je kriticky závislá na bug free implementaci příslušných RFC. Aby to nebylo tak jednoduché, tak protokol OSPF byl navržen dost košatě a proto bývá těžké ho implementovat bez chyb. Realita je taková, že téměř každá implementace OSPF obsahuje různé chyby.

Pokud se desynchronizují OSPF routery a každý tak obsahuje rozdílnou mapu sítě, je to dost problém. Routery tento druh desynchronizace nejsou schopny detekovat a nepomůže ani ruční restart postiženého routeru. Pro opravení tohoto stavu je potřeba postupně restartovat všechny routery oblasti (u nás to je area 0.0.0.1), což je dost nemilá událost pokud routery v oblasti počítáte na destíky. Můžete si sice vytvářet více menších oblastí, ale to zase bude mít za následek méně optimální routing.

Bugovost implementací OSPF

Implementace v routerech Cisco a Juniper jsou všeobecně pokládány za nejspolehlivější. Jsou dostatečně bugfree, aby zvládly i nasazení v náročných podmínkách, kde se potřebuje maximalizovat síťový uptime. Pokud si je můžete finančně dovolit, lze je jen doporučit. Pokud ovšem máte finance na to, aby byli všude Cisca, budete pravděpodobně také provozovat místo OSPF spolehlivější IS-IS.

O chybovosti implementaci OSPF vestavěné ve Windows nemám k dispozici žádné údaje, za své praxe jsem se ještě nesetkal s nikým kdo by to používal jinak než na testování.

Situace v Open Source implementacích rozhodně není ideální. Nejbugovější je OpenOSPFd, který čas od času spadne na SEGFAULT (jeho spouštění z initu je víceméně pro provoz na routeru nutnost), a poměrně dost často se desynchronizuje. Podrobnější informace o chybách v OpenOSPFd byly v minulém článku. Quagga je na tom lépe -- ta na segfault nepadá a často se nedesynchronizuje.

XORP 1.4 je poměrně kvalitní OSPF implementace (zejména ve spojení s patchemi v CVS). Po zhruba ročním provozu se mi u něj nestalo, že by se desynchronizoval. XORP má ale dva zásadní problémy:

  1. pokud za běhu systému odeberete interface na kterém běží OSPF tak to už nerozchodí a pokud ho restartujete tak ho chybějící interface vyvede z míry tak, že pro jistotu nejde vůbec.
  2. obsluha chyb není příliš optimální. Na většinu neočekávaných network io chyb routovacá proces pro daný protokol reaguje assert ukončením. To je nemilá záležitost zejmnéna protože hlavní proces rtmgr neumí takto ukončený routovací proces znovu nastartovat bez kompletního restartu XORPu. Problémem je také jak tento stav automaticky detekovat abychom v tomto případě restartovali XORP automaticky. Já jsem si byl nucen za tímto účelem napsat packet sniffer, který restartuje XORP pokud zdetekuje neocházející OSPF packety. Toto řešení mohu doporučit.

Tak na jakého favorita si vsadíte? Osobně vkládám největší naděje do projektu XORP, tam stačí už jen zlepšit obsluhu různých chybových stavů, což už není tak moc práce. Současnou verzi XORP 1.5 jsem ještě zatím podrobněji netestoval.

Open Source nefunguje?

Je překvapivé, že žádný Open Source projekt není schopný dodat kvalitní implementaci protokolu OSPF, která by se dala s klidem nasadit do produkce kde si nemůžeme dovolit výpadky. Řekl bych, že je to otázka motivace. Pokud si vyvíjíme routovací software jako svůj koníček, tak si se čtyřdevítkovou dostupností moc velkou hlavu neděláme. Stačí, že je to víceméně funkční a rychlý. Pokud jsme ale na software závisí naše příjmy a například musíme platit zákazníkům za network downtime, tak je naše motivace k vytvoření bugfree routovacího software mnohem vyšší.

Alternativy k OSPF

Pokud nepočítáme poněkud zastaralý protokol RIP jsou k protokolu OSPF dvě spolehlivější alternativy: BGP a IS-IS. BGP protokol je pro intranet routing poměrně nevhodný. Jeho nevýhodou je náročnější konfigurace, nutnost ruční změny konfigurace při každé změně v topologii sítě a generování méně optimálního routingu, což je dáno remote distant vector algoritmem. Narozdíl od IS-IS existují poměrně spolehlivé open source BGP implementace. Je to dáno především tím, že BGP je mnohem jednoduší protokol než OSPF.

Protokol IS-IS je v současnosti poměrně dost oblíben mezi poskytovateli připojení k internetu a to zejména vzhledem větší provozní spolehlivosti oproti OSPF, které i s implementacemi na Ciscách a Juniperech čas od času vypadne. IS-IS umí Junipery, Cisca a vývojová verze programu Quagga.

Verze pro tisk

pridej.cz

 

DISKUZE

Nejsou žádné diskuzní příspěvky u dané položky.



Příspívat do diskuze mohou pouze registrovaní uživatelé.
> Vyhledávání software
> Vyhledávání článků

5.3.2017 19:12 /Redakce Linuxsoft.cz
PR: 23. března proběhne v Praze konferenci na téma Cloud computing v praxi. Hlavními tématy jsou: Nejžhavější trendy v oblasti cloudu a cloudových řešení, Moderní cloudové služby, Infrastruktura současných cloudů, Efektivní využití cloudu, Nástrahy cloudových řešení a jak se jim vyhnout.
Přidat komentář

27.2.2017 22:12 /František Kučera
Pozvánka na 137. sraz OpenAlt – Praha: Tentokrát jsme si pro vás připravili neobvyklou akci. Ve středu 1.3. v 17:30 nás přivítá sdružení CZ.NIC ve svých prostorách v Milešovské ulici číslo 5 na Praze 3, kde si pro nás připravili krátkou prezentaci jejich činnosti. Následně navštívíme jejich datacentrum pod Žižkovskou věží. Provedou nás prostory, které jsou běžnému smrtelníkovi nedostupné!
Po ukončení prohlídky se všchni odebereme do hostince U vodoucha, Jagelonská 21, Praha 3 pochutnat si na některém z vybraných piv či dát si něco na zub. Rezervaci máme od 19:30, heslo je OpenAlt.
Ale pozor! Do prostor datového centra máme omezený přístup, dostane se tam pouze 10 lidí! Takže kdo přijde dříve, ten má přednost, a občanky s sebou! Kdo nebude chtít na prohlídku datového centra, může se pomalu přesunout do hostince U vodoucha a u nepřeberné nabídky piv počkat na ostatní.
Přidat komentář

18.1.2017 0:49 /František Kučera
Členové a příznivci spolku OpenAlt se pravidelně schází v Praze a Brně. Fotky z pražských srazů za uplynulý rok si můžete prohlédnout na stránkách spolku. Příští sraz se koná už 19. ledna – tentokrát je tématem ergonomie ovládání počítače – tzn. klávesnice, myši a další zařízení. Také budete mít příležitost si prohlédnout pražský hackerspace Brmlab.
Přidat komentář

8.1.2017 17:51 /František Kučera
Máš rád svobodný software a hardware nebo se o nich chceš něco dozvědět? Přijď na sraz spolku OpenAlt, který se bude konat ve čtvrtek 19. ledna od 18:30 v pražském hackerspacu Brmlab. Tentokrát je tématem srazu ergonomie ovládání počítače – tzn. klávesnice, myši a další zařízení. K vidění bude mechanická klávesnice dasKeyboard, trackball Logitech nebo grafický tablet (a velký touchpad) Wacom. Přineste i vy ukázat svoje zajímavé klávesnice a další HW. V 18:20 je sraz před budovou, v 18:30 jdeme společně dovnitř, je tedy dobré přijít včas. Podle zájmu se později přesuneme do nějaké restaurace v okolí.
Přidat komentář

1.12.2016 22:13 /František Kučera
Máš rád svobodný software a hardware nebo se o nich chceš něco dozvědět? Přijď na sraz spolku OpenAlt, který se bude konat ve čtvrtek 8. prosince od 18:00 v Radegastovně Perón (Stroupežnického 20, Praha 5). Sraz bude tentokrát tématický. Bude retro! K vidění budou přístroje jako Psion 5mx nebo Palm Z22. Ze svobodného hardwaru pak Openmoko nebo čtečka WikiReader. Přijďte se i vy pochlubit svými legendami, nebo alespoň na pivo. Moderní hardware má vstup samozřejmě také povolen.
Komentářů: 1

4.9.2016 20:13 /Pavel `Goldenfish' Kysilka
PR: Dne 22.9.2016 proběhne v Praze konference Cloud computing v praxi. Tématy bude např. nejnovější trendy v oblasti cloudu a cloudových řešení, provozování ERP v cloudu, o hostování různých typů softwaru, ale třeba i o zálohování dat nabízeném podnikům formou služby.
Přidat komentář

1.9.2016 11:27 /Honza Javorek
Česká konference o Pythonu, PyCon CZ, stále hledá přednášející skrz dobrovolné přihlášky. Máte-li zajímavé téma, neváhejte a zkuste jej přihlásit, uzávěrka je již 12. září. Konference letos přijímá i přednášky v češtině a nabízí pomoc s přípravou začínajícím speakerům. Řečníci mají navíc vstup zadarmo! Více na webu.
Přidat komentář

27.8.2016 8:55 /Delujek
Dnes po 4 letech komunitního vývoje vyšla diaspora 0.6.0.0
diaspora* je open-source, distribuovaná sociální síť s důrazem na soukromý
Více v oficiálním blog-postu
Přidat komentář

   Více ...   Přidat zprávičku

> Poslední diskuze

24.3.2017 11:54 / Hui
country cottages

16.3.2017 16:33 / BezvaDesign.cz
Re: Hledám grafika do teamu

9.3.2017 11:44 / Jaromir Obr
Re: chyba

18.1.2017 20:18 / martin horky
Spolupraca linuxu a microsoftu

17.1.2017 9:57 / Pavel Hrubeš
Re: Externí USB televizní karta

Více ...

ISSN 1801-3805 | Provozovatel: Pavel Kysilka, IČ: 72868490 (2003-2017) | mail at linuxsoft dot cz | Design: www.megadesign.cz | Textová verze