The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Агрегация (объединение мелких пакетов) при туннелировании"
Версия для распечатки Пред. тема | След. тема
Форум Настройка Squid, Tor и прокси серверов
Исходное сообщение [ Отслеживать ]

. "Агрегация (объединение мелких пакетов) при туннелировании" +1 +/
Сообщение от zyxman (?), 02-Апр-24, 07:57 
> Есть ли какие-либо варианты аггрегации мелких пакетов по достижению заданного размера или
> по таймауту?

Вообще буквально так работает FreeBSD ipfw pipe, там буквально есть корзина, которая заполняется пакетами и освобождается, либо когда пакет задержан на сколько заказано, либо когда корзина переполнилась.

На практике, надо померять распределение траффика, посчитать сколько пакетов в секунду проходит сейчас и поделить на сколько хочется иметь и получится 1/(задержка в секундах).

Дальше это уже вопрос настройки VPN, который будет просто отправлять сразу блоком - главное что этими пайпами оно будет получать сразу вот этот блок.
В Линуксе это вобщем тоже можно сделать, но сильно менее удобно.

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

Также подобным образом сортировал пакеты по размеру (чтобы маленькие проходили раньше больших).

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

Ответить | Правка | Наверх | Cообщить модератору

Оглавление
Агрегация (объединение мелких пакетов) при туннелировании, Олег Бартунов, 28-Мрт-24, 19:13  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру