Наш транзит и почему мы пиримся везде, где можем

Три транзитных провайдера на каждый хаб, публичный пиринг на DE-CIX, AMS-IX и Equinix и то, как мы выбираем пути, когда у одного из них плохой день.

СкСетевая команда CheapServАвтор 6 мин чтения
Сетевой узел, от которого во все стороны расходятся яркие линии связи
На этой странице6
  1. Транзит: три аплинка на каждый хаб
  2. Пиринг: держим трафик локальным
  3. Как мы выбираем путь
  4. Как выглядит плохой день
  5. Ёмкость и правило её наращивания
  6. Проверьте сами

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

Транзит: три аплинка на каждый хаб

Площадки во Франкфурте, Нью-Йорке и Сингапуре подключены каждая к трём транзитным провайдерам по физически раздельным вводам в здание и на отдельных маршрутизаторах. Провайдеры подобраны так, чтобы их собственные магистрали различались: Tier 1 с глобальной сетью, крупный европейский или региональный оператор с плотным покрытием внутри страны и третий — с другим составом клиентов ниже по цепочке. У Амстердама, Хельсинки и Лос-Анджелеса по два аплинка плюс частная магистральная связь с ближайшим хабом, которая принимает на себя трафик, когда оба местных аплинка работают с деградацией.

Три — то число, при котором авария у одного оператора, плановые работы у второго и утечка маршрутов у третьего могут случиться в одну неделю, а никто этого не заметит; такое у нас уже случалось дважды.

Пиринг: держим трафик локальным

Мы присутствуем на DE-CIX Frankfurt, AMS-IX, Equinix IX в Нью-Йорке и Сингапуре, а также на более мелких местных точках обмена в Хельсинки и Лос-Анджелесе и придерживаемся открытой политики пиринга: сессию получает любой, кто о ней попросит. Через публичный пиринг проходит примерно 60% нашего исходящего трафика в Европе и 45% — в Азии. Трафик к крупным контент-сетям, к провайдерам доступа (eyeball ISP) и к облачным провайдерам идёт напрямую через коммутационную фабрику точки обмена, за один хоп, не проходя через магистраль транзитного провайдера.

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

Как мы выбираем путь

По умолчанию BGP выбирает кратчайший AS-путь, а он нередко оказывается не самым быстрым. Мы корректируем выбор на трёх уровнях:

  1. Предпочитать пиринг транзиту через local preference, потому что прямая сессия почти всегда даёт лучший путь.
  2. Предпочитать самый чистый транзит, когда один и тот же префикс предлагают несколько провайдеров. Небольшой парк зондов каждую минуту измеряет потери и задержку до нескольких тысяч сетей назначения через каждый аплинк. Если потери через аплинк до какой-либо сети превышают 0.5% в течение пяти минут, для этого направления его приоритет автоматически понижается; когда измерения приходят в норму, приоритет возвращается.
  3. Настраивать немногочисленные исключения вручную: для нескольких далёких направлений, где кратчайший путь проходит через перегруженную точку обмена, задаётся статическое предпочтение в пользу более длинного, но менее загруженного маршрута.

Входящим трафиком управлять сложнее: как до нас добираться, решает остальной интернет. Мы анонсируем одни и те же префиксы всем аплинкам и используем prepend и community только для того, чтобы увести трафик с пути, на котором зонд фиксирует потери, но никогда — ради экономии на более дешёвом операторе.

Как выглядит плохой день

В прошлом квартале у одного из аплинков во Франкфурте произошёл сбой магистрали, из-за которого около часа на направлениях в Северную Америку терялось 40% пакетов. Зонды заметили проблему в течение двух минут и понизили приоритет оператора для затронутых префиксов; трафик перешёл на два других аплинка, ёмкость которых рассчитана так, чтобы любой из них мог принять на себя всю площадку. Клиенты увидели несколько минут повышенной задержки до США — и ничего больше. На странице статуса за этот период появилась запись «Деградация» для транзита во Франкфурте, потому что так оно и было, хотя влияние оказалось небольшим.

Полная потеря площадки — тот случай, ради которого существует магистраль: если бы Амстердам лишился обоих аплинков, его трафик ушёл бы через Франкфурт по частной связи. По этому пути рабочий трафик за пределами учений не ходил ни разу, а учения мы проводим дважды в год.

Ёмкость и правило её наращивания

Каждый канал наращивается, когда его загрузка по 95-му процентилю превышает 50% две недели подряд. Это значит, что в штатном режиме канал не должен быть заполнен больше чем наполовину, а вторая половина остаётся на момент, когда откажет соседний канал или потребуется поглотить атаку. Дешёвый хостинг обычно дёшев потому, что кто-то пренебрёг этим правилом; это одна из немногих статей расходов, которых не касается наше правило ценообразования.

Проверьте сами

  • Looking Glass показывает BGP-пути, ping и traceroute от каждой площадки до любого адреса.
  • Наша AS зарегистрирована в PeeringDB с указанием точек обмена и политики пиринга; на запросы сессий, отправленные по указанному там контакту, отвечают в течение нескольких дней.
  • На странице статуса транзит и пиринг показаны отдельными компонентами по каждой площадке, с историей, поэтому деградация аплинка видна, даже если вы её не ощутили.
Ск
Сетевая команда CheapServ

Отвечает за магистральную сеть, набор транзитных операторов и защиту от DDoS во всех шести локациях.

Разверните первый сервер меньше чем за минуту.

Пополните баланс от $25 в BTC, ETH, XMR или USDT. Баланс не сгорает, а неиспользованные средства можно вернуть.

Создать аккаунт