Моя цель - иметь TCP / IP-соединение между двумя устройствами, которые связаны друг с другом с помощью радиопередатчиков, подключенных к каждому устройству через последовательный порт. Их максимальный битрейт теоретически составляет 500 кбит / с. Мне удалось установить sh такое соединение с помощью pppd:
pppd crtscts noauth lock 172.100.0.1:172.100.0.2 /dev/ttyUSB0 460800
Он работает нормально, я могу sh переходить от одного к другому. Я запустил iperf3 (сервер: iperf3 -s
, клиент: iperf3 -c 172.100.0.1
). Результат был:
Connecting to host 172.100.0.1, port 5201
[ 4] local 172.100.0.2 port 33740 connected to 172.100.0.1 port 5201
[ ID] Interval Transfer Bandwidth Retr Cwnd
[ 4] 0.00-1.00 sec 56.2 KBytes 460 Kbits/sec 0 12.4 KBytes
[ 4] 1.00-2.00 sec 70.4 KBytes 577 Kbits/sec 0 15.8 KBytes
[ 4] 2.00-3.00 sec 129 KBytes 1.05 Mbits/sec 0 21.5 KBytes
[ 4] 3.00-4.00 sec 78.8 KBytes 645 Kbits/sec 0 25.0 KBytes
[ 4] 4.00-5.00 sec 90.3 KBytes 739 Kbits/sec 0 29.2 KBytes
[ 4] 5.00-6.00 sec 113 KBytes 931 Kbits/sec 0 34.3 KBytes
[ 4] 6.00-7.00 sec 21.2 KBytes 174 Kbits/sec 0 34.5 KBytes
[ 4] 7.00-8.00 sec 39.2 KBytes 321 Kbits/sec 0 34.5 KBytes
[ 4] 8.00-9.00 sec 54.9 KBytes 450 Kbits/sec 0 34.5 KBytes
[ 4] 9.00-10.00 sec 29.6 KBytes 243 Kbits/sec 0 34.5 KBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bandwidth Retr
[ 4] 0.00-10.00 sec 683 KBytes 559 Kbits/sec 0 sender
[ 4] 0.00-10.00 sec 621 KBytes 509 Kbits/sec receiver
iperf Done.
двунаправленные тесты с -d
дали аналогичные результаты.
Однако, когда я пытаюсь скопировать файл (сгенерированный с использованием dd if=/dev/urandom of=~/randfile bs=1M count=1
, я получаю очень повторяемые результаты ~ 20-25 КБ / с (ниже MPU, ниже скорость передачи), более чем в 2 раза хуже, чем у iperf3:
scp ~/randfile user@ip:/path
100% 1024KB 20.3KB/s 00:50
У вас есть идеи, что может вызвать такую разницу? Я попробовал потоковое видео и результаты были примерно такими же, я достиг 150 кбит / с с UDP, я не смог заставить работать 200 кбит / с. Я попробую SLIP, который должен иметь меньшие накладные расходы, чем pppd.
EDIT
результат pppstats device1 :
pppstats -r -v
IN PACK VJCOMP VJTOSS NON-VJ RATIO UBYTE | OUT PACK VJCOMP VJSRCH VJMISS RATIO UBYTE
1980812 17773 9606 0 968 1.15 1595821 | 6156633 34099 18485 480 13 3.69 5387948
устройство2:
pppstats -r -v
IN PACK VJCOMP VJTOSS NON-VJ RATIO UBYTE | OUT PACK VJCOMP VJSRCH VJMISS RATIO UBYTE
6155869 34092 18485 0 7687 3.69 5387156 | 1979984 17762 9606 422 14 1.15 1594949