Entendendo QOS em 3 posts - 2 de 3

Olá pessoal!, dando continuidade a série de 3 postagens que irão tirar você do estado de "zero conhecimento" em QOS ao conhecimento básico, eu vou colocar hoje um pouco mais dos dois conceitos que falei ao final do  último post.

 Vamos detalhar um pouco mais o conceito de "Classificação."

 

 

 

Apenas uma revisão rápida. No artigo anterior eu coloquei o exemplo da ambulância que precisa ter prioridade sobre os demais carros e de alguma forma precisamos identificá-la como uma "verdadeira ambulância". Para que este tipo de veículo tivesse realmente prioridade no momento da passagem pelo pedágio.

Ainda no mesmo artigo, eu usei a ideia de pintar a ambulância de vermelho para diferenciá-la dos demais carros, masas na prática, sabemos que só isso não é suficiente e tivemos que colocar, sirenes, luzes intermitentes, etc..., e só assim classificar (Classification) um veículo como pertencente à categoria "ambulância".

 

É neste ponto que iremos focar este artigo. Na classificação dos pacotes ou frames.

Mas para começar a deixar a leitura mais intrigante e interessante, vou colocar aqui um outro conceito que muita gente confunde e por isso, acho que é o momento de cita-lo. É o conceito de "Marcação" (Marking).

 

Mas Diego, você não iria falar somente de Classificação? E vem agora com este novo termo, Marcação? Pega leve né !!!

 

Fiquem calmos. Agora é a hora de falar dos dois conceitos (os dois termos), pois eles causam muita confusão e não deveriam. E é por isso que vamos acabar com este mal logo aqui.

 

CLASSIFICAÇÃO x MARCAÇÃO

Vamos começar falando então de Classificação. Ainda levando o nosso exemplo anterior da ambulância, imaginem que ao chegar no pedágio (Ou em nosso roteador) algum "espertinho" disfarçou o seu carro de ambulância ou simplesmente apareceu um carro vermelho com uma buzina e os intermitentes ligados. O que vai acontecer se eu não tiver alguém olhando mais de perto estes carros quando eles chegarem na "cancela ou bloqueio" do pedágio? Eles terão a mesma prioridade que uma ambulância tem. E porque? poque não há como diferenciá-los de uma verdadeira ambulância, se meus critérios de classificação não são tão precisos.

 

Então, o que fazer para evitar estes erros Diego? Como Classificar, verdadeiras ambulâncias (Pacotes ou fram) que devem sim ter prioridades, de falsas ambulâncias; que não devem ser impedidas de passar, mas não devem ter prioridade sobre os demais, não é?

 

É ai que entra a importância da CLASSIFICAÇÃO e o novo termo MARCAÇÃO. Eu preciso que no pedágio haja uma pessoa abrindo cada carro (pacote e/ou frame) e verificando se este se trata mesmo de uma "ambulância" ou não. Se ele realmente for uma "ambulância" ele será etiquetado (Marcação ou MARKING) com uma etiqueta verde escrito "Ambulância/Prioritário" e os carros falsos, ou que não passaram pela inspeção/classificação, serão etiquetados com uma etiqueta vermelha, "Carro Normal/Sem prioridade".

 

Vamos agora sair um pouco das analogias e metáforas e partir para o nosso campo técnico.

 

FINALMENTE HEIN DIEGO. VAMOS Á ESCOVAÇÃO DE BITS

Eu havia passado no artigo anterior um link do wikipedia, para os leitores que se interessassem e não conseguissem aguardar as minhas outras postagens. Mas agora não temos mais como fugir do conhecimento técnico e menos metafórico. Então, segue um pouco de teoria para alinharmos o nível de conhecimento.

 

O que é o QoS?
De forma objetiva, é o tratamento diferenciado dos pacotes de uma rede, com base em algum esquema de classificação. Você: Classifica,depoisMarca, seja em switches (Campo COS) ou roteadores (Campo TOS) quais fluxos de tráfego devem receber tratamento preferencial e você especifica o tipo de tratamento a ser adotado.

Por exemplo, um engenheiro de rede pode dizer a um dispositivo para entregar todos os pacotes de VoIP (Voz sobre IP)  e não entregar o tráfego não-VoIP; ou para reservar uma certa quantidade de largura de banda para cada conversa VoIP; ou para limitar a largura de banda para alguma aplicação em um nível específico.Há diversas formas de tratar um determinado tipo de tráfego.

 

O mecanismo chave que permite o QoS é o uso de campos específicos dentros dos cabeçalhos (header), de camada 3 (header dos pacotes) e camada 2 (header dos frames). Eu vou falar um pouco mais sobre estes campos a seguir.

 

Na prática como eu faço a marcação dos pacotes/frames?

 

Classificação em camada 3

Agora que já entendemos o conceito de marcação (ver exemplo análogo aqui em cima), vamos dar alguns exemplos relacionados ao nosso mundo real de redes e telecomunicações. A marcação de um tipo de tráfego pode ser dada baseando-se em alguns critérios, por exemplo: 

 

  • baseado na subnet de origem do tráfego;

  • baseado em portas TCP/UCP que a aplicação utiliza
    baseado na subnet de destino do tráfego;

  • baseado em uma assinatura que caracteriza uma aplicação (conhecido como deep-inspection);

Estas são as principais formas de caracterizar um tráfego e consequentemente, classificá-lo para só então gerar alguma ação sobre ele. Onde podemos por exemplo: priorizá-lo, reservar banda para ele, etc...

 

Este tipo de classificação irá utilizar o cabeçalho de camada 3, para diferenciar um pacote do outro e neste caso o campo dentro do cabeçalho IP que é analisado chama-se TOS (Type of Service).

 

A figura a seguir ilustra os dois cabeçalhos (Header) IP. O da esquerda é o cabeçalho IP versão 4 (IPv4 RFC 791) e o da direita representa o cabeçalho IP versão 6 (IPv6 1883).

 

 

O campo TOS (vou usar aqui o IPv4) tem 8 bits reservado para ele (1 Byte). Deste 8 bits reservados ao campo TOS, os primeiros 3 bits mais significativos (MSB - Most Significant Bit), são os bits utilizados para classificar ao pacote. Vejam a figura a seguir. Nela podemos notar os 8 bits do campo TOS e suas respectivas funções.

 

 Como podemos ver, os bits (posição 0, 1 e 2 da figura a cima) são responsáveis por classificar o pacote. (lembram da ambulância? este bits são as sirenes, a cor vermelha, etc... ou seja, é tudo que faz dar ao veículo a característica de ambulância e consequente prioridade na hora de passar no pedágio).

 

Por padrão todo pacote IP vem com o campo TOS "setado" em 0`s. Se olhamos a figura anterior podemos ver que ele é um pacote cujo campo TOS está "setado" com classificação "ROUTINE".

Mas o que significa isso Diego? Na verdade isto significa que o pacote não tem prioridade nenhuma em relação a qualquer outro.

 

Um exemplo de uso do campo TOS em nosso dia a dia é para equipamentos de telefonia IP. Os equipamentos de telefonia IP quando geram um pacote IPv4, já modificam o campo TOS com a seguinte estrutura: 

  • 1 na posição 0 da figura anterior;

  • 0 na posição 1 da figura anterior;

  • 1 na posição 2 da figura anterior;

 

Se olhamos a figura acima, nota-se que representa a classificação CRÍTICA (Critic/ECP). Isto significa que este pacote terá precedência sobre quaisquer pacotes que tenham o campo TOS "setados" com as combinações que aparecem abaixo da CRITIC/ECP, perdendo apenas para as comunições que aparecem acima da CRITIC/ECP.

 

Esta técnica que demostrei até o momento é chamada de IP PRECEDENCE (RFC 1349) e como vimos, nos dá 8 possibilidades de classificação entre diferentes tipos de tráfego.

Mas Diego e os outros 5 bits menos significativos que permaneceram ao lado direito, ali na figura?

 

Na teoria e claro, de acordo com a RFC 1349, eles teriamm o seguinte significado:

Posição 3 (Letra D) = Pacotes com este bit "setado" com o valor "1" seriam encaminhados pra caminhos com menor DELAY possível;

Posição 4 (Letra T) = Pacotes com este bit "setado" com o valor "1" seriam encaminhados para caminhos com melhor TROUGHPUT;

Posição 5 (Letra R) = Pacotes com este bit "setado" com o valor "1" seriam encaminhados para um caminho com alta RELIABILITY;

Posição 6 e 7 = Reservado;

 

Com o aumento do número de aplicações e consequente necessidade de classificação de novos tipos de tráfego, este finito e pequeno número de 8 possibilidades de classificação se tornou praticamente ineficaz. Então, um grupo de inteligentes engenheiros decidiu usar os 3 (três) próximos bits menos significativos  (já citados anteriormente como: D,T e R), como parte da solução de CLASSIFICAÇÂO.

É como se eles tivessem ampliando o subcampo IP PRECEDENCE para 6 bits e não mais apenas 3 bits. Ampliando assim as possibilidades de classificação de 8 para até 252 possibilidades.

 

Com isso, foi lançada uma nova RFC de número 2474 e esta técnica passou a ser chamada de DSCP (Differentiated Services Field).

 

A figura a seguir ilustra o legado com IP PRECEDENCE (3 bits em uso para classificação do pacote) e o DSCP (já com o total de 6 bits para possível classificação).

 

 Atualmente, quando habilitamos QOS em roteador é como se informássemos a ele: "Ei ! Se algum pacote passar por ai com os IP Precedence diferente de 0s ou com DSCP marcados, tome alguma ação especial, como:  priorização, descarte, etc... (vamos falar um pouco mais sobre priorização em breve, pois inclui politicas de QOS).

 

Mas lembrem-se pessoal. nós devemos "dizer" (configurar) ao roteador se estaremos trabalhando com IP Precedence ou DSCP.

 

Agora que que já conhecemos como o processo de classificação funciona, podemos ir um pouco mais a fundo no técnica de classificação por DSCP e assim entender o que significa aquelas letras CS, AF e ECN na figura anterior. Mas isso pessoal , no próximo post que vou colocar na próxima semana. Para melhorar o entendimento, vou preparar um vídeo com os comandos utilizados via CLI num roteador Cisco.

 

Bem, por enquanto, espero que o conteúdo esteja sendo de bom grado e vamos em frente.

 

Força, Fé e Foco.

 

Abraços e deixem seus comentários e dúvidas que irei responder a todos.

 

 

 

 

 

 

 

 

 

Share on Facebook
Share on Twitter
Please reload

RECENT POST

August 2, 2019

Please reload

  • Grey Twitter Icon
  • Grey LinkedIn Icon
  • Grey Facebook Icon

© 2017 by Coffee Ip. 

  • English Version
  • Instagram do Coffee IP
  • Twitter Social Icon
  • Facebook do Coffee IP