Потеря пакетов и время приема-передачи являются двумя важными показателями производительности сети, которые влияют на пропускную способность TCP соединений. Мониторинг этих двух значений в режиме реального времени через глобальную сеть или WiFi может помочь вам быстро определить медлительность, с которой сталкиваются конечные пользователи и приложения. В этой статье я покажу, как потеря пакетов и время приема-передачи влияют на пропускную способность TCP.
Потеря пакетов рассчитывается как процент пакетов, которые были получены неправильно или вообще не получены. Этот ключевой показатель производительности является хорошим показателем качества сети, поскольку он точно отражает надежность сети. Потеря пакетов вызвана искаженными пакетами, полученными пунктом назначения, или, что еще хуже, пакеты вообще не принимаются.
Время кругового обхода представляет собой время, которое требуется пакету данных для перемещения туда и обратно к определенному месту назначения. Значение времени прохождения туда и обратно зависит от длины всех пройденных сетевых соединений, а также от задержки, возникающей при каждом прыжке, включая хост назначения.
Пропускная способность – это объем данных, успешно переданных между источником и узлом назначения. Это значение не следует путать с пропускной способностью или скоростью передачи данных. Пропускная способность, как и скорость передачи данных, представляет собой максимальную пропускную способность, достижимую в сети или канале и обычно устанавливается с помощью технологий мультимедиа и кодирования. Пропускная способность – это фактическая скорость передачи, достигнутая между отправителем и получателем.
Поскольку протокол TCP широко используется для просмотра веб-сайтов в Интернете и для загрузки файлов, показатели производительности сети, которые определяют его производительность, очень важны для получения опыта конечного пользователя.
Существует три основных показателя, которые влияют на пропускную способность соединения TCP: время прохождения сигнала в обоих направлениях ( RTT ), потеря пакетов ( p ) и максимальный размер сегмента ( MSS ). Хорошей моделью, которая описывает взаимосвязь этих трех переменных пропускной способности, является уравнение Mathis. Уравнение Mathis утверждает, что максимальная пропускная способность, достигаемая соединением TCP, может быть рассчитана путем деления MSS на RTT и умножения результата на 1 по квадратному корню из p , где p представляет потерю пакета.
Мы провели тест iperf TCP как с потерей пакетов, так и без нее, и сравнили возвращаемую пропускную способность.
Передача TCP без потери пакетов вернула пропускную способность примерно 94 Мбит/с. Передача TCP с 10% вернула пропускную способность 2,88 Мбит/с. Это прямая демонстрация уравнения Mathis.
Возможно, вы захотите протестировать уравнение Mathis независимо, чтобы увидеть влияние потери пакетов и увеличенного времени приема-передачи на пропускную способность TCP. Для проведения такой лабораторной работы вам понадобятся два хоста Linux (вы также можете использовать виртуальные машины vBox на своем ноутбуке) с установленным iperf, чтобы генерировать пропускную способность TCP между двумя узлами, и tc , утилита управления трафиком Linux, чтобы представить потерю пакетов и увеличьте время приема-передачи на одном из двух хостов (здесь мы выберем клиента).
Чтобы проверить уравнение Mathis, вы можете запустить следующие сценарии:
Запустите сервер iperf на одном хосте Linux с помощью этой команды:
iperf - s
Запуск клиента iperf на другом хосте Linux с помощью этой команды:
iperf - c SERVER_IP
Чтобы увеличить потерю пакетов на клиенте iperf, просто введите следующую команду:
tc qdisc add dev eth0 root netem loss 10 %
Затем запустите сервер и клиент iperf, как показано в тесте 1. После завершения теста вы можете удалить правило с помощью следующей команды:
tc qdisc del dev eth0 root
Для увеличения времени туда-обратно с 200ms на клиенте Iperf просто запустите следующую команду:
tc qdisc add dev eth0 root netem delay 200ms
Затем запустите сервер и клиент iperf, как показано в тесте 1. После завершения теста вы можете удалить правило с помощью следующей команды:
tc qdisc del dev eth0 root.
Потеря пакетов и время приема-передачи являются двумя важными показателями производительности сети, которые влияют на пропускную способность соединений TCP. Отслеживание этих двух значений в проводной и WiFi-сети очень важно для выявления проблем, которые влияют на работу конечных пользователей и приложений.