Cosa si intende per controllo del traffico in una rete e come funziona
Per gestione del traffico si intende l'intero sistema di accodamento dei pacchetti in una rete in maniera tale da evitarne la congestione.
Il controllo del traffico è costituito da una serie di operazioni:
- Classificazione (classifying), con la quale i pacchetti vengono identificati e successivamente inseriti in un particolare flusso o classe.
- Regolamentazione (policing), con la quale viene limitato il numero di pacchetti o di bytes in un flusso che appartiene ad una particolare classe.
- Programmazione (scheduling), con la quale viene deciso in che modo i pacchetti sottoposti a controllo vengono ordinati e riordinati per la trasmissione.
- Lo shaping, che possiamo tradurre come modellazione, è il processo con il quale i pacchetti vengono ritardati e trasmessi in modo tale che il traffico sia regolare e rientri in una velocità programmata.
Tutte queste caratteristiche della gestione del traffico possono essere combinate insieme in modo da riservare la banda per un particolare tipo di traffico (o applicazione) o magari limitarne la banda.
Vediamo di analizzare ora la parte e di gestione della coda di uscita. Volendo comprendere più in profondità il controllo di traffico cominciamo ad introdurre i concetti chiave tramite i quali il kernel di Linux ragiona:
- Queuing discipline
A ogni dispositivo di rete può essere associata una disciplina di accodamento che effettua uno scheduling dei pacchetti in ingresso . Di default questa disciplina è una semplice FIFO. - Classes
Le classi servono a definire le varie tipologie di traffico.Ogni classe e padrona di una coda la quale di default è una FIFO. Quando la disciplina di accodamento è chiamata questa applica i filtri per determinare la classe alla quale il pacchetto appartiene - Filters
I filtri si occupano di smistare il traffico nelle diverse classi . Il concetto di filtro è molto più libero di quella di classe , infatti più filtri possono essere associati alla stessa classe e quindi alla stessa coda.

Sotto linux, il controllo del traffico è sempre stato una cosa complessa. Il comando da linea di comando tc ci fornisce una interfaccia per le strutture del kernel con le quali eseguire le nostre operazioni di shaping, scheduling, policing e classifying.
La sintassi di questo comando è comunque un po arcana. Il progetto tcng , ossia tc di nuova generazione, si propone di fornire una interfaccia un po più semplice, così da poter scrivere, capire e modificare in maniera più semplice e intuitiva i comandi che costituiscono la gestione del traffico.
Ora spiegato a grandi linee qual'è la struttura con la quale abbiamo a che fare andiamo a vedere i comandi con cui realizzarla e le funzionalità a cui possiamo attingere.
|
ELEMENTO |
COMANDI |
|---|---|
|
Queuing discipline |
tc qdisc ...(OPTIONS) |
|
Class |
tc class ...(OPTIONS) |
|
Filter |
tc filter ... (OPTIONS) |
La fonte più precisa di informazione sul traffic control sono proprio gli help in linea , usiamoli quindi come punto di partenza per capire i comandi e le possibili opzioni.







Commenti
RSS feed dei commenti di questo post.