Abbiamo un fornitore di servizi (e non possiamo cambiarli) che ci sta fornendo una connessione in stile "metro ethernet" tra due delle nostre sedi. Ad ogni estremità, ci colleghiamo a una porta Ethernet sullo switch di un provider e spediscono i frame avanti e indietro. Otteniamo una certa larghezza di banda da loro e stanno facendo cadere pacchetti che esplodono sulla larghezza di banda.
Sono abbastanza sicuro che un buon modo per non esplodere oltre il loro limite ed evitare la caduta di pacchetti sia per noi di modellare il nostro traffico in modo che rientri nel limite. Penso di essere molto vicino a capire come farlo, ma è piuttosto complicato. Abbiamo un Cisco Catalyst 3560X su ciascun lato della connessione.
Se voglio modellare il traffico fino a 50 Mbps attraverso il tunnel, sembra il modo giusto (forse solo?) Di farlo è quello di usare la modellazione sulle code di uscita delle porte utilizzate per il collegamento su ciascuno dei nostri 3560. Non abbiamo bisogno di contrassegnare o classificare alcun traffico, vogliamo solo modellare tutto fino a 50 Mbps. Ecco un esempio di configurazione delle porte in questo momento:
interface GigabitEthernet0/1
speed auto 10 100
spanning-tree portfast disable
So che vorrò farlo mls qos
in modalità di configurazione globale. Quindi dovrei vedere qualcosa del genere:
[Switch name]# show mls qos int gig0/1 queueing
GigabitEthernet0/1
Egress Priority Queue : disabled
Shaped queue weights (absolute) : 25 0 0 0
Shared queue weights : 25 25 25 25
The port bandwidth limit : 100 (Operational Bandwidth:100.0)
The port is mapped to qset : 1
La mia comprensione finora è la seguente, sentiti libero di correggermi:
- Tutto il traffico sarà CoS 0 / non contrassegnato, quindi andrà nella coda di uscita 2 per impostazione predefinita.
- La coda di uscita 2 condivide la larghezza di banda equamente con la coda 3 e 4 e il peso della coda 1 viene ignorato.
- La coda di uscita 1 è modellata su 1/25 della larghezza di banda dell'interfaccia, quindi in questo caso 4 Mbps.
Quindi ho capito che le code 2 - 4 sono garantite ognuna dal 33% della larghezza di banda (33 Mbps, giusto?) E che la coda 1 è modellata a 4 Mbps. La mia prima domanda è:
Con questa configurazione predefinita, se viene utilizzata solo la coda 2 , quanta larghezza di banda otterrà? 100 Mbps? E se tutte le code fossero completamente utilizzate, la coda 1 avrebbe 4 Mbps e le code 2 - 4 avrebbero ciascuna 32 Mbps (100 - 4 = 96/3 = 32)?
E ora la vera domanda:
Per modellare tutto il traffico in uscita non classificato per adattarlo a 50 Mbps, posso semplicemente accedere
srr-queue bandwidth shape 0 2 0 0
all'interfaccia in questione ed essere fatto?
Sembra che i limiti di condivisione e modellazione della coda non siano garantiti, quindi potrei aver bisogno di scendere a 45 Mbps nominali sulla coda di uscita se si desidera evitare qualsiasi scoppio oltre 50 Mbps. Posso farlo semplicemente correndo srr-queue bandwidth limit 90
combinato con la modellazione di cui sopra? Sarebbe lo stesso invece usare:
srr-queue bandwidth shape 0 1 0 0
srr-queue bandwidth limit 45
Quella forma modellerebbe la coda da 2 a 45 Mbps (su un'interfaccia da 100 Mbps)?
Una volta che lo capisco, immagino che la mia prossima fermata sia l'ordinamento delle allocazioni e delle soglie del buffer in modo che il mio shaping stia rilasciando il minor numero possibile di pacchetti, giusto? Questa può essere una domanda separata, se necessario, ma in realtà sembra avere molto più senso finora.