Строительно Монтажное Управление Инженерного Флота Вогенов - Жизнь и необычайные приключения BGP-анонса или "об интернете для самых маленьких" [entries|archive|friends|userinfo]
Кровавая гэбня и кубок огня

[ userinfo | livejournal userinfo ]
[ archive | journal archive ]

Жизнь и необычайные приключения BGP-анонса или "об интернете для самых маленьких" [Feb. 27th, 2009|02:55 pm]
Previous Entry Add to Memories Tell a Friend Next Entry
[Tags|]

Поскольку советские (и чешские) газеты разносят самые невероятные слухи о том, что случилось в прошлый понедельник, да и вообще, на русском есть только одна внятная статья (переводная, естественно, лежит у Нага), попробую на пальцах для неспециалистов объяснить, что к чему.

Краткая сущность необъясненности™: 15 февраля у многих пользователей интернета (в основном, надо отметить, в Африке) случились некоторые затруднения в работе с сетью. Где-то что-то тормозило, где-то вообще не работало. А началось все с того, что маленький чешский оператор Супранет подключил себе второй канал в интернет.



BGP для чайников и другие подробности

Как работает интернет?

Если на пальцах, то практически у каждого, кто подключен больше, чем к одному провайдеру (а тем более, у самих провайдеров) есть магическая сущность, которая называется автономной системой (AS) или по русски - АСка.

Всем своим соседям (не по дому, разумеется, а тем, с кем есть прямые соединения), владелец AS сообщает: "Чуваки! У меня есть AS номер XXX!" Это называется BGP-Анонсом.

Соседи принимают это во внимание и передают дальше. Вот владелец AS YYY всех оповещает: "чуваки! Через меня доступна ASXXX! Путь до нее: XXX YYY". Постепенно, у каждого участника этой вакханалии складывается маршрутная таблица, в которой всегда видно, что от своей ASZZZ до ASXXX можно дойти по маршруту "ZZZ YYY YYY1 XXX".

Всё это развлекательное мероприятие и называется "протокол BGP".



Радость от него была бы неполной, не будь в BGP возможности выбрать маршрут . От двух свои провайдеров можно получить разные маршруты до ZZZ. Если XXX подключен не только к YYY1, но и напрямую к YYY, то у него будет более выгодный маршрут всего из трех хопов, вместо четырех.

Надеюсь, вы еще не запутались в трех латинских буквах и можно перейти к IP адресам.

У владельца автономной системы есть обычно собственный диапазон IP адресов, которые он может использовать сам, отдавать клиентам, солить, сушить, ну и вообще делать с ними все, что заблагорассудится.

Если компьютер, расположенный на одном краю интернета захочет передать чего нибудь компьютеру на другом конце интернета, он засунет все данные в пакет, лизнет языком клей на конверте, надпишет адрес получателя и отдаст своему маршрутизатору. Маршрутизатор отдаст этот пакет другому маршрутизатору внутри своей AS, тот третьему и наконец дело дойдет до самого умного маршрутизатора, знающего протокол BGP. Самый умный маршрутизатор вздохнет, наденет очки, посмотрит на адрес получателя, поковыряется в своих толстенных книгах с таблицами маршрутизации, сопоставит адрес с номером AS, потом найдет, через кого из соседей путь до этой AS ближе всего, отдаст пакет этому соседу и забудет.

Еще надо отметить возможность сделать какой-то из каналов гарантированно запасным. Вот есть у вас два канала и вы хотите, чтобы один из них был резервным и трафик по нему шел только в случае, если основной канал упадет. Чтобы этого добиться нужно сделать, чтобы маршрут по резервному каналу был при любых обстоятельствах длиннее, чем по основному.

Как? А элементарно. Надо соседу, который сидит по ту сторону резервного канала, отдавать не просто свой номер AS, а целый маршрут до нее. Вот так: "XXX XXX XXX XXX XXX". Да-да, просто несколько раз указать свою же AS. Это называется "добавить препенды".

Возвращаясь к нашей картинке, AS XXX подключена к двум провайдерам: YYY1 - кривой, но с анлимитным трафиком. YYY - устойчивый, но трафик за большое бабло. Владелец XXX предпочитает, чтобы пока работает YYY1, весь трафик гонялся через него. Поэтому специально для YYY сообщаем, что через нас видно "XXX XXX XXX". Поскольку маршрут от XXX до ZZZ напрямую через YYY теперь получается длиннее, то связь будет через YYY.




Главное, чтобы ни из одной точки интернета этот маршрут никогда не стал-бы кратчайшим. Сколько препендов добавить, обычно выбирается на глазок, ну раз 5-10. Более длинные маршруты в интернете встречаются редко.






Супранет и BGP

Что же случилось с Супранетом? Если вдуматься, то ничего особенного. За них все сделала железка Mikrotik, которая работает у них маршрутизатором. Есть разные версии, как именно это получилось и у кого кривые руки - то ли у чешского админа, то ли у безвестного китайского программиста. Так или иначе, количество препендов получилось равным номеру AS, по модулю 256. Я лично больше склоняюсь к тому, что это изобретение китайского программиста, ибо эти Микротики часто так себя ведут.

До Супранета этот глюк никому не мешал, но так сложилось, что номер Супранетовской ASки оказался равен 47868, а 47868 mod 256 = 252. Еще три хопа в маршрут пришли от вышестоящих операторов и вуаля: в мире появился первый маршрут длиной больше 255 AS. Готовы к этому оказались не все. Некоторые маршрутизаторы производства фирмы Cisco, получив от соседа такую ересь, испуганно роняли с этим соседом связь. В первые 8 минут после появления длинного маршрута упало примерно 5% каналов во всем мире. А когда падает канал, начинает перестраиваться маршрутизация, произошел взрывной рост трафика, содержащего маршрутную информацию. Многие из тех, кого напрямую не затронуло падение, начали ощущать тормоза от перестройки маршрутов. В той или иной степени интернет колбасило несколько часов.

Не конец света, конечно, да и вообще, легко отделались, но неприятно.



Пакистанцы и ютуб

Какая нибудь неведомая фигня, кстати, происходит с интернетом регулярно. Вот например, год назад, один пакистанский провайдер решил заблокировать своим пользователям доступ к богомерзкому ютубу.

Пакистанские инженеры в качестве наиболее верного метода избрали анонсирование сети ютуба своим локальным маршрутизатором. То есть маршрутизатор махал флагом и орал: "люди! пакистанцы! ютуб через меня ближе!" Они рассчитывали, что анонс расползется только среди их клиентов, которые вместо ютуба будут попадать на страничку, призывающую не смотреть оный ресурс, дабы не обрести геену огненную и вообще.

Все было бы замечательно, если бы у магистрального оператора, к которому оный пакистанский провайдер был подключен, были по-человечески настроены фильтры. Увы. Аплинк принял анонс и распространил дальше "кратчайший путь к ютубу". Пока искали проблему, пока исправляли, многие пользователи по всему миру с удивлением читали мнение пакистанских провайдеров о своем любимом ресурсе.

А еще буквально в январе в Ростелекоме кто-то накосячил с фильтрами, а один из их клиентов накосячил с анонсами, и получился незапланированный стык между сетями Транстелекома и Ростелекома через сеть этого самого клиента.
linkReply

Comments:
[User Picture]From: [info]dma
2009-02-27 12:08 pm (UTC)

(Link)

Всё ты неправильно рассказываешь. Мы уже знаем, авторитетные издания пишут про "В результате возросла нагрузка на модемы, а устаревшие модели были заблокированы."
Модемы! А ты про какие-то маршрутизаторы..
[User Picture]From: [info]to_the_future
2009-02-27 12:10 pm (UTC)

(Link)

Чешский техник дал слишком большую скорость в протокол V42, ага. ;)))
[User Picture]From: [info]dma
2009-02-27 01:41 pm (UTC)

(Link)

Нет, он слишком длинный кабель проложил!
"внес ошибочные установки в конфигурационные параметры модемов, предельно удлинив трафик распределения информации."
[User Picture]From: [info]dil
2009-02-27 01:55 pm (UTC)

(Link)

на пять метров удлинил весь трафик, гад!
[User Picture]From: [info]to_the_future
2009-02-27 01:57 pm (UTC)

(Link)

На 252 ;-))
[User Picture]From: [info]dushmann
2009-02-28 07:49 am (UTC)

(Link)

ваш юзерпик поверг меня под стол
[User Picture]From: [info]aol985
2009-02-27 12:14 pm (UTC)

(Link)

как-то давно я подумал о том, как жил мир в бумажные времена. Ну, когда не было интернета, а бумажные письма в тех самых конвертах сортировали на почте и отправляли дальше. На том моменте мозг отказался мне более подчиняться.
[User Picture]From: [info]shewolf_org
2009-02-27 12:31 pm (UTC)

(Link)

Ну, как участвовавший в процессе сортировки этих писем, скажу, что там всё было НАМНОГО проще :)
[User Picture]From: [info]dil
2009-02-27 01:55 pm (UTC)

(Link)

когда писем стало много, придумали почтовые индексы :)
[User Picture]From: [info]city_rat
2009-02-27 12:15 pm (UTC)

(Link)

Гениальная вещь - интернет. Яйцеголовые в DARPA и далее везде слепили его из немыслимого говна. Но говна было использовано так много, что даже вбрасывание в это море ядерной бомбы приводит только к легкому волнению поверхности говна и сопутствующим органолептическим эффектам.

Я бы повторил банальность про программистов, строителей и дятла... Если бы не знал, как работают строители :)
[User Picture]From: [info]stuffittrans
2009-02-27 12:46 pm (UTC)

(Link)

В рамочку и на стенку :))).
From: [info]kisa_i_osya
2009-02-27 06:54 pm (UTC)

(Link)

Ага 8)
[User Picture]From: [info]snt
2009-02-27 06:00 pm (UTC)

(Link)

> Я бы повторил банальность про программистов, строителей и дятла
это о чём?
[User Picture]From: [info]stuffittrans
2009-02-27 07:11 pm (UTC)

(Link)

"Если бы строители строили здания так же, как программисты пишут программы, первый залетевший дятел разрушил бы цивилизацию".
[User Picture]From: [info]snt
2009-02-27 07:23 pm (UTC)

(Link)

thanks
[User Picture]From: [info]city_rat
2009-02-27 07:21 pm (UTC)

(Link)

Афоризм такой. "Если бы люди строили дома так же, как программисты пишут программы - то первый же залетевший в город дятел разрушил бы цивилизацию".

Примерно так.
[User Picture]From: [info]snt
2009-02-27 07:23 pm (UTC)

(Link)

thanks
From: [info]drunkmaster
2009-02-27 12:34 pm (UTC)

гы

(Link)

А я пропустил. Я в понедельник бухал :+)
А вообще — забавно, да. У меня давно уже сложилось мнение, что БГП несколько кривоват (староват?) для своих задач.
Ачо, больше 255 ас маршрут быть не может?
[User Picture]From: [info]orao
2009-02-27 12:41 pm (UTC)

Re: гы

(Link)

BGP кривоват не из-за ограничения на AS-PATH в некоторых реализациях. BGP просто очень отстал и непрям, скажем так, по определению :)
From: [info]drunkmaster
2009-02-27 12:43 pm (UTC)

Re: гы

(Link)

Дык я и говорю.
Вопрос был вне контекста )
[User Picture]From: [info]to_the_future
2009-02-27 12:49 pm (UTC)

Re: гы

(Link)

Как такового ограничения нет, есть бага, от которой при длине пути больше 255, процесс bgp на циске вылетал с эксепшном.
[User Picture]From: [info]cu6apum
2009-03-02 09:15 pm (UTC)

Re: гы

(Link)

Хм, так вот почему у меня ничего не упало. Но трафика было поето, ага.
[User Picture]From: [info]alex_brab
2009-02-27 12:45 pm (UTC)

(Link)

а мы кажися и не заметили ничего - слава Juniper :)
[User Picture]From: [info]to_the_future
2009-02-27 12:48 pm (UTC)

(Link)

Бага была в IOSе до какой-то конкретной версии, но перестройку маршрутизации заметили все.
[User Picture]From: [info]dzz
2009-02-27 01:00 pm (UTC)

(Link)

Весело, да. Впрочем, в подавляющем большинстве случаев BGP успешно справляется с поставленными много лет назад задачами.
[User Picture]From: [info]sam_spb
2009-02-27 01:07 pm (UTC)

(Link)

Кривые ручки и китайские железки - это могучая сила... А здравствуют Cisco совместимые девайсы... :)))

Вчера был в первопрестольной. Был убит "радужными" рекламками с зазываниями в машинисты.
Ассоциации две, либо набирают хиппарей, либо лиц с нетрадиционной ориентацией... :)
[User Picture]From: [info]to_the_future
2009-02-27 01:32 pm (UTC)

(Link)

Так циски-то и попадали. :)
[User Picture]From: [info]dzz
2009-02-27 01:45 pm (UTC)

(Link)

Они не ожидали такого азиатского коварства :)
[User Picture]From: [info]to_the_future
2009-02-27 01:58 pm (UTC)

(Link)

Ну вообще большинство ошибок в ПО происходит от того, что программисты не ожидают какого-то коварства. :))
[User Picture]From: [info]dil
2009-02-27 03:24 pm (UTC)

(Link)

а я всегда говорил - нельзя доверять данным, полученным от пользователя. даже если он администратор. проверять надо.
[User Picture]From: [info]dushmann
2009-02-28 07:52 am (UTC)

(Link)

Предлагаю встроить в каждую циску "модуль недоверия"))
[User Picture]From: [info]ignia
2009-02-27 01:29 pm (UTC)

(Link)

О, с картинками стало _совсем_ понятно! Дозволено ли ссылку на пост раздавать в качестве пособия страждущим? :)
[User Picture]From: [info]to_the_future
2009-02-27 01:31 pm (UTC)

(Link)

Естественно дозволено. :)
[User Picture]From: [info]behemotik
2009-02-27 02:45 pm (UTC)

возник вопрос...

(Link)

почему так важно вот тто "по модулю 256"? и 47868 mod 256 = 252...
[User Picture]From: [info]to_the_future
2009-02-27 03:16 pm (UTC)

Re: возник вопрос...

(Link)

Просто в результате получилось достаточно большое число для того, чтобы полный путь оказался больше 255 хопов. Это событие не очень большой вероятности: будь у них AS 47860, то препендов было бы 244 и полный путь вряд ли набрал бы критический размер, а если 47872, то к пути не добавилось бы вообще ни одного препенда.
[User Picture]From: [info]haru_kaze
2009-02-27 03:02 pm (UTC)

(Link)

Последнее должно быть особенным фаном :)))))))))))
[User Picture]From: [info]to_the_future
2009-02-27 03:17 pm (UTC)

(Link)

Для клиентов оно таковым и было. ;))))
[User Picture]From: [info]haru_kaze
2009-02-27 03:32 pm (UTC)

(Link)

Ещё интересно на счета их посмотреть за этот кордебалет :)))))))))
[User Picture]From: [info]neograff
2009-02-27 07:06 pm (UTC)

(Link)

достаточное количество мелких огрехов, но статья хороша, определённо.
[User Picture]From: [info]to_the_future
2009-02-27 09:29 pm (UTC)

(Link)

В чем огрехи? :)
[User Picture]From: [info]bananaft
2009-02-28 03:00 am (UTC)

(Link)

Спасибо, познавательно.
[User Picture]From: [info]dushmann
2009-02-28 07:53 am (UTC)

(Link)

Круто. Репост
[User Picture]From: [info]magictop30
2009-02-28 09:16 am (UTC)

TOP: 2009-02-28 12:20

(Link)

Вы попали в top30 на яндексе самых обсуждаемых тем в блогосфере. Поэтому копия вашего поста доступна в ленте по ссылке
Почитать текст со всеми комментариями можно тут
Это Ваш 4-й ТОПовый пост за последний год. Посмотреть статистику автора можно тут.
Кризиса нет, есть Блогун © НадежныйИсточник
[User Picture]From: [info]huishko
2009-02-28 09:29 am (UTC)

(Link)

Нихуя, кроме того, что чехи и пакистанцы сволочи, не понял, но почему-то автору статьи верю.
[User Picture]From: [info]to_the_future
2009-02-28 12:25 pm (UTC)

(Link)

Большое вам человеческое спасибо! =)))
[User Picture]From: [info]xeus_top_999
2009-02-28 10:07 pm (UTC)

(Link)

Ваш пост написан настолько интересно, что вы попали в Топ-30 Зиуса самых обсуждаемых тем в Живом Журнале.
Это очень положительное явление. Пожалуйста, продолжайте в том же духе. © Зиус

Друзья Зиуса поздравляют вас, и желают большого-большого рейтинга в новом году!