Обзор
Вы спрашиваете о том, что обычно называют «пассивным» измерением доступной полосы пропускания (ABW) вдоль пути (по сравнению с измерением ABW одной линии). Существует ряд различных методик 1 , которые оценивают ширину полосы с использованием пассивного наблюдения или низкочастотных "активных" методов зондирования ABW. Однако наиболее распространенными алгоритмами, используемыми в производственных службах, являются активные методы ABW; они наблюдают потоки пакетов из двух разных конечных точек.
Я наиболее знаком с yaz
, который отправляет пакеты с одной стороны и измеряет изменение задержки на другой стороне. Методы измерения односторонней пассивной траектории ABW считаются более экспериментальными; нет надежных реализаций алгоритмов AFAIK.
Обсуждение
Проблема с заданием, которое вы задали, заключается в том, что все неинтрузивные 2 методы измерения ABW основаны на синхронизации . К сожалению, при работе с http очень сложно работать со временем ...
- Вам приходится иметь дело с реальностью кеширования объектов (например, akamai ) и http прокси (которые завершают ваш TCP-сеанс преждевременно и часто подделывают IP-адрес веб-сервера для клиента).
- Вам приходится иметь дело с веб-хостами, которые могут периодически зависать
Наконец, активные методы ABW основаны на структурированном потоке пакетов (по размеру пакета и времени), в отличие от того, что вы видите при стандартной передаче http.
Резюме
Таким образом, если вы не настроите выделенный клиент / сервер / протокол только для измерения ABW, я думаю, вы будете весьма разочарованы результатами. Вы можете сохранить ваши сокетные соединения ABW на TCP / 80, но инструменты, которые я видел, не будут использовать http 3 .
От редакции : Мой первоначальный ответ предполагал, что ABW с http возможен. При дальнейшем размышлении я передумал.
END-ПРИМЕЧАНИЯ:
- См. Архив Салли Флойд из комплексных инструментов оценки пропускной способности TCP / IP
- Наиболее распространенные навязчивые методы (такие как speedtest.net ) используют в браузере flash или java-апплет для отправки и получения 3-5 параллельных потоков TCP на каждую конечную точку в течение 20-30 секунд. Добавьте среднюю пропускную способность потоков (не включая потерянные пакеты, требующие повторной передачи) с течением времени, и вы получите tx и rx ABW этого пути. Это, очевидно, довольно разрушительно для звонков VoIP или любых текущих загрузок. Подрывные измерения называются объемной пропускной способностью (BTC). См. RFC 3148: Структура для определения эмпирических показателей объемной пропускной способности . В измерениях BTC часто используется HTTP, но, похоже, BTC не соответствует вашим ожиданиям.
- Это хорошо, поскольку устраняет риск встроенного кэширования, запрещая http-кэшированию объект для кэширования; хотя некоторые инструменты (например,
yaz
) доступны только для udp.