Локальная kvm freebsd, openvpn
ipfw add 10 pipe 1 udp from 10.11.9.21 to 10.11.9.1 out
ipfw pipe 1 config bw 2Mbit/s queue 4KBytes # лимит выше 1Мбит (-b 1M), условно, без лимита
iperf3 -u -c 10.11.9.1 -b 1M -t -2 -l 64[ ID] Interval Transfer Bitrate Total Datagrams
[ 5] 0.00-1.00 sec 122 KBytes 999 Kbits/sec 1952
[ 5] 1.00-2.00 sec 122 KBytes 1000 Kbits/sec 1953
[ 5] 2.00-3.00 sec 122 KBytes 1000 Kbits/sec 1953
[ 5] 3.00-4.00 sec 122 KBytes 1000 Kbits/sec 1953
[ 5] 4.00-5.00 sec 122 KBytes 1000 Kbits/sec 1953
[ 5] 5.00-6.00 sec 122 KBytes 1000 Kbits/sec 1953
Хост debian, проверял pps как для vnet30, так и для wlan0
Количество пакетов в секунду одинаковое
tx 1 rx 1966 / pps on vnet30
tx 1 rx 1962 / pps on vnet30
tx 1 rx 1955 / pps on vnet30
tx 1 rx 1962 / pps on vnet30
tx 1 rx 1961 / pps on vnet30
tx 1958 rx 2 / pps on wlan0
tx 1961 rx 2 / pps on wlan0
tx 1955 rx 3 / pps on wlan0
tx 1964 rx 2 / pps on wlan0
tx 1954 rx 2 / pps on wlan0
Дополнительно, на хосте смотрел iptraf-ng на этих интерфейсах, и там всё те же пакеты, 58-112-192 байт, с тем же pps
С другой стороны, freebsd, openvpn
iperf3 -s
[ ID] Interval Transfer Bitrate Jitter Lost/Total Datagrams
[ 5] 0.00-1.00 sec 107 KBytes 874 Kbits/sec 1.316 ms 0/1708 (0%)
[ 5] 1.00-2.00 sec 122 KBytes 1.00 Mbits/sec 1.040 ms 0/1960 (0%)
[ 5] 2.00-3.00 sec 120 KBytes 981 Kbits/sec 0.660 ms 0/1918 (0%)
[ 5] 3.00-4.00 sec 124 KBytes 1.02 Mbits/sec 0.624 ms 0/1985 (0%)
[ 5] 4.00-5.00 sec 122 KBytes 998 Kbits/sec 0.648 ms 0/1950 (0%)
[ 5] 5.00-6.00 sec 122 KBytes 997 Kbits/sec 0.614 ms 0/1948 (0%)
[ 5] 6.00-7.00 sec 122 KBytes 1.00 Mbits/sec 0.690 ms 0/1954 (0%)
[ 5] 7.00-8.00 sec 124 KBytes 1.02 Mbits/sec 0.642 ms 0/1983 (0%)
[ 5] 8.00-9.00 sec 121 KBytes 991 Kbits/sec 0.835 ms 0/1937 (0%)
[ 5] 9.00-10.00 sec 121 KBytes 994 Kbits/sec 1.394 ms 0/1942 (0%)
[ 5] 10.00-11.00 sec 124 KBytes 1.02 Mbits/sec 0.666 ms 0/1984 (0%)
[ 5] 11.00-12.00 sec 122 KBytes 998 Kbits/sec 0.614 ms 0/1949 (0%)
[ 5] 11.00-12.00 sec 122 KBytes 998 Kbits/sec 0.614 ms 0/1949 (0%)
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bitrate Jitter Lost/Total Datagrams
[SUM] 0.0-12.0 sec 31 datagrams received out-of-order
[ 5] 0.00-12.00 sec 1.53 MBytes 1.07 Mbits/sec 0.705 ms 0/25053 (0%) receiver
Таким образом, с лимитом (bw 2Mbit/s) выше указанного в iperf (-b 1M) 1952 пакета в секунду проходят без потерь, и без объединения.
Локальная freebsd:
ipfw pipe 1 delete
ipfw pipe 1 config bw 512Kbit/s queue 24KBytes delay 24ms
iperf3 -u -c 10.11.9.1 -b 1M -t -2 -l 64
[ ID] Interval Transfer Bitrate Total Datagrams
[ 5] 0.00-1.00 sec 122 KBytes 999 Kbits/sec 1952
[ 5] 1.00-2.00 sec 122 KBytes 1000 Kbits/sec 1953
[ 5] 2.00-3.00 sec 122 KBytes 1000 Kbits/sec 1953
С другой стороны, ожидаемо:
[ 5] 17.02-18.00 sec 54.4 KBytes 457 Kbits/sec 2.635 ms 1571/2442 (64%)
[ 5] 18.00-19.00 sec 43.8 KBytes 358 Kbits/sec 1.519 ms 1271/1971 (64%)
[ 5] 19.00-20.00 sec 43.5 KBytes 356 Kbits/sec 2.505 ms 1257/1953 (64%)
[ 5] 19.00-20.00 sec 43.5 KBytes 356 Kbits/sec 2.505 ms 1257/1953 (64%)
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bitrate Jitter Lost/Total Datagrams
[ 5] 0.00-20.00 sec 882 KBytes 361 Kbits/sec 2.566 ms 24773/38887 (64%) receiver
Локальный хост:
tx 1 rx 697 / pps on vnet30
tx 1 rx 703 / pps on vnet30
tx 1 rx 703 / pps on vnet30
То есть, я просто получю шейпер.
При разных вариантах очереди, таймаута, полосы, получается шейпер.
Всё работает логично и правильно, и тут не должно быть никаких объединений нескольких мелких пакетов в один mtu.
Так у меня изначальный вопрос был, есть ли возможность объединить в канале, например, openvpn мелкие пакеты, снизив внешний pps?