Qualidade de Serviços (QoS): Serviços de QoS
Autor: Jefferson R. | Publicado: 2013-07-07T07:16:00-07:00

Qualidade de Serviço


Qualidade de serviço (QoS) é a capacidade de melhorar os serviços trafegados na rede sobre tecnologias de comunicação de redes de dados, como,&nbsp;Frame Relay, MPLS,&nbsp;Ethernet, ATM (Asynchronous Tranfer Mode, também é um protocolo de comunicação entre redes WAN), e qualquer outra que utiliza do protocolo IP. Tem como sua principal característica, dar prioridade, reserva de banda, controle de&nbsp;jitter&nbsp;(variação de atraso) e latência (figura 6), garantindo um bom desempenho das aplicações.





Figura 6: Diagrama simplificado dos mecanismos de QoS

Fonte: Cisco Systems



Veja o que diz Cisco Systems:



O objetivo da QoS é fornecer serviço de rede melhor e mais previsível, fornecendo largura de banda dedicada, jitter controlado e latência, e perda de características melhoradas. QoS atinge esses objetivos, fornecendo ferramentas para gerenciar o congestionamento da rede, formação de rede tráfego, utilizando-se de maneira ampla área de links de forma mais eficiente, e definindo políticas de tráfego em toda a rede. QoS oferece serviços de rede inteligente que, quando corretamente aplicadas, ajudam a fornecer desempenho consistente e previsível. (CISCO SYSTEMS, 2006).



O conceito de Qualidade de Serviço serve para mensurar a qualidade dos serviços oferecidos por uma rede de comunicações, ou seja, refletir o quanto ela é capaz de atender às expectativas de seus usuários através dos serviços que a mesma os oferecem. Esse conceito, inicialmente focado na rede, evoluiu para uma noção mais ampla, contemplando as múltiplas camadas da interação usuário-sistema.



Os parâmetros de confiabilidade, retardo, flutuação (jitter) e largura de banda estão sendo mostrados na tabela 1 abaixo:



Tabela 1: Rigidez dos requisitos de QoS

Fonte: Tanenbaum, 2003, p. 307



APLICAÇÃO

CONFIABILIDADE



RETARDO



FLUTUAÇÃO

LARG. DE BANDA


Correio eletrônico

Alta

Baixa

Baixa

Baixa


Transf. de Arquivos

Alta

Baixa

Baixa

Média


Acesso a Web

Alta

Média

Baixa

Média


Login remoto

Alta

Média

Média

Baixa


Áudio por demanda

Baixa

Baixa

Alta

Média


Vídeo por demanda

Baixa

Baixa

Alta

Alta


Telefonia

Baixa

Alta

Alta

Baixa


Videoconferência

Baixa

Alta

Alta

Alta






Portanto QoS é o conjunto de regras que descrevem e determinam a qualidade de um aplicativo ou recurso, delimitando sua largura de banda, prioridade, utilização de CPU (unidade central de processamento), etc.



Temos dois princípios básicos para aplicarmos uma política de qualidade de serviço adequada em redes IP, sendo eles:

Serviços integrados (Intserv);
Serviços diferenciados (Diffserv).




Serviços integrados (Intserv)



O&nbsp;Intserv&nbsp;é uma arquitetura de qualidade de serviço, que tem o propósito de garantir níveis de qualidade de serviço fim a fim, através de recursos reservados e estabelecimento de chamada. Ele utiliza-se do protocolo RSVP (Resource Reservation Protocol,&nbsp;protocolo de reserva de recursos) para sinalizar as necessidades de QoS para cada dispositivo ao longo da rede, permitindo que vários transmissores enviem os dados para vários grupos de receptores, eliminando o congestionamento da rede.



Veja o que diz Tanenbaum:



O principal protocolo da IETF (Internet Engeneering Task Force, é uma comunidade aberta a desenvolvedores de recursos para a Internet) para a arquitetura de serviços integrados é o RSVP, descrito na RFC 2205 e em outras. Esse protocolo é empregado para fazer as reservas; outros protocolos são usados para transmitir os dados. O RSVP permite que vários transmissores enviem os dados para vários grupos de receptores, torna possível receptores individuais mudarem livremente de canais e otimiza o uso da largura de banda ao mesmo tempo que elimina o congestionamento. (TANENBAUM, 2003, p. 317).





Figura 7: Estabelecimento de chamada RSVP

Fonte: Kurose, 2006, p.492



Os serviços integrados (Intserv) possuem duas classes de serviços: serviço de carga garantido e serviço de carga controlada.

Serviço de carga garantido: estabelece limites rígidos (que podem ser provados matematicamente) para atrasos de fila que um pacote sofrerá em um roteador, definida no RFC 2212.
Serviço de rede de carga controlada: tem como foco as aplicações multimídia, permitindo com que pacotes com taxas muito altas passem pelo roteador sem que haja descarte de pacotes, por outro lado, não a garantias de desempenho. Portanto a um bom funcionamento apenas quando a rede está descongestionada, definida no RFC 2211.




Serviços diferenciados (DiffServ)



É baseado no tratamento diferenciado de classes, podendo manipular diferentes tipos de classes de varias maneiras dentro da rede. Este tratamento é repetido nó a nó, ou seja, os pacotes de uma aplicação prioritária quando chegam a um nó (roteador) são separados e recebem um tratamento diferenciado.



Veja o que diz Falsarella:



(...) tudo começa no byte ToS (Type of Service) que fica dentro do cabeçalho do IPv4. Como o ToS é um byte, ele é obviamente composto de 8 bits, sendo que apenas 6 bits são utilizados propriamente para formação do DS Field (Campo dos Serviços Diferenciados) e os outros dois bits são tidos como reservados. O DS Field é quem define o tal do DSCP que significa DiffServ Code Point. Como ele é composto de 6 bits, temos em decimal então uma permutação de 2 elevado a 6 que é 64 valores possíveis, variando portanto de 0 a 63. Essa faixa de valores é que define literalmente a marcação dos pacotes. De antemão, todo pacote BestEffort (BE) ou Melhor Esforço é tratado como DSCP 0 ou em binário 000000. (FALSARELLA, 2009, p. 1).



Para obter serviços diferenciados, a rede tenta entregar um determinado tipo de serviço com base no QoS especificado por cada pacote, sendo assim, classificados, marcados, policiados, priorizados, descartados, e enviados pelo roteador de origem, até o roteador de destino (figura 8).





Figura 8: Classificação dos pacotes e policiamento

Fonte: Kurose, 2006, p.496



Classificações, Marcação, e Policiamento



A classificação identifica os grupos de pacotes que receberão um determinado tratamento. Eles podem ser classificados de acordo com critérios variados, onde os roteadores realizam a marcação dos pacotes, e separam os pacotes que entram na rede através de diversas classes de serviço (EF, AF,&nbsp;Default, etc.), onde são classificados com base nas portas TCP dos aplicativos (figura 9).





Figura 9: Classes de serviço

Fonte: Falsarella, 2009



O&nbsp;DiffServ&nbsp;também são identificados pelos roteadores através de valores decimais, onde cada valor representa uma classe de serviço (tabela 2). Estes valores são derivados dos 6&nbsp;bits&nbsp;do campo doDiffServ.



Tabela 2: Valores decimais DiffServ

Fonte: Haden, 2009



DSCP

BINARY

DECIMAL

DSCP

BINARY

DECIMAL

Default


000000

0

CS4

100000

32

CS1


001000

8

AF41

100010

34

AF11


001010

10

AF42

100100

36

AF12


001100

12

AF43

100110

38

AF13


001110

14

CS5

101000

40

CS2


010000

16

EF

101110

46

AF21


010010

18

CS6

110000

48

AF22


010100

20

CS7

111000

56

AF23


010110

22







CS3


011000

24







AF31


011010

26







AF32


011100

28







AF33


011110

30












O policiamento analisa e gerencia a capacidade total de largura de banda na rede, sendo que, quando a ultrapassem do limite de tráfego contratado, ocorre o descarte ou remarcação dos pacotes não identificados em nem uma das classes (figura 10).





Figura 10: Policiamento de pacotes

Fonte: Cisco Systems



Compressões de cabeçalho



A tecnologia de compressão de cabeçalho possui características de otimizar a rede, diminuído congestionamentos ocorrentes.

Este recurso tem a principal finalidade de comprimir cabeçalhos de protocolos em varias camadas do modelo OSI (Open Systems Interconnection), alguns exemplos são: TCP, RTP (Real-time Transport Protocol&nbsp;protocolo utilizado em aplicações de tempo real), IP, UDP, reduzindo o tamanho (frame) dos dados que circulam na rede.





Figura 11: Compressão de cabeçalho RTP

Fonte: Silva, 2000



A compressão de cabeçalho é normalmente utilizada em redes que trafegam voz e vídeo, onde necessitam de largura de banda, e são serviços que utilizam protocolo de tempo real (figura 11). “Portanto, o uso do cRTP (compressão de cabeçalho) não é sugerido em enlaces de alta velocidade, uma vez que a relação custo versus benefício pode não compensar” (SILVA, 2000, p. 1).



Fragmentações e&nbsp;Interleaving



Os pacotes de voz e vídeo são extremamente sensíveis a atraso, portanto devem ser intercalados, e fragmentados, dentro de uma rede de dados.



Veja o que diz Cisco Systems:



(...) um pacote VoIP pode precisar esperar até 187,5 ms antes de poder ser enviado se o atraso ocorrer atrás de um único pacote de 1500 bytes em uma ligação de 64 kbit/s. Os pacotes VoIP são normalmente enviados a cada 20 ms. Com um orçamento de atraso de ponta a ponta de 150 ms e requisitos de variação de sinal estrita, uma lacuna de mais de 180 ms é inaceitável.



É necessário um mecanismo que garanta que o tamanho de uma unidade de transmissão seja menor que 10 ms. Qualquer pacote que tenha um atraso de serialização maior que 10 ms precisam ser fragmentado em blocos de 10 ms. Um bloco ou fragmento de 10 ms é o número de bytes que pode ser enviado pela ligação em 10 ms. (CISCO SYSTEMS, 2006).



Para que haja a necessidade de fragmentar e intercalar um pacote, o mesmo deve ser maior do que o valor total de capacidade do&nbsp;link&nbsp;(tabela 3).



Tabela 3: Velocidade do link e tamanho da fragmentação

Fonte: Cisco Systems, 2006



VELOCIDADE DOLINK

(KBIT/S)

TAMANHO DA FRAGMENTAÇÃO (BYTES)


56

70


64

80


128

160


256

320


512

640


768

960


1024

1280


1536

1920

(Não é exigida fragmentação se o tamanho da fragmentação for maior do que o tamanho do&nbsp;link.)






Conformidades de tráfego (Traffic Shaping)



O&nbsp;Traffic Shaping&nbsp;tem o objetivo de adequar o tráfego da rede ao perfil contratado pelo cliente, através de&nbsp;buffers&nbsp;de saída que armazenam as maiores rajadas de trafego, e os transmitem dentro dos limites de capacidade do&nbsp;link.





Figura 12: Conformidade de tráfego (Traffic Shape)

Fonte: Cisco Systems



Portanto o objetivo principal do recurso de QoS&nbsp;Traffic Shaping,&nbsp;é evitar que pacotes sejam descartados na rede, colocando–os em uma fila de espera, até que possam ser enviados.



Algoritmos de Enfileiramento de Pacotes



Congestionamentos podem ocorrer em qualquer lugar dentro de uma rede, ocorrendo desigualdades de velocidade, falta de prioridades, etc. Portanto este fato é causado pelo alto fluxo de dados que às vezes ultrapassa a capacidade do canal de transmissão (link) por onde passa as aplicações (figura 13).



Veja o que diz Mauricio:



(...) em qualquer rede de comunicação, cada aplicação compete com outras pela largura de banda que ela precisa para obter uma ótima&nbsp;performance. Além de assegurar-se que há largura de banda suficiente, uma&nbsp;performance&nbsp;aceitável depende que os requisitos de largura de banda para cada aplicação também sejam satisfeitos. As soluções com esse fim incluem segregar o tráfego em links individuais ou usar mecanismos de QoS para designar níveis de largura de banda variáveis para cada aplicação, dentro de um link. (MAURICIO, 2008).





Figura 13: QoS em aplicações multimídia

Fonte: Mauricio, 2008



Qualidade de serviço (QoS), é composta por vários componentes (algoritmos), que associados, trabalham em prol da administração e prevenção de congestionamento. Estes componentes foram projetados para servir necessidades diferentes de trafego, através de filas bem projetadas.



Alguns exemplos de algoritmos de enfileiramento são:

First In, First Out&nbsp;(FIFO) - armazena os pacotes em uma fila única de acordo com a ordem de chegada na fila (figura 14), até que o envio de dados seja disponibilizado nas interfaces de Roteadores e&nbsp;switches&nbsp;(equipamento responsável pelo encaminhamento de pacotes a diversos pontos dentro de uma rede local).




Figura 14: Funcionamento filas FIFO

Fonte: Silva, 2000



Priority Queuing&nbsp;(PQ) – são atribuídos prioridades (baixa, normal, media, alta) aos pacotes, e em seguida, são adicionados as filas com suas respectivas características prioritárias (figura 15), onde os pacotes não marcados serão classificados como de prioridade normal (default).




Figura 15: Funcionamento filas Priority Queuing

Fonte: Silva, 2000



Weighted Fair Queueing&nbsp;– os pacotes são alocados a uma classe (voz, e-mail, etc.), e em seguida, após serem classificados de acordo com sua precedência, recursos, e indicadores, os mesmos são enviado à rede de destino. Este algoritmo proporciona uma justa distribuição de banda na rede, melhorando o seu desempenho. Este algoritmo tem a capacidade de fazer com que fluxos que estejam enfrentando congestionamento, por exemplo, possam ser atendidos com uma menor frequência em relação aos outros (figura18).




Figura 16: Funcionamento filas Weighted Fair Queueing

Fonte: Silva, 2000



Segundo Gimenes (2003) diferentes técnicas de&nbsp;escalonamento&nbsp;(redução ou compactação de processos) podem ser utilizadas conforme o tipo de tráfego a ser transmitido, de forma a suprir a necessidades específicas de diferentes usuários.























































Fonte:&nbsp;http://www.teleco.com.br/tutoriais/tutorialqosotm/pagina_3.asp