Malý český ISP způsobil světový kolaps

Pondělní odpoledne jako každé jiné, to bylo úterý 16. února 2009. Farmář obdělával svá pole, mlékař dělal rozvážku a jeden malý tuzemský ISP konfiguroval svůj směrovač. Nikdo netušil, že za pár okamžiků nastane situace, která se zapíše do dějin světového Internetu.

Tweetni to Odměnte autora  Jak to funguje?

reklama

K čemu došlo (lidskými slovy): jeden regionální český poskytovatel internetu špatně nakonfiguroval routing, což se stalo špatným napsáním jednoho čísla. To znamenalo, že jako optimální se do internetu propagovala nesmyslně dlouhá trasa a to počtem až 100 000 požadavků za vteřinu. To pro řadu starších routerů znamenalo něco jako přetečení bufferu, zařízení nebyla schopna odbavovat normální provoz a chyba se šířila dále. Chyba se projevila v řadě regionů, prakticky ale ne v Česku. ISP chybu rychle odstranil a během hodiny oživly všechny postižené sítě. Jedno memento ale zůstalo: jak může malá chybička u regionálního poskytovatele internetu zkolabovat provoz na polovině internetu? Inu, může…

Malý ISP z jihovýchodní Moravy konfiguroval propoj ke svému druhému (záložnímu) poskytovateli tranzitní konektivity. Každá síť je v Internetu reprezentována svým číslem autonomního systému, což bývala jen dvoubajtová, dnes už to však může být i čtyřbajtová hodnota unikátní pro každou síť, kterou dále používá směrovací protokol BGP a to v zásadě jen ke dvěma věcem – k nalezení nejvýhodnější cesty a k zamezení vzniku směrovacích smyček. Celý princip funguje tak, že pro každý prefix (samostatně směrovaný blok IP adres) existuje ve směrovacích tabulkách samostatná položka, obsahující řetězec se seznamem autonomních systémů, přes které k danému prefixu vede cesta (AS-path). Nyní uvedu příklad, jak takové cesty mohou vypadat, vybírá se obvykle podle nejkratší AS-path (to nemusí být vždy pravidlem, lze router jistým množstvím aplikovaného násilí přesvědčit, že může použít i jinou cestu, ale to není pro další text tohoto článku podstatné):

 Number of BGP Routes matching display condition : 5
 Status codes: s suppressed, d damped, h history, * valid, > best, i internal
 Origin codes: i - IGP, e - EGP, ? - incomplete
   Network            Next Hop        Metric LocPrf Weight Path
 *>  169.232.0.0/16     137.164.130.61  1      100    0      11164 2152 52 i
 *i  169.232.0.0/16     137.164.130.57  20     100    0      11164 2152 52 i
 *i  169.232.0.0/16     137.164.130.53  20     100    0      11164 2152 52 i
 *   169.232.0.0/16     213.248.98.93   48     70     0      1299 3356 2152 2152 52 i
 *   169.232.0.0/16     64.214.121.169  49     70     0      3549 209 2152 2152 52 i
      Last update to IP routing table: 5d13h42m4s, 1 path(s) installed:

V druhém sloupci zleva vidíme prefix, zcela vpravo pak AS-path, nejlepší vybraná cesta je označena znakem > zcela vlevo hned za hvězdičkou. V posledních dvou řádcích pak vidíme, že se nám číslo AS 2152 opakuje. Co to znamená? Jde o tzv. prepend, tedy umělou penalizaci (znevýhodnění) dané cesty. A právě o prepend jde v tomto příběhu především.

Onen ISP chtěl svůj druhý upstream právě takto znevýhodnit. To je celkem běžná záležitost, kterou vidíte i v předchozím příkladu. Problém však byl v tom, že jako u všeho, existuje nějaký limit pro délku AS-path a za ten se všeobecně považuje 255 položek. To není žádný zásadní limit, protože jen velmi málo cest v současném Internetu obsahuje více čísel autonomních systémů než 6, a AS-path s více než 15 položkami je naprostou raritou (a ne, v tomto případě se neočekává, že by se na tento limit do budoucna naráželo jako na překážku dalšího rozvoje, protože obecný trend je, že se průměrná délka AS-path v celosvětové směrovací tabulce postupem času mírně zkracuje).

Co se tedy stalo? Ano, správně, dotyčný ISP svou cestu skutečně znevýhodnil, a to poměrně zásadním způsobem. Není zcela jasné, jakým konkrétním způsobem toho dosáhl, avšak provedl jsem vlastní šetření a na jeho základě zjistil, že použitou platformou, na které k uvedenému problému došlo, je pravděpodobně MikroTik RouterBoard, tedy zařízení primárně určené pro poněkud jiné nasazení než je ASBR (Autonomous System Border Router) a o implementaci BGP na této platformě se vyprávějí legendy (ano, základní věci tam fungují poměrně spolehlivě, vím). Jistý nejmenovaný konkurenční výrobce, jehož boxy jsou pro podobné nasazení přece jen o něco málo vhodnější, podporuje syntaxi typu „set as-path prepend last-as N“, kde N je počet, kolikrát se poslední AS v cestě zopakuje a může nabývat hodnoty 1 – 10. Naprosto stačí, aby výrobce nějaké minoritní směrovací platformy kontrolu této hodnoty do svého zařízení nezadal, zmatená obsluha tam namísto počtu, kolikrát se má číslo AS zopakovat, omylem napíše číslo svého autonomního systému a problém je, pokud AS dotyčného ISP zrovna nemá nějaké prominentní nízké číslo, na světě.

Paradoxně problém nepostihl každého – v ČR nebyl tento problém téměř ani zaznamenán, v ČR dochází u operátorů k celkem pravidelným upgradům hardware i software a zapomenuté infrastruktury není mnoho. Podobná situace platí u velkých operátorů i jinde ve světě, avšak na regionálních a místních sítích v mnoha zemích světa, zejména tam, kde se používají poměrně staré řady operačních systémů pro směrovače, problém nastal. Kupříkladu starší verze Cisco IOS reagovaly tak, že po přijetí takové cesty rozpojily BGP relaci, po které taková cesta přišla. To není zásadní problém, relace se po chvíli znovu spojí, avšak pokud se hned zase rozpojí kvůli přijetí vadné AS-path, už to zásadní problém je. Jevu, kdy se nám relace stále dokola spojuje a rozpojuje, říkáme flap – ano, existují nástroje, jak se s ním vyrovnat, avšak pokud dotyčné síti neflapuje jeden upstream, ale všechny (což byla právě tato situace), nejsou nám tyto nástroje nic platné a nastává problém – dotyčný operátor je bez tranzitní konektivity.

NetCLub_Mara

       

Podrobnější analýzu, jako obvykle, udělal Renesys, disponující nástroji pro hloubkovou analýzu stavu směrovacích tabulek. Uvedli také mapy nejhůře postižených zemí, významně postižena byla téměř celá západní Evropa (kde nejhůře dopadla Belgie a Španělsko), z nových členů EU pak chyba dopadla velmi tvrdě na Lotyšsko (paradoxně domovská země zařízení MikroTik RouterBoard) a do Pákistánu dorazila tvrdá odplata za únos Youtube, každopádně postiženo bylo i mnoho sítí v takových zemích, jako jsou USA, Čína nebo Egypt; mezi země, které byly naopak postiženy málo nebo téměř vůbec, patří kromě ČR ještě Maďarsko, Chorvatsko, Srbsko, Litva, Turecko, Indie, JAR, Chile nebo Argentina. Celý problém pak trval zhruba hodinu, než dotyčného ISP jeho poskytovatel záložní tranzitní konektivity dočasně odpojil.

Není to však první případ, kdy se něco podobného stalo, je však první, který měl až takhle tvrdé následky. Předchozí podobné případy způsobily ISP z různých zemí (BiH, Bulharsko, Indonesie, Polsko, USA), avšak délka jejich AS-path se hodnotě 255 vždy pouze blížila, nikdy jej však nepřekročila… To se podařilo až tento týden operátorovi z malého městečka nedaleko hranic se Slovenskem.

Anketa

Udělali jste někdy omyl, který měl mezinárodní dopad?

       

Zbyněk Pospíchal

Autor působí ve společnosti Dial Telecom a.s. Povinnosti ukládané státní správou telekomunikačním společnostem považuje za zbytečné, škodlivé a poškozující především zákazníky.

Tweetni to Odměnte autora  Jak to funguje?

12. ročník největší soutěže firemních webů je v plném proudu

 

Přihlaste se do soutěže WebTop100

Získejte hodnocení svého webu odborníky spolu s doporučením ke slepšení a zároveň možnost srovnání s konkurenčními weby.

Více informací o soutěži

       

Přehled názorů

Kdyz se nefiltruje...
Danny 19. 2. 2009 07:51
Nový
├ 
Re: Kdyz se nefiltruje...
Michal Krsek 19. 2. 2009 08:14
Nový
│
├ 
Re: Kdyz se nefiltruje...
Danny 19. 2. 2009 08:39
Nový
│
│
└ 
Re: Kdyz se nefiltruje...
Michal Krsek 19. 2. 2009 09:08
Nový
│
│
 
├ 
Re: Kdyz se nefiltruje...
Lubos Pinkava 19. 2. 2009 10:14
Nový
│
│
 
│
├ 
Re: Kdyz se nefiltruje...
Michal Krsek 19. 2. 2009 10:25
Nový
│
│
 
│
│
└ 
Re: Kdyz se nefiltruje...
Dan Ohnesorg 19. 2. 2009 11:37
Nový
│
│
 
│
│
 
├ 
Re: Kdyz se nefiltruje...
Michal Krsek 19. 2. 2009 12:47
Nový
│
│
 
│
│
 
│
└ 
Re: Kdyz se nefiltruje...
Dan Ohnesorg 19. 2. 2009 16:19
Nový
│
│
 
│
│
 
└ 
Re: Kdyz se nefiltruje...
Lubos Pinkava 19. 2. 2009 23:47
Nový
│
│
 
│
└ 
Re: Kdyz se nefiltruje...
Michael Polák 19. 2. 2009 14:20
Nový
│
│
 
└ 
Re: Kdyz se nefiltruje...
Danny 19. 2. 2009 23:49
Nový
│
│
 
 
├ 
Re: Kdyz se nefiltruje...
Michal Krsek 20. 2. 2009 00:39
Nový
│
│
 
 
│
└ 
Re: Kdyz se nefiltruje...
Danny 20. 2. 2009 07:59
Nový
│
│
 
 
│
 
└ 
Re: Kdyz se nefiltruje...
Michal Krsek 20. 2. 2009 10:47
Nový
│
│
 
 
│
 
 
├ 
Re: Kdyz se nefiltruje...
sartori 20. 2. 2009 14:12
Nový
│
│
 
 
│
 
 
│
└ 
Re: Kdyz se nefiltruje...
Michal Krsek 20. 2. 2009 14:40
Nový
│
│
 
 
│
 
 
└ 
Re: Kdyz se nefiltruje...
Lubos Pinkava 20. 2. 2009 14:42
Nový
│
│
 
 
└ 
Re: Kdyz se nefiltruje...
ZP 20. 2. 2009 06:40
Nový
│
│
 
 
 
└ 
Re: Kdyz se nefiltruje...
Danny 20. 2. 2009 08:32
Nový
│
│
 
 
 
 
├ 
Re: Kdyz se nefiltruje...
anonymní uživatel 20. 2. 2009 09:14
Nový
│
│
 
 
 
 
└ 
Re: Kdyz se nefiltruje...
ZP 20. 2. 2009 09:40
Nový
│
│
 
 
 
 
 
└ 
Re: Kdyz se nefiltruje...
Danny 20. 2. 2009 19:52
Nový
│
│
 
 
 
 
 
 
└ 
Re: Kdyz se nefiltruje...
ZP 21. 2. 2009 07:23
Nový
│
│
 
 
 
 
 
 
 
└ 
Re: Kdyz se nefiltruje...
anonymní uživatel 21. 2. 2009 10:27
Nový
│
│
 
 
 
 
 
 
 
 
└ 
Re: Kdyz se nefiltruje...
ZP 21. 2. 2009 10:55
Nový
│
│
 
 
 
 
 
 
 
 
 
├ 
Re: Kdyz se nefiltruje...
anonymní uživatel 21. 2. 2009 11:10
Nový
│
│
 
 
 
 
 
 
 
 
 
└ 
Re: Kdyz se nefiltruje...
anonymní uživatel 21. 2. 2009 11:13
Nový
│
│
 
 
 
 
 
 
 
 
 
 
└ 
Re: Kdyz se nefiltruje...
ZP 21. 2. 2009 11:36
Nový
│
│
 
 
 
 
 
 
 
 
 
 
 
└ 
Re: Kdyz se nefiltruje...
anonymní uživatel 21. 2. 2009 12:37
Nový
│
│
 
 
 
 
 
 
 
 
 
 
 
 
└ 
Re: Kdyz se nefiltruje...
ZP 21. 2. 2009 12:56
Nový
│
│
 
 
 
 
 
 
 
 
 
 
 
 
 
└ 
Re: Kdyz se nefiltruje...
anonymní uživatel 21. 2. 2009 13:17
Nový
│
│
 
 
 
 
 
 
 
 
 
 
 
 
 
 
└ 
Re: Kdyz se nefiltruje...
ZP 21. 2. 2009 13:29
Nový
│
│
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
└ 
Re: Kdyz se nefiltruje...
anonymní uživatel 21. 2. 2009 13:49
Nový
│
└ 
Re: Kdyz se nefiltruje...
ZP 19. 2. 2009 09:04
Nový
│
 
├ 
Re: Kdyz se nefiltruje...
Michal Krsek 19. 2. 2009 09:19
Nový
│
 
│
└ 
Re: Kdyz se nefiltruje...
ZP 19. 2. 2009 09:27
Nový
│
 
└ 
Re: Kdyz se nefiltruje...
Danny 19. 2. 2009 18:27
Nový
│
 
 
└ 
Re: Kdyz se nefiltruje...
ZP 19. 2. 2009 18:33
Nový
│
 
 
 
└ 
Re: Kdyz se nefiltruje...
Danny 19. 2. 2009 18:53
Nový
│
 
 
 
 
└ 
Re: Kdyz se nefiltruje...
ZP 19. 2. 2009 19:09
Nový
│
 
 
 
 
 
└ 
Re: Kdyz se nefiltruje...
Danny 19. 2. 2009 19:21
Nový
│
 
 
 
 
 
 
└ 
Re: Kdyz se nefiltruje...
Mard 20. 2. 2009 23:42
Nový
│
 
 
 
 
 
 
 
└ 
Re: Kdyz se nefiltruje...
anonymní uživatel 21. 2. 2009 00:02
Nový
│
 
 
 
 
 
 
 
 
└ 
Re: Kdyz se nefiltruje...
ZP 21. 2. 2009 07:16
Nový
│
 
 
 
 
 
 
 
 
 
└ 
Re: Kdyz se nefiltruje...
anonymní uživatel 21. 2. 2009 10:51
Nový
│
 
 
 
 
 
 
 
 
 
 
└ 
Re: Kdyz se nefiltruje...
ZP 21. 2. 2009 11:43
Nový
│
 
 
 
 
 
 
 
 
 
 
 
└ 
Re: Kdyz se nefiltruje...
anonymní uživatel 21. 2. 2009 11:51
Nový
├ 
Re: Kdyz se nefiltruje...
Michal Kára 19. 2. 2009 09:04
Nový
│
└ 
Re: Kdyz se nefiltruje...
Danny 20. 2. 2009 00:00
Nový
└ 
Re: Kdyz se nefiltruje...
Michael Polák 19. 2. 2009 14:23
Nový
 
└ 
Re: Kdyz se nefiltruje...
Danny 19. 2. 2009 18:29
Nový
 
 
└ 
Re: Kdyz se nefiltruje...
Michael Polák 20. 2. 2009 11:35
Nový
RE: Malý český ISP způsobil světový kolaps
xxx 19. 2. 2009 07:55
Nový
└ 
RE: Malý český ISP způsobil světový kolaps
anonymní uživatel 19. 2. 2009 08:03
Nový
A co se vlastně stalo?
Zdeněk 19. 2. 2009 08:00
Nový
├ 
Re: A co se vlastně stalo?
anonymní uživatel 19. 2. 2009 08:08
Nový
│
└ 
Re: A co se vlastně stalo?
Daniel Dočekal 19. 2. 2009 08:09
Nový
├ 
Re: A co se vlastně stalo?
anonymní uživatel 19. 2. 2009 08:09
Nový
│
└ 
Re: A co se vlastně stalo?
Michal Krsek 19. 2. 2009 09:24
Nový
│
 
├ 
Re: A co se vlastně stalo?
melkor 19. 2. 2009 10:25
Nový
│
 
└ 
Re: A co se vlastně stalo?
anonymní uživatel 20. 2. 2009 09:18
Nový
│
 
 
└ 
Re: A co se vlastně stalo?
ZP 20. 2. 2009 09:53
Nový
│
 
 
 
└ 
Re: A co se vlastně stalo?
anonymní uživatel 20. 2. 2009 10:22
Nový
│
 
 
 
 
└ 
Re: A co se vlastně stalo?
ZP 20. 2. 2009 10:41
Nový
│
 
 
 
 
 
└ 
Re: A co se vlastně stalo?
anonymní uživatel 20. 2. 2009 12:19
Nový
│
 
 
 
 
 
 
└ 
Re: A co se vlastně stalo?
ZP 20. 2. 2009 14:27
Nový
│
 
 
 
 
 
 
 
└ 
Re: A co se vlastně stalo?
anonymní uživatel 20. 2. 2009 14:46
Nový
│
 
 
 
 
 
 
 
 
└ 
Re: A co se vlastně stalo?
ZP 20. 2. 2009 16:52
Nový
│
 
 
 
 
 
 
 
 
 
└ 
Re: A co se vlastně stalo?
anonymní uživatel 20. 2. 2009 17:08
Nový
│
 
 
 
 
 
 
 
 
 
 
└ 
Re: A co se vlastně stalo?
ZP 20. 2. 2009 17:19
Nový
│
 
 
 
 
 
 
 
 
 
 
 
└ 
Re: A co se vlastně stalo?
anonymní uživatel 20. 2. 2009 17:59
Nový
│
 
 
 
 
 
 
 
 
 
 
 
 
└ 
Re: A co se vlastně stalo?
ZP 20. 2. 2009 18:37
Nový
│
 
 
 
 
 
 
 
 
 
 
 
 
 
└ 
Re: A co se vlastně stalo?
Ondřej Kučera 20. 2. 2009 20:59
Nový
│
 
 
 
 
 
 
 
 
 
 
 
 
 
 
└ 
Re: A co se vlastně stalo?
anonymní uživatel 20. 2. 2009 21:22
Nový
│
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
└ 
Re: A co se vlastně stalo?
ZP 21. 2. 2009 07:29
Nový
│
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
└ 
Re: A co se vlastně stalo?
anonymní uživatel 21. 2. 2009 10:39
Nový
│
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
└ 
Re: A co se vlastně stalo?
ZP 21. 2. 2009 10:42
Nový
│
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
└ 
Re: A co se vlastně stalo?
anonymní uživatel 21. 2. 2009 11:17
Nový
└ 
Re: A co se vlastně stalo?
Jindra Šaur 19. 2. 2009 09:16
Nový
Gratulujeme SUPRONETu
anonymní uživatel 19. 2. 2009 09:51
Nový
├ 
Re: Gratulujeme SUPRONETu
anonymní uživatel 20. 2. 2009 09:20
Nový
└ 
Re: Gratulujeme SUPRONETu
Mirek 20. 2. 2009 23:15
Nový
ucit se, ucit se, ucit se ....
Radek Majer 19. 2. 2009 13:59
Nový
└ 
Re: ucit se, ucit se, ucit se ....
Michael Polák 19. 2. 2009 14:59
Nový
 
└ 
Re: ucit se, ucit se, ucit se ....
Tomáš Lašťovička 19. 2. 2009 20:35
Nový
 
 
└ 
Re: ucit se, ucit se, ucit se ....
Danny 19. 2. 2009 23:22
Nový
 
 
 
└ 
Re: ucit se, ucit se, ucit se ....
Michael Polák 20. 2. 2009 12:36
Nový
 
 
 
 
└ 
Re: ucit se, ucit se, ucit se ....
Danny 20. 2. 2009 19:42
Nový
 
 
 
 
 
├ 
Re: ucit se, ucit se, ucit se ....
Michael Polák 22. 2. 2009 13:32
Nový
 
 
 
 
 
│
└ 
Re: ucit se, ucit se, ucit se ....
Hobit 23. 2. 2009 13:03
Nový
 
 
 
 
 
│
 
├ 
Re: ucit se, ucit se, ucit se ....
Michal Krsek 23. 2. 2009 13:23
Nový
 
 
 
 
 
│
 
│
└ 
Re: ucit se, ucit se, ucit se ....
Michael Polák 23. 2. 2009 17:09
Nový
 
 
 
 
 
│
 
└ 
Re: ucit se, ucit se, ucit se ....
Michael Polák 23. 2. 2009 13:30
Nový
 
 
 
 
 
└ 
Re: ucit se, ucit se, ucit se ....
Michael Polák 22. 2. 2009 13:33
Nový
Ze by
KL 19. 2. 2009 15:10
Nový
└ 
Re: Ze by
Danny 19. 2. 2009 18:55
Nový
 
└ 
Re: Ze by
KL 20. 2. 2009 09:00
Nový
este by som dodal
i4o 19. 2. 2009 19:12
Nový
└ 
Re: este by som dodal
KL 20. 2. 2009 09:01
Nový
KONECNE vim, co se stalo
stoural 20. 2. 2009 21:46
Nový
Dik za clanek
Milan 21. 2. 2009 01:50
Nový
├ 
Re: Dik za clanek
Danny 21. 2. 2009 08:33
Nový
└ 
Re: Dik za clanek
stoural 27. 2. 2009 22:50
Nový
A kdo je ten IT-expert, který nakofiguroval celosvětovou ostudu?
anonymní uživatel 22. 2. 2009 11:53
Nový
└ 
Re: A kdo je ten IT-expert, který nakofiguroval celosvětovou ostudu?
corus 23. 2. 2009 05:38
Nový
 
└ 
Re: A kdo je ten IT-expert, který nakofiguroval celosvětovou ostudu?
anonymní uživatel 23. 2. 2009 12:31
Nový
Uff
Michal Krsek 25. 2. 2009 16:26
Nový
└ 
Re: Uff
ZP 25. 2. 2009 20:53
Nový
Mikotik
kabelnet.cz 26. 2. 2009 01:48
Nový
Mikrotik
Palo 26. 2. 2009 08:16
Nový
└ 
Re: Mikrotik
the.max 28. 4. 2009 00:30
Nový
Zajímavý článek i následná diskuze
if 26. 2. 2009 10:36
Nový
└ 
Re: Zajímavý článek i následná diskuze
Včelka 26. 2. 2009 20:23
Nový
       

Tento text je již více než dva měsíce starý. Chcete-li na něj reagovat v diskusi, pravděpodobně vám již nikdo neodpoví. Pro řešení aktuálních problémů doporučujeme využít naše diskusní fórum.

Zasílat nově přidané příspěvky e-mailem