ONT – Congestion management and Queuing
La congestion intervient quand:
- le taux de trafic en input excède le taux de l’interface en output – Speed mismatch problem
- plusieurs liens sont agrégés vers une seule interface avec une capacité inférieure – Aggregation problem
- plusieurs flux de trafic arrivent sur une interface – Confluence problem
Router Queuing Components (Hard/Soft)
Sans file software, toute les queues seraient traitées en hardware, ce qui ne permettrai pas de gérer les != classes de paquets, ou de différencier les services.
Dans show controllers serial, on peut voir la taille de la pile FIFO hardware:
- tx_limited
- tx_ring_limit
- tx_ring
FIFO, Priority Queuing, Round-Robin, Weighted Round-Robin Queuing
- FIFO
- Default-queuing, except on 2mb (E1).
- No configuration effort
- PQ – Priority Queuing
Requires configuration
4 queues:
- High
- Medium
- Normal
- Low
Use ACL to define “which paquet” to “which queue”
Priority Queuing
- Round Robin
- Queuing discipline
- Few queues, and assign traffic to them
- RR scheduler process 1 packet from 1 queue, and then 1 packet from the next queue, etc.
- No mechanism of traffic prioritization
- Weighted Round Robin (WRR)
- Permet d’assigner un poids à chaque queue
- CQ (Custom Queuing) est un exemple de WRR, ou on peux configurer le nb d’octets de chaque queues à procésser avant de passer à une autre queue.
- WRR & CQ weakness: si le poids assigné à une queue est proche du MTU de l’interface, la division de bande passante ne pourra pas être déterminée.
- Weighted Fair Queuing
- WFQ is simple
- WFQ is the default-queuing on E1 interface (2Mb)
- WFQ is used by CBWFQ & LLC (popular, modern, advanced queuing methods)
WFQ goals/objectives:
-
- Divise le trafic en “flows”
- Fournis juste allocation de BW aux flows actifs
- Fournis schdeuling plus rapide aux flows de petits volumes
- fournis plus de BW aux flows prioritaires
Règle les insuffisances de FIFO & PQ:
- pas les délais, jitter, starvation de FIFO
- n’impose pas de starvation de paquets de PQ (ceux de faible priorité) … hum hum.. (si quelqu’un lis cette lignes; laissez un commentaire)
WFQ Classification & scheduling
WFQ est un algorithme de queuing basé sur les flux.
Les flux sont identifiés en se basant sur les fields suivants:
-
- Source IP address
- Destination IP address
- Protocol number
- Type of service (ToS)
- Source TCP/UDP Port number
- Destination TCP/UDP port number
Weight Fair Queuing
WFQ insertion & drop policy
WFQ à une file d’attente pour tous les paquets de tous les flux.
La file d’attente est la somme de toute la mémoire prise par les paquets présents dans le système WFQ.
Si la hold queue (file d’attente) est pleine, un nouveau paquet arrivant sera droppé – Aggressive dropping – except si le paquet est assigné à une file vide.
CDT (congestive discard treshold) – si la file d’attente n’est pas pleine, mais que le CDT l’est, paquet droppé – Early dropping.
Benefits & drawbacks of WFQ
Benefits:
-
- simple configuration
- no starve flows
- drop les flux du plus agressif au moins agressif
- standard supported by all cisco products & IOS
Drawbacks:
-
- classification & scheduling not configurable
- supported only on slow links < 2 mb
- no BW/Delay garantee.
Configuring & monitoring WFQ
fair-queue [cdt [dynamic-queues [reservable-queues]]] Router(config-if)# hold-queue max-limit out Verification: Router#show interface Router#show queue
- Class-Based Weighted Fair Queuing
CBWFQ addresse quelques limitations de PQ, CQ, WFQ.
Configuring and monitoring CBWFQ
class-map défini les classes de traffic
class-map transaction match access-group 101 class-map business match access-group 103
policy-map
policy-map enterprise class transaction bandwidth 128 queue-limit 50 class business bandwidth 256 queue-limir 90 class class-default fair-queue 16 Vérification: show policy-map interface
- Low-Latency Queuing
WFQ et CBWFQ ne garantissent pas la BW et le délai.
LLQ le fait en incluant une file de priorité stricte.
LLQ Configuration
router(config)#policy-map enterprise router(config-pmap)#class voice router(config-pmap-p)#priority bandwidth {burst - entre 32 et 2 000 000} router(config-pmap-p)#priority percent percentage {burst - entre 32 et 2 000 000} Vérification: show policy-map interface
Comments are Disabled