Где-то между отправителем и получателем есть хост, явно ограничивающий мою скорость передачи.
Я знаю, что это хост Linux. Входящий интерфейс для моего трафика eth0
и выходной интерфейс eth1
. Ограничитель скорости, скорее всего, реализован как-то используя управление трафиком Linux (tc
), но подробностей я не знаю.
Из более раннего автономное сравнение между файлами pcap, записанными в eth0
и eth1
интерфейсов, я знаю, что ограничитель скорости добавляет значительную задержку пакетов (до 15 секунд!) и потерю пакетов (до 16%), когда я пытаюсь проталкивать как можно больше данных, используя iperf
.
Весь трафик - TCP / IP. IP-адрес источника, IP-адрес назначения и порт назначения известны и постоянны. Между последовательными потоками меняется только порт источника.
Имея (root) доступ, есть ли способ сделать живое измерение задержки пакетов и счетчиков / скорости отбрасывания? Или записать в файл как данные временного ряда?
Да, можно. Сначала вы должны посмотреть tc
вывод статистики (см. https://unix.stackexchange.com/questions/96804/tc-show-output-explanation)
Кроме того, вы можете наблюдать за потоком сетевого трафика с помощью любых утилит сетевой нагрузки - iftop
, iptraf
,nethogs
,bandwhich
, и т.д.
P.S. И я бы рекомендовал просмотреть tc-конфигурацию tc
- лучше использовать формирование чем сложно предел скорости. Хорошее объяснение различия здесь: https://www.cisco.com/c/en/us/support/docs/quality-of-service-qos/qos-policing/19645-policevsshape.html