После выбора подходящего роутера с поддержкой QoS следующим шагом будет его настройка. В этом разделе мы рассмотрим пошаговый процесс настройки QoS на роутере, который поможет вам оптимально распределить интернет-трафик и повысить производительность вашей домашней сети.
Шаг 1: Вход в веб-интерфейс роутера
Для настройки QoS вам потребуется войти в веб-интерфейс вашего роутера. Обычно это делается через браузер, введя IP-адрес роутера (например, 192.168.0.1 или 192.168.1.1) в адресную строку. Введите имя пользователя и пароль для доступа к настройкам роутера (если вы их не меняли, то они, как правило, указаны на наклейке снизу роутера или в инструкции).
Шаг 2: Обзор раздела QoS и его функций
Перейдите в раздел QoS веб-интерфейса роутера. Здесь вы найдете различные настройки, связанные с приоритизацией трафика, такие как типы трафика, приоритеты, ограничения скорости и другие. Раздел QoS может называться по-разному в зависимости от производителя роутера, например, «Adaptive QoS» (ASUS), «QoS Engine» (D-Link) или «Dynamic QoS» (Netgear).
Шаг 3: Установка приоритетов для различных типов трафика
Определите, какие типы трафика или устройства требуют повышенного приоритета. Возможно, вы хотите приоритизировать онлайн-игры, потоковое видео или видеоконференции. В зависимости от интерфейса вашего роутера, вы можете установить приоритеты на основе IP- адресов, MAC-адресов, портов, приложений или других параметров. Установите соответствующие приоритеты (обычно высокий, средний или низкий) для каждого типа трафика или устройства.
Шаг 4: Применение и проверка настроек QoS
После завершения настройки приоритетов трафика, сохраните изменения и перезагрузите роутер, если это требуется. Проверьте, как работает ваша домашняя сеть с новыми настройками QoS. Обратите внимание на качество соединения и производительность различных приложений, особенно тех, которым был присвоен повышенный приоритет. Если вы заметили значительное улучшение, то настройка QoS выполнена успешно.
Не забудьте мониторить производительность вашей сети время от времени, особенно если добавляются новые устройства или меняются потребности в интернет-трафике. Возможно, вам придется скорректировать настройки QoS, чтобы обеспечить оптимальное распределение трафика и удовлетворить потребности всех пользователей вашей домашней сети.
Важно помнить, что QoS не является универсальным решением для всех проблем сети и может не полностью устранить задержки или потери пакетов, особенно если ваше интернет-соединение имеет недостаточную пропускную способность или вы испытываете проблемы с сетевым оборудованием. В таких случаях рекомендуется обратиться к своему интернет-провайдеру или обновить сетевое оборудование для повышения производительности вашей сети.
На этом этапе вы научились настраивать QoS на роутере, что помогает оптимизировать интернет-трафик и повысить производительность вашей домашней сети. В следующем разделе мы рассмотрим рекомендации по оптимизации QoS для различных сценариев использования, чтобы помочь вам достичь наилучших результатов.
Время на прочтение
11 мин
Количество просмотров 185K
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. Это же поле задаёт и приоритет (чем больше, тем лучше). Дальше, маршрутизатор вычисляет, пакет из какой очереди «быстрее» передать и передаёт именно его.
Считает он это по формуле:
dT=(t(i)-t(0))/(1+IPP)
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),
чтобы дальше и коммутаторы могли эффективно приоритезировать трафик, используя только метку канального уровня.
Настройка LLQ
Настройка очередей заключается в настройке классов, затем для этих классов надо определить параметры полосы пропускания и применить всю созданную конструкцию на интерфейс.
Создание классов:
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?
[8-2000000] Kilo Bits per second
percent % of total bandwidth
и тогда пакеты этого класса смогут всегда рассчитывать как минимум на этот кусок.
Либо описать, какой «вес» имеет данный класс в рамках CBWFQ
policy-map POLICY
class NAME1
bandwidth?
[8-2000000] 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% можно командой на интерфейсе
max-reserved-bandwidth [percent]
Маршрутизаторы ревностно следят, чтобы админ не выдал случайно больше полосы, чем есть и ругаются на такие попытки.
Создаётся впечатление, что политика будет выдавать классам не больше, чем написано. Однако, такая ситуация будет лишь в том случае, если все очереди наполнены. Если же какая то пустует, то выделенную ей полосу наполненные очереди поделят пропорционально своему «весу».
Работать же вся эта конструкция будет так:
Если идут пакеты из класса с указанием 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
Часто возникает также и другая задача. Предположим, что надо ограничить поток, идущий в сторону соседа с медленным каналом.
Дабы точно предсказать, какие пакеты дойдут до соседа, а какие будут уничтожены в силу загруженности канала на «медленной» стороне, надо на «быстрой» стороне создать политику, которая бы заранее обрабатывала очереди и уничтожала избыточные пакеты.
И тут мы сталкиваемся с одной очень важной вещью: для решения этой задачи надо сэмулировать «медленный» канал. Для этой эмуляции не достаточно только раскидать пакеты по очередям, надо ещё сэмулировать физический буфер «медленного» интерфейса. У каждого интерфейса есть скорость передачи пакетов. Т.е. в единицу времени каждый интерфейс может передать не более, чем 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) можно оперативно реагировать на появление нетипичного всплеска трафика, создавая вручную для него класс и сильно ограничивая полосу для этого класса.
Сергей Фёдоров
Приоритизация трафика — идея не новая. Уровень важности пакетов в сети Ethernet уже могли задавать в 1981 году. Но однозначного мнения об эффективности приложений, оптимизирующих трафик, нет до сих пор. Одни уверены, что могут поднять скорость соединения на 10–20%. Другие утверждают, что толку от таких программ ноль, и они только впустую нагружают процессор. Пробуем разобраться, где правда.
Что такое приоритизация трафика
Если активное соединение одно, то и приоритизировать нечего — весь канал целиком отдается под это соединение и скорость его зависит только от пропускной способности канала. Но если соединений несколько, то они начинают мешать друг другу. Идея приоритизации состоит в том, чтобы пакеты, помеченные как «важные», пропускать в первую очередь, а менее важные — придерживать, пока линия не освободится. Например, если у вас идет скачивание файла, и одновременно вы играете в онлайн-игру, разумно будет выдать высший приоритет игровому соединению. Может, скачивание файлов при этом пойдет медленнее, зато у вас не будет лагов во время игры.
В стандарте Ethernet прописана поддержка механизма приоритизации, называемого QoS («Quality of Service» — «Качество обслуживания»).
QoS и его поддержка на «последней миле»
QoS — сложный механизм, содержащий целую пачку технологий. Поддержка QoS подразумевает:
- правильную маркировку пакетов данных;
- формирование очередей отправки данных через один интерфейс;
- сброс «лишнего» трафика.
Настройка QoS на сетевых устройствах — отдельная непростая тема. Обычному пользователю это, чаще всего, не нужно.
Однако следует понимать, что поддержка QoS должна быть на каждом узле между отправителем и получателем данных в сети. С узлами вне вашего дома вы ничего не можете поделать, но поддержка QoS вашими устройствами от вас зависит. Если, к примеру, ваш роутер во всей цепочке узлов единственный не поддерживает QoS, весь эффект этой технологии пойдет насмарку.
Если вам важна гарантированная скорость некоторых видов соединений, роутер должен быть с поддержкой QoS. Более того, QoS часто выключена по умолчанию и ее следует включить. Как это сделать — читайте в руководстве на ваш роутер.
А еще желательно потратить некоторое время, разобраться в вопросе и правильно настроить параметры QoS в операционной системе компьютеров, подключенных к сети.
Если же на роутере нет поддержки QoS (или нет желания возиться с настройками), можно воспользоваться программами приоритизации трафика. Например, Netlimiter, Killer Intelligence center или cFosSpeed.
Работа программы приоритизации трафика cFosSpeed
Что делает cFosSpeed
Программа перехватывает сетевой трафик всех приложений и выставляет им приоритет в соответствии с заданными правилами. В cFosSpeed можно назначать приоритет, основываясь на виде приложения или используемом протоколе. Когда новое приложение выходит в сеть, cFosSpeed ищет это приложение и используемый им протокол в своих списках. Если правило для приложения (или протокола) найдено, его сетевым пакетам назначается соответствующий приоритет. В список приложений можно добавить свое — надо лишь нажать на кнопку «Добавить программу» и cFosSpeed предложит выбрать среди запущенных программ ту, сетевому трафику которой следует назначить особый приоритет.
Что же cFosSpeed делает для программ с высоким приоритетом? Пусть, например, у трафика MMORPG теперь наилучший приоритет — как это ускорит передачу данных с сервера, находящегося черт-те где? Правильно — никак.
cFosSpeed (как и любой другой механизм приоритизации трафика) не может ускорить передачу данных. Он может только перераспределить трафик разных приложений в пределах имеющейся пропускной способности.
cFosSpeed использует несколько способов приоритизации:
- Он маркирует пакеты в соответствии со своими правилами. Приложения могут самостоятельно ставить приоритет своим пакетам, и это никак не регулируется. Какая-нибудь малополезная утилита запросто может каждые пять минут «лезть» на свой сервер за обновлениями, выставляя своим пакетам наивысший приоритет и тормозя остальной трафик. cFosSpeed эту самодеятельность отменяет.
- Он устанавливает очередность отправки пакетов различных приложений.
- Он «притормаживает» входящий TCP-трафик приложений с низким приоритетом. За счет этого канал освобождается для входящего трафика более приоритетных приложений.
Каждый ТСР пакет с данными должен получить пакет-подтверждение (АСК-пакет) от получателя, только после этого будет отправлен следующий пакет. По умолчанию АСК-пакеты имеют наивысший приоритет. Но если задержать АСК-пакет, предназначенный отдельному приложению, его входящий трафик тормозится, освобождая канал для других приложений. - Он взаимодействует с другими копиями cFosSpeed на остальных компьютерах локальной сети. Это позволяет распространить правила на всю подсеть. Если, к примеру, на одном компьютере запущена программа с высоким приоритетом, то исходящий трафик с остальных компьютеров будет приторможен, чтобы с первого компьютера данные уходили без задержек. Это частично заменяет поддержку QoS на роутере.
Кроме того, cFosSpeed настраивает параметры сети для достижения наилучшего результата. В зависимости от требований приоритетного приложения это может быть либо «Максимальный пинг», либо «Максимальное использование канала».
Приоритизацию «Максимальный пинг» следует использовать там, где нужен максимально быстрый отклик сервера. Чаще всего такая необходимость возникает в онлайн-играх. При выборе этой цели cFosSpeed минимизирует окно приема ТСР-пакетов. Пакеты становятся маленькими, передаются быстро. Но возрастает количество служебной информации (заголовки пакетов, АСК-пакеты), поэтому пропускная способность канала падает.
«Максимальное использование канала», наоборот, увеличивает окно приема. Пакеты возрастают в объеме, количество служебной информации снижается, скорость вырастает. Но при потерях пакетов могут возникать продолжительные задержки. Эту политику следует использовать на линиях с малым количеством помех при необходимости получения максимальной скорости — например, при видеоконференциях или просмотре роликов в высоком качестве.
Чтобы cFosSpeed смог оценить качество и скорость вашего канала, при первом запуске следует произвести его калибровку: пункт меню «Приоритизация трафика — Калибровка линии».
Тестирование cFosSpeed
Эффект программ приоритизации трафика проявляется только при наличии нескольких соединений, полностью загружающих канал. Загружать компьютер будем одновременным просмотром 4х видео в высоком разрешении с Youtube, загрузкой большого файла в uTorrent и игрой World of Tanks. Одновременно запущен пинг игрового сервера WorldOfTanks.
Канал нагружен почти полностью, в основном, торрентом. 11 Мб/с.
Видео играет рывками. Средний пинг игрового сервера вроде бы неплохой — 29 мс. Но частые лаги и потери пакетов сильно портят картину.
А теперь включаем cFosSpeed. Он сразу определяет uTorrent и назначает ему минимальный приоритет.
Эффект заметен сразу — скорость загрузки файла падает вдвое.
На пинге игрового сервера это складывается вполне предсказуемым образом. Средний пинг снижается с 29 до 22 мс, а самое главное — периодические «тормоза» становятся намного меньше (в пределах 30 мс) и полностью исчезают потери пакетов.
Правда, видео продолжает периодически подтормаживать. А нельзя ли сделать так, чтобы и пинг был хороший, и видео играло?
В окне текущих подключений cFosSpeed позволяет задавать приоритет каждому активному приложению. Сменим приоритет Chrome (в нем открыты окна с Youtube) с default на high, а приоритет пинга сервера — с high на higher.
И — все работает: видео играет без рывков, пинг приемлемый. Чтобы убедиться, что это не случайность, повторяем эксперимент с включением/выключением приоритизации трафика еще пару раз.
Без приоритизации трафика:
C приоритизацией:
Эффект налицо, как говорится. При загрузке канала cFosSpeed действительно работает, и работает хорошо. А что будет, если убрать все лишнее (включая сам cFosSpeed) и оставить только пинг сервера?
То же, что и с включенной приоритизацией. Что вполне логично — при снижении количества потребителей трафика, его показатели доходят до максимальных величин. Проще говоря, вместо установки программы приоритизации трафика можно просто закрыть все лишние соединения — эффект будет тот же.
Плюсы и минусы программ приоритизации трафика
Минусы
- Программы создают дополнительную нагрузку на процессор, во многом дублируя встроенные в ОС механизмы. К примеру, в Windows приоритизацию трафика можно сделать с помощью установки групповых политик QoS.
- При использовании канала одним приложением программы приоритизации трафика скорее вредны, так как ускорить передачу данных не в состоянии, но при этом создают дополнительную нагрузку.
- Программы также бесполезны, если канал не загружен полностью.
- Многие программы будут неэффективны на системах, защищенных антивирусами. Например, Doctor Web для выявления сетевых атак пропускает весь трафик через свой драйвер. Соответственно, cFosSpeed вместо реальных получателей сетевых пакетов видит один только этот драйвер (dwnetfilter.exe).
Плюсы
- Настройка программ приоритизации трафика намного проще, чем настройка политик QoS в том же Windows, например. Программы приоритизации используют интуитивно-понятный интерфейс и снабжены исчерпывающей справкой. А настройка QoS требует знания стандартов. Поди догадайся, что наивысший приоритет задается установкой DSCP в 46.
- При одновременной работе нескольких приложений с полной загрузкой канала программы приоритизации действительно обеспечивают наивысшую скорость соединения приоритетным приложениям.
- Программы приоритизации способны увеличить скорость даже отдельного соединения — но не за счет приоритизации, а за счет правильной настройки параметров сетевого соединения под канал. Это можно сделать и средствами системы, но надо знать, где и что настраивать. Через программу проще. cFosSpeed, к примеру, может делать это автоматически — с помощью пункта меню «Калибровка линии».
Вывод
Программы приоритизации трафика неспособны совершить чудо и превратить канал шириной в 10 Мб/с в 20 Мб/с. На хорошо настроенной системе при использовании одного соединения эффекта от таких программ не будет.
Но при использовании нескольких соединений, полностью загружающих канал, программы приоритизации трафика способны обеспечить максимальную скорость выбранным приложениям.
Зачем нам нужен QoS?
QoS (приоритезация данных) предназначена для обеспечения эффективной работы сети, когда она загружена или перегружена. Она позволяет приоритезировать траффик и минимизировать последствия высокой нагрузки.
Как настроить QoS?
К примеру, у меня есть несколько устройств, которые подключены к моей Wi-Fi сети.
Я бы хотел:
- Использовать FTP-сервер на максимальной скорости
- Использовать телефон для выхода в интернет на средней скорости
Шаг 1.
Откройте веб-браузер и наберите в адресной строке http://tplinkwifi.net или http://192.168.0.1 и зайдите в веб-интерфейс роутера, используя логин и пароль, установленные ранее. По умолчанию установлен логин и пароль “admin”.
Шаг 2.
Откройте Расширенные настройки (Advanced)> Приоритезация данных (QoS)
Отметьте Включить приоритезацию данных (Enable QoS)
Заметка: QoS и NAT Boost не могут работать одновременно, для начала вам следует отключить NAT Boost. Пожалуйста, выполните шаг а и б для отключения NAT Boost.
а. Нажмите NAT Boost.
б. Снимите галочку с пункта Enable NAT Boost и нажмите Сохранить (Save), затем нажмите OK в всплывающем окне.
Шаг 3
Установите максимальную скорость отдачи и загрузки, предоставляемую вашим интернет-провайдером. 1 Мбит соответствует 1024 Кбит.
Нажмите Дополнительные настройки (Advanced) и перетащите отметку для выбора уровня приоритета полосы пропускания. Затем, нажмите Сохранить (Save).
Замечание: Для каждого приоритета нельзя установить значение более 100%. Высокий приоритет (High priority) больше, чем средний приоритет (Middle priority), и средний приоритет больше, чем низкий приоритет (Low priority).
Шаг 4
Добавьте правила QoS (правила приоритезации трафика).
1) Установите правило с высоким приоритетом для FTP-сервера.
а. Нажмите Добавить (Add) в секции Высокий приоритет (High Priority).
б. Выберите По приложению (By Application) и затем выберите ftp из списка и нажмите OK.
Совет: если вашего приложения не окажется в списке, нажмите Приложение по выбору (Custom Application) и добавьте приложение вручную.
• Имя (Name): Введите имя вашего приложения.
• Протокол (Protocol): Выберите протокол вашего приложения, если не уверены, выберите ВСЕ (ALL).
• Порт (Port): Введите порт назначения для приложения, обычно у каждого приложения есть свой фиксированный порт, пожалуйста, проверьте правильность ввода порта. В нашем примере, порт назначения для ftp 21.
2) Установите правило среднего приоритета для телефона.
a. Нажмите Добавить (Add) в секции Средний приоритет (Middle Priority).
b. Выберите По устройству (By Device) и затем нажмите Просмотр существующих устройств (View Existing Devices).
c. Выберите соответствующее устройство из списка.
d. Нажмите OK.
Затем, список правил QoS появится в таблице.
Совет: Если вы хотите удалить правило QoS, нажмите иконку для удаления правила из списка.
Шаг 5.
Готово! Теперь QoS настроен для приоритезации интернет-трафика.
Узнайте больше о каждой функции и конфигурации, перейдите в Загрузки, чтобы загрузить руководство по вашему устройству.
Был ли этот FAQ полезен?
Ваш отзыв поможет нам улучшить работу сайта.
Что вам не понравилось в этой статье?
- Недоволен продуктом
- Слишком сложно
- Неверный заголовок
- Не относится к моей проблеме
- Слишком туманное объяснение
- Другое
Как мы можем это улучшить?
Спасибо
Спасибо за обращение
Нажмите здесь, чтобы связаться с технической поддержкой TP-Link.
Вы здесь, потому что у вас возникла проблема с передачей голоса по IP (VoIP) или вызовами для видеоконференции? Или, может быть, у вас общие проблемы со скоростью вашего интернета? Вы не одиноки!
Этот пост поможет вам настроить существующий маршрутизатор, чтобы получить наилучшие впечатления от онлайн-общения в реальном времени, потоковой передачи с онлайн-кинотеатра или любых других вещей, которые вы делаете в Интернете, если на то пошло.
Всё дело в QoS.
QoS – что это такое
QoS означает качество обслуживания – функцию маршрутизации, которая позволяет пользователям определять приоритеты полосы пропускания для определенных программ, клиентов или служб.
Как это работает? QoS берёт существующее широкополосное соединение и резервирует определенный объём запрашиваемой полосы пропускания для цели в режиме реального времени относительно остальной части сети.
Например, если вы установите приоритет VoIP, ваши интернет-вызовы получат всю необходимую полосу пропускания раньше, чем любые другие приложения. Или, если вы отдаёте приоритет своему Xbox (или конкретной игре), тогда игровая консоль получит главные фишки в вашем интернет-соединении перед любыми другими устройствами.
И вы можете делать это с чем угодно, например, с потоковой трансляцией или онлайн-серфингом. Вы даже можете сделать это с загрузкой файлов, хотя этого я не рекомендую.
Скачивание файлов никогда не требует расстановки приоритетов. Напротив, это главная причина, по которой вам нужен QoS. Если оставить всё как есть, загрузка файла потребует всей полосы пропускания, независимо от скорости подключения к Интернету, пока она не будет завершена.
Таким образом, QoS иногда используется с обратной целью – дать определенным устройствам или службам самый низкий приоритет, чтобы убедиться, что они не будут мешать нормальной работе остальной сети.
При правильной настройке – это непростая задача – QoS может порадовать всех, даже если у вас скромное подключение к Интернету.
QoS против скорости Интернета
Важно отметить, что QoS – это не повышение скорости вашего Интернета! Речь идёт о том, чтобы дать вам именно то, что вам (вашему устройству) нужно, но не больше.
Следовательно, когда вы включаете QoS, вы, как правило, получаете более медленные результаты тестирования скорости – и в этом суть, потому что тестирование скорости – это не то, как мы обычно используем Интернет.
Кроме того, если вы неправильно сконфигурируете QoS и установите его скорость загрузки значительно ниже, чем фактическая скорость вашего доступа, тогда установленная скорость QoS будет потолком.
Если вы включили QoS в своём маршрутизаторе и обновили свой Интернет до более высокого уровня скорости, убедитесь, что вы изменили настройки QoS. В противном случае, вы продолжите жить в пределах прежней скорости.
Что вам нужно для использования QoS
Чтобы воспользоваться преимуществами QoS, как правило, необходимы две вещи.
- Маршрутизатор, поддерживающий эту функцию. Большинство, если не все, домашние маршрутизаторы Wi-Fi имеют QoS, но способ их реализации варьируется от одного поставщика к другому. Когда дело касается этой особенности, существует множество степеней и нюансов. По моему опыту, маршрутизаторы Asus хорошо поддерживают эту функцию и допускают простую настройку. Неплохие реализации у Linksys, Netgear и TP-Link.
- Во-вторых, вам необходимо знать фактическую скорость и качество вашего интернет-соединения. Это довольно легко узнать – я написал длинную статью о тестировании скорости, если вам нужно знать точные числа и их значение. Но, в целом, вы можете сделать быстрый тест скорости прямо сейчас, чтобы узнать свои приблизительные цифры.
Сделали? Надеюсь, у вас хорошие цифры.
Лучше знать свою точную скорость вашего доступа при настройке QoS. Но, вы можете указать немного более низкую скорость для вашего QoS. Так, если у вас скорость загрузки 500 Мбит/с, вы можете указать 450 Мбит/с.
Никогда не стоит использовать большее число (например, 550 Мбит/с). В этом случае QoS может вообще не дать значимого результата. Это может даже ухудшить ситуацию.
Правило таково: настройте QoS на использование максимально близкой к точной ширине полосы пропускания, но никогда не превышайте её.
Давайте установим правильные ожидания относительно того, что вы можете получить от своего Интернета с поддержкой QoS.
Правильные ожидания от использования QoS
Чтобы QoS было эффективным, ваш Интернет должен быть, по крайней мере, достаточно быстрым, а ещё лучше – более быстрым, чем требуется приоритетной стороне. Так, скажем, если вашему приложению требуется скорость загрузки 25 Мбит/с, а ограничение на соединение – 20 Мбит/с, в этом случае никакое QoS не поможет.
Я не зря выбрал 25 Мбит/с. Это скорость загрузки, необходимая для потоковой передачи контента 4K на одно устройство. Поэтому, если вы страдаете от буферизации и времени ожидания при потоковой передаче через скромное интернет-соединение, не обвиняйте сразу в этом свой Wi-Fi – это разные вещи.
Кроме того, QoS не может улучшить качество вашего интернет-соединения. Например, если ваша связь имеет высокую задержку (пинг), что ужасно для связи в реальном времени, QoS не улучшит это. Всё, что он может сделать, – это предоставить конкретному приложению, услуге или клиенту в вашей сети наилучшие возможности из того, что у вас есть.
Наконец, QoS обычно не требуется, если у вас высокоскоростное широкополосное соединение, которое имеет достаточную пропускную способность для всех ваших приложений одновременно. Но, даже в этом случае, если вы знаете, что кто-то в вашем доме регулярно загружает файлы, например, с помощью BitTorrent-клиента, то всё же неплохо включить эту функцию. Это типичный случай, когда применяется QoS с низким приоритетом, как упомянуто выше.
Требования к связи для VoIP и видеоконференцсвязи
Как правило, соединение со скоростью загрузки 50 Мбит/с / передачи 15 Мбит/с или быстрее достаточно практически для любого онлайн-приложения. Одного экземпляра приложения.
Если у вас несколько приложений, имейте в виду, что каждое из них требует одинаковой полосы пропускания. Например, большинству приложений для видеоконференций требуется не менее 2 Мбит/с на экран.
На самом деле, вероятно, оно будет использовать больше, если вы делаете это в Full HD или 4K. Поэтому для уверенности выделите каждому экрану 25 Мбит/с.
Каналы загрузки/передачи различаются. Но если вы хотите, чтобы люди на другом конце провода видели вас в HD, вам также понадобится 25 Мбит/с для передачи. К сожалению, большинство кабельных сетей не могут обеспечить этого, поскольку они ограничиваются скоростью около 15 Мбит/с. Скорее всего, вы сможете транслировать себя только в низком разрешении.
Требования к задержке при голосовой/видеосвязи через Интернет относительно невысоки. В частности, для правильной работы VoIP ваше соединение должно иметь менее 150 мс (миллисекунд) и 30 мс в значениях Ping и Jitter, соответственно. (В идеале эти числа должны составлять 15 мс и 10 мс, соответственно.)
Важно отметить, что вы должны оставаться относительно в одном месте (или в одной комнате) во время голосового или видеозвонка – ещё лучше, запустите соединение Wi-Fi в этом же месте. Если у вас есть привычка перемещаться по своему (большому) дому, ни один маршрутизатор или система не смогут заставить это работать. Так что QoS тоже не поможет.
Между прочим, качество связи в реальном времени зависит от обоих сторон. Дело в том, что не стоит сразу обвинять ваш Интернет в неудовлетворительном опыте – это может быть вина второй стороны.
Как настроить QoS вашего роутера
Способ работы с QoS зависит от маршрутизатора. Как правило, маршрутизаторы от одного производителя используют один и тот же интерфейс или мобильное приложение, поэтому пользователи могут настраивать свои параметры одинаковым образом.
Веб-интерфейс всегда является лучшим способом управления маршрутизатором, поскольку он даёт детализированный доступ ко всем функциям и настройкам. И QoS – одна из таких дополнительных функций. Но некоторые поставщики, например, Linksys, позволяют настраивать эту функцию через мобильное приложение.
Я всегда предпочитаю веб-интерфейс, и вот общие шаги по настройке QoS:
-
Войдите в интерфейс вашего роутера
Для этого перейдите в своём браузере (Chrome, Firefox или Edge) на IP-адрес маршрутизатора по умолчанию (или удобный URL).
Если вы не знаете свой, проверьте стандартные IP-адреса в таблице ниже. И войдите в систему с учетной записью администратора вашего роутера.
Производитель URL IP Username Пароль Asus router.asus.com 192.168.1.1
192.168.50.1admin admin D-Link dlinkrouter.local 192.168.0.1
192.168.1.1n/a admin Netgear routerlogin.com 192.168.1.1 admin password Linksys myrouter.local 192.168.0.1
192.168.1.1n/a admin TP-Link tplinkwifi.net 192.168.0.1 admin admin Большинство кабельных модемов N/A 192.168.100.1 n/a admin
password
default -
Настройте функцию QoS маршрутизатора (для VoIP)
Эта функция почти всегда находится в расширенной области интерфейса. Обычно в названии есть «QoS» или «Приоритизация».
Вам необходимо указать скорости загрузки и выгрузки вашего соединения. В этом случае введите точные цифры или немного меньшие.
Опять же, определенно не вводите цифры, превышающие вашу фактическую скорость загрузки и выгрузки. Некоторые маршрутизаторы могут вычислить эти числа самостоятельно.
Теперь убедитесь, что вы расставили приоритеты для QoS в соответствии с вашими потребностями. Выберите VoIP и видеозвонки как свои главные приоритеты.
Если нет возможности установить приоритет службы или приложения, вы можете выбрать приоритетность конкретного клиента, на котором вы будете использовать службу. Поэтому, если вы используете iPad для конференц-связи, сделайте iPad наиболее приоритетным.
Обратите внимание: если вы решите установить приоритет определенного устройства, рекомендуется зарезервировать IP-адрес этого устройства в маршрутизаторе, чтобы он не изменился.
-
Дополнительно: отключить SIP ALG (или SIP Passthrough)
Этот параметр применяется, когда вам нужно, чтобы ваш маршрутизатор хорошо работал для передачи голоса по IP, и даже в этом случае только в определенных ситуациях. Так что это то, что нужно попробовать, когда у вас есть проблемы с вызовами Wi-Fi, например, задержки.
SIP ALG расшифровывается как Application Layer Gateway, параметр доступен в большинстве домашних маршрутизаторов и включен по умолчанию. Первоначально этот параметр предназначен для улучшения прохождения пакетов VoIP через межсетевой экран маршрутизатора. На самом деле, это редко срабатывает так, как ожидалось, и часто вызывает проблемы.
Вам может потребоваться выключить (или отключить) SIP ALG (также известный как SIP Passthrough или SIP), чтобы улучшить работу с VoIP. Расположение настройки SIP может быть разным, но обычно вы можете найти его в области WAN (Интернет) или межсетевого экрана интерфейса маршрутизатора.
-
Примените изменения
После того, как вы изменили настройку, обязательно примените её. В некоторых случаях маршрутизатор может перезапуститься. Даже если у вас этого не произошло, рекомендуется вручную выключить и включить его, а затем снова проверить, чтобы убедиться, что новые настройки установлены правильно.
Теперь сила QoS на вашей стороне.
Оптимизация QoS для голосовой и видеосвязи (на примере Asus)
Если у вас есть маршрутизатор Asus, выполните следующие действия по настройке QoS для голосовой и видеоконференцсвязи. Хотя они не такие, как в маршрутизаторах другого производителя, они дадут вам несколько идей.
-
Войдите в веб-интерфейс вашего роутера
На подключенном компьютере укажите в браузере router.asus.com, и вы откроете интерфейс. Введите свое имя пользователя и пароль и нажмите Войти.
-
Обновите роутер до последней прошивки
- Нажмите на пункт меню «Администрирование».
- Перейдите на вкладку Обновление микропрограммы.
- Нажмите кнопку Проверить для получения новой версии прошивки. Кроме того, вы также можете загрузить прошивку прямо с сайта производителя. В этом случае используйте кнопку Загрузить, чтобы вручную загрузить прошивку в маршрутизатор.
- Выполните оставшуюся часть процесса, чтобы обновить прошивку маршрутизатора до последней версии.
Примечание. Не выключайте маршрутизатор во время процесса обновления, который займёт не более 5 минут. После этого рекомендуется вручную перезапустить маршрутизатор.
-
Включите функции Adaptive QoS
- Щелкните пункт меню Adaptive QoS, а затем вкладку QoS.
- Активируйте параметр Включить QoS.
- Нажмите кнопку «Видеоконференцсвязь».
Примечание. В некоторых моделях маршрутизаторов связь в режиме реального времени входит в категорию «Работа из дома».
- Необязательно: нажмите «Настроить» и перетащите блоки других категорий в соответствии с вашими потребностями – вы можете навести указатель мыши на каждый блок, чтобы увидеть, какой тип приложений / услуг включает в себя эта категория. Затем нажмите Сохранить.
- Щёлкните Применить.
Маршрутизатору потребуется несколько секунд, чтобы применить изменения.
-
Отключите сквозную передачу SIP (при необходимости)
- Щелкните меню Интернет (в разделе «Дополнительные настройки»), а затем перейдите на вкладку NAT Passthrough.
- Измените значение SIP Passthrough на Отключить
- Нажмите Применить и дождитесь, пока маршрутизатор применит изменения.
- Перезапустите маршрутизатор вручную и убедитесь, что всё в порядке.
И это всё! Теперь ваш роутер Asus должен работать лучше для вашего приложения для онлайн-коммуникаций.
Интернет-трафик чем-то похож на денежный поток для домашнего хозяйства (или бизнеса) – всё дело в том, чтобы управлять своими доходами и расходами и оставаться в рамках бюджета. И здесь в игру вступает QoS.
Опять же, эта функция предназначена для предоставления устройству необходимой полосы пропускания (и не более), когда она ему нужна. Это не делает ваш Интернет быстрее!
Вместе с тем, при правильной настройке QoS вы удивитесь, насколько мало пропускной способности Интернета вам действительно нужно. И, наоборот, в плохо настроенной сети даже гигабитный широкополосный доступ не всегда достаточно быстр для каждого устройства в сети.