From 462ccacf0903d797773cd974f69d4bb257bba231 Mon Sep 17 00:00:00 2001 From: jdubois Date: Thu, 23 Nov 2023 17:15:06 +0100 Subject: [PATCH] Rate-limit sous Nexus --- SwitchCisco.md | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) diff --git a/SwitchCisco.md b/SwitchCisco.md index 0fcfaf72..8b408823 100644 --- a/SwitchCisco.md +++ b/SwitchCisco.md @@ -1775,6 +1775,56 @@ Switch(config)# interface Eth1/28 Switch(config-if)# no spanning-tree port type edge ~~~ +### Rate-limiting + +Si on veut par exemple limiter un port fibre 1Gbps en 100Mbps : + +On crée une policy de type `queuing` en sortie : + +~~~ +Switch(config)# policy-map type queuing 100M-output +Switch(config-pmap-que)# class type queuing class-default +Switch(config-pmap-c-que)# shape kbps 100000 +~~~ + +On crée une policy de type `qos` en entrée : + +~~~ +Switch(config)# policy-map type qos 100M-input +Switch(config-pmap-qos)# class type qos class-default +Switch(config-pmap-c-qos)# police cir 100000 kbps +~~~ + +Puis on applique les deux policy sur l'interface souhaitée : + +~~~ +Switch(config)# int eth1/1 +Switch(config-if)# service-policy type queuing output 100M-output +Switch(config-if)# service-policy type qos input 100M-input +~~~ + +Le `queuing` correspond à du traffic shaping avec lequel les paquets qui dépassent le seuil configuré sont placés en buffer : la latence peut augmenter, mais les paquets ne sont pas perdus (tant qu'ils ne dépassent pas la taille du buffer). Quant à lui, le `qos` correspond à du policing, avec lequel les paquets qui dépassent le seuil configuré sont perdus. Le traffic shaping n'est possible qu'en sortie, on est donc obligé d'utiliser du policing en entrée. + +> Note : "sortie" et "entrée" sont définis du point de vue du switch. Le trafic en entrée est celui émis par le client vers le switch (upload par le client), alors que le trafic en sortie est celui émis depuis le switch vers le client (download par le client). + +Voir les configurations appliquées : + +~~~ +Switch# show running-config ipqos + +policy-map type qos 100M-input + class class-default + police cir 100000 kbps bc 200 ms conform transmit violate drop +policy-map type queuing 100M-output + class type queuing class-default + shape kbps 100000 + + +interface Ethernet1/1 + service-policy type qos input 100M-input + service-policy type queuing output 100M-output +~~~ + ### SPAN : Switch Port Analyzer (Port mirroring) Activer le port mirroring, en copiant la sortie des ports Eth1/1 à Eth1/3 vers le port Eth1/5 :