Каков наилучший способ контроля доступной пропускной способности сети между 2 узлами? - PullRequest
1 голос
/ 16 февраля 2012

Мне нужно контролировать пропускную способность сети между двумя узлами. Я имею полный доступ к обоим концам и могу запустить серверы в обоих концах. Можете ли вы дать некоторые подсказки, идеи или связанные ссылки. А также возможность написания его с использованием Java (Oracle) API.

ОБНОВЛЕНИЕ: -

Могу ли я использовать время и размер пакета для расчета пропускной способности. Примерно так: отправка данных известного размера (5 МБ) на другой узел и получение их обратно. Это возможно? Насколько точен?

Спасибо.

1 Ответ

1 голос
/ 17 февраля 2012

Конечно, это будет трудно сделать без использования всей доступной полосы пропускания.

Вдобавок ко всему, вы могли бы сделать большую широковещательную передачу UDP между host1 и host2, а затем сделать так, чтобы host2 сообщал обратно host1, какой процент пакетов он сделал и какова задержка между первым и последним пакетом. Он должен быть достаточно большим, чтобы переполнить буферизацию ядра и маршрутизатора.

Если часы на двух серверах синхронизированы, вы можете рассчитать задержку, отправив временную метку в каждом пакете и сравнив их на сервере. Другой способ - просто отправить пару пакетов, и они сразу же будут подтверждены сервером.

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

...