Рубрика «маршрутизация»

A forwarding entity always forwards packets in per-flow order to
zero, one or more of the forwarding entity’s own transmit interfaces
and never forwards a packet to the packet’s own receive interface.
Brian Petersen. Hardware Designed Network

Одно из удивительнейших достижений современности — это то, как, сидя в Норильске, человек может чатиться со своим другом в Таиланде, параллельно покупать билет на вечерний самолёт к нему, расплачиваясь банковской картой, в то время, как где-то в Штатах на виртуалочке его бот совершает сделки на бирже со скоростью, с которой его сын переключает вкладки, когда отец входит в комнату.

А через 10 минут он закажет такси через приложение на телефоне, и ему не придётся даже брать с собой в дорогу наличку.

В аэропорту он купит кофе, расплатившись часами, сделает видеозвонок дочери в Берлин, а потом запустит кинцо онлайн, чтобы скоротать час до посадки.

За это время тысячи MPLS-меток будут навешаны и сняты, миллионы обращений к различным таблицам произойдут, базовые станции сотовых сетей передадут гигабайты данных, миллиарды пакетов больших и малых в виде электронов и фотонов со скоростью света понесутся в ЦОДы по всему миру.

Это ли не электрическая магия?

В своём вояже к QoS, теме обещанной многократно, мы сделаем ещё один съезд. На этот раз обратимся к жизни пакета в оборудовании связи. Вскроем этот синий ящик и распотрошим его.

Сети для самых маленьких. Часть четырнадцатая. Путь пакета - 1
Кликабельно и увеличабельно.

Сегодня:

  1. Коротко о судьбе и пути пакета
  2. Плоскости (они же плейны): Forwarding/Data, Control, Management
  3. Кто как и зачем обрабатывает трафик
  4. Типы чипов: от CPU до ASIC'ов
  5. Аппаратная архитектура сетевого устройства
  6. Путешествие длиною в жизнь

Читать полностью »

Время — деньги. Как мы учили Яндекс.Такси точно рассчитывать стоимость поездки - 1

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

До недавнего времени стоимость поездки в такси тоже была плавающей. Даже онлайн-сервисы рассчитывали сумму лишь примерно — окончательная стоимость формировалась только в конце пути. Тариф, как правило, включает три компонента: стоимость посадки (иногда с включенными километрами и/или минутами), стоимость километра и стоимость минуты. Конечно, можно было рассчитать примерную цену за поездку и раньше, но в конце она могла измениться из-за того, что, например, по пути водитель задержался в пробке. Понятно, что пассажирам это не всегда нравилось.

Кажется, нет ничего проще, чем использовать данные маршрутизатора в Яндекс.Навигаторе и данные Пробок, чтобы Яндекс.Такси с самого начала рассчитало точную цену, которая не менялась бы по окончании поездки. Но на самом деле на стоимость влияет огромное число факторов, не только тариф. Важно не просто уметь её рассчитывать. С одной стороны, стоимость должна быть привлекательной для пользователя, причём с учётом не только текущей ситуации на дороге, но и, например, пробок, которых на маршруте пока нет, но которые скоро возникнут. С другой, цена должна быть такой, чтобы водители не потеряли в заработке, даже если путь из точки А в точку Б оказался длиннее или дольше, чем планировалось. В этой статье мы расскажем, как решали задачу и как искали сбалансированный алгоритм, выгодный всем участникам платформы Яндекс.Такси.
Читать полностью »

Яндекс уже некоторое время ведет разработку беспилотного автомобиля. Перед вами одна из первых технических лекций на эту тему. В направлении беспилотных автомобилей работают сотрудники Яндекса в разных городах, включая и Минск. Автор лекции Роман Удовиченко как раз из Минска — он руководит группой обработки дорожной ситуации. На сентябрьском Я.Субботнике Роман рассказал об одной из больших задач, стоящих перед его группой.

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

Читать полностью »

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

При проектировании сети в новом месте хотелось новых плюшек:

  • В некоторой степени изолировать серверы клиентов от чужого трафика;
  • Не дать недобросовестным клиентам повесить себе на интерфейс адреса добросовестных;
  • При необходимости иметь возможность без особой нагрузки порезать трафик;
  • Иметь возможность дать клиенту любое количество IP-адресов.

Теоретически, все эти моменты решаются с помощью обычных VLAN. Однако, возникает проблема с перерасходом адресов — все же жалко клиенту, заказавшему сервер с одним адресом, отдавать сеть /30 и терять три адреса впустую. Также жалко адреса и в обратной ситуации — клиенту надо 6 доступных адресов, а в сеть /29 он уже не поместится, приходится выдавать сеть /28 и терять 7 штук.Читать полностью »

Некоторое время назад Яндекс.Такси стало предлагать вызвать такси не точно туда, где вы находитесь, а пройти несколько метров, но доехать быстрее и дешевле.

Как технологии Яндекс.Такси приближают будущее личного и общественного транспорта - 1

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

Читать полностью »

В Севастополе случайно заблокировали запрещённые Украиной российские соцсети и сервисы - 1

Утром 31 мая российский провайдер «Телесистемы» (дочка украинского провайдера «Воля») заблокировал на территории Крыма доступ к «Яндексу», Mail.ru, «Вконтакте» и многим другим российским сайтам, которые попали под экономические санкции украинских властей. Об этом пишет севастопольский новостной портал ForPost. Местные жители говорят, что блокировка произошла не только у этого провайдера, а примерно у двух третей абонентов различных провайдеров Крыма.

Причина в том, что провайдер «Телесистемы» закупил трафик у украинской компании «Воля», поэтому произошёл такой технический казус. Ситуацию исправили в течение нескольких часов, настроив таблицы маршрутизации.
Читать полностью »

Задача зловреда — установить TCP-соединение с компьютером, расположенным за NAT. После этого (если пакеты передаются и в ту, и в другую сторону) зловред знает, что делать.
Читать полностью »

Заметки с работы. И снова про BGP.

Сегодня я размышляю про функционал Route-Refresh.
Нужен он для того, чтобы не разрывать соединение с соседом, не сбрасывать таблицу маршрутизации, не прерывать сервисы, а просто перезапросить маршруты. И ей уже семь лет в обет.
Например, одна из наиболее частых ситуаций, где востребован этот функционал — обновление политики.
Итак, есть политика на импорт маршрутов в таблицу маршрутизации — она фильтрует, к примеру, все префиксы длиннее 23 битов, то есть /24 уже не проходит и не попадает в ТМ.
Потом мы бац — и меняем правило — решили блокировать только префиксы длиннее 25. И /24 тогда уже должны быть импортированы.
Тогда BGP по-быстрому перезапрашивает их и применяет обновлённую политику.

Читать полностью »

Никто не любит длинные вступления, поэтому сразу к сути.
В данной импровизированной лаборатории я хотел бы осветить работу с сетями в GNU/Linux
и рассмотреть следующие темы:

  1. Изучаем vlan. Строим сеть между vm1, vm2 в одном vlan. Пингуем, ловим пакеты, изучаем заголовки.
  2. Разбиваем vm1 vm2 на разные vlan. Настраиваем intervlan routing с помощью R1.
  3. Iptables. Настраиваем маскарад. Имитируем выход во внешние сети.
  4. Iptables. Настраиваем port forwarding для сервисов на vm1 и v2, которые находятся за NAT.
  5. Iptables. Настраиваем security zones. Изучаем tcp сессии.

З.Ы. все люди ошибаются, я открыт для ваших комментариев, если я написал какую-то глупость, готов ее исправить!
Читать полностью »

image

В предыдущем посте мы рассмотрели базовые принципы работы сервиса «8-800». Сегодня же поговорим о маршрутизации. Что такое «интеллектуальная» маршрутизация и как она работает в сервисе «8-800» предлагаю рассмотреть на реальных примерах из моей практики в МегаФон.
Читать полностью »