The Cable GuySupporto QoS in Windows

Joseph Davies

Questo articolo si riferisce a una versione preliminare di Windows Server, "Longhorn". Tutte le informazioni qui contenute potrebbero essere soggette a modifiche.

La qualità del servizio (QoS) comprende una serie di tecnologie per gestire in modo economico il traffico di rete in modo da migliorare le procedure utente in ambienti aziendali e domestici. Le tecnologie QoS consentono di misurare la larghezza di banda, rilevare le variazioni nelle condizioni della rete (come congestione o disponibilità di larghezza di banda)

e aumentare la priorità o diminuire la velocità del traffico. Ad esempio, è possibile applicare la qualità del servizio (QoS) per assegnare la priorità alla distribuzione di traffico sensibile a latenza (come applicazioni video e voce) e controllare l'impatto del traffico non sensibile a latenza, come il trasferimento di dati per operazioni di massa. Il recapito con priorità per il traffico TCP/IP richiede il supporto di host e dispositivi infrastruttura di rete. In questo articolo vengono descritti i metodi per utilizzare QoS con host basati su Microsoft® Windows®.

Il problema principale relativo alla definizione di QoS per reti TCP/IP riguarda il modo in cui specificare e fornire il recapito con priorità di traffico IP. Sebbene RFC 791 per IP originale abbia definito il campo Tipo di servizio (TOS, Type of Service) con la capacità di specificare le caratteristiche di precedenza, ritardo, velocità effettiva, affidabilità e costo, IP è fondamentalmente una tecnologia di commutazione pacchetti basata sui datagrammi e di massimo sforzo che generalmente si occupa di ogni pacchetto allo stesso modo, in base al principio del primo arrivato.

Configurazione del recapito con priorità

Per fornire il servizio di recapito con priorità, sono poche le cose da fare. È possibile configurare l'infrastruttura di rete per offrire una gestione speciale per il traffico contrassegnato, quindi fare in modo che gli host mittenti contrassegnino il proprio traffico in uscita. In alternativa, è possibile far programmare dinamicamente l'infrastruttura di rete agli host mittenti, così da offrire una gestione speciale basata sulle caratteristiche del relativo traffico in uscita (come indirizzi e numeri di porta).

Per il traffico TCP/IP, è possibile utilizzare diversi metodi per fornire la funzione di recapito con priorità. Ad esempio, al livello di interfaccia di rete per Ethernet, la codifica IEEE 802.1p contrassegna i frame inviati da un host per la funzione di recapito con priorità utilizzando un campo di priorità a 3 bit nell'intestazione VLAN (Virtual Local Area Network, rete locale virtuale) del frame Ethernet. L'intestazione VLAN si trova nell'intestazione Ethernet, tra il campo Indirizzo origine e il campo Lunghezza (per un frame IEEE 802.3) o il campo EtherType (per un frame Ethernet II).

L'implementazione della codifica 802.1p su un host mittente richiede che la scheda di rete e il driver di periferica supportino 802.1p e che il supporto 802.1p della scheda di rete sia attivato. Generalmente, il supporto 802.1p può essere attivato sulla scheda Avanzate dalle proprietà di un driver scheda di rete. È necessario che sia attivato anche il supporto 802.1p degli switch Ethernet.

Al livello di interfaccia di rete per connessioni senza fili IEEE 802.11, la certificazione della Wi-Fi Alliance per Wi-Fi Multimedia (WMM) definisce quattro categorie di accesso per definire la priorità del traffico di rete. Queste categorie di accesso sono (dal grado di priorità più alto al più basso) voce, video, massimo sforzo e background. Il supporto host per la definizione della priorità WMM richiede che entrambe le schede di rete senza fili e i relativi driver supportino WMM. I punti di accesso (Access Point, AP) senza fili richiedono l'attivazione di WMM.

Al livello Internet, è possibile utilizzare i Servizi differenziati e impostare il valore di DSCP (Differentiated Services Code Point) nell'intestazione IP. Come definito in RFC 2472, il valore DSCP è rappresentato dai 6 bit di alto livello del campo TOS di IP Versione 4 (IPv4, IP version 4) e del campo Classe di traffico di IP Versione 6 (IPv6, IP version 6).

I più moderni router aziendali supportano la differenziazione del traffico DSCP ma, per impostazione predefinita, generalmente tale funzione è disattivata. Durante l'inoltro, i router che supportano DSCP leggono il valore di DSCP e collocano il pacchetto in una coda specifica. Ad esempio, è possibile configurare i router per collocare i pacchetti inoltrati in code a priorità alta, con massimo sforzo o inferiori a massimo sforzo, in base ai valori di DSCP definiti. Configurando le code e i valori di DSCP, il traffico contrassegnato DSCP può avere livelli di servizio differenziati. Ad esempio, il traffico di rete di importanza critica viene inoltrato per primo e non viene ritardato da altro traffico dati per operazioni di massa di priorità inferiore. La specifica WMM definisce in che modo le categorie di accesso WMM vengono mappate sui valori di DSCP. Un AP senza fili che supporta WMM legge il valore di DSCP e gestisce il traffico in base alla relativa categoria di accesso.

Al livello Internet, è possibile utilizzare anche RSVP (Resource Reservation Protocol), un protocollo di segnale definito in RFC 2205. Gli host possono utilizzare questo protocollo per tentare di riservare larghezza di banda attraverso la rete per un endpoint. Tuttavia, RSVP non ha larga diffusione sulla rete e al momento non è supportato in Windows XP, Windows Server® 2003, Windows Vista™ né nella versione successiva di Windows Server, nome in codice "Longhorn" (attualmente in fase beta).

Per inviare pacchetti contrassegnati per il recapito con priorità, applicazioni o componenti del sistema operativo è necessario specificare i valori della priorità 802.1p o il valore di DSCP. Nelle sezioni successive verrà descritto in che modo i componenti di Windows o le applicazioni basate su Windows possono specificare la priorità 802.1p per frame Ethernet o il valore di DSCP per il traffico TCP/IP.

QoS in Windows XP e Windows Server 2003

Windows XP e Windows Server 2003 forniscono le API per assegnare i parametri QoS al traffico. Gli sviluppatori di applicazioni possono utilizzare le API Winsock (Windows Sockets) e GQoS (Generic QoS) per applicare parametri QoS a livello di applicazione per singoli socket. Gli amministratori di rete possono utilizzare gli strumenti di gestione del traffico scritti per richiedere all'API TC (Traffic Control) di applicare i parametri QoS a livello host.

È possibile utilizzare Winsock e l'opzione socket IP_TOS per impostare il valore di DSCP per i pacchetti in uscita per un socket. Tuttavia, per impostazione predefinita, lo stack TCP/IP ignora l'opzione socket IP_TOS. Per utilizzare l'opzione socket IP_TOS, occorre per prima cosa creare e impostare il valore del Registro di sistema DWORD DisableUserTOSSetting=0 nella seguente chiave del Registro di sistema (vedere la Figura 1):

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters

Figura 1 Impostazione del valore del Registro di sistema di DisableUserTOSetting

Figura 1** Impostazione del valore del Registro di sistema di DisableUserTOSetting **

Riavviare il computer per applicare questa impostazione del Registro di sistema.

Per specificare il valore di DSCP per il traffico senza dover utilizzare l'opzione socket IP_TOS, utilizzare l'API GQoS. GQoS fa parte di Windows Sockets 2.0 (Winsock2). La maggior parte delle applicazioni abilitate all'utilizzo di QoS adoperano l'API GQoS per richiamare le funzionalità di QoS in Windows. GQoS in Windows XP Service Pack 2 (SP2) consente a un'applicazione di impostare un valore di DSCP, rallentandone il traffico in uscita. Per impostare le priorità 802.1p su computer che eseguono Windows XP SP2, occorre utilizzare l'API TC.

L'API TC consente di accedere ai meccanismi di controllo del traffico che regolano il traffico di rete sull'host locale. Consente inoltre di controllare direttamente i valori di DSCP, le codifiche 802.1p e la velocità. Gli amministratori di rete possono utilizzare i programmi di gestione del traffico per richiamare direttamente l'API TC per conto di applicazioni non compatibili con QoS. Dal momento che si tratta di un'API di livello inferiore rispetto all'API GQoS, l'API TC richiede privilegi di amministratore.

A differenza dell'API GQoS, l'API TC consente di aggregare il traffico proveniente da più applicazioni sullo stesso host mittente in un unico flusso QoS. Come parte di questa aggregazione, il traffico può essere identificato da una combinazione dei relativi indirizzi IP di origine e destinazione, porte di origine e destinazione e protocollo (TCP o UDP). Ad esempio, tutto il traffico inviato a un indirizzo IP di destinazione specifico può essere incluso in un unico flusso QoS per qualsiasi porta di origine e destinazione, a prescindere dall'applicazione mittente sull'host. L'API GQoS, d'altra parte, consente a un'applicazione di definire la propria gestione QoS sui dati inviati attraverso un socket.

Per supportare la funzionalità QoS, i computer basati su Windows XP e Windows Server 2003 devono avere il componente Utilità di pianificazione pacchetti QoS installato e attivato dalle proprietà delle connessioni di rete nella cartella Connessioni di rete (vedere la Figura 2). Per impostazione predefinita, il componente Utilità di pianificazione pacchetti QoS (Psched.sys) è installato e attivato per i computer che eseguono Windows XP. Il componente Utilità di pianificazione pacchetti può essere installato in Windows Server 2003.

Figura 2 Configurazione di Utilità di pianificazione pacchetti QoS

Figura 2** Configurazione di Utilità di pianificazione pacchetti QoS **

QoS in Windows Vista e Windows Server "Longhorn"

Il supporto QoS in Windows Vista e Windows Server "Longhorn" è stato migliorato e semplificato. Per il personale IT, è ora possibile utilizzare QoS basata su criteri per impostare i valori di DSCP e controllare la velocità di invio dell'applicazione senza dover utilizzare API o modificare applicazioni esistenti. Per gli sviluppatori, le API GQoS e TC sono supportate, sebbene il supporto per queste API non sia pianificato per le future versioni di Windows. Inoltre, l'opzione IP_TOS Winsock è stata rimossa. Per sostituire le API GQoS e TC e semplificare il supporto QoS in applicazioni aggiornate o future, Windows Vista e Windows Server "Longhorn" supportano la nuova API QoS2, nota anche come Servizio audio/video Windows di qualità (qWAVE).

QoS basata su criteri in Windows Server "Longhorn" e Windows Vista consente di offrire un miglior servizio all'utente finale, controllare i costi di larghezza di banda o negoziare livelli di servizio di qualità superiore con provider di larghezza di banda o reparti. È possibile gestire in modo centralizzato la larghezza di banda della rete di computer che eseguono Windows Vista o Windows Server "Longhorn" indipendentemente dall'applicazione e in tutta l'infrastruttura Active Directory®. Dal momento che la gestione del traffico avviene sotto il livello applicazione, le applicazioni esistenti non devono essere modificate per la gestione del traffico di QoS basata su criteri.

Le impostazioni di QoS basata su criteri in Windows Server "Longhorn" e Windows Vista consentono di assegnare la priorità e gestire il traffico in uscita in base alle seguenti condizioni:

  • Applicazione mittente (percorso e nome eseguibile)
  • Prefissi indirizzo o indirizzi IPv4 o IPv6 di origine o destinazione
  • Protocollo (TCP, UDP o entrambi)
  • Porte di origine o destinazione o intervalli di porte (TCP o UDP)

I criteri di QoS vengono applicati a una sessione di accesso utente o a un computer come parte di un oggetto Criteri di gruppo (GPO) collegata a un contenitore Active Directory come un dominio, un sito o un'unità organizzativa (UO) o possono essere applicati a un gruppo di protezione. Come parte di Criteri di gruppo, i criteri di QoS sono basati sull'infrastruttura di gestione esistente di Active Directory.

QoS basata su criteri consente di definire la priorità di traffico. È possibile configurare un criterio di QoS per contraddistinguere il traffico IPv4 o IPv6 in uscita con uno specifico valore di DSCP. Inoltre, è possibile gestire l'uso della larghezza di banda per il traffico in uscita. È possibile configurare un criterio di QoS con una limitazione della velocità per il traffico in uscita. Con la limitazione della velocità, i componenti di QoS limitano il traffico di rete in uscita aggregato a una precisa velocità. Per i computer, è possibile gestire l'uso della larghezza di banda per il traffico in entrata configurando le impostazioni avanzate in modo da specificare la velocità del traffico TCP in entrata impostando un valore massimo per la dimensione della finestra di ricezione TCP.

In Windows Vista e Windows Server "Longhorn", l'Utilità di pianificazione pacchetti QoS è installata e attivata per impostazione predefinita. Il componente Pacer.sys è un nuovo driver filtro leggero NDIS (Network Device Interface Specification) 6.0 che controlla la pianificazione dei pacchetti per QoS basata su criteri e per il traffico di applicazioni abilitate all'utilizzo di QoS. Pacer.sys sostituisce Psched.sys in Windows XP e Windows Server 2003.

Per distribuire QoS basata su criteri sulla Intranet, configurare i criteri di QoS basati su computer o su utente e applicarli al contenitore Active Directory appropriato. I computer basati su Windows Vista o Windows Server "Longhorn" scaricano e applicano le relative impostazioni di QoS basata su criteri durante l'aggiornamento dei criteri di gruppo di configurazione del computer o di configurazione dell'utente.

Sulle reti vengono spesso elaborati sia dati che applicazioni audio/video (AV), quindi è necessaria una soluzione di QoS che attribuisca una priorità al traffico AV legato ai tempi rispetto al traffico di dati. Inoltre, le reti tendono sempre più a divenire wireless, con la conseguente introduzione di ulteriori complicazioni per le applicazioni sensibili a latenza e larghezza di banda disponibile.

La funzione qWAVE in Windows Vista fornisce una raccolta di moduli di software per la QoS che risolvono i problemi di rete introdotti dalle applicazioni AV e dalle reti senza fili. qWAVE è integrato nel sottosistema QoS e funziona su più tecnologie per la definizione delle priorità dei pacchetti a livello di interfaccia di rete e Internet. qWAVE supporta contemporaneamente più flussi di AV (flussi in tempo reale che richiedono QoS) e flussi di dati (flussi di massimo sforzo, come trasferimenti di posta elettronica o file).

Con le tecnologie qWAVE viene rilevata e monitorata la larghezza di banda della LAN, vengono individuate le caratteristiche di QoS della rete e viene garantito il controllo di ammissione distribuito per uno sfruttamento corretto e coerente della larghezza di banda della rete. Tali tecnologie consentono di utilizzare le tecniche di streaming AV più avanzate, in modo che le applicazioni possano adattarsi in modo dinamico alle diverse condizioni della rete e sono disponibili agli sviluppatori solo dall'API QoS2.

L'API QoS2 in Windows Vista e Windows Server "Longhorn" sostituisce l'API GQoS e l'opzione IP_TOS Winsock, quindi dovrebbe essere più facile da utilizzare rispetto all'API GQoS.

Ulteriori informazioni

Per ulteriori informazioni su QoS, Technet mette a disposizione diversi documenti molto utili. Inizia dal sito Web Microsoft Quality of Service (in inglese). Consulta anche la sezione QoS del Windows Core Networking (in inglese).

Joseph Daviesè un technical writer di Microsoft. Dal 1992 tiene corsi e scrive su argomenti legati alle reti Microsoft. Ha scritto cinque libri per Microsoft Press® ed è autore della rubrica mensile Cable Guy su TechNet.

© 2008 Microsoft Corporation e CMP Media, LLC. Tutti i diritti riservati. È vietata la riproduzione completa o parziale senza autorizzazione.