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