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

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

https://habr.com/ru/companies/oleg-bunin/articles/901186/

#selectel #ebpf #сетевой_стек #linux

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

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

Хабр

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

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

https://habr.com/ru/companies/selectel/articles/901186/

#selectel #ebpf #сетевой_стек #linux

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

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

Хабр

[Перевод] Пишем стек TCP/IP с нуля: поток данных TCP, Socket API, повторная передача

Первая часть: Ethernet, ARP, IPv4 и ICMPv4 Вторая часть: основы TCP и Handshake В прошлом посте мы узнали о заголовках TCP и о том, как устанавливается соединение между двумя сторонами. В этом посте мы изучим передачу данных по TCP и способ управления ею. Также мы создадим интерфейс сетевого стека, который приложения смогут использовать для передачи данных по сети. Потом этот Socket API мы применим, чтобы наш пример приложения смог отправить простой HTTP-запрос веб-сайту.

https://habr.com/ru/articles/891702/

#tcp #сетевые_протоколы #передача_данных #сетевой_стек #сокеты

Пишем стек TCP/IP с нуля: поток данных TCP, Socket API, повторная передача

Первая часть: Ethernet, ARP, IPv4 и ICMPv4 Вторая часть: основы TCP и Handshake В прошлом посте мы узнали о заголовках TCP и о том, как устанавливается соединение между двумя сторонами. В этом посте...

Хабр

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

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

https://habr.com/ru/companies/selectel/articles/887272/

#selectel #сетевая_безопасность #eBPF #мониторинг #трассирорвка_системы #сетевой_стек #производительность_Linux

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

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

Хабр

[Перевод] Пишем стек TCP/IP с нуля: основы TCP и Handshake

Первая часть: Ethernet, ARP, IPv4 и ICMPv4 Пока наш стек TCP/IP пользовательского пространства содержит минимальные реализации Ethernet и IPv4. Настало время заняться пугающим Transmission Control Protocol (TCP). TCP, работающий на четвёртом (транспортном) сетевом слое OSI1, отвечает за починку ошибочных подключений и сбоев в доставке пакетов. TCP — «рабочая лошадка» Интернета, обеспечивающая надёжную связь практически во всех компьютерных сетях. TCP — не особо новый протокол, первая его спецификация вышла в 1974 году2. С тех пор многое поменялось, TCP дополнился множеством расширений и исправлений3. В этом посте мы изучим базовую теорию TCP, а также рассмотрим заголовок TCP и поговорим об установке соединения (TCP handshaking). Под конец мы продемонстрируем первую функциональность TCP в нашем сетевом стеке.

https://habr.com/ru/articles/891682/

#tcp #handshake #tcp_window_size #tcpip #сетевой_стек #сокеты

Пишем стек TCP/IP с нуля: основы TCP и Handshake

Первая часть: Ethernet, ARP, IPv4 и ICMPv4 Пока наш стек TCP/IP пользовательского пространства содержит минимальные реализации Ethernet и IPv4. Настало время заняться пугающим Transmission Control...

Хабр

[Перевод] Пишем стек TCP/IP с нуля: Ethernet, ARP, IPv4 и ICMPv4

Написание собственного стека TCP/IP поначалу может показаться пугающей задачей. И в самом деле, за свой тридцатилетний срок жизни TCP впитал в себя множество спецификаций. Однако базовая спецификация остаётся относительно компактной1 — из важных частей в ней можно выделить парсинг заголовков TCP, машину состояний, отслеживание перегрузок и вычисление таймаута повторной передачи. Самые распространённые протоколы слоя 2 и слоя 3, Ethernet и IP, скромны по сравнению с сложностью TCP. В этой серии статей мы реализуем минимальный стек TCP/IP пользовательского пространства для Linux. Посты и код служат исключительно в образовательных целях, они позволят вам глубже изучить сетевое и системное программирование.

https://habr.com/ru/articles/889618/

#ethernet #tcp #сетевой_стек #arp #ipv4 #tcpip #ip

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

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

Хабр

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

Привет, Хабр! На связи Наташа, UX-исследователь

https://habr.com/ru/companies/selectel/articles/865644/

#selectel #linux #dpdk #nginx #kernel_bypass #сетевой_стек #сеть

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

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

Хабр