В одном из прошлых обзоров мы рассмотрели основные возможности ADSL-роутера ASUS AAM6020VI. Данный обзор будет посвящен возможностям шейпинга трафика на этом устройстве.
Шейпинг трафика представлен в двух исполнениях:
- Ограничение общей ширины обратного канала с помощью задания параметров CBR, VBR, MBS (Constant Bit Rate, Variabe Bit Rate, Maximum Burst Size) — это стандартный вид шейпинга, который встречается практически на всех ADSL-устройствах. Шейпинг осуществляется возможностями технологии ATM
- Ограничение трафика исходящего с определенного интерфейса (LAN/WAN) с возможностью задания различных приоритетов и типа обслуживания (TOS) для трафика
Рассмотрим каждый вид шейпинга более подробно.
Ограничение общей ширины обратного канала заданием параметров CBR, VBR, MBS
В настройках QoS присутствует 3 пункта: UBR (Unspecified Bit Rate), CBR (Constant Bit Rate) и VBR (Variable Bit Rate), что означает передачу с заранее неопределенной скоростью, передачу с постоянной скоростью и передачу с переменной скоростью.
В поле PCR указывается максимальная скорость передачи (ячеек/с, напомню, что каждая ячейка имеет размер 53 байта = 48 байт данных и 5 байт заголовок). В поле SCR указывается средняя скорость передачи (ячеек/с), в поле MBS указывается максимальное количество ячеек, которое может быть передано со скоростью PCR (только в режиме Variable Bit Rate).
Параметр CDVT — время вариации задержки (в случае мультиплексирования ячеек от двух и более соединений ATM, ячейки одного соединения могут быть задержаны на время, ограниченное значением CDVT. Если ячейка опаздывает и не вписывается в интервал CDVT — она должна быть удалена). Так как значение CDVT действительно только при 2х и более ATM соединениях, то в нашем случае (1 соединение ATM) она не играет роли. Во всех тестах значение CDVT равно 1.
UBR не предоставляет гарантий относительно качества услуг и полосы пропускания и предполагает наличие протокола более высокого уровня, например, TCP, для исправления ошибок передачи. TCP позволяет регулировать скорость передачи в зависимости от количества потерянных пакетов (для уменьшения потерь протокол TCP понижает скорость передачи, тем самым как бы разгружая линию, а чем меньше загрузка линии — тем меньше потери).
Пункт CBR (Constant Bit Rate) означает, что данному соединению будет предоставляться заранее определенная полоса пропускания канала. При выборе данного пункта становится активным поле CDVT и PCR (Peak Cell Rate), в котором можно задать скорость трафика.
Пункт VBR (Variable Bit Rate) означает, что для данного соединения полоса пропускания канала может меняться со временем. При выборе данного пункта становятся активными все поля: PCR (Peak Cell Rate) — максимальная скорость и SCR (Sustainable Cell Rate) — средняя скорость, MBS (Maximum Burst Size) — максимальное количество ячеек, которое может быть передано со скоростью PCR и CDVT — вариация времени задержки. Со средней скоростью трафик может передаваться неограниченно долго.
Сначала выберем пункт CBR (постоянная скорость передачи) и будем менять параметр PCR в пределах от 100 до 1500 ячеек/с.
Как видно из графика, при линейном увеличении значения PCR, мы получаем линейное повышение скорости трафика в обратном канале.
Теперь выберем пункт VBR (переменная скорость передачи).
Сначала установим параметры PCR = 1500 ячеек/с, SCR = 500 ячеек/с, MBS = 5000 ячеек и посмотрим на полученные результаты — эти результаты станут контрольными
Теперь увеличим значение MBS в 2 раза с 5000 до 10000
Как видно из графика, значения PCR и SCR остались неизменными, а значение MBS увеличилось как раз в 2 раза
Теперь вернем MBS первоначальное значение MBS = 5000, а значение SCR увеличим в 2 раза с 500 до 1000
Как видно из графика, скорость передачи SCR увеличилась в 2 раза, по сравнению с контрольными результатами.
Таким образом, мы видим, что меняя параметры PCR, SCR, MBS мы можем влиять на ширину обратного канала рассматриваемого маршрутизатора.
Теперь перейдем к шейпингу трафика с назначением приоритетов.
Ограничение трафика исходящего с определенного интерфейса (LAN/WAN) с возможностью задания различных приоритетов и типа обслуживания (TOS) для трафика
Напомню, что для корректной работы правил QoS в ATM сетях требуется поддержка QoS на всех устройствах, через которые идет трафик. Используемый в наших тестах DSLAM D-Link DAS-3216 не поддерживает технологию QoS, поэтому приведенные тесты нельзя назвать объективными — мы просто будем менять параметры и посмотрим, как это отразится на результатах. Подробная документация на возможности QoS отсутствует (как говорилось в прошлой статье, рассматриваемое устройство вообще имеет достаточно скудную документацию), поэтому здесь не будет подробного описания всех возможных настроек.
Возможности IP QoS поддерживают назначение приоритета (Low, Medium, High) потокам трафика. В настройках также указывается, к какому интерфейсу применяются данные правила (правила применяются к исходящему с указанного интерфейса трафику).
В настройках можно указать, как будет распределяться трафик между потоками с приоритетами Low и Medium — полоса пропускания делится между ними в процентном соотношении.
Существует еще 2 режима работы Trusted (доверенный) и Untrusted (не-доверенный), но в документации не оказалось действительно внятного описания, в чем их отличия (во всех тестах использовался режим Untrusted).
Приоритеты потокам можно назначить исходя из: адреса подсети-источника пакетов, диапазона портов источника пакетов, адреса подсети назначения пакетов, диапазона портов назначения пакетов, протокола (TCP/ICMP/UDP/*), и номера физического порта на роутере
Также возможна маркировка пакетов типа сервиса (TOS, Type of Service).
Применение правил QoS к трафику прямого канала не дало никаких результатов, картина оставалась неизменной. Возможно, это связано с тем, что DSLAM не поддерживает QoS. Поэтому все приведенные ниже результаты относятся именно к управлению трафиком обратного канала.
Список проведенных тестов:
- 2 потока с приоритетами High и Low
- 2 потока с приоритетами High и Medium
- 2 потока с приоритетами Low и Medium, полоса пропускания делится так: Low =10%, Medium = 90%
- 2 потока с приоритетами Low и Medium, полоса пропускания делится так: Low =90%, Medium = 10%
- 2 потока с приоритетами Low и Medium, полоса пропускания делится так: Low =50%, Medium = 50%
Тест 1: 2 потока с приоритетами High и Low
Большая часть полосы пропускания предоставлена потоку с высоким приоритетом, потоку с низким приоритетом предоставляется всего около 3% ширины канала.
Тест 2: 2 потока с приоритетами High и Medium
Картина аналогична той, что мы получили в предыдущем тесте. Почти вся ширина канала предоставляется потоку с приоритетом High. Потоку с приоритетом Medium достается всего около 3% ширины канала.
Тест 3: 2 потока с приоритетами Low и Medium, полоса пропускания делится так: Low =10%, Medium = 90%
Скорость распределяется следующим образом: 55% на поток с приоритетом Medium, и 45% на поток с приоритетом Low, хотя в настройках мы устанавливали 90% — для потока Medium и 10% — для Low.
Тест 4: 2 потока с приоритетами Low и Medium, полоса пропускания делится так: Low =90%, Medium = 10%
Несмотря на то, что поток с приоритетом Low в настройках имеет 90% полосы пропускания канала, скорость этого потока несколько ниже скорости потока с приоритетом Medium, который имеет в настройках 10% полосы пропускания.
Тест 5: 2 потока с приоритетами Low и Medium, полоса пропускания делится так: Low =50%, Medium = 50%
В настройках устанавливается, что полоса пропускания делится поровну между потоками с приоритетами Low и Medium, но результаты показывают, что это не совсем так. По графику видно, что скорость потока с приоритетом Low периодически становится выше скорости потока с приоритетом Medium.
Выводы:
Настройки QoS в установках соединения показывают хорошие результаты и, можно сказать, работают, так как должны работать. С шейпингом трафика с установкой приоритетов потоков все несколько сложнее: нам удалось заставить работать шейпинг только для исходящего трафика. Это может быть связано с тем, что DSLAM, на котором производилось тестирование, не поддерживает возможностей QoS, поэтому мы не можем дать объективных результатов тестов.
Плюсы:
- Наличие шейпинга трафика по приоритетам
Минусы:
- Не удалось применить шейпинг трафика к прямому каналу
- Результаты шейпинга трафика с установкой приоритетов достаточно сильно отличаются от задаваемых в настройках