QoS (Quality of Service)

⌘K

QoS (Quality of Service)

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

Где применяется. Почти везде, где есть конкуренция за канал: офисные и домашние роутеры, корпоративные маршрутизаторы и коммутаторы, Wi-Fi (WMM), провайдерские сети, дата-центры, VPN-туннели (WireGuard, IPsec, OpenVPN), SD-WAN, а также виртуальные среды и контейнерные платформы (например, класс QoS у Pod’ов в Kubernetes). В «облаках» QoS часто встречается как управление очередями на виртуальных интерфейсах и политика приоритизации внутри виртуальных маршрутизаторов/балансировщиков.


Из чего состоит QoS (в классической сетевой трактовке)

  1. Классификация и маркировка.
    Сначала поток распознают (по портам, подсетям, протоколам, доменам SNI, L7-сигнатурам) и помечают. В IP-мире используют DSCP (поле в заголовке IP), на L2 — 802.1p/CoS. Частые пометки:
    • EF (Expedited Forwarding, DSCP 46) — для голоса;
    • AF41/AF31 — видео/бизнес-критичные приложения;
    • CS0 / Best Effort — всё остальное;
    • Background/Scavenger — синхи, торренты, обновления.
  2. Ограничение и сглаживание — Policing vs Shaping.
    • Policer «рубит с плеча»: если поток выше лимита — отбрасывает/урезает.
    • Shaper сглаживает: временно буферизует и выдаёт трафик ровно в заданном темпе (уместно на границе к провайдеру, чтобы не распухали чужие буферы).
  3. Очереди и планировщики (Queuing/Scheduling).
    Ключ к «волшебству» QoS: какой трафик в какую очередь и как часто её обслуживать. Используют:
    • LLQ/Strict Priority — «абсолютный приоритет» для голоса/сигнализации;
    • WFQ/CBWFQ/DRR — взвешенная справедливая выдача;
    • FQ-CoDel / CAKE — современные AQM-алгоритмы, снижающие bufferbloat (задержки из-за переполненных буферов).
  4. Active Queue Management (AQM).
    CoDel/WRED/FQ-CoDel/CAKE раннее «пощипывают» очереди, не давая пингу расти до сотен миллисекунд при нагрузке. Это особенно заметно в видеозвонках и играх.

Зачем QoS нужен на практике

  • Стабильный голос/видео: меньше джиттера, «робота» и обрывов, даже когда включился бэкап или кто-то заливает гигабайтный файл.
  • Быстрая реакция приложений: SSH/RDP, CRM/ERP, админки и интерактивные веб-сервисы остаются отзывчивыми.
  • Прозрачные пиковые часы: когда канал упёрся, QoS превращает «хаос» в предсказуемость: важное идёт, второстепенное ждёт.
  • Контроль расходов в облаках и SD-WAN: ограничение шумного трафика, справедливое распределение между филиалами/подсетями.

Типичные подводные камни

  • DSCP-«отбеливание»: провайдеры/туннели иногда сбрасывают или переписывают DSCP; пометки с вашей стороны могут не доехать. Решение — приоритизировать у себя (на вход/выход), а в туннелях включать политику preserve-DSCP, если поддерживается.
  • Только egress — мало: если вы не контролируете входящий трафик, shape на вход (через IFB/ingress qdisc в Linux, SmartQueue/SmartQoS в CPE) и держите полосу чуть ниже реальной, чтобы очереди образовывались у вас, а не у провайдера.
  • Bufferbloat: огромные буферы роутера «сглатывают» пик, но задержка взлетает. Лечат FQ-CoDel/CAKE и грамотный shaping.
  • Приоритет всему: если «всё важно» — ничего не важно. Классов должно быть мало и понятно (3–5 вполне достаточно).

Что именно настраивают (карта действий)

  1. Разбейте трафик на 3–5 классов.
    Пример: Voice (EF), Video (AF41), Interactive (AF31/CS4), Best Effort (CS0), Background/Scavenger.
  2. Маркируйте на «границе доверия».
    Не доверяйте меткам с ноутбуков/серверов. Помечайте на первом управляемом узле (шлюзе/маршрутизаторе/WLAN-контроллере).
  3. Сделайте egress-shaping к провайдеру.
    Поставьте лимиты на 3–10% ниже реальной полосы (особенно аплинк). Это удержит очереди у вас и даст AQM работать.
  4. Включите AQM.
    • Дом/малый офис (Linux/CPE): FQ-CoDel или CAKE.
    • Enterprise: LLQ для голоса + CBWFQ/WFQ для остальных + WRED/ECN по месту.
  5. Wi-Fi — не забыть WMM.
    Карта соответствия DSCP → WMM AC: AC_VO (голос), AC_VI (видео), AC_BE, AC_BK.
  6. VPN и туннели.
    Разрешите копирование DSCP внутрь туннеля (если поддерживается) или ремаркируйте заново после «вылета» из туннеля.
  7. Проверьте под нагрузкой.
    Запустите тяжёлую загрузку/обновления и параллельно измерьте ping/jitter и качество звонка/видео. С QoS задержка должна оставаться ровной.

Конкретные примеры (без привязки к брендам)

  • Linux (маршрутизатор):
    • Egress-shape до провайдерского uplink:
      # пример: 90 Мбит/с аплинк, 900 Мбит/с даунлинк → ставим 85/850 tc qdisc replace dev eth0 root cake bandwidth 85mbit diffserv3 # для входящего потребуется ifb и ingress-редирект (упрощаем идею)
    • Идея: diffserv3 автоматически уважает EF/Video/BestEffort; «бэкграунд» попадает в наименьший приоритет.
  • Cisco (MQC-логика, концептуально):
    • class-map match dscp ef
      priority percent 5
      (LLQ для голоса)
    • class-map match dscp af41
      bandwidth percent 20
    • Остальные классы —
      bandwidth remaining percent ...
      +
      random-detect
      (WRED).
  • MikroTik (идея):
    • Классификация mangle по DSCP/портам →
      queue tree
      с PCQ/fq_codel, один класс с priority для EF, отдельный — для фоновых задач.
  • Kubernetes (про CPU/память):
    • Классы Guaranteed / Burstable / BestEffort — это ресурсный QoS контейнеров, не сетевой. Но логика та же: критичные ворклоады получают прогнозируемую долю ресурсов.

Мини-сценарий

В офисе 100/20 Мбит/с. Раз в день запускаются облачные бэкапы, и во время синхронизации в Zoom — «роботы», RDP рвётся. Вводим 4 класса (Voice/Video/Interactive/Best Effort), включаем shaping: uplink = 19 Мбит/с, downlink = 95 Мбит/с, FQ-CoDel/CAKE на очередях, EF для голоса, видео — AF41. Результат: при бэкапах звонки не «сыпятся», SSH нравственно отзывчивый, а файлы просто доходят чуть позже.


QoS — это не про «ускорить интернет», а про правильный порядок в очереди. Он держит задержку и джиттер под контролем, когда канал забит. Минимальный практический набор: разбить трафик по важности, сделать shaping на границе к провайдеру, включить AQM (FQ-CoDel/CAKE) и дать голосу приоритет. Остальное — нюансы реализации на конкретном оборудовании и в ваших сценариях.

Немного экономии прямо здесь

Планируете VPS на 12 месяцев? Примените NEWCOM — получите +1 бесплатно.

Месяц в подарок
COPIED
NEWCOM COPIED