The Cable GuySuporte QoS no Windows

Joseph Davies

Este artigo se baseia, em parte, em uma versão de pré-lançamento do Windows Server “Longhorn.”. Todas as informações deste artigo estão sujeitas a alterações.

A QoS (Qualidade do Serviço) abrange um conjunto de tecnologias para gerenciamento de tráfego de rede de maneira econômica para aprimorar as experiências do usuário em ambientes domésticos e empresariais. As tecnologias de QoS permitem medir a largura de banda, detectar alterações nas condições de rede (como congestionamento ou disponibilidade de largura de banda)

e priorizar ou acelerar o tráfego. Por exemplo, a QoS pode ser aplicada para priorizar a entrega de tráfego sensível à latência (como aplicativos de vídeo ou voz) e para controlar o impacto do tráfego insensível à latência, como transferências de dados em massa. Fornecer entrega priorizada de tráfego TCP/IP requer suporte de dispositivos de infra-estrutura de rede e hosts. Esta coluna descreve os métodos para uso da QoS com os hosts baseados no Microsoft® Windows®.

O problema central de definir a QoS para as redes TCP/IP é como especificar e fornecer a entrega priorizada de tráfego IP. Embora o RFC 791 original de IP tenha definido o campo Tipo de Serviço (TOS) com a capacidade de especificar a precedência, o atraso, a taxa de transferência, a confiabilidade e as características de custo, o IP é basicamente uma tecnologia de melhor esforço de comutação de pacotes baseada em datagrama, que normalmente trata cada pacote da mesma forma e pelo método “first-come”, first-served”, ordem de preferência de chegada.

Configurando a entrega priorizada

Existem algumas coisas que você pode fazer para oferecer o serviço de entrega priorizada. Você pode configurar a infra-estrutura de rede para oferecer tratamento especial ao tráfego marcado e, então, fazer com que os hosts de envio marquem o respectivo tráfego de saída. Como alternativa, você pode fazer com que os hosts de envio programem dinamicamente a infra-estrutura da rede para oferecer tratamento especial baseado nas características do respectivo tráfego de saída (como endereços e números de porta).

Para o tráfego TCP/IP, você pode usar alguns métodos diferentes de oferecer a entrega priorizada. Por exemplo, na camada Interface de Rede para Ethernet, a marcação IEEE 802.1p marcará os quadros enviados por um host para entrega priorizada, usando um campo Prioridade de 3 bits no cabeçalho da VLAN (rede local virtual) do quadro Ethernet. O cabeçalho da VLAN é colocado dentro do cabeçalho Ethernet, entre o campo Endereço de Origem e o campo Comprimento (para um quadro IEEE 802.3) ou o campo EtherType (para um quadro Ethernet II)

Implementar a marcação 802.1p em um host de envio requer que o adaptador de rede e o driver de dispositivo ofereçam suporte à 802.1p e que o adaptador de rede tenha suporte habilitado para a 802.1p. Você pode habilitar normalmente o fornecimento de suporte à marcação 802.1p na guia Avançadas das propriedades de um driver de adaptador de rede. Os comutadores Ethernet também devem ter o suporte para a 802.1p habilitado.

Na camada Interface de Rede da IEEE802.11 sem fio, a certificação da Wi-Fi Alliance para o WMM (Multimídia Wi-Fi) define quatro categorias de acesso para priorização do tráfego de rede. Essas categorias de acesso são (em ordem de prioridade, da mais alta para a mais baixa): voz, vídeo, melhor esforço e segundo plano. O suporte de host para a priorização WMM requer que os adaptadores de rede sem fio e drivers respectivos dêem suporte ao WMM. Os APs (Pontos de acesso) sem fio devem ter o WMM habilitado.

Na camada de Internet, você pode usar os Serviços Diferenciados e configurar o valor do DSCP (Ponto de Código de Serviços Diferenciados) no cabeçalho IP. Como definido na RFC 2472, o valor DSCP é de 6 bits de ordem superior do campo TOS de IP versão 4 (IP4) e o campo Traffic Class de IP versão 6 (IPv6).

A maioria dos roteadores corporativos modernos dá suporte à diferenciação de tráfego DSCP, mas por padrão ela fica, normalmente, desabilitada. Durante o encaminhamento, os roteadores compatíveis com DSCP lêem o valor DSCP e colocam o pacote em uma fila específica. Por exemplo, você pode configurar seus roteadores para colocar os pacotes encaminhados em filas de alta prioridade, de melhor esforço ou de baixo esforço com base nos valores DSCP definidos. Mediante a configuração de filas e valores DSCP, o tráfego marcado para DSCP pode ter níveis de serviço diferenciados. Por exemplo, o tráfego de rede de missão crítica obtém preferência de encaminhamento e não é atrasado por outro tráfego de dados em massa de baixa prioridade. A especificação WMM define como o WMM acessa o mapa de categorias para valores DSCP. Um AP sem fio compatível com WMM lê o valor DSCP e administra o tráfego com base na categoria de acesso respectiva.

Na camada de Internet, você também pode usar o RSVP (Protocolo de Reserva de Recursos), um protocolo de sinalização definido na RFC 2205. Os hosts podem usar esse protocolo para tentar reservar largura de banda em uma rede para um ponto de extremidade. O RSVP, no entanto, não é implantado amplamente nas redes e atualmente não tem suporte no Windows XP, no Windows Server® 2003, no Windows Vista™ nem na próxima versão do Windows Server de codinome “Longhorn” (atualmente em beta).

Para enviar pacotes marcados para entrega priorizada, os aplicativos ou os componentes do sistema operacional devem ser capazes de especificar os valores da prioridade 802.1p ou o valor DSCP. As seções a seguir descrevem como os componentes do Windows ou os aplicativos baseados no Windows podem especificar a prioridade 802.1p para quadros Ethernet ou valor DSCP para o tráfego TCP/IP.

QoS no Windows XP e no Windows Server 2003

O Windows XP e o Windows Server 2003 fornecem APIs para atribuir os parâmetros de QoS ao tráfego. Os desenvolvedores de aplicativos podem usar o Windows Sockets (Winsock) e APIs de GQoS (QoS genéricas) para aplicar os parâmetros de QoS no nível do aplicativo, por soquete. Os administradores de rede podem usar as ferramentas de gerenciamento de tráfego escritas para chamar a API de TC (controle de tráfego) para aplicar os parâmetros de QoS no nível do host.

Você pode usar o Winsock e a opção IP_TOS para configurar o valor DSCP de pacotes de saída em relação a um soquete. No entanto, por padrão, a pilha do TCP/IP ignora a opção de soquete IP_TOS. Para usar a opção de soquete IP_TOS, você deve primeiro criar e configurar o valor do Registro DWORD DisableUserTOSSetting=0, na seguinte chave do Registro (veja a Figura 1):

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters

Figura 1 Configurando o valor de Registro de DisableUserTOSetting

Figura 1** Configurando o valor de Registro de DisableUserTOSetting **

Você deve reiniciar o computador para que essa configuração do Registro tenha efeito.

Para especificar o valor DSCP do tráfego sem ter que usar a opção de soquete IP_TOS, você pode usar as APIs de GQoS. A GQoS faz parte do Windows Sockets 2.0 (Winsock2). A maioria dos aplicativos habilitados para QoS usam a API de GQoS para invocar os recursos de QoS no Windows. A GQoS no Windows XP Service Pack 2 (SP2) permite que um aplicativo configure um valor DSCP e acelera o respectivo tráfego de saída. Para configurar as prioridades 802.1p em computadores que executam o Windows XP SP2, você deve usar a API de TC.

A API de TC oferece acesso aos mecanismos de controle de tráfego que regulam o tráfego de rede no host local. Isso permite o controle direto de valores DSCP, marcas 802.1p e taxa de otimização. Os administradores de rede podem usar programas de gerenciamento de tráfego para invocar a API de TC diretamente em nome dos aplicativos que não reconhecem QoS. Por se tratar de uma API de nível inferior à API de GQoS, a API de TC requer privilégios de nível de administrador.

Ao contrário da API de GQoS, a API de TC permite que o tráfego de vários aplicativos no mesmo host de envio seja agregado em um único fluxo QoS. Como parte desta agregação, o tráfego pode ser identificado por uma combinação de seus endereços IP de origem e de destino, portas de origem e de destino e protocolo (TCP ou UDP).Por exemplo, todo o tráfego em um endereço IP de destino específico pode ser incluído em um único fluxo QoS de qualquer porta de origem e de destino, independentemente do aplicativo de envio no host. A API de GQoS, por outro lado, permite que um aplicativo defina seu próprio tratamento de QoS nos dados que envia em um soquete.

Para dar suporte ao recurso QoS, os computadores baseados no Windows XP e no Windows Server 2003 devem ter o componente Agendador de Pacotes QoS instalado e habilitado nas propriedades de conexões de rede, da pasta Conexões de Rede (veja a Figura 2). O componente Psched.sys (Agendador de Pacotes QoS) é instalado, e por padrão, habilitado, para computadores com o Windows XP em execução. O componente Agendador de Pacotes pode ser instalado no Windows Server 2003.

Figura 2 Configurando o agendador de pacotes QoS

Figura 2** Configurando o agendador de pacotes QoS **

A QoS no Windows Vista e no Windows Server “Longhorn”

O suporte de QoS no Windows Vista e no Windows Server “Longhorn” foi aprimorado e simplificado. Para a equipe de TI, agora é possível usar a QoS com base em diretivas para configurar valores DSCP e controlar as taxas de envio de aplicativo sem ter que usar APIs nem modificar aplicativos existentes. Para os desenvolvedores, a GQoS e as APIs de TC têm suporte, embora o suporte a essas APIs não esteja planejado para versões futuras do Windows. Além disso, a opção IP_TOS Winsock foi removida. Para substituir as APIs de GQoS e TC e simplificar o suporte de QoS a aplicativos futuros ou atualizados, o Windows Vista e o Windows Server "Longhorn" oferecem suporte à nova API de QoS2, também conhecida como qWAVE (Quality Windows Audio-Video Experience).

A QoS baseada em diretivas no Windows Server "Longhorn" e no Windows Vista permite que você ofereça experiências melhores ao usuário final, controle custos de largura de banda ou negocie níveis de serviço mais interessantes com provedores de largura de banda ou departamentos comerciais. Você pode gerenciar centralmente a largura de banda de computadores que executam o Windows Vista ou o Windows Server “Longhorn”, não importando qual o aplicativo e em uma infra-estrutura inteira do Active Directory ®. Como o gerenciamento de tráfego ocorre abaixo da camada do aplicativo, não é necessário modificar os aplicativos existentes de gerenciamento de tráfego da QoS baseada em diretivas.

As configurações da QoS baseada em diretivas no Windows Server "Longhorn" e no Windows Vista permitem priorizar ou gerenciar a taxa de envio do tráfego de saída com base nas seguintes condições:

  • Aplicativo de envio (nome do pathand executável)
  • Endereços Ipv4 ou Ipv6 de origem ou de destino ou prefixos de endereços
  • Protocolo (TCP, UDP ou os dois)
  • Portas de origem ou de destino ou intervalos de portas (TCP ou UDP)

As diretivas de QoS são aplicadas a uma sessão de logon de usuário ou a um computador como parte de um GPO (Objeto de Diretiva de Grupo) vinculado a um contêiner do Active Directory, como um domínio, site ou UO (unidade organizacional), ou deverão ser aplicadas a um grupo de segurança. Como parte da Diretiva de Grupo, as diretivas de QoS usam como base a sua infra-estrutura de gerenciamento existente do Active Directory.

A QoS baseada em diretivas permite definir a prioridade de tráfego. Você pode configurar uma diretiva de QoS para marcar o tráfego IPv4 e IPv6 de saída com um valor DSCP específico. Você também pode gerenciar o uso de largura de banda do tráfego de saída. Você pode configurar uma diretiva de QoS com uma taxa de otimização para o tráfego de saída. Com a otimização, os componentes de QoS limitam o tráfego de rede de saída agregado a uma taxa específica. Em computadores, você pode gerenciar o uso da largura de banda do tráfego de entrada, definindo as configurações avançadas para especificar a taxa de transferência de entrada do tráfego TCP, configurando um valor máximo para o tamanho da janela de recepção TCP.

No Windows Vista e no Windows Server "Longhorn", o Agendador de Pacotes QoS é instalado e, por padrão, habilitado. O componente Pacer.sys é um novo driver de filtro simples NDIS 6.0 (Network Device Interface Specification) que controla o agendamento de pacotes da QoS baseada em diretivas e do tráfego de aplicativos habilitados para QoS. O Pacer.sys substitui o Psched.sys no Windows XP e no Windows Server 2003.

Para implantar a QoS baseada em diretivas em sua intranet, configure as diretivas de QoS com base em computador ou usuário e aplique-as ao contêiner apropriado do Active Directory. Os computadores baseados no Windows Vista ou no Windows Server "Longhorn" fazem download e aplicam as respectivas configurações de QoS baseada em diretivas quando atualizam a Diretiva de Grupo Configuração do Usuário ou Configuração do Computador.

Como as redes estão sendo cada vez mais compartilhadas por aplicativos de dados e de AV (áudio/vídeo), uma solução de QoS é necessária para que o tráfego de AV dependente de tempo possa receber tratamento preferencial sobre o tráfego de dados. Além disso, as redes estão cada vez mais se tornando sem fio, o que introduz complicações adicionais para aplicativos que levam em conta a largura de banda e a latência.

O recurso qWAVE no Windows Vista fornece uma coleção de módulos de software relacionados à QoS que lidam com desafios da rede introduzidos por aplicativos de AV e redes sem fio. O qWave está integrado no subsistema de QoS e funciona com várias tecnologias de prioridade de pacotes da camada de Interface de Rede e Internet. O qWave oferece suporte a vários fluxos de AV (fluxos em tempo real que exigem a QoS) e fluxos de dados (fluxos de melhor esforço, como e-mail ou transferências de arquivos) simultaneamente.

A coleção de tecnologias do qWAVE detecta e monitora a largura de banda da LAN, descobre o recurso de QoS da rede e oferece controle de admissão distribuído para uma utilização uniforme e consistente da largura de banda da rede. Essas tecnologias habilitam técnicas avançadas de transmissão de AV para que os aplicativos possam adaptar-se dinamicamente às condições de alterações de redes e estão disponíveis apenas para desenvolvedores por meio da API de QoS2.

A API de QoS2 no Windows Vista e no Windows Server "Longhorn" substitui a opção Winsock IP_TOS e a API de GQoS e você o considerará mais fácil de usar do que a API de GQoS.

Para obter mais informações

Para saber mais sobre a QoS, existem várias fontes excelentes disponíveis na TechNet. Comece com o Microsoft Quality of Service Web site. Verifique também a seção de QoS do Windows Core Networking blog.

Joseph Davies é redator técnico da Microsoft e vem ensinando e escrevendo sobre tópicos de sistema de redes Windows desde 1992. Ele escreveu cinco livros para a Microsoft Press ® e é autor da coluna mensal Cable Guy da Technet.

© 2008 Microsoft Corporation e CMP Media, LLC. Todos os direitos reservados. A reprodução parcial ou completa sem autorização é proibida..