Network: QoS

  • CheatSheet
  • Bufferbloat – проблемы с задержкой/джиттер из-за буфферизаций в сети
  • Congestion management/avoidance возможно реализовать в Linux, см. например qdisc tc-sfb
  • Когда SD-WAN еще не был моден – многие его реализовывали
    • ViPNet координаторы умели (умеют?) отсылать SYN-ACK на SYN от себя, ускоряя 3whs для спутниковых каналов
    • Запускал пару проектов с узлами во всех федеральных округах. Каналы надо было по 3-5 Мбит/с. Разбирательства с качеством там такая песня была. И это не какой-то один провайдер — за несколько месяцев пилотных тестов перепробовали всех, что смогли, ± у всех одинаково. В проекте ставили оборудование спец., которое требовало каналы с % потерь не более 0.5. Итог: арендовали полосу в 2.5 раза больше, на оборудовании включили режим дублирования (каждый пакет передается в 2-х экземплярах).
  • Сохранение маркировки на шифрованных пакетах – устоявшийся принцип работы большинства туннелей.
при инкапсуляции трафика в GRE/IPSec используют уже устоявшейся в индустрии механизм переноса внутренней DSCP маркировки во внешний GRE/IPSEC заголовок пакета, что позволяет синхронизировать политики QoS организации и оператора связи (при наличии соответствующего SLA).

Основные приоритеты пересылки пакета в IP сетях.
EF (Expedited Forwarding) – ускоренная передача. Рекомендован для высокоприоритетного трафика, например, для передачи пакетов голосового сервиса LTE – VoLTE.
AF1 (Assured Forwarding class 1) – гарантированная пересылка. Трафик нечувствительный к задержкам, но чувствительный к потерям.
AF4 (Assured Forwarding class 4) – гарантированная пересылка. Трафик нечувствительный к задержкам, но чувствительный к потерям.
BE (Best Effort) – лучшее усилие. Низкоприоритетная передача.

 

PHB – Per-Hop Behavior – определяет, что QoS работает по модели diff-service и каждый хоп на основе своих политик определяет приоритет пакета в очереди.

 

ping DSCP

Работает на Linux, нужно правильное по разрядности значение просто выставить

ping 8.8.8.8 -Q 96
ping 8.8.8.8 -Q 224
https://ttl255.com/build-dscp-tos-conversion-table-python

 

Пример настройки QoS (маркировка трафика определенной подсети) на Cisco 3850.

Выставляем DSCP для подсети на определенном интерфейсе, весь остальной трафик метим нулевым.

csco(config)#access-list 1 permit 172.1.0.0 0.0.0.128
csco(config)#class-map match-all ef
csco(config-cmap)#match access-group 1
csco(config)#policy-map ef
csco(config-pmap)#class class-default
csco(config-pmap-c)#set dscp default # можно так же set dscp 0
csco(config-pmap)#class ef
csco(config-pmap-c)#set dscp ef
csco(config)#interface tenGigabitEthernet 1/0/12
csco(config-if)#service-policy input/output ef

 

Пример разбивки bandwidth под разные классы приложений app на VSS линке

class map

class-map match-any VSL-MGMT-PACKETS
match access-group name VSL-MGMT

class-map match-any VSL-DATA-PACKETS
match any 

class-map match-any VSL-L2-CONTROL-PACKETS
match access-group name VSL-DOT1x
match access-group name VSL-BPDU
match access-group name VSL-CDP
match access-group name VSL-LLDP
match access-group name VSL-SSTP
match access-group name VSL-GARP

class-map match-any VSL-L3-CONTROL-PACKETS
match access-group name VSL-IPV4-ROUTING
match access-group name VSL-BFD
match access-group name VSL-DHCP-CLIENT-TO-SERVER
match access-group name VSL-DHCP-SERVER-TO-CLIENT
match access-group name VSL-DHCP-SERVER-TO-SERVER
match access-group name VSL-IPV6-ROUTING

class-map match-any VSL-MULTIMEDIA-TRAFFIC
match dscp af41 
match dscp af42 
match dscp af43 
match dscp af31 
match dscp af32 
match dscp af33 
match dscp af21 
match dscp af22 
match dscp af23 

class-map match-any VSL-VOICE-VIDEO-TRAFFIC
match dscp ef 
match dscp cs4 
match dscp cs5 

class-map match-any VSL-SIGNALING-NETWORK-MGMT
match dscp cs2 
match dscp cs3 
match dscp cs6 
match dscp cs7

policy map

Policy Map VSL-Queuing-Policy
 Class VSL-MGMT-PACKETS
  bandwidth percent 5
 Class VSL-L2-CONTROL-PACKETS
  bandwidth percent 5
 Class VSL-L3-CONTROL-PACKETS
  bandwidth percent 5
 Class VSL-VOICE-VIDEO-TRAFFIC
  bandwidth percent 30
 Class VSL-SIGNALING-NETWORK-MGMT
  bandwidth percent 10
 Class VSL-MULTIMEDIA-TRAFFIC
  bandwidth percent 20
 Class VSL-DATA-PACKETS
  bandwidth percent 20
 Class class-default
  bandwidth percent 5

policy apply

interface TenGigabitEthernet1/1
  service-policy output VSL-Queuing-Policy
RSVP

С точки зрения теории QoS RSVP использует IntServ модель, которая является противовесом diffserv модели.

Under IntServ, every router in the system implements IntServ, and every application that requires some kind of QoS guarantee has to make an individual reservation.

 

Leave a Reply