Hlavní navigace

Proč kleknul NIX?

Jiří Peterka 18. 5. 2004

Výpadek NIXu z minulého týdne nebyl způsoben útokem ale závadou, která dala vzniknout jevu zvanému "broadcast storm". Přesná příčina není známa, stejně jako zařízení. Podobné příhody se bohužel stávají i jinde a nejde je úplně vyloučit. Náš NIX chce čelit možnému opakování přehodnocením pravidel pro připojování k peeringovému segmentu.

Přesně před týdnem, v úterý 11. května v podvečer, se v českém peeringovém centru NIX odehrálo něco velmi nestandardního. Statistiky, ukazující vytížení přípojek jednotlivých členů, mezi 16 a 18 hodinou vylétly do závratných výšin.

Část statistik
1188

Zatímco statistiky ukazovaly takto extrémně zvýšený provoz, „užitečný“ provoz skrze NIX naopak téměř neprocházel, a tak to na svých bedrech pocítili i koncoví uživatelé – někdo se svých dat nedočkal vůbec, a někdo si musel počkat podstatně déle než jindy.

První úvahy a spekulace o tom, co se vlastně v NIXu stalo, směřovaly cestou úvah o útoku typu DoS (Denial of Service). Tedy toho, že někdo cíleně bombardoval uzly NIXu svými požadavky s cílem úplně je zahltit. Další verzí bylo to, že do jednoho ze čtyř peeringových středisek NIXu (konkrétně do budovy Sitelu) uhodil blesk a poškodil některá zařízení.

Konkrétní vysvětlení nenabízely ani maily, které někteří provideři rozesílali svým zákazníkům:

Vazeni zakaznici,
dnes 11.5.2004 v cca 16:30 doslo k poruse L2 infrastruktury ceskeho peeringoveho centra NIX a nasledkem toho k preruseni vzajemneho propojeni vsech operatoru. Vysledkem byl temer 90ti minutovy vypadek celeho ceskeho internetu. Za problemy se omlouvame, bohuzel chyba nebyla na nasi strane a ani nesla nijak jednoduse odstranit. V kooperaci s ostatnimi operatory byla situace vyresena kolem 18. hodiny, na zjistovani pricin se nadale pracuje – dalsi komplikace by jiz nastat nemely…

Co se stalo?

Podle informací, které se mi podařilo z NIXu získat, nešlo o žádný útok zvenčí, ale o specifickou závadu některého ze zařízení v NIXu, která vyvolala tzv. broadcast storm. Ten pak zahltil prakticky všechny přípojky členů NIXu, a skončil až tím, že se příslušná zařízení různě povypínala, odpojila atd.

Pro toho, kdo se nechce moc zabývat detaily, si dovolím připodobnit „broadcast storm“ ke slovní přestřelce či tzv. „flame war“ (v diskusích): někdo nadhodí do pléna něco, co všechny ostatní nadzdvihne ze židle a okamžitě na to reagují stejně ostře. Každý pak z plna hrdla křičí na všechny ostatní (generuje velký datový provoz, viz statistiky) a odmítá s tím skončit. Nepomůže nic jiného než násilné „zavření úst“ (odpojení, restart atd.).

Co přesně se odehrálo na začátku a kdo byl iniciátorem přestřelky (čí zařízení způsobilo vznik broadcast stormu), se mi zjistit nepodařilo. Zdroje z NIXu jsou v tomto ohledu velmi diplomatické a říkají, že se to nedá stoprocentně určit. Hypotéz je více, některé hovoří o čistě technické závadě, jiné zase o poškození v důsledku úderu blesku. Zajímavé jsou i samotné statistiky z doby přestřelky

1189
1190
1191

Stává se to?


Zákonitá otázka, která se okamžitě nabízí, je to zda se podobné příhody občas stávají, nebo zda je to něco nevídaného a unikátního. Odpověď je taková, že zcela unikátní to není a že přes veškerou péči a snahu o předcházení k tomu dochází i v jiných peeringových centrech. Například zde je popisován obdobný příklad, který se stal v říjnu roku 2001 ve Velké Británii tamnímu peeringovému centru LINX. Také tehdy to ovlivnilo většinu provozu v celé zemi a první reakce také byly takové, že někdo atakuje LINX útokem DOS (viz zde). Nakonec se ale ukázalo, že i zde to byl „broadcast storm“.

Podle informací z našeho NIXu to ani u nás nebylo úplně poprvé. I v minulosti s prý vyskytly „broadcast storms“, ale nikdy nebyly tak rozsáhlé. Vždy se je podařilo eliminovat, aby neměly výraznější dopady na český Internet a provoz v něm.

Proč?


Důvody toho, proč „broadcast storm“ v peeringových centrech vzniká, je třeba hledat ve způsobu jejich technického řešení. Náš NIX se v tomto ohledu nijak neliší od ostatních ve světě: všechny přípojky jednotlivých operátorů (členů NIXu) jsou propojeny na úrovni linkové vrstvy (druhé vrstvy ISO/OSI modelu, tj. L2). Navzájem si tedy vyměňují linkové rámce (konkrétně ethernetové) způsobem, který je označován jako switching. Zařízení, které tak činí, je tzv. switchem. Náš NIX používá switche řady Catalyst od firmy Cisco, konkrétně modely 3550, 6006, 6505 a 6506. V každém ze čtyř současných propojovacích bodů NIXu (v objektech ČRa, GTS, Pragonetu a Sitelu) je umístěn takovýto switch a všechny jsou vzájemně propojeny (topologie).

Tímto propojením switchů (na úrovni linkové vrstvy) vzniká jedna velká „plochá“ IP síť, která tudíž tvoří jedinou broadcast doménu: kdykoli někdo vyšle tzv. broadcast (rámec určený všem), všechny switche jej musí rozeslat do všech směrů (do všech přípojek, které jsou na ně napojeny). Takže pokud nějaké zařízení začne rozesílat zvýšené množství broadcastů, začne tím významně zatěžovat celou síť (celou soustavu vzájemně propojených switchů). Pokud přitom ještě udělá chybu a rozesílá broadcastový rámec s chybným obsahem, na který příjemce reaguje také broadcastem, vzniká okamžitě řetězová reakce, která prudce eskaluje a téměř okamžitě zahltí veškerou dostupnou kapacitu – a právě to je tzv. broadcast storm.

Nebezpečí vzniku broadcast stormů je v odborné literatuře běžně uváděno jako jeden z argumentů, proč není dobré dělat „příliš velké“ sítě jen pomocí switchů – právě proto, že tím vzniká příliš velká broadcastová doména, která musí šířit všechny broadcasty do všech svých částí. Obecným řešením je rozbít takovouto příliš velkou síť na menší části a učinit z nich samostatné sítě, a tím i samostatné broadcast domény (a vzájemně je propojit na úrovni síťové vrstvy, tedy pomocí směrovačů).

Takovéto obecné řešení by teoreticky připadalo v úvahu i pro realizaci peeringových center. Představovalo by ovšem větší zátěž na aktivní síťové prvky (směrovače místo switchů), bylo by pomalejší a také dražší. Pokud je mi známo, snad se ani nikde v peeringových centrech nepoužívá.

Dalším řešením, které připadá v úvahu, je ponechat společný segment, zajišťující peering, na úrovni vrstvy linkové, ale každou přípojku povinně „protáhnout“ přes samostatný směrovač. Ten by pak mohl eliminovat případné problémy s broadcasty, ale i on bude hodně zatížen, bude drahý, bude zpomalovat přenosy – a také on se může „zbláznit“ a vyvolat nějaké problémy. Absolutně spolehlivé řešení neexistuje (kromě úplného rozpojení).

Informace z NIXu hovoří o tom, že snahy zabránit eventuelnímu opakování události z minulého týdne se ubírají hlavně cestou přehodnocení (dosud skutečně dosti liberálních) pravidel toho, jak se členové NIXu připojují ke společnému (peeringovému) segmentu.

Anketa

Pocítili jste problémy v NIXu minulý týden?

Našli jste v článku chybu?

7. 6. 2004 9:44

. (neregistrovaný)
LOL ... "znalec" promluvil :)

21. 5. 2004 18:41

Dildo (neregistrovaný)
Vida, ze to jde bez invektiv. Ve svem prispevku o backplanu jsem mluvil o MLS a tam ta zatez neni nijak extremni ani pri ruznych datovych tocich, ale treba mate jinou zkusenost z praxe, kdo vi.
No vzdyt o to jde, aby to prepinalo pres ten centralni router. Chapu, ze na linkove vrstve to jde lepe, ale prave pokud dojde v ypadkum nebo k nejakemu "malicious" chovani, je toto k nezaplaceni :-)
Měšec.cz: Kdy vám stát dá na stěhování 50 000 Kč?

Kdy vám stát dá na stěhování 50 000 Kč?

Měšec.cz: U levneELEKTRO.cz už reklamaci nevyřídíte

U levneELEKTRO.cz už reklamaci nevyřídíte

Podnikatel.cz: Vrátí zvýhodnění, ale výrazně omezí paušály

Vrátí zvýhodnění, ale výrazně omezí paušály

Měšec.cz: Vklad na cizí účet je draze zpoplatněn (přehled)

Vklad na cizí účet je draze zpoplatněn (přehled)

Podnikatel.cz: Přehledná titulka, průvodci, responzivita

Přehledná titulka, průvodci, responzivita

Podnikatel.cz: Víme první výsledky doby odezvy #EET

Víme první výsledky doby odezvy #EET

Vitalia.cz: Dáte si jahody s plísní?

Dáte si jahody s plísní?

Podnikatel.cz: Na 3. prosince se chystá protest proti EET

Na 3. prosince se chystá protest proti EET

Vitalia.cz: Spor o mortadelu: podle Lidlu falšovaná nebyla

Spor o mortadelu: podle Lidlu falšovaná nebyla

DigiZone.cz: ČT má dalšího zástupce v EBU

ČT má dalšího zástupce v EBU

120na80.cz: Stoná vaše dítě často? Upravte mu jídelníček

Stoná vaše dítě často? Upravte mu jídelníček

Měšec.cz: Přejete si číslo účtu na přání?

Přejete si číslo účtu na přání?

Podnikatel.cz: Zavře krám u #EET Malá pokladna a Teeta?

Zavře krám u #EET Malá pokladna a Teeta?

Podnikatel.cz: Na poslední chvíli šokuje výjimkami v EET

Na poslední chvíli šokuje výjimkami v EET

DigiZone.cz: Milan Kruml: procházka TV historií

Milan Kruml: procházka TV historií

DigiZone.cz: Flix TV má set-top box s HEVC

Flix TV má set-top box s HEVC

Měšec.cz: Finančním poradcům hrozí vracení provizí

Finančním poradcům hrozí vracení provizí

Měšec.cz: Jak levně odeslat balík přímo z domu?

Jak levně odeslat balík přímo z domu?

Vitalia.cz: Naučí vás péct kváskový chléb bez lepku i s lepkem

Naučí vás péct kváskový chléb bez lepku i s lepkem

Podnikatel.cz: K EET. Štamgast už peníze na stole nenechá

K EET. Štamgast už peníze na stole nenechá