The Cable GuyCompatibilidad con QoS en Windows

Joseph Davies

Este artículo se basa en parte de la versión preliminar de Windows Server, "Longhorn". Toda la información mencionada aquí está sujeta a cambios.

La calidad del servicio (QoS) abarca un conjunto de tecnologías para administrar tráfico de red de una manera rentable con el fin de mejorar las experiencias de usuario en entornos domésticos y empresariales. Las tecnologías de QoS permiten medir el ancho de banda, detectar las condiciones cambiantes de la red (tales como la congestión o la disponibilidad del ancho de banda)

y dar prioridad al tráfico o reducir el flujo del mismo. Por ejemplo, el sistema de QoS se puede aplicar para dar prioridad a la entrega de tráfico sensible a la latencia (como aplicaciones de voz o vídeo) y para controlar la repercusión del tráfico no sensible a la latencia, como transferencias de conjuntos masivos de datos. Para ofrecer una entrega con prioridad del tráfico de TCP/IP, es necesario contar con la compatibilidad con dispositivos de infraestructura de red y hosts. Esta columna describe los métodos para usar QoS con hosts basados en Microsoft® Windows®.

El problema central de definir QoS para redes TCP/IP es cómo especificar y ofrecer la entrega con prioridad del tráfico IP. Aunque el RFC 791 original para IP definiera el campo de tipo de servicio (TOS) con la capacidad de especificar la prioridad, la demora, el rendimiento, la confiabilidad y las características de costo, el protocolo IP es fundamentalmente una tecnología de conmutación de paquetes basada en datagramas de mejor esfuerzo, que suele tratar cada paquete de igual forma y de acuerdo con un orden de prioridad de llegada.

Configuración de entrega con prioridad

Para ofrecer el servicio de entrega con prioridad, hay una serie de procedimientos que puede realizar. Puede configurar la infraestructura de red para ofrecer una administración especial del tráfico marcado y que luego los hosts de envío marquen el tráfico saliente. Como alternativa, puede hacer que los hosts de envío programen dinámicamente la infraestructura de la red para ofrecer una administración especial basada en las características del tráfico saliente (como las direcciones y los números de puerto).

Para el tráfico de TCP/IP, puede usar unos pocos métodos diferentes con el fin de ofrecer la entrega con prioridad. Por ejemplo, en la capa de interfaz de red para Ethernet, el etiquetado IEEE 802.1p marcará los marcos enviados por un host para la entrega con prioridad mediante un campo de prioridad de 3 bits en el encabezado de la red de área local virtual (VLAN) del marco de Ethernet. El encabezado de VLAN se coloca dentro del encabezado de Ethernet, entre el campo de dirección de origen y el de longitud (para un marco IEEE 802.3) o el de EtherType (para un marco de Ethernet II).

La implementación del etiquetado 802.1p en un host de envío requiere que el adaptador de la red y el controlador de dispositivo sean compatibles con 802.1p y que el adaptador de la red tenga habilitada la compatibilidad con 802.1p. Normalmente, puede habilitar la compatibilidad con 802.1p en la ficha Avanzadas de las propiedades de un controlador de adaptador de red. Los conmutadores de Ethernet también deben tener habilitada la compatibilidad con 802.1p.

En la capa de interfaz de red para red inalámbrica IEEE 802.11, la certificación de Wi-Fi Alliance para multimedia Wi-Fi (WMM) define cuatro categorías de acceso para dar prioridad al tráfico de red. Estas categorías de acceso son (en orden de prioridad de mayor a menor) voz, vídeo, mejor esfuerzo y segundo plano. La compatibilidad de host para la prioridad de WMM requiere que ambos adaptadores de red inalámbrica y sus controladores sean compatibles con WMM. Los puntos de acceso inalámbrico (AP) deben tener habilitado WMM.

En el nivel de Internet, puede usar los servicios diferenciados y definir el valor del punto de código de servicios diferenciados (DSCP) en el encabezado de IP. Tal y como se define en RFC 2472, el valor DSCP es los 6 bits de valor superior del campo TOS de IP versión 4 (IPv4) y del campo de clase de tráfico de IP versión 6 (IPv6).

Los enrutadores empresariales más modernos admiten la diferenciación de tráfico DSCP, aunque esta característica está deshabilitada de forma predeterminada. Durante el reenvío, los enrutadores que admiten DSCP leen el valor DSCP y colocan el paquete en una cola específica. Por ejemplo, los enrutadores se pueden configurar para que sitúen los paquetes reenviados en la cola de "prioridad alta", de "mejor esfuerzo" o "inferior al mejor esfuerzo" en función de los valores DSCP definidos. Al configurar las colas y los valores DSCP, el tráfico marcado con DSCP podrá tener niveles de servicio diferentes. Por ejemplo, el tráfico de red importante recibe preferencia de reenvío frente al tráfico masivo de datos de menor prioridad. La especificación de WMM define cómo las categorías de acceso de WMM se asignan a valores DSCP. Un punto de acceso inalámbrico compatible con WMM lee el valor DSCP y controla el tráfico en función de su categoría de acceso.

En el nivel de Internet, puede usar también el protocolo de reserva de recursos (RSVP), un protocolo de señalización definido en RFC 2205. Los hosts pueden usar este protocolo para intentar reservar el ancho de banda de una red hasta un extremo. No obstante, RSVP no está muy implementado en redes y no es compatible actualmente con Windows XP, Windows Server® 2003, Windows™ Vista ni la versión siguiente de Windows Server, cuyo nombre en código es "Longhorn" (actualmente en versión beta).

Para enviar paquetes marcados para la entrega con prioridad, las aplicaciones o componentes del sistema operativo deben poder especificar los valores de la prioridad de 802.1p o el valor DSCP. Las secciones siguientes describen cómo componentes de Windows o aplicaciones basadas en Windows pueden especificar la prioridad de 802.1p para marcos de Ethernet o el valor DSCP para el tráfico de TCP/IP.

QoS en Windows XP y Windows Server 2003

Windows XP y Windows Server 2003 ofrecen API para asignar parámetros de QoS al tráfico. Los desarrolladores de aplicaciones pueden usar Windows Sockets (WinSock) y API genéricas de QoS (GQoS) para aplicar los parámetros de QoS en el nivel de aplicación en cada socket. Los administradores de red pueden usar herramientas de administración de tráfico escritas para llamar a API de control del tráfico (TC) con el fin de aplicar parámetros de QoS en el nivel de host.

Puede usar WinSock y la opción de socket IP_TOS con el fin de establecer el valor DSCP para paquetes salientes para un socket. Sin embargo, de forma predeterminada, la pila de TCP/IP ignora la opción de socket IP_TOS. Para usar la opción de socket IP_TOS, primero debe crear y establecer el valor de registro DWORD DisableUserTOSSetting=0 en la siguiente clave de registro (consulte la Figura 1):

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters

Figura 1 Establecimiento del valor de registro de DisableUserTOSetting

Figura 1** Establecimiento del valor de registro de DisableUserTOSetting **

Debe reiniciar el equipo para que el valor del registro surta efecto.

Para especificar el valor DSCP para el tráfico sin tener que usar la opción de socket IP_TOS, puede usar las API de GQoS. GQoS forma parte de Windows Sockets 2.0 (Winsock2). La mayoría de las aplicaciones compatibles con QoS usan la API de GQoS para invocar las capacidades de QoS en Windows. GQoS en Windows XP Service Pack 2 (SP2) permite a una aplicación establecer un valor DSCP y reducir el flujo de tráfico saliente. Para establecer las prioridades de 802.1p en equipos que ejecutan Windows XP SP2, debe usar la API de TC.

La API de TC ofrece acceso a mecanismos de control de tráfico que regulan el tráfico de red en el host local. Admite el control directo de valores DSCP, etiquetas 802.1p y tasa de disminución de flujo de tráfico. Los administradores de red pueden usar los programas de administración de tráfico para invocar la API de TC directamente en nombre de las aplicaciones que no reconocen QoS. Puesto que se trata de una API de un nivel inferior a la API de GQoS, la API de TC requiere los privilegios del nivel de administrador.

A diferencia de la API de GQoS, la API de TC admite tráfico de varias aplicaciones en el mismo host de envío para agregarlo a un solo flujo de QoS. Como parte de esta agregación, el tráfico puede identificarse por una combinación de las direcciones IP de origen y destino, los puertos de origen y destino, y el protocolo (TCP o UDP). Por ejemplo, todo el tráfico de una dirección IP de destino específica puede incluirse en un solo flujo de QoS para cualquier puerto de origen y puerto de destino, con independencia de la aplicación de envío del host. La API de GQoS, por otro lado, permite a una aplicación definir su propio tratamiento de QoS en los datos que envía a través de un socket.

Para ser compatible con la capacidad de QoS, los equipos basados en Windows XP y Windows Server 2003 deben tener el componente Programador de paquetes QoS instalado y habilitado en las propiedades de conexiones de red de la carpeta Conexiones de red (consulte la Figura 2). El componente Programador de paquetes QoS (Psched.sys) está instalado y habilitado de forma predeterminada para equipos con Windows XP. El componente Programador de paquetes se puede instalar en Windows Server 2003.

Figura 2 Configuración del Programador de paquetes QoS

Figura 2** Configuración del Programador de paquetes QoS **

QoS en Windows Vista y Windows Server "Longhorn"

La compatibilidad con QoS en Windows Vista y Windows Server "Longhorn" se ha mejorado y simplificado. Para el personal de TI, ahora es posible usar QoS basado en directivas con el fin de establecer valores DSCP y controlar la velocidad de envío de aplicaciones sin tener que usar API o modificar las aplicaciones existentes. Para los desarrolladores, se admiten GQoS y API de TC, aunque la compatibilidad con estas API no está planeada para versiones futuras de Windows. Asimismo, la opción de WinSock IP_TOS se ha eliminado. Para reemplazar API de GQoS y TC, y simplificar la compatibilidad con QoS en aplicaciones actualizadas o futuras, Windows Vista y Windows Server "Longhorn" admiten la nueva API de QoS2, también conocida como Quality Windows Audio-Video Experience (qWAVE).

La calidad de servicio (QoS) basada en directivas de Windows Server "Longhorn" y Windows Vista permite ofrecer una experiencia de usuario final mejorada, controlar los costos de ancho de banda o negociar una mayor calidad de los niveles de servicio con los proveedores de ancho de banda o los departamentos empresariales. El ancho de banda de red de los equipos con Windows Server "Longhorn" o Windows Vista se puede administrar de forma central, independientemente de la aplicación en cuestión y en toda la infraestructura de Active Directory®. Debido a que la administración del tráfico tiene lugar por debajo de la capa de aplicación, no es necesario modificar las aplicaciones existentes para llevar a cabo la administración del tráfico de QoS basada en directivas.

La configuración de QoS basada en directivas de Windows Server "Longhorn" y Windows Vista permite establecer prioridades o administrar la velocidad de envío del tráfico saliente en función de las condiciones siguientes:

  • Aplicación de envío (nombre y ruta de acceso del ejecutable)
  • Direcciones IPv4 o IPv6 de origen o destino, o prefijos de dirección
  • Protocolo (TCP, UDP o ambos)
  • Puertos de origen o destino, o intervalo de puertos (TCP o UDP)

Las directivas de QoS se aplican a una sesión de inicio de usuario o a un equipo como parte de un objeto de directiva de grupo (GPO) vinculado a un contenedor de Active Directory, como un dominio, un sitio o una unidad organizativa (OU), o bien se pueden aplicar a un grupo de seguridad. Como parte de la directiva de grupo, las directivas de QoS se crean a partir de la infraestructura de administración de Active Directory existente.

QoS basado en directivas permite definir la prioridad del tráfico. Puede configurar una directiva de QoS para marcar el tráfico de IPv4 o IPv6 saliente con un valor específico DSCP. Puede administrar también el uso del ancho de banda para el tráfico saliente. Puede configurar una directiva de QoS con una tasa de disminución de flujo para el tráfico saliente. Mediante esta limitación, los componentes de QoS limitan el tráfico de red saliente agregado a una tasa especificada. En equipos, puede administrar el uso del ancho de banda para el tráfico entrante, configurando valores avanzados con el fin de especificar el rendimiento de entrada del tráfico de TCP estableciendo un valor máximo para el tamaño de ventana de recepción de TCP.

En Windows Vista y Windows Server "Longhorn," el Programador de paquetes QoS está instalado y habilitado de forma predeterminada. El componente Pacer.sys es un nuevo controlador de filtro ligero de especificación de interfaz de dispositivo de red (NDIS) 6.0 que controla la programación de paquetes correspondiente a la calidad de servicio basada en directivas y al tráfico de las aplicaciones compatibles con QoS. Pacer.sys sustituye a Psched.sys en Windows Server 2003 y Windows XP.

Para implementar QoS basado en directivas en la Intranet, configure directivas de QoS basadas en usuarios o equipos, y aplíquelas al contenedor apropiado de Active Directory. Los equipos basados en Windows Vista o Windows Server "Longhorn" descargan y aplican los valores basados en QoS cuando actualizan la directiva de grupo de configuración de usuario o configuración de equipo.

Dado que las aplicaciones de audio/video (A/V) comparten cada vez más las redes, se necesita una solución de QoS para que el tráfico A/V que depende del tiempo pueda recibir un trato preferencial a través del tráfico de datos. Asimismo, cada vez existen más redes inalámbricas, lo que introduce una complicación adicional para la latencia y las aplicaciones sensibles al ancho de banda.

La función qWAVE en Windows Vista ofrece un conjunto de módulos de software relacionados con QoS que afrontan los desafíos de red introducidos por las aplicaciones de AV y las redes inalámbricas. qWAVE se integra en el subsistema de QoS y funciona con múltiples tecnologías de red y de prioridad de paquetes de capas de Internet e interfaz de red. qWAVE es compatible con varias secuencias de AV (flujos en tiempo real que requieren QoS) y secuencias de datos (flujos de mejor esfuerzo, como transferencia de correos electrónicos o archivos) de forma simultánea.

La colección de tecnologías qWAVE detecta y controla el ancho de banda de LAN, descubre la capacidad de QoS de la red y proporciona control de admisión distribuido para el uso justo y coherente del ancho de banda de la red. Estas tecnologías permiten técnicas de transmisión de AV avanzadas, de tal manera que las aplicaciones puedan adaptarse de forma dinámica a condiciones de red variables y sólo están disponibles para los desarrolladores a través de la API de QoS2.

La API de QoS2 en Windows Vista y Windows Server "Longhorn" reemplaza la API de GQoS y la opción de WinSock IP_TOS, por lo que su uso debe resultarle más fácil que el de la API de GQoS.

Información adicional

Para obtener más información sobre QoS, hay varias fuentes excelentes disponibles a través de TechNet. Comience con el sitio web de calidad de servicio de Microsoft (en inglés). Compruebe también la sección de QoS del blog Windows Core Networking (en inglés).

Joseph Davieses escritor técnico de Microsoft y enseña y escribe sobre temas de conexión en red de Windows desde 1992. Es autor de cinco libros para Microsoft Press® y de la columna mensual The Cable Guy de TechNet.

© 2008 Microsoft Corporation and CMP Media, LLC. Reservados todos los derechos; queda prohibida la reproducción parcial o total sin previa autorización.