eBPF и XDP - это не просто мода, а будущее фильтрации сетевого трафика. На одном ядре процессора можно обработать 14 млн пакетов в секунду без аллокации `sk_buff`, что невозможно достичь с `iptables` или `nftables`.
Хорошо, давайте посчитаем: каждый `sk_buff` занимает ~200 байт, а при 14 млн пакетов/с - это 2.8 ГБ памяти в секунду. Это неприемлемо для высоконагруженных систем. XDP работает на уровне драйвера сетевой карты, где пакеты ещё не попали в стек ядра. Тут нет `sk_buff`, нет контекста TCP/IP, только сырые данные из кольцевого буфера.
Сравнение:
- `iptables`/`nftables` - обрабатывают пакеты в `softirq`, после того как они прошли через весь стек.
- XDP - фильтрует до любого контекста ядра.
Параметры:
- `xdp_drop_cnt` - показывает, сколько пакетов уничтожено на уровне драйвера.
- `xdp_redirect` - перенаправление в другое место (например, в `tc` или `ebpf`).
- `xdp_rx` - режим "rx" позволяет обрабатывать пакеты в пользовательском пространстве.
Используйте `libbpf`, `bpftool`, `perf` для мониторинга. Средняя задержка XDP -
| # | Наименование новости | Тональность | Информативность | Дата публикации |
|---|---|---|---|---|
| 1 | Сколько на самом деле стоит путь пакета через ядро Linux, ... | 0 | 7.07 | 28-09-2026 |
| 2 | У вас 64 ядра и 256 ГБ памяти, но Nginx ... | 0 | 14.42 | 29-09-2026 |
| 3 | Купили двухсокетный сервер на 128 ядер, а база данных стала ... | 0 | 9.49 | 30-09-2026 |
| 4 | BPF-Based Display Panel Drivers Being Explored For Linux | 0 | 8.6 | 29-09-2026 |
| 5 | Купили двухсокетный сервер на 128 ядер, а база данных стала ... | 0 | 9.49 | 01-10-2026 |
| 6 | Купили двухсокетный сервер на 128 ядер, а база данных стала ... | 0 | 9.49 | 30-09-2026 |
| 7 | Купили двухсокетный сервер на 128 ядер, а база данных стала ... | 0 | 9.49 | 01-10-2026 |
| 8 | Купили двухсокетный сервер на 128 ядер, а база данных стала ... | 0 | 9.49 | 01-10-2026 |
| 9 | Каждые пять минут нагруженный PostgreSQL кластер словно падает в обморок ... | 0 | 7.98 | 28-09-2026 |