Serviços Diferenciados (DiffServ ou DS) é um serviço para especificar e controlar o tráfego de rede em classes para que tipos de tráfego obtenha preferencia em relação a outro, por exemplo, o tráfego de voz, que exige um fluxo relativamente ininterrupto de dados, deve ter preferência sobre outros tipos de tráfego. Serviços diferenciados é o método mais avançado para o gerenciamento de tráfego em termos do que é chamado de Classe de Serviço (CoS ). Ao contrário dos mecanismos anteriores de rotulação 802.1p e Tipo de Serviço (ToS), serviços diferenciados evitam a simples marcação de prioridade e depende de politicas mais complexas ou declarações de regras para determinar como encaminhar um determinado pacote . O perfeito funcionamento do modelo DiffServ baseia-se em 2 (dois) principais elementos: a marcação dos pacotes, fazendo uso do campo ToS do IPv4 e os Per Hop Behaviors.
2.4.1 MARCAÇÃO DE PACOTES DO DIFFSERV
O Campo ToS contem 7 bits, onde os três primeiros bits de precedência são usados primordialmente para a marcação de pacotes (Figura 13). A RFC 1122 (IETF, 1989), a RFC 791 (IETF, 1981) definiu que cada pacote receberia um dos dois níveis de atraso, vazão e confiabilidade. A RFC 1349 (IETF, 1992), no entanto, redefiniram-se estes três bits e adicionou um sétimo bit no byte, desta forma designando um ToS ao pacote, em adição a sua prioridade.
Figura 13 - Campo ToS original no IPv4
A utilização unicamente do campo ToS e de precedência IP nunca foi implementada de forma consistente por todos os fabricantes de equipamentos e aplicativos, impedindo a total interoperabilidade da solução. Além disso, a reduzida combinação desses bits limitava a quantidade de classes que se podia implementar com eles. Assim, a RFC 2474 (IETF, 1998) redefiniu completamente o campo ToS de forma a criar o campo DiffServ. Agora 6 (Seis) bits são usados na marcação dos pacotes (Figura 14) e dois bits ficaram reservados para utilização futura. Os 6 (seis) bits substituem os três bits da Precedência IP e o ToS e agora são chamados de Differentiated Services Codepoints ou Codificação de Serviços Diferenciados. Dessa forma, 64 diferentes classes de serviços podem ser suportadas em um nó da rede permitindo uma granularidade muito maior na classificação dos pacotes. Uma padronização da codificação DiffServ foi estabelecida com o intuito de se manter a compatibilidade com o modelo de IP Precedence. Dessa forma, os três primeiros bits devem ser configurados como no modelo anterior e pacotes marcados apenas com IP Precedence são mapeados para o novo modelo, conforme Figura 14.
Figura 14 - Campo DiffServ
Fonte: IETF, 2003.
2.4.1.1 PER HOP BEHAVIORS
Uma vez que os pacotes tenham sido marcados através do campo DS, é necessário agora que tenhamos uma forma de processar os fluxos e prover a QoS que cada um deles requer. Uma coleção de pacotes, com um mesmo valor de DSCP, Cruzando a rede em uma direção específica é chamada de Behavior Aggregate. O Per Hop Behaviors define as propriedades de encaminhamento de pacotes associados com uma determinada classe de tráfego. Isso permite que o dispositivo de rede priorize o tráfego de acordo com a classes Os quatro grupos PHB padrão a seguir são normalmente usados:
Expedited Forwarding (EF) - premium, a mais alta prioridade de tráfego;
Assured Forwarding (AF) - Vários tipos de AF e AF precedências pode ser usado com outros grupos PHB, ou por si só, para implementa o "Serviço Olympic", que consiste em três classes de serviço: Ouro, Prata e Bronze;
Classe Selector (CS) - Compatível com os TOS / IP Solution Precedência; Encaminhamento Padrão (DF) - Melhor esforço.
2.4.1.2 ENCAMINHAMENTO PADRÃO (DF)
O PHB Padrão é qualquer tráfego que não cumpra os requisitos de qualquer uma das outras classes definidas. Normalmente, o PHB padrão tem características de encaminhamento de melhor esforço. O recomendado DSCP para o PHB padrão é 000000.
2.4.1.3 CLASSE SELECTOR (CS)
PHBs Class-Selector define a compatibilidade com o modelo de Precedência IP. Dessa forma, valores de DSCP com o formato ‘xxx000’ (onde x pode ser 0 ou 1) tem seu comportamento definido da mesma forma que no modelo anterior de Precedência IP. Dessa forma, um pacote com DSCP ‘110000’, por exemplo, (i.e. IP Precedence 110) tem prioridade sobre um pacote com DSCP ‘100000’ (i.e. IP Precedence 100). Estes PHBs permitem a coexistência de nós que implementam DS e nós com somente Precedência IP.
2.4.1.4 EXPEDITED FORWARDING (EF)
O EF PHB tem as características de baixo atraso, baixa perda e baixo jitter. Estas características são adequadas para serviços de voz, vídeo e outros em tempo real. Tráfego EF é frequentemente dado prioridade nas filas acima de todas as outras classes de tráfego. Porque uma sobrecarga de tráfego EF causará atrasos de enfileiramento e pode afetar o jitter e tolerâncias de atraso dentro da classe, o tráfego EF é muitas vezes estritamente controlado através de controle de admissão, policiamento e outros mecanismos. Redes comuns vão limitar o tráfego EF para no máximo 30%. O recomendado DSCP para o encaminhamento expedido é 101110.
2.4.1.5 ASSURED FORWARDING (AF)
O IETF define o comportamento Assured Forwarding (Encaminhamento assegurado) permite ao operador proporcionar uma garantia de entrega, enquanto que o tráfego não exceda algumas taxa definidas. Tráfego que exceda a taxa de inscrição enfrentará uma maior probabilidade de ser descartado se o congestionamento ocorrer. O AF define quatro classes AF separados sendo a classe 4 com a maior prioridade. Dentro de cada classe, os pacotes são dadas uma precedência (elevado, médio ou baixo). A combinação de classes e queda precedência produz doze codificações DSCP AF11 até AF43 como descrito na tabela abaixo:
Quadro 06 - PHB Assured Forwarding (AF)
Classe 1 (mais baixo) Classe 2 Classe 3 Classe 4 (mais alto)
Baixa Gota AF11 (DSCP 10) AF21 (DSCP 18) AF31 (DSCP 26) AF41 (DSCP 34)
Med Gota AF12 (DSCP 12) AF22 (DSCP 20) AF32 (DSCP 28) AF42 (DSCP 36)
Alta Gota AF13 (DSCP 14) AF23 (DSCP 22) AF33 (DSCP 30) AF43 (DSCP 38) Fonte: blog.ccna.com.br/2008/08/25/qos-qualidade-de-servico-parte-ii/, 2008.
Algumas medidas de prioridade são definidas entre o tráfego em classes diferentes. Se o congestionamento ocorrer entre as classes, o tráfego na classe superior terá prioridade. Se o congestionamento ocorrer dentro de uma classe, os pacotes com o maior precedência será descartados primeiro.
2.4.1.6 CLASSE SELECTOR (CS) PHB
Antes do DiffServ, redes IPv4 poderiam usar o campo de precedência no byte ToS do cabeçalho IPv4 para marcar o tráfego de prioridade. O octeto ToS e IP precedência não eram amplamente utilizados. O IETF concordou em reutilizar o octeto ToS como o campo DS para redes DiffServ. De forma a manter a compatibilidade com dispositivos de rede que ainda usam
o campo Precedência, DiffServ define a classe Selector PHB. Os pontos de código de classe Selector são da forma 'xxx000'. Os três primeiros bits são os bits de precedência IP. Cada valor de IP precedência pode ser mapeado em uma lasse DiffServ.