@LordDominator

Какие проблемы с сетью решаются низкоуровневой отладкой?

Доброго дня!
Думаю над темой диплома, попались интересные статьи по eBPF (extended Berkley Packet Filter):
https://habr.com/ru/company/otus/blog/436528/
https://habr.com/ru/company/nixys/blog/580640/
В первой упоминается проблема с Open vSwitch (неправильный порядок доставки TCP-пакетов),
во второй отслеживаются пакеты в сложных сетях из нескольких виртуальных интерфейсов и сетевых пространств имен.
Насколько понял, суть в том, что BPF-программа позволяет получить доступ к полям sk_buff, net_device, iphdr и вытащить нужную информацию, или записать в некоторые поля свои значения.

Подскажите, какие проблемы с сетью реально встречаются на практике, которые можно обнаружить и решить таким способом?
Может, что-то можно эмулировать на виртуалках?
Спасибо!
  • Вопрос задан
  • 509 просмотров
Решения вопроса 1
@Vitsliputsli
Подскажите, какие проблемы с сетью реально встречаются на практике, которые можно обнаружить и решить таким способом?

Проблем много и разные.
Касательно неправильного порядка доставки TCP-пакетов, то такое возможно при балансировке нагрузки на несколько каналов, которые работают с разной скоростью.
Или, например, при использовании в сети шифрования, видел такое на Dionis DPS, из-за распараллеливания расшифровки.
BPF ничего не решает, только помогает обнаружить. Насколько BPF позволяет легче диагностировать трудно сказать.

Может, что-то можно эмулировать на виртуалках?

А зачем? Есть же tc, с возможностью эмуляции различных сетевых проблем.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
@vitaly_il1
DevOps Consulting
Самое интересное, что eBPF позволяет видеть и понимать многое на апликативном уровне - https://newrelic.com/blog/nerd-life/pixie-develope...
Ответ написан
Комментировать
@ProFfeSsoRr
Сис.админ по Linux
Подскажите, какие проблемы с сетью реально встречаются на практике, которые можно обнаружить и решить таким способом?

Таким способом можно сделать много всего полезного, посмотрите на Cilium например. Без iptables, без еще пачки утилит, на уровне ядра настраивать сложные правила - это ж просто прекрасно! Получается сеть с низкими задержками, с хорошей безопасностью и при этом на больших кластерах.

А проблемы бывают всякие-разные, тут уж у каждого своя практика. Так-то "сложная сеть" легко получается даже на десктопе, когда у тебя контейнеры, ну или виртуалки.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы