Ватник. Колорад. Нашист. Горжусь этим. (to_the_future) wrote,
Ватник. Колорад. Нашист. Горжусь этим.
to_the_future

Category:

Жизнь и необычайные приключения BGP-анонса или "об интернете для самых маленьких"

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

Краткая сущность необъясненности™: 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% каналов во всем мире. А когда падает канал, начинает перестраиваться маршрутизация, произошел взрывной рост трафика, содержащего маршрутную информацию. Многие из тех, кого напрямую не затронуло падение, начали ощущать тормоза от перестройки маршрутов. В той или иной степени интернет колбасило несколько часов.

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



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

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

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

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

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

  • Информационный суверенитет - 2.

    Лет пять назад я написал здесь пост про информационный суверенитет. На фоне внутриамериканских событий, снова про это пишу. На этот раз для "…

  • Пыщь

    Если вы меня давно не видели, то в этом видосе я есть:

  • Великий Инквизитор 2019

    Воскресным днём пятого числа весеннего месяца апреля, молодой палестинец по имени Иешуа Га-Ноцри собирался покинуть поезд, прибывающий на станцию…

  • Post a new comment

    Error

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 50 comments
Previous
← Ctrl ← Alt
Next
Ctrl → Alt →
Previous
← Ctrl ← Alt
Next
Ctrl → Alt →

  • Информационный суверенитет - 2.

    Лет пять назад я написал здесь пост про информационный суверенитет. На фоне внутриамериканских событий, снова про это пишу. На этот раз для "…

  • Пыщь

    Если вы меня давно не видели, то в этом видосе я есть:

  • Великий Инквизитор 2019

    Воскресным днём пятого числа весеннего месяца апреля, молодой палестинец по имени Иешуа Га-Ноцри собирался покинуть поезд, прибывающий на станцию…