Рубрика «сетевой стек»

Покоряем сетевой стек Linux: декапсулируем пакеты с помощью eBPF на скорости 6Mpps+ - 1

Когда переход на VXLAN в облачных сетях грозил нарушить работу системы анализа трафика, нам нужно было найти решение, позволяющее сохранить точный сбор статистики при экстремальных нагрузках и измененной структуре заголовков пакетов. Я — Александр Шишебаров, старший разработчик в команде сетевых функций облака Selectel. Разрабатываю все, что связано с сетью: балансировщики, виртуальные роутеры, сети, глобальный роутер и так далее.

В этой статье рассказываю о том, как мы использовали eBPF для перехвата и декапсуляции VXLAN-пакетов прямо в ядре, обеспечив корректный сбор статистики без значительных изменений в архитектуре системы. Разберем, какие требования привели нас к этому решению, как его внедряли и каких результатов удалось достичь. Также расскажу, что такое eBPF, как работает технология, как начать с ней работать и на каких этапах сетевого стека Linux можно перехватывать пакеты с ее помощью. Подробности под катом!Читать полностью »

eBPF вместо всего: почему это новая эра сетей, мониторинга и безопасности? - 1

Раньше модификация Linux требовала пересборки ядра или использования дополнительных модулей. Но теперь есть eBPF — технология, которая позволяет программировать ядро на лету, не жертвуя стабильностью. Звучит как мечта системного администратора или очередной тренд, который существует только на бумаге, но нет. Обработка миллионов пакетов в секунду, отслеживание уязвимостей в реальном времени и замена традиционных агентов мониторинга чем-то более эффективным — это не будущее. Это настоящее, в котором уже живут, например, CloudFlare и Netflix. Детали под катом.Читать полностью »

Пишем стек TCP-IP с нуля: Ethernet, ARP, IPv4 и ICMPv4 - 1

Часть 1: Ethernet и ARP

Написание собственного стека TCP/IP поначалу может показаться пугающей задачей. И в самом деле, за свой тридцатилетний срок жизни TCP впитал в себя множество спецификаций. Однако базовая спецификация остаётся относительно компактной1Читать полностью »

Как и зачем мы забенчили производительность сетевого стека - 1

Привет! На связи Наташа, UX-исследователь в Selectel, с технической темой на дизайнерском. Последние полгода я исследую опыт взаимодействия с серверной операционной системой. В ходе исследований мы увидели спрос на повышение производительности сетевого стека и провели некоторые эксперименты, чтобы понять реализуемость и целесообразность внедрения технологий обхода ядра. Это история о том, как мы разгоняли и без того шустрый Nginx и тестировали результат внедрения технологии kernel bypass.Читать полностью »

Представляем библиотеку-ОС (library operating system, LibOS) для Linux.

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

Хотя архитектура сама по себе способна виртуализировать многие вещи, нынешний дизайн сосредоточен только на сетевом стеке. Вы можете пользоваться такими функциями сетевого стека как TCP, UDP, SCTP, DCCP (IPv4 и IPv6), Mobie IPv6, Multipath TCP (IPv4/IPv6, пока не включен в основную ветку) и netlink в различных приложениях пользовательского пространства (quagga, iproute2, iperf, wget, thttpd).
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js