что такое qos в сетях

Как использовать «Quality of Service» (QoS)

что такое qos в сетях. qos 0. что такое qos в сетях фото. что такое qos в сетях-qos 0. картинка что такое qos в сетях. картинка qos 0.

Не весь интернет-трафик равен. Потоковое видео высокой четкости или наличие бесплатного Skype-звонка, вероятно, более важно для вас, чем загрузка большого файла. Функция качества обслуживания на вашем маршрутизаторе позволяет вам определять приоритеты в отношении вещей, о которых вы заботитесь, поэтому они происходят быстрее, чем то, что вы не делаете.

Что такое качество обслуживания?

Качество обслуживания — отличный и недостаточно используемый инструмент, который позволяет вам обучать ваш маршрутизатор, чтобы разделить вашу доступную пропускную способность между приложениями. С хорошими правилами QoS вы можете убедиться, что потоковое видео не заикается, потому что большой файл загружается одновременно или что ваш рабочий ноутбук не вялый, когда вы пытаетесь выполнить этот последний крайний срок, пока ваши дети играют в игры онлайн.

Это может помочь подумать о качестве обслуживания следующим образом: давайте притворимся на мгновение, что ваше интернет-соединение — это больница, где доступная полоса пропускания — это количество врачей, доступных для лечения пациентов. Пациенты — это разные приложения, а медсестра-сортировщик — это роутер.

В обычной сети медсестра с сортировкой безразлична к состоянию входящих пациентов и просто назначает их любым доступным врачам, постепенно распространяя персонал больницы тоньше и тоньше, не учитывая тяжести ситуации пациента. Случайно прострелил руку с помощью гвоздя во время проекта DIY? Немедленно обратитесь к врачу. Кто-то просто пробежал грузовик? Они сразу же получают врача. У кого-то еще появляется сломанная рука? Они тоже получают врача (но если он действительно очень занят, то вскоре люди делят врачей, и никто не получает особо быстрого ухода). Вы можете видеть, как в короткие сроки больница будет увязшей в беспорядке, и пациенты с высоким приоритетом не будут получать высокоприоритетную помощь.

То же самое происходит и в вашей сети на дому — пропускная способность выдается по мере необходимости, без особого внимания к тому, что делает каждое приложение. Это означает, что если вы разговариваете по телефону с вашим боссом, и ваши дети начинают смотреть Netflix, качество вашего звонка в Skype может снизиться. Маршрутизатор делает все возможное, чтобы предоставить доступную пропускную способность между двумя службами, а не учитывая, что «более важно».

что такое qos в сетях. qos 1. что такое qos в сетях фото. что такое qos в сетях-qos 1. картинка что такое qos в сетях. картинка qos 1.QoS визуализируется с использованием приоритетной модели на основе сервисов.

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

Сети с примененной моделью качества обслуживания будут расставлять приоритеты, как вы укажете, определенным приложениям, службам и/или пользователям над другими, так что важные вещи (Netflix, Skype-звонки, ваш Xbox Live-соединение и т. Д.) Имеют наибольшую пропускную способность и лучшее время пинга.

Как включить качество обслуживания вашего маршрутизатора

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

Шаг первый: определите свою цель

Прежде чем вы откроете свою страницу администратора, подумайте о своих целях. Что вы пытаетесь выполнить с помощью правил качества обслуживания? Вы хотите, чтобы ваш домашний офисный компьютер всегда имел приоритет над всеми другими устройствами в доме (например, весь ваш рабочий трафик всегда должен быть более важным, чем развлечение и игры на других устройствах)? Вы хотите определить приоритет трафика из блока IP-адресов, назначенных вашему домашнему медиа-серверу и серверу Minecraft, чтобы обеспечить быстрый доступ из-за пределов вашей домашней сети? Вы хотите установить приоритет Netflix, чтобы ваше потоковое видео всегда было гладким?

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

Шаг второй: определите скорость соединения

После того, как вы установили свои цели для настройки QoS, пришло время погрузиться в ее запуск и запуск. Сохраните для самых простых систем QoS, почти каждая настройка QoS спросит о вашей скорости загрузки и загрузки, чтобы установить ограничения на то, сколько пользователей и сервисов пропускной способности могут сожрать. Абсолютно не полагайтесь на рекламируемую скорость, которую ваш интернет-провайдер говорит о вашей учетной записи. Испытай сам, чтобы получить истинное измерение.

Во-первых, прекратите все действия с высокой пропускной способностью в вашей сети: прекратите большие загрузки, остановите поток Netflix и так далее. Вы хотите получить точную картину вашей реальной доступной загрузки и загрузки.

Затем нажмите Speedtest.net и нажмите кнопку «Начать тест». В идеале вы должны выполнить этот тест, пока ваш компьютер подключен к кабелю Ethernet или, по крайней мере, к быстрому соединению Wi-Fi (с использованием современных беспроводных технологий, таких как Wireless N или Wireless AC ). Старое сетевое оборудование Wi-Fi может помешать вашему сетевому тесту, и вы не получите точных результатов (например, ваша передача Wi-Fi может обрабатывать только передачу 40 Мбит / с, но ваше соединение действительно способно на 75mpbs).

что такое qos в сетях. speedtest. что такое qos в сетях фото. что такое qos в сетях-speedtest. картинка что такое qos в сетях. картинка speedtest.

После того, как у вас есть результаты, преобразуйте числа с Mbps в Kbps (поскольку настройка управления QoS обычно запрашивает эти значения в килобитах, а не в мегабитах). Вы можете сделать это, умножив каждое значение на 1000. Таким образом, в нашем примере выше мы достигли 42 900 Кбит / с для нашей пропускной способности загрузки и 3980 Кбит / с для нашей полосы пропускания.

Шаг третий: включение QoS на вашем маршрутизаторе

Опять же, для акцента мы используем DD-WRT для демонстрационных целей (потому что у него есть надежная система QoS); вам необходимо применить общие принципы, если это применимо.

Сначала откройте страницу администратора вашего маршрутизатора. Откройте веб-браузер и введите IP-адрес вашего маршрутизатора в адресную строку (обычно что-то вроде 192.168.1.1 или 10.0.0.1, хотя вам может потребоваться проверить руководство вашего маршрутизатора). Войдите в систему с вашим именем пользователя и паролем при появлении запроса (опять же, если вы не знаете, что у вас есть, оно может по-прежнему быть по умолчанию, указанным в вашем руководстве).

После входа в систему выберите вкладку NAT / QoS, а затем вкладку QoS. Сначала выберите «Включить» рядом с «Запуск QoS». Оставьте порт установленным в WAN. Оставьте диспетчер пакетов и Queuing Discipline установленным по умолчанию (он должен быть установлен автоматически на основе оборудования маршрутизатора).

что такое qos в сетях. qos 2. что такое qos в сетях фото. что такое qos в сетях-qos 2. картинка что такое qos в сетях. картинка qos 2.

Наконец, заполните значения нисходящей линии связи и восходящей линии связи. Значения, которые вы заполняете, должны быть на 80-95% выше, чем у вашего теста скорости. Умножьте оба значения на 0,8 или 0,95, чтобы получить уменьшенную величину Kbps.

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

Как определить приоритет трафика

После того, как вы включили Quality of Service, пришло время создать основные правила приоритизации трафика.

Некоторые новые маршрутизаторы имеют мертвые простые параметры QoS, где вы просто выбираете сервисы, которые вы хотите расставить по приоритетам (или перетаскивайте их в список). Вот, к примеру, это скриншот от нового маршрутизатора ASUS, который у нас есть:

что такое qos в сетях. qos 3. что такое qos в сетях фото. что такое qos в сетях-qos 3. картинка что такое qos в сетях. картинка qos 3.

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

Приоритет службы

Если вы хотите, чтобы каждое устройство в вашей сети имело приоритетный доступ к определенному приложению или сервису, вы можете создать правило приоритета службы сети. Скажем, для примера, вы хотите убедиться, что Netflix получает приоритет за менее чувствительные к пропускной способности вещи, такие как общий просмотр веб-страниц. Сначала вы выберите услугу в раскрывающемся меню, как показано ниже, а затем нажмите «Добавить».

что такое qos в сетях. qos 4. что такое qos в сетях фото. что такое qos в сетях-qos 4. картинка что такое qos в сетях. картинка qos 4.

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

что такое qos в сетях. qos 5. что такое qos в сетях фото. что такое qos в сетях-qos 5. картинка что такое qos в сетях. картинка qos 5.

Приоритет по интерфейсу

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

Давайте посмотрим, как мы можем сделать гостевой сетевой трафик низким приоритетом. В раскрывающемся меню мы выберем «wl0.1», который в сетевом сокращении будет виртуальной локальной сетью № 0. Виртуальная сеть 1. Нажмите «Добавить».

что такое qos в сетях. qos 6. что такое qos в сетях фото. что такое qos в сетях-qos 6. картинка что такое qos в сетях. картинка qos 6.

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

что такое qos в сетях. qos 7. что такое qos в сетях фото. что такое qos в сетях-qos 7. картинка что такое qos в сетях. картинка qos 7.

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

Приоритет устройства с IP-адресами

Предположите, что вы всегда должны указывать определенное устройство, такое как ваш рабочий компьютер. Если вы используете статические IP-адреса или резервирования DHCP в своей сети, вы можете определить приоритет трафика на определенных компьютерах и устройствах, используя их IP-адрес. Многие маршрутизаторы допускают это, и DD-WRT делает шаг дальше, позволяя вам назначать приоритет группе IP-адресов с помощью «сетевой маски».

Скажем, например, что вы хотите, чтобы ваш домашний сервер, расположенный на статическом IP-адресе 10.0.0.200, имел доступ с наивысшим приоритетом к вашей сети. Вы должны ввести адрес в разделе «Приоритет сетевой маски» и добавить конец с 32, как показано ниже.

что такое qos в сетях. qos 8. что такое qos в сетях фото. что такое qos в сетях-qos 8. картинка что такое qos в сетях. картинка qos 8.

Если вы обнаружите, что сетевая маска немного запутана (это не совсем интуитивно понятно), лучше всего просто придерживаться / 32 и вводить вручную каждый IP-адрес.

Как только вы нажмете «Добавить», вы можете назначить приоритетный доступ к адресу, как в предыдущем разделе.

Приоритет устройства с MAC-адресами

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

С MAC-адресом в руке просто введите его в раздел приоритета MAC, нажмите «Добавить», а затем назначьте приоритет устройству, как это было в предыдущих разделах.

что такое qos в сетях. qos 9. что такое qos в сетях фото. что такое qos в сетях-qos 9. картинка что такое qos в сетях. картинка qos 9.

Теперь, независимо от того, какой IP-адрес назначает ваш маршрутизатор, скажем, вы можете обеспечить свой рабочий ноутбук, он всегда будет иметь приоритет.

Источник

Что такое qos в сетях

Quality of Service (с англ. «качество обслуживания») — это набор технологий, которые запускают высокоприоритетные приложения и трафик при лимитированной пропускной способности. Это означает, что более важный трафик будет обработан быстрее, а задержки по сети будут минимальны.

Измерения, касающиеся QoS, включают:

Дрожание (отклонение в задержке);

Благодаря технологии QoS можно научить маршрутизатор разделять пропускную способность и тогда ни потоковое видео, ни звонок в Skype не будут заикаться.

Как работает

Механизмы QoS для упорядочивания пакетов и выделения полосы пропускания:

управление полосой пропускания.

Необходимо разделить трафик с помощью инструментов классификации. Так организации смогут контролировать доступность ресурсов для приоритетных приложений. Трафик может быть классифицирован по порту, IP-адресу или с использованием более сложного подхода, такого как приложение или пользователь.

Затем для инструментов управления очередями и управления полосой пропускания назначают правила для обработки потоков трафика, характерных для классификации, которую они получили при входе в сеть.

Механизм организации очереди предназначен для хранения пакетов в потоках трафика до тех пор, пока сеть не будет готова их обработать. Это гарантирует, что наиболее важные приложения не будут лишены пропускной способности в сети из-за приложений с меньшим приоритетом.

Механизм управления пропускной способностью измеряет и контролирует потоки трафика, чтобы избежать перегруженности сети. Этот механизм включает в себя:

увеличение полезной полосы пропускания;

другие методы для обеспечения пропускной способности.

В зависимости от поставщика QoS перечисленными средствами можно управлять и объединять в блоки.

Когда используется

Каждый день корпоративные сети перегружаются натиском трафика. Часть этого трафика имеет решающее значение для успеха бизнес-операций. Особенно это может быть важно для IP-телефонии. Поэтому, когда возникает переполнение очереди на сетевых устройствах, QoS необходим, чтобы увеличить скорость обработки данных и убрать переполнение буфера памяти на сетевых устройствах.

Большинство организаций используют протокол передачи файлов (FTP) и приложения для видеоконференций, такие как Zoom или GoToMeeting. Хотя оба показателя важны для производительности сотрудников, пакеты FTP не так чувствительны к задержкам, как пакеты передачи голоса по Интернет-протоколу (VoIP). В случае задержки FTP-пакеты все равно будут доставлены без изменений. Но задержанный VoIP-пакет приведет к разобщенным видеозвонкам и сорванным деловым встречам.

Сервисные модели

Существуют три модели для реализации QoS:

Best-Effort (Негарантированная доставка);

IntServ (Интегрированное обслуживание);

DiffServ (Дифференцированные услуги).

Best-Effort — это модель сервиса по умолчанию, которая применяется к различным сетевым приложениям, таким как протокол передачи файлов (FTP) и электронная почта. Приложение может отправлять любое количество пакетов в любое время без уведомления сети. Затем сеть пытается передать пакеты. Модель Best-Effort подходит для услуг, которые предъявляют минимальные требования к задержке и скорости потери пакетов.

В модели IntServ приложение использует протокол сигнализации для уведомления сети о параметрах трафика и применения уровня QoS перед отправкой пакетов. Сеть резервирует ресурсы для приложения на основе параметров трафика. После того, как приложение получает подтверждение о зарезервированных ресурсах, оно начинает отправлять пакеты в пределах указанного диапазона.

DiffServ — часто используемая модель QoS, классифицирует пакеты в сети и выполняет установленные действия для каждого класса. Когда происходит перегрузка сети, пакеты классов обрабатываются на основе приоритетов, что приводит к неодинаковой частоте потери пакетов, неоднородным задержкам и дрожанию. Пакеты одного и того же класса объединяются и отправляются одним блоком.

В отличие от IntServ, модель DiffServ не требует протокола сигнализации. В этой модели приложение не запрашивает сетевые ресурсы перед отправкой пакетов. Вместо этого приложение устанавливает параметры QoS в пакетах, через которые сеть может узнать требования QoS приложения. Сеть предоставляет дифференцированные услуги на основе параметров QoS каждого потока данных.

Классификация и маркировка

Классификация и маркировка трафика – основа дифференцированных услуг.

Критерии для классификации данных:

IP-адрес источника или назначения;

значение класса CoS в заголовке;

значение типа услуги ToS в заголовке IP (приоритет IP или DSCP);

значение MPLS EXP в заголовке MPLS.

На этапе классификации маршрутизатор распознает трафик, который будет сопоставлен с каждым из классов.

После классификации маршрутизатор выполняет маркировку пакетов: связывает пакет с оригинальным параметром. Этот параметр используется в последующих маршрутизаторах для идентификации трафика. Маркировка может быть сделана:

на уровне 2 в заголовке Ethernet;

на уровне 2.5 в заголовке MPLS;

на уровне 3 в заголовке IP;

Благодаря этим изменениям трафик быстро распознается в любой точке сети.

Параметры, которые могут быть установлены или изменены:

значение CoS исходящего пакета;

значение DSCP в байте типа ToS;

значение поля MPLS EXP в верхней метке на интерфейсе ввода или вывода;

экспериментальное поле EXP многопротокольной коммутации по MPLS на введенных записях меток;

значение приоритета в заголовке пакета;

идентификатор группы QoS (ID);

биты ToS в заголовке IP-пакета.

Например, чтобы разместить голосовой и информационный трафик в отдельных очередях, используют классификацию. Метод маркировки помогает QoS изменять биты в заголовке пакета и указывать приоритет, понятный для других инструментов. Инструменты маркировки для голосовых пакетов используют для гарантии, что программа распознает их в сетевом потоке.

Настройка сервиса на роутере

Перед настройкой сервиса на роутере заходят на портал изготовителя, чтобы узнать, какие функции QoS поддерживаются и как получить к ним доступ.

Каждая платформа будет запрашивать скорость загрузки и выгрузки. Не стоит полагаться на заявленную провайдером скорость. Узнать доступную полосу пропускания для загрузки и выгрузки можно на speedtest.net. Полученные результаты преобразуют из Мбита в Кбит.

Алгоритм включения QoS на роутере:

Открыть панель администрирования.

В адресную строку браузера ввести IP-адрес маршрутизатора.

Войти под персональным именем и паролем (указано в руководстве к маршрутизатору).

После входа выбрать вкладку «NAT», затем «QoS».

Нажать «Включить», оставив порт установленным на WAN, а Packet Scheduler и Queueing Discipline в состоянии по умолчанию.

Заполнить значения восходящую и нисходящую линии связи (вводные данные составляют 80-95% значения, полученного в ходе теста скорости).

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

QoS в IP-телефонии

Настройка QoS в IP-телефонии важна для бизнеса, ведь качество связи влияет на количество звонков и, соответственно, конверсию.

Чтобы не допустить помехи связи и задержки звука, можно настроить приоритезацию для данных IP-телефонии. Перед настройкой обратите внимание на характеристики роутера и максимальный размер очереди обработки пакетов. Если канал узкий, то буфер устройства будет переполняться, а новые пакеты удаляться и приоритизация трафика в таком случае бесполезна. Необходимо проложить дополнительные маршруты.

Настроить приоритезацию в IP-телефонии можно двумя способами:

В веб-интерфейсе роутера:

По протоколу SIP/RTP (используется для передачи звука).

В приложении для звонков:
Необходимо открыть сетевые настройки (Ethernet, IP, ATM, MPLS и др.) и промаркировать трафик. Так роутер поймет, какие данные пропускать быстрее.

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

Заключение

Технология QoS помогает поддерживать производительность сети, гарантировать бесперебойную передачу трафика, а также регулярно оценивать состояние IT-инфраструктуры компании. QoS в IP-телефонии влияет на количество и качество звонков, а значит на конверсию.

Источник

Защищаемся маршрутизатором: QoS

QoS — тема большая. Прежде чем рассказывать про тонкости настроек и различные подходы в применении правил обработки трафика, имеет смысл напомнить, что такое вообще QoS.

Quality of Service (QoS) — технология предоставления различным классам трафика различных приоритетов в обслуживании.

Во-первых, легко понять, что любая приоритезация имеет смысл только в том случае, когда возникает очередь на обслуживание. Именно там, в очереди, можно «проскользнуть» первым, используя своё право.
Очередь же образуется там, где узко (обычно такие места называются «бутылочным горлышком», bottle-neck). Типичное «горлышко» — выход в Интернет офиса, где компьютеры, подключенные к сети как минимум на скорости 100 Мбит/сек, все используют канал к провайдеру, который редко превышает 100 МБит/сек, а часто составляет мизерные 1-2-10МБит/сек. На всех.

Во-вторых, QoS не панацея: если «горлышко» уж слишком узкое, то часто переполняется физический буфер интерфейса, куда помещаются все пакеты, собирающиеся выйти через этот интерфейс. И тогда новопришедшие пакеты будут уничтожены, даже если они сверхнужные. Поэтому, если очередь на интерфейсе в среднем превышает 20% от максимального своего размера (на маршрутизаторах cisco максимальный размер очереди составляет как правило 128-256 пакетов), есть повод крепко задуматься над дизайном своей сети, проложить дополнительные маршруты или расширить полосу до провайдера.

Разберемся с составными элементами технологии

(дальше под катом, много)

Маркировка. В полях заголовков различных сетевых протоколов (Ethernet, IP, ATM, MPLS и др.) присутствуют специальные поля, выделенные для маркирования трафика. Маркировать же трафик нужно для последующей более простой обработки в очередях.

Ethernet. Поле Class of Service (CoS) — 3 бита. Позволяет разделить трафик на 8 потоков с различной маркировкой

IP. Есть 2 стандарта: старый и новый. В старом было поле ToS (8 бит), из которого в свою очередь выделялись 3 бита под названием IP Precedence. Это поле копировалось в поле CoS Ethernet заголовка.
Позднее был определен новый стандарт. Поле ToS было переименовано в DiffServ, и дополнительно выделено 6 бит для поля Differencial Service Code Point (DSCP), в котором можно передавать требуемые для данного типа трафика параметры.

Маркировать данные лучше всего ближе к источнику этих данных. По этой причине большинство IP-телефонов самостоятельно добавляют в IP-заголовок голосовых пакетов поле DSCP = EF или CS5. Многие приложения также маркируют трафик самостоятельно в надежде, что их пакеты будут обработаны приоритетно. Например, этим «грешат» пиринговые сети.

Даже если мы не используем никаких технологий приоритезации, это не значит, что не возникает очередей. В узком месте очередь возникнет в любом случае и будет предоставлять стандартный механизм FIFO (First In First Out). Такая очередь, очевидно, позволит не уничтожать пакеты сразу, сохраняя их до отправки в буфере, но никаких преференций, скажем, голосовому трафику не предоставит.

Если хочется предоставить некоторому выделенному классу абсолютный приоритет (т.е. пакеты из этого класса всегда будут обрабатываться первыми), то такая технология называется Priority queuing. Все пакеты, находящиеся в физическом исходящем буфере интерфейса будут разделены на 2 логических очереди и пакеты из привилегированной очереди будут отсылаться, пока она не опустеет. Только после этого начнут передаваться пакеты из второй очереди. Эта технология простая, довольно грубая, её можно считать устаревшей, т.к. обработка неприоритетного трафика будет постоянно останавливаться. На маршрутизаторах cisco можно создать
4 очереди с разными приоритетами. В них соблюдается строгая иерархия: пакеты из менее привилегированных очередей не будут обслуживаться до тех пор, пока не опустеют все очереди с более высоким приоритетом.

Справедливая очередь (Fair Queuing). Технология, которая позволяет каждому классу трафика предоставить одинаковые права. Как правило не используется, т.к. мало даёт с точки зрения улучшения качества сервиса.

Взвешенная справедливая очередь (Weighted Fair Queuing, WFQ). Технология, которая предоставляет разным классам трафика разные права (можно сказать, что «вес» у разных очередей разный), но одновременно обслуживает все очереди. «На пальцах» это выглядит так: все пакеты делятся на логические очереди, используя в
качестве критерия поле IP Precedence. Это же поле задаёт и приоритет (чем больше, тем лучше). Дальше, маршрутизатор вычисляет, пакет из какой очереди «быстрее» передать и передаёт именно его.

что такое qos в сетях. fb23e8e253dafa6e865d573237f8a4cd. что такое qos в сетях фото. что такое qos в сетях-fb23e8e253dafa6e865d573237f8a4cd. картинка что такое qos в сетях. картинка fb23e8e253dafa6e865d573237f8a4cd.

Считает он это по формуле:

IPP — значение поля IP Precedence
t(i) — Время, требуемое на реальную передачу пакета интерфейсом. Можно вычислить, как L/Speed, где L — длина пакета, а Speed — скорость передачи интерфейса

Такая очередь по умолчанию включена на всех интерфейсах маршрутизаторов cisco, кроме интерфейсов точка-точка (инкапсуляция HDLC или РРР).

WFQ имеет ряд минусов: такая очередизация использует уже отмаркированные ранее пакеты, и не позволяет самостоятельно определять классы трафика и выделяемую полосу. Мало того, как правило уже никто не маркирует полем IP Precedence, поэтому пакеты идут немаркированные, т.е. все попадают в одну очередь.

Развитием WFQ стала взвешенная справедливая очередь, основанная на классах (Class-Based Weighted Fair Queuing, CBWFQ). В этой очереди администратор сам задаёт классы трафика, следуя различным критериям, например, используя ACL, как шаблон или анализируя заголовки протоколов (см.NBAR). Далее, для этих классов
определяется «вес» и пакеты их очередей обслуживаются, соразмерно весу (больше вес — больше пакетов из этой очереди уйдёт в единицу времени)

Но такая очередь не обеспечивает строгого пропускания наиболее важных пакетов (как правило голосовых или пакетов других интерактивных приложений). Поэтому появился гибрид Priority и Class-Based Weighted Fair Queuing — PQ-CBWFQ, также известный как, Low Latency Queuing (LLQ). В этой технологии можно задать до 4х приоритетных очередей, остальные классы обслуживать по механизму CBWFQ

LLQ — наиболее удобный, гибкий и часто используемый механизм. Но он требует настройки классов, настройки политики и применения политики на интерфейсе.

Подробнее о настройках расскажу дальше.

Таким образом процесс предоставления качества обслуживания можно поделить на 2 этапа:
Маркировка. Поближе к источникам.
Обработка пакетов. Помещение их в физическую очередь на интерфейсе, подразделение на логические очереди и предоставление этим логическим очередям различных ресурсов.

Технология QoS — достаточно ресурсоёмкая и весьма существенно грузит процессор. И тем сильнее грузит, чем глубже в заголовки приходится залезать для классификации пакетов. Для сравнения: маршрутизатору гораздо проще заглянуть в заголовок IP пакета и проанализировать там 3 бита IPP, нежели раскручивать поток практически до уровня приложения, определяя, что за протокол идёт внутри (технология NBAR)

Для упрощения дальнейшей обработки трафика, а также для создания так называемой «области доверия» (trusted boundary), где мы верим всем заголовкам, относящимся к QoS, мы можем делать следующее:
1. На коммутаторах и маршрутизаторах уровня доступа (близко к клиентским машинам) ловить пакеты, раскидывать их по классам
2.В политике качестве действия перекрашивать заголовки по-своему или переносить значения QoS-заголовков более высокого уровня на нижние.

Например, на маршрутизаторе ловим все пакеты из гостевого WiFi домена (предполагаем, что там могут быть не управляемые нами компьютеры и софт, который может использовать нестандартные QoS-заголовки), меняем любые заголовки IP на дефолтные, сопоставляем заголовкам 3 уровня (DSCP) заголовки канального уровня (CoS),
чтобы дальше и коммутаторы могли эффективно приоритезировать трафик, используя только метку канального уровня.

Настройка очередей заключается в настройке классов, затем для этих классов надо определить параметры полосы пропускания и применить всю созданную конструкцию на интерфейс.

class-map NAME
match?

access-group Access group
any Any packets
class-map Class map
cos IEEE 802.1Q/ISL class of service/user priority values
destination-address Destination address
discard-class Discard behavior identifier
dscp Match DSCP in IP(v4) and IPv6 packets
flow Flow based QoS parameters
fr-de Match on Frame-relay DE bit
fr-dlci Match on fr-dlci
input-interface Select an input interface to match
ip IP specific values
mpls Multi Protocol Label Switching specific values
not Negate this match result
packet Layer 3 Packet length
precedence Match Precedence in IP(v4) and IPv6 packets
protocol Protocol
qos-group Qos-group
source-address Source address
vlan VLANs to match

Пакеты в классы можно рассортировывать по различным атрибутам, например, указывая ACL, как шаблон, либо по полю DSCP, либо выделяя конкретный протокол (включается технология NBAR)

policy-map POLICY
class NAME1
?

bandwidth Bandwidth
compression Activate Compression
drop Drop all packets
log Log IPv4 and ARP packets
netflow-sampler NetFlow action
police Police
priority Strict Scheduling Priority for this Class
queue-limit Queue Max Threshold for Tail Drop
random-detect Enable Random Early Detection as drop policy
service-policy Configure Flow Next
set Set QoS values
shape Traffic Shaping

Для каждого класса в политике можно либо выделить приритетно кусок полосы:

policy-map POLICY
class NAME1
priority?

1941450 Kilo Bits per second
percent % of total bandwidth

и тогда пакеты этого класса смогут всегда рассчитывать как минимум на этот кусок.

Либо описать, какой «вес» имеет данный класс в рамках CBWFQ

policy-map POLICY
class NAME1
bandwidth?

1409786 Kilo Bits per second
percent % of total Bandwidth
remaining % of the remaining bandwidth

В обоих случаях можно указать как аболютное значение, так и процент от всей доступной полосы

Возникает резонный вопрос: а откуда маршрутизатор знает ВСЮ полосу? Ответ банален: из параметра bandwidth на интерфейсе. Даже если он не сконфигурирован явно, какое то его значение обязательно есть. Его можно посмотреть командой sh int.

Также обязательно помнить, что по умолчанию вы распоряжаетсь не всей полосой, а лишь 75%. Пакеты, явно не попавшие в другие классы, попадают в class-default. Эту настройку для дефолтного класса можно задать явно

policy-map POLICY
class class-default
bandwidth percent 10

(UPD, спасибо OlegD)

Изменить максимальную доступную полосу с дефолтных 75% можно командой на интерфейсе

Маршрутизаторы ревностно следят, чтобы админ не выдал случайно больше полосы, чем есть и ругаются на такие попытки.

Создаётся впечатление, что политика будет выдавать классам не больше, чем написано. Однако, такая ситуация будет лишь в том случае, если все очереди наполнены. Если же какая то пустует, то выделенную ей полосу наполненные очереди поделят пропорционально своему «весу».

Работать же вся эта конструкция будет так:

Если идут пакеты из класса с указанием priority, то маршрутизатор сосредотачивается на передаче этих пакетов. Причем, т.к. таких приоритетных очередей может быть несколько, то между ними полоса делится пропорционально указанным процентам.

Как только все приоритетные пакеты закончились, наступает очередь CBWFQ. За каждый отсчёт времени из каждой очереди «зачёрпывается» доля пакетов, указанная в настройке для данного класса. Если же часть очередей пустует, то их полоса делится пропорционально «весу» класса между загруженными очередями.

Применение на интерфейсе:

int s0/0
service-policy [input|output] POLICY

А что же делать, если надо строго рубить пакеты из класса, выходящие за дозволенную скорость? Ведь указание bandwidth лишь распределяет полосу между классами, когда очереди загружены.

Для решения этой задачи для класса трафика в политике есть технология

police [speed] [birst] conform-action [действие] exceed-action [действие]

она позволяет явно указать желаемую среднюю скорость (speed), максимальный «выброс», т.е. количество передаваемых данных за единицу времени. Чем больше «выброс», тем больше реальная скорость передачи может отклоняться от желаемой средней. Также указываются: действие для нормального трафика, не превышающего
указанную скорость и действие для трафика, превысившего среднюю скорость. Действия могут быть такими

police 100000 8000 conform-action?

drop drop packet
exceed-action action when rate is within conform and
conform + exceed burst
set-clp-transmit set atm clp and send it
set-discard-class-transmit set discard-class and send it
set-dscp-transmit set dscp and send it
set-frde-transmit set FR DE and send it
set-mpls-exp-imposition-transmit set exp at tag imposition and send it
set-mpls-exp-topmost-transmit set exp on topmost label and send it
set-prec-transmit rewrite packet precedence and send it
set-qos-transmit set qos-group and send it
transmit transmit packet

Часто возникает также и другая задача. Предположим, что надо ограничить поток, идущий в сторону соседа с медленным каналом.

что такое qos в сетях. 8c73b16c47a02d460b24dda022eae309. что такое qos в сетях фото. что такое qos в сетях-8c73b16c47a02d460b24dda022eae309. картинка что такое qos в сетях. картинка 8c73b16c47a02d460b24dda022eae309.

Дабы точно предсказать, какие пакеты дойдут до соседа, а какие будут уничтожены в силу загруженности канала на «медленной» стороне, надо на «быстрой» стороне создать политику, которая бы заранее обрабатывала очереди и уничтожала избыточные пакеты.

И тут мы сталкиваемся с одной очень важной вещью: для решения этой задачи надо сэмулировать «медленный» канал. Для этой эмуляции не достаточно только раскидать пакеты по очередям, надо ещё сэмулировать физический буфер «медленного» интерфейса. У каждого интерфейса есть скорость передачи пакетов. Т.е. в единицу времени каждый интерфейс может передать не более, чем N пакетов. Обычно физический буфер интерфейса рассчитывают так, чтобы обеспечить «автономную» работу интерфейсу на несколько единиц вермени. Поэтому физический буфер, скажем, GigabitEthernet будет в десятки раз больше какого-нибудь интерфейса Serial.

Что же плохого в том, чтобы запомнить много? Давайте рассмотрим подробно, что произойдёт, в случае если буфер на быстрой передающей стороне будет существенно больше буфера принимающей.

Пусть для простоты есть 1 очередь. На «быстрой» стороне сэмулируем малую скорость передачи. Это значит, что попадая под нашу политику пакеты начнут накапливаться в очереди. Т.к. физический буфер большой, то и логическая очередь получится внушительной. Часть приложений (работающих через ТСР) поздно получат уведомление о том, что часть пакетов не получена и долго будут держать большой размер окна, нагружая сторону-приемник. Это будет происходить в том идеальном случае, когда скорость передачи будет равна или меньше скорости приёма. Но интерфейс принимающей стороны может быть сам загружен и другими пакетами
и тогда маленькая очередь на принимающей стороне не сможет вместить всех пакетов, передаваемых ей из центра. Начнутся потери, которые повлекут за собой дополнительные передачи, но в передающем буфере ведь ещё останется солидный «хвост» ранее накопленных пакетов, которые будут передаваться «вхолостую», т.к. на принимающей стороне не дождались более раннего пакета, а значит более позние будут просто проигнорированы.

Поэтому для корректного решения задачи понижения скорости передачи к медленному соседу физический буфер тоже надо ограничить.

Делается это командой

shape average [speed]

Ну а теперь самое интересное: а как быть, если мне помимо эмуляции физического буфера надо внутри него создать логические очереди? Например, выделить приоритетно голос?

Для это создаётся так называемая вложенная политика, которая применяется внутри основной и делит на логические очереди то, что в неё попадает из родительской.

Пришло время разобрать какой-нибудь залихватский пример на основе приведенной картинки.

Пусть мы собираеися создать устойчиво работающие голосовые каналы через интернет между CO и Remote. Для простоты пусть сеть Remote (172.16.1.0/24) имеет только связь с СО (10.0.0.0/8). Скорость интерфейса на Remote — 1 Мбит/сек и выделяется 25% этой скорости на голосовой трафик.

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

class-map RTP
match protocol rtp

policy-map RTP
class RTP
priority percent 25

ip access-list extended CO_REMOTE
permit ip 10.0.0.0 0.255.255.255 172.16.1.0 0.0.0.255

class-map CO_REMOTE
match access-list CO_REMOTE

На Remote поступим иначе: пусть в силу дохлости железа мы не можем использовать NBAR, тогда нам остаётся только явно описать порты для RTP

ip access-list extended RTP
permit udp 172.16.1.0 0.0.0.255 range 16384 32768 10.0.0.0 0.255.255.255 range 16384 32768

class-map RTP
match access-list RTP

policy-map QoS
class RTP
priority percent 25

Далее, на СО надо сэмулировать медленный интерфейс, применить вложенную политику для приоритезации голосовых пакетов

policy-map QoS
class CO_REMOTE
shape average 1000000
service-policy RTP

и применить политику на интерфейсе

int g0/0
service-policy output QoS

На Remote установим параметр bandwidth (в кбит/сек) в соответствие со скоростью интерфейса. Напомню, что именно от этого параметра будет считаться 25%. И применим политику.

int s0/0
bandwidth 1000
service-policy output QoS

Повествование было бы не полным, если не охватить возможности коммутаторов. Понятно, что чисто L2 коммутаторы не способны так глубоко заглядывать в пакеты и делить их на классы по тем же критериям.

На более умных L2/3 коммутаторах на маршрутизируемых интерфейсах (т.е. либо на interface vlan, либо если порт выведен со второго уровня командой no switchport) применяется та же конструкция, что работает и на маршрутизаторах, а если порт или весь коммутатор работает в режиме L2 (верно для моделей 2950/60), то там для класса трафика можно использовать только указание police, а priority или bandwidth не доступны.

С сугубо защитной точки зрения, знание основ QoS позволит оперативно предотвращать бутылочные горла, вызванные работой червей. Как известно, червь сам по себе довольно агрессивен на фазе распространения и создаёт много паразитного трафика, т.е. по сути атаку отказа в обслуживании (Denial of Service, DoS).

Причем часто червь распространяется по нужным для работы портам (ТСР/135,445,80 и др.) Просто закрыть на маршрутизаторе эти порты было бы опрометчиво, поэтому гуманнее поступать так:

1. Собираем статистику по сетевому трафику. Либо по NetFlow, либо NBARом, либо по SNMP.

2. Выявляем профиль нормального трафика, т.е. по статистике, в среднем, протокол HTTP занимает не больше 70%, ICMP — не больше 5% и т.д. Такой профиль можно либо создать вручную, либо применив накопленную NBARом статистику. Мало того, можно даже автоматически создать классы, политику и применить на интерфейсе
командой autoqos 🙂

3. Далее, можно ограничить для нетипичного сетевого трафика полосу. Если вдруг и подцепим заразу по нестандартному порту, большой беды для шлюза не будет: на загруженном интерфейсе зараза займет не более выделенной части.

4. Создав конструкцию (class-map — policy-map — service-policy) можно оперативно реагировать на появление нетипичного всплеска трафика, создавая вручную для него класс и сильно ограничивая полосу для этого класса.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *