QoS sobre Redes TCP/IP
Edgard Jamhour
Conceitos de QoS
• QoS pode ser definido como qualquer
mecanismos capaz de prover um serviço melhor
para um dado fluxo.
• Um fluxo pode ser determinado de várias
formas:
–
–
–
–
Combinação dos endereços de origem e destino
Numero dos sockets de origem e destino
Identificador de sessão
Pacotes enviados ou recebidos de uma certa
aplicação em uma certa interface
– URL ou tipo MIME dentro de um pacote HTTP
Objetivos do QoS
• Controle sobre recursos
– Exemplo: limitar a banda utilizada por aplicações de FTP em um
determinado link.
• Uso mais eficiente de recursos de rede
– Privilegiar o uso das aplicações mais importantes (rentáveis) na
rede.
• Serviços Customizáveis
– QoS permite diferenciar usuários e serviços oferecidos na rede.
• Coexistência de aplicações de missão críticas
– Permitir que as aplicações menos importantes não degradem as
aplicações críticas na rede (exemplo, FTP introduzir atraso para
aplicações de VOIP).
• Base para construção de uma rede única e integrada
– Permitir que uma única tecnologia de rede possa ser utilizada
para prover todos os tipos de serviços (redes convergentes).
Qualidade de Serviço - QoS
•
•
A qualidade de Serviço pode ser definida como sendo garantias oferecidas
pela rede que certos parâmetros serão mantidos entre níveis préacordados.
Os principais parâmetros de QoS são:
QoS na Camada de
– Atraso
APlicação
– Jitter: Variação no Atraso
– Taxa de transmissão
– Taxa de Perda de Pacotes
QoS na Camada de
Transporte
QoS na Camada de Rede
QoS em Enlace
Internet
QoS refere-se a capacidade de
criar um caminho com banda e
tempo de atraso garantidos
entre dois pontos da rede.
QoS pode ser implementada em vários
níveis:
• Na camada de Enlace:
– Redes Síncronas:
• SDH (combinação de canais de banda constante)
– Redes Assíncronas:
• ATM: Permite Reservar Recursos
• Frame-Relay: Apenas Limita a Banda
• Na camada de rede:
• IP: Permite implementar a qualidade de serviço fim
a fim independente da tecnologia de enlace.
Atraso
• O Atraso é o principal fator de QoS.
• Em aplicações tempo-real o atraso provoca
perda de QoS.
– Por exemplo, surgem dois problemas para o tráfego
de voz quando o atraso é alto:
• Eco e Sobreposição de conversação.
• Os principais fatores que influenciam na latência
de uma rede são os seguintes:
– Atraso de propagação (Propagation Delay);
– Velocidade de transmissão e
– Processamento nos equipamentos
Fatores que Influenciam o Atraso
Capacidade do
Terminal
Congestionamento na
rede local
Bufferização nos
Roteadores
Congestionamento
nos links
Tempo de
propagação
Tempo de Propagação
• Atrasos de Propagação - Fibras Ópticas – Exemplos
Trecho (Round Trip Delay)
Atraso de
Propagação
Miami a São Paulo
100 mseg
New York a Los Angeles
50 mseg
Los Angeles a Hong Kong
170 mseg
Fontes de Atraso
• Atraso introduzido por equipamentos:
–
–
–
–
Roteadores (comutação de pacotes)
LAN Switches (comutação de quadros)
Servidores de Acesso Remoto (RAS) (comutação de pacotes, ...)
Firewalls (processamento no nível de pacotes ou no nível de
aplicação, ...)
• Considerando que a latência é um parâmetro fim-a-fim:
–
–
–
–
Capacidade de processamento do processador
Disponibilidade de memória
Mecanismos de cache
Processamento nas camadas de nível superior da rede
(Programa de aplicação, camadas acima da camada IP, ...);
Medida do Atraso
• Existem 3 maneiras de se medir o atraso:
– One-Way
• Tempo para o pacote ir da origem ao destino
– Paired One-Way
• Tempo para informação ir de A para B
• Tempo para informação ir de B para A
• Necessita de mecanismos de medição nas duas
extremidades.
– Round-Trip (Round Trip Time – RTT)
• Tempo para informação ir de A para B e voltar para A
• O Atraso é medido dividindo-se o tempo de round-trip por 2.
• A medição pode ser feita a partir de uma única extremidade.
Perda de Pacotes
• Pacotes são perdidos devido a dois
fatores:
– Erros no pacote:
• Cabeçalho do pacote:
– Descartados pelos roteadores
• Campo de dados:
– Descartados pelo computador
– Falta de Banda
• Estouro de buffer dos roteadores .
• Priorização de tráfego
– Pacotes menos prioritários são descartados.
Curva de QoS em Função do Atraso
ATRASO VARIÁVEL
ACEITÁVEL
densidade de
probabilidade
ATRASO INACEITÁVEL
(Dados Perdidos)
1- 
Atraso
Fixo

Variação de Atraso
(Jitter)
Máximo Atraso
Aceitável
ATRASO
Classificação das Aplicações
• A QoS solicitada ao provedor de serviços
depende dos requisitos específicos das
aplicações.
– Aplicações tempo-real
• Aplicações sensíveis ao atraso
– Tolerantes a perda de pacotes
– Intolerantes a perda de pacotes
– Aplicações elásticas
• Aplicações que não são afetadas pelo atraso.
Requisitos de QoS
Requisitos de QoS
Vídeo
Voz
FTP
E-mail
Vídeo
Broadcast
Interativo
Exigência de largura
de banda
Baixa a
Média
Baixa
Baixa
Alta
Alta
Sensibilidade ao
descarte aleatório de
pacotes
Média
Média
Média
Média
Média
Sensibilidade ao
atraso
Alta
Baixa
Baixa
Baixa
Alta
Sensibilidade ao jitter
Alta
Baixa
Baixa
Média
Alta
Arquitetura para QoS
• As arquiteturas de QoS envolvem 3 elementos:
– Técnicas para implementar QoS em um nó da rede.
– Técnicas de sinalização de QoS, para informar aos vários nós da
rede como proceder na passagem de um fluxo.
– Funções para gerenciamento, política e contabilização do QoS
de uma rede como um todo.
Estratégias para Implantação de QoS
• Duas estratégias possíveis:
– Priorização (serviços diferenciados):
• O tráfego da rede é classificado e os recursos da
rede são distribuídos de acordo com critérios da
política de gerenciamento de banda.
– Reserva de Recursos (serviços integrados):
• recursos da rede são reservados de acordo com a
requisição de QoS da aplicação e sujeitos a uma
política de gerenciamento de banda.
– Exemplo: RSVP
Níveis de Serviço QoS
• Três níveis básicos de QoS podem ser
providos através de redes heterogêneas:
– 1) Melhor Esforço (Best-effort Service):
• É a implementação default da Internet (sem QoS).
– 2) Serviço Diferenciado (soft QoS):
• Algum tráfego é tratado melhor que o resto.
– Exemplos: PQ, CQ, WFQ, e WRED (definidos na
seqüência).
– 3) Serviço Garantido (hard QoS)
• Reserva absoluta de recursos de rede para tráfego
específico.
– Exemplos: RSVP e CBWFQ
Níveis de QoS
Reserva de Recursos
GARANTIDO
DIFERENCIADO
MELHOR ESFORÇO
Prioridade
Sem QoS
Técnicas de QoS Diferenciado
• Controle de Congestionamento
– Estabelece mecanismo para diferenciar o tráfego em
caso de congestionamento da rede.
– Permite tratar o tráfego de tempo real de maneira
diferente do tráfego elástico.
• Antecipação de Congestionamento
– Introduz técnicas que tomam ações preventivas para
evitar o congestionamento.
• Adequação do Perfil de Tráfego
– Forçam um perfil de tráfego específico na saída, de
maneira independente do fluxo de tráfego na entrada.
Controle de Congestionamento
• Os roteadores devem suportar
mecanismos de filas com priorização para
permitir a implementação de mecanismos
de QoS.
• As principais técnicas de priorização são:
– First-in, first-out (FIFO) queuing
– Priority queuing (PQ)
– Custom queuing (CQ)
– Weighted fair queuing (WFQ)
FIFO – First In Firt Out
• Trata as variações de tráfego através de uma fila, mas
não utiliza nenhum tipo de prioridade. É a opção default
dos dispositivos de rede.
LINK B
(rede WAN: 1 Mbps)
LINK A
(rede local: 100
Mbps)
LINK A > LINK B
FILA INTERNA NO ROTEADOR
PQ: Prioritizing Traffic
• Utiliza várias filas FIFO de prioridades
diferentes:
– high, medium, normal ou low
• O tráfego é classificado e colocado em filas
diferentes, dependendo da sua prioridade.
• Os critérios de classificação podem ser diversos:
–
–
–
–
Tipo de protocolo
Interface de entrada
Tamanho do pacote
Endereço de origem e/ou destino
• A estratégia consiste em transmitir primeiro o
tráfego das filas de maior prioridade.
PQ: Prioritizing Traffic
CQ: Guaranteeing Bandwidth
• Esta técnica utiliza até 16 filas em escalonamento round
robin. O tamanho das filas é proporcional a prioridade do
tráfego.
• A classificação para entrada nas filas é feita por
protocolo ou interface de entrada.
Fila de baixa
prioridade
(1 pacotes de
cada vez)
1/10
2/10
3/10
4/10
Fila de alta
prioridade
4 pacotes de
cada vez (a
medição pode
também ser
feita em bytes).
CQ: Guaranteeing Bandwidth
Weighted fair queuing (WFQ)
• Efetua classificação do tráfego por fluxo:
– Endereço IP de origem e destino
– Portas de origem e destino
– Prioridade e Tipo de protocolo
• Os fluxos são armazenados num número
configurável de filas.
– Fluxos de baixo volume, que são a grande maioria do
tráfego, recebem um serviço preferencial.
– Fluxos de alto volume, dividem o restante da banda
de maneira proporcional entre eles.
Weighted fair queuing (WFQ)
Weighted fair queuing (WFQ)
• Dando prioridade para os fluxos mais curtos, o WFQ
reduz significativamente o atraso médio de entrega dos
pacotes.
Prioridades no IP
• O protocolo IPv4 possui um campo denominado tipo de
serviço, com informações que podem ser utilizadas para
definir a prioridade dos pacotes.
CABEÇALHO PACOTE IP
TOS
Bit
Prioridade
Bit
000
Muito Baixa
1
Minimizar retardo
001
Baixa
2
Maximizar vazão
Maximizar confiabilidade
3
Maximizar confiabilidade
Muito Alta
4
Minimizar custo
..
111
Requisição
Precedência de IP
• A ponderação das filas leva em conta as informações do
campo “Tipo de Serviço” do protocolo IP (3 bits):
– Prioridades de 0 (menos prioritário) a 7 (mais prioritário).
• É feito uma média ponderada para determinar a
quantidade de banda que cada fluxo recebe.
• Por exemplo, se estão chegando 3 fluxos de prioridade 2
e 4 fluxos de prioridade 1, cada fluxo recebe:
– 3*2 + 4*1 = 10: banda total disponível
– 2/10, 2/10, 1/10, 1/10, 1/10, 1/10: banda alocada por fluxo
Cabeçalho IP
TOS
1 byte, 3 bits de prioridade
CBWFQ – Class Based WFQ
• Class Based WFQ é uma variante do WFQ.
• O problema que este método quer resolver, é permitir
que vários fluxos do tipo tempo real que tenha prioridade
idêntica tenham que dividir banda entre si.
• Por exemplo, no método WFQ pode alocar uma certa
banda para um fluxo de vídeo. Todavia, quando vários
fluxos de vídeo atravessarem o nó, a banda será
dividida.
• No método CBWFQ cria-se uma classe para representar
todos os fluxos de vídeo.
• Todos os demais fluxos podem ser agrupados em uma
ou mais classes menos especializadas gerenciados por
WFQ.
Técnicas para Evitar Congestionamento
• As técnicas para evitar congestionamento antecipam a
tendência de congestionamento na rede e agem antes
que o congestionamento ocorra.
• RED:
– RED: Randon Early Detection
– Os roteadores iniciam um processo de descarte randômico de
pacotes assim que percebem um congestionamento nas suas
interfaces.
• WRED:
– RED ponderado
– A operação de descarte acontece levando em conta as
informações de prioridade do campo TOS dos pacotes IP.
RED
Ferramentas de Monitoramento de Controle de Tráfego
• GTS
– Generic Traffic Shaping
– Baseado no Token Bucket Approach
– Reduz o tráfego de saída de uma interface para um taxa
constante
Ferramentas de Monitoramento de Controle de Tráfego
•
FRTS
– Frame Relay Traffic Shaping
– As informações fornecidas pelo Frame Relay são usadas para controlar as
funcionalidades de QoS implementadas pelo roteador.
• CIR: Committed Information Rate (CIR)
• FECN, BECN
• DE
O flag DE indica
quais pacotes
devem ser
descartados
em caso de
congestionamento.
Taxa definida pelo CIR
Circuito virtual
Indicações do BECN faz com que
os pacotes aguardem na fila.
Reserva de Recursos
• Ao contrário das técnicas de priorização, permite
reservar banda para as aplicações.
• Frame-Relay
– Trabalha apenas com priorização
• ATM
– Trabalha com priorização e reserva de recursos
• IP
– Trabalha apenas com o melhor esforço
– Novos protocolos foram criados para o IP para
permitir a reserva de recursos.
– Entre eles, o mais importante: RSVP
• Resource Reservation Protocol
RSVP
• RSVP: Resource Reservation Protocol
– Protocolo de controle de rede que permite as aplicações solicitarem
Qos (Qualidade de Serviço) especiais para seus fluxos de dados.
RSVP
• O RSVP foi concebido no “Information Sciences Institute
(ISI)” da “University of Southern California (USC)”, MIT e
no “Xerox Palo Alto Research Center”. Atualmente ele
está publicado na RFC2205.
– O IETF define que o uso do RSVP é para implementar redes
com serviços integrados.
• RSVP não é um protocolo de transporte de dados, mas
sim um protocolo de controle, como ICMP ou IGMP.
– Sua função é permitir que os nós da rede recebem informações
que permitam caracterizar fluxos de dados, definir caminhos e
características de QoS para esses fluxos ao longo desses
caminhos.
• RSVP não é um protocolo de roteamento. Ele depende
de outros protocolos para execução dessas funções.
Arquitetura do RSVP
• As funções de implementação do QoS
pelos nós não são de responsabilidade do
RSVP. Outros módulos são especificados
na arquitetura:
– Módulos de Decisão:
• Controle de Admissão: verifica se existem recursos
para o pedido.
• Controle de Política: verifica se o usuário pode
pedir os recursos.
– Módulos de Controle de Tráfego:
• Classificador: determina a classe do pacote
• Escalonador: implementa o QoS
Arquitetura do RSVP
Host
Roteador
Controle de
Admissão
Controle de
Admissão
RSVP
aplicação
dados
Classificador
Processo
RSVP
Processo
RSVP
Processo
de
Roteamento
dados
Controle de
Políticas
Classificador
Escalonador
Dados
Controle de
Políticas
Escalonador
RSVP é Unidirecional
• As reservas em RSVP são sempre unidirecionais.
– As reservas podem ser em unicast ou multicast.
– Para uma mesma aplicação transmitir e receber dados com QoS
são necessárias duas reservas:
• Uma para receber dados (feita pela própria aplicação).
• Uma para enviar dados (feito pelo receptor).
• No RSVP o pedido de uma reserva sempre é iniciado
pelo receptor.
1. Solicita serviço
2. Especifica os requisitos
Servidor
3. Faz reserva
REDE
Cliente
Sessões RSVP
• Em RSVP, a política de QoS não é aplicada
individualmente sobre cada pacote, mas sim em
sessões.
• Uma sessão é um fluxo de dados enviado a um
mesmo destino e com o mesmo protocolo de
transporte:
• Uma sessão é definida por três parâmetros:
– Endereço de destino
– Identificador de Protocolo (TCP ou UDP)
– Porta de destino (Opcional).
Sessões RSVP
• Podem ser de dois tipos:
Endereço
Classe D
multicast
IGMP
Transmissor
Receptor
unicast
Transmissor
Receptor
Os receptores
precisam formar
um grupo
multicast para
poder receber as
mensagens.
Sessões Unicast e Multicast
Fluxo de dados
S1
S2
S3
Sessão RSVP
Comunicação
Unicast
R1
S1
S2
S3
Comunicação
Multicast
R1
R2
O RSVP suporta três tipos de tráfego
• Best Effort
– IP tradicional.
– Exemplo: email
• Rate-sensitive:
– Garante uma taxa média de transferência.
– Exemplo transmissão de vídeo não interativo.
– Se em certos momentos a taxa de dados superar a taxa média
reservada, o roteador pode bufferizar os dados.
• Delay-sensitive:
– Garante o atraso máximo dos dado, mesmo com taxa de
transmissão variável.
– Exemplo transmissão de video interativo.
– O número de quadro pode variar, mas não pode haver perda de
sincronia.
RSVP: Visão Geral
• RSVP é formado por um conjunto de mensagens trocadas entre os
elementos de rede.
• As principais mensagens são: PATH e RESV
Tipos de Mensagem RSVP
• PATH:
– Enviada do Transmissor para o Receptor.
– Objetivo: Definir uma rota entre o transmissor e o receptor.
– Todos os roteadores que recebem a mensagem PATH
armazenam um estado definido PATH state.
3
cliente
servidor
1) PATH de S
S
2) PATH de 1
1
Estado: S
2
3) PATH de 2
Estado: 1
C
Estado: 2
Tipos de Mensagem RSVP
• Reservation Request:
– Enviada pelo receptor ao longo do PATH pré-estabelecido.
– Objetivo: solicitar a reserva de acordo com a especificação feita
em PATH.
3
servidor
cliente
3) RESV para C 2) RESV para C 1) RESV para C
2
S
C
1
Estado: S
Estado: 1
Estado: 2
Tipos de Mensagem RSVP
• Reservation Request Acknowlegment:
– Enviada do transmissor até o receptor através do PATH.
– Cada nó RSVP decide se pode cumprir os requisitos de QoS
antes de passar a mensagem adiante.
– Esta mensagem cria efetivamente a reserva nos roteadores e no
servidor.
servidor
cliente
1) RACK de 2
3) RACK de S 2) RACK de 1
2
S
C
1
Estado: S
Estado: 1
Estado: 2
Tipos de Mensagem RSVP
• Mensagens de Erro:
– Podem ser de dois tipos:
• Erros de Caminho (Path error)
• Erros de Reserva (Reservation Request error).
– Os erros são gerados de acordo com os seguintes
casos:
• Falha de admissão (o solicitante não tem permissão para
fazer a reserva).
• Banda indisponível.
• Serviço não suportado.
• Má especificação de fluxo.
• Caminho ambíguo.
Tipos de Mensagem RSVP
• Mensagens Teardown:
– Enviada pelo cliente, servidor ou roteadores
para abortar a reserva RSVP.
– Limpa todas as reservas e informações de
PATH.
Descritor de Fluxo de Dados
Descritor de Fluxo de Dados
Especificação de
Filtro
(endereço e porta de
origem do emissor)
Especificação de
Tráfego
Tspec
Especificação de
Fluxo
Especificação de
Requisição
Rspec
Especificação de fluxo
• Um reserva em RSVP é caracterizada por
uma estrutura de dados denominada
Flowspec.
• Flowspec é composta por dois elementos:
– Rspec (Reserve Spec):
• indica a classe de serviço desejada.
– Tspec (Traffic Spec):
• indica o que será Transmitido.
O Token Bucket Model
• Rspec e Tspec são definidas na RFC 2210 e são opacos
para o RSVP.
• Geralmente, esses parâmetros são definidos assumindo
que o modelo utilizado para garantia de QoS é o Token
Bucket Model.
– Este modelo é um método realiza para definir uma taxa de
transmissão variável com atraso limitado.
Fluxo de saída do enlace: R
Buffer de Recepção:
Serviço Garantido se r <= R
Tspec
• Assumindo o Token Bucket Model, Tspec é definido da
seguinte forma:
– r - taxa média em bytes/s
• Taxa de longo prazo: 1 a 40 terabytes/s
– b - tamanho do bucket (em bytes)
• Taxa momentânea: 1 a 250 gigabytes
– p - taxa de pico
– m - tamanho mínimo da unidade policiada
• (pacotes menores que esse valor são contados como m bytes)
– M - MTU (máximo tamanho de pacote que pode ser enviado pelo
flow)
• Regra: seja T o tráfego total pelo fluxo num período T:
– T < rT + b
Rspec
• Assumindo o Token Bucket Model, Rspec
é definido da seguinte forma:
– R - taxa desejável
• Taxa média solicitada
– s - Saldo (slack) de retardo
• Valor excedente de atraso que pode ser utilizado
pelos nós intermediários.
• Ele corresponde a diferença entre o atraso
garantido se a banda R for reservada e o atraso
realmente necessário, especificado pela aplicação.
Funcionamento
• 1. A aplicação servidora identifica sua necessidade de
QoS através de uma mensagem PATH
– A mensagem PATH contém dois parâmetros básicos:
• Tspec: estrutura de dados que especifica o que será transmitido.
• Adspec (opcional): estrutura que especifica os recursos disponíveis.
– Cada roteador com o RSVP habilitado através da rota percorrida
pela mensagem PATH estabelece um “path-state” que inclui o
último endereço da mensagem PATH.
Mensagem PATH
• Opcionalmente, a mensagem PATH pode conter uma
estrutura de dados ADSPEC informando aos nós
subseqüentes os recursos disponíveis para implementar
o QoS:
• Os parâmetros passados são os seguintes:
– hopCount:
• número de elementos intermediários
– pathBW:
• estimativa da largura de banda
– minLatency:
• estimativa do retardo de propagação
– composedMTU:
• MTU composta do referido caminho
Funcionamento
• 2. A aplicação cliente solicita à rede a
garantia de QoS que lhe é conveniente
(Reserva) através do protocolo RSVP;
– Os receptores enviam uma mensagem RESV
(Reservation Request) de volta.
• Flow Spec
– Service Class
– Tspec: requisitos do transmissor
– Rspec: taxa de transmissão solicitada
• Filter Spec: identifica os pacotes que devem de
beneficiar da reserva
– Protocolo de transporte e número de porta.
A Mensagem RESV
– Filterspec
• O receptor define um subset de pacotes da sessão (especificado
pelo destino) que deverão receber os privilégios de QoS.
• No IPv4 o Filterspec é especificado pelo IP e porta de origem (do
transmissor) e no IPv6 pelo Flow Label.
• Pacotes que não são enquadrados no Filterspec são tratados como
“Best Effort”.
Funcionamento
• 3. A rede (Equipamentos roteadores e switch
routers) aceita eventualmente a solicitação e
"tenta garantir" a reserva solicitada.
– Quando um roteador recebe a mensagem RESV:
• autentica a requisição
• alocar os recursos necessários.
– Se a requisição não pode ser satisfeita (devido a falta
de recursos ou falha na autorização), o roteador
retorna um erro para o receptor.
– Se aceito, o roteador envia a mensagem RESV para o
próximo roteador.
Funcionamento
• 4. Confirmação
– Quando o último roteador recebe a mensagem RESV
e aceita sua solicitação, envia uma mensagem de
confirmação de volta para o receptor (note que o
último roteador é o mais perto do transmissor ou o
ponto de agregação de reserva para fluxos multicast).
• 5. Operação
– Uma vez aceita a reserva, os fluxos de dados
(streams) correspondentes à aplicação são
identificados e roteados segundo a reserva feita para
os mesmos.
Fluxo de mensagens PATH e RESV
Service Class
• Classes de Serviço:
– Serviço de Carga Controlada (RFC 2211)
• O mecanismo de QoS é feito pelos roteadores da rede
através do controle de admissão (carga controlada) que
limitam a carga da rede.
• Não é necessário especificar o parâmetro Rspec. A banda
necessária é deduzida a partir de Tspec.
• Os aplicativos devem manter a transferência de dados
através do fluxo numa taxa < rT +b.
– Serviço Garantido (RFC 2212)
• Utiliza Tspec e Rspec para definir uma reserva ao longo do
caminho entre o transmissor e o receptor, de maneira a
garantir o atraso solicitado.
Implementação do RSVP
• Quando cofirmam mensagens RSVP:
– Servidores:
• Reservam memória.
• Reservam CPU.
• Reserva banda de suas placas de rede.
– Roteadores:
• Configurar os recursos de controle de filas de acordo com os
critérios do RSVP.
• Negociam com outros dispositivos de rede a reserva de QoS,
caso esta seja implementada a nível de enlace (por exemplo,
ATM).
Implementação do RSVP
RSVP na Internet
• Para que o RSVP possa ser implementado na Internet,
utiliza-se técnicas de tunelamento para saltar os
roteadores que não suportam RSVP.
O endereço de destino das mensagens PATH é do próximo roteador
que suporta RSVP.
Nuvem
não RSVP
servidor
cliente
Problemas do RSVP
• A classificação de pacotes feita pelos roteadores
a fim de implementar o QoS necessita que este
tenham acesso as informações de porta de
origem e destino.
– Quando ocorre a fragmentação estas informações só
estão contidas no primeiro fragmento de um pacote.
• Solução:
– As aplicações transmitem as informações com o mínimo MTU
do caminho.
– IPsec ou outras técnicas de tunelamento podem
criptografar os pacotes:
• Uma extensão do IPsec foi proposta para suportar RSVP.
Aglutinação de Reservas
• As reservas RSVP precisam ser aglutinadas a fim de não
desperdiçar recursos quando a reserva está vinculada a
uma transmissão em Multicast.
aglutinação
RESERVA
R1
RESERVA
S
RESERVA
R2
desaglutinação
RESERVA
S1
RESERVA
R
RESERVA
S2
Estilos de Reserva
• As reservas em RSVP podem ser feitas de formas diferentes
(estilos):
Seleção do Emissor Reserva
Distinta
Reserva
Compartilhada
Explícita
Filtro Fixo (FF)
Explícito
Compartilhado (SE)
Curinga
Não Definido
Filtro com Curinga
(WF)
Exemplo de WildCard Filter
• WildCard-Filter (WF)
– Estabelece uma única reserva para todos os emissores de uma
sessão (tipicamente multicast, onde só um transmite de cada vez).
– Só a maior requisição de reserva chega aos emissores.
– Sintaxe: WF (* {Q})
Exemplo de Fixed Filter
• Fixed-Filter (FF):
– Pacotes de emissores diferentes numa mesma sessão não
compartilham reservas.
– Mas as reservas são compartilhadas pelos receptores.
– Sintaxe: FF (S{Q}) ou FF(S1{Q1},S2{Q2},...}
Exemplo de Shared Explicit
• Shared-Explicit (SE):
– A reserva é propagada para todas as fontes no valor máximo
feito por cada receptor.
– Sintaxe: SE ((S1,S2,...){Q})
Mensagens RSVP
Msg Type: 8 bits
1 = Path
2 = Resv
3 = PathErr
4 = ResvErr
5 = PathTear
6 = ResvTear
7 = ResvConf
...
Objetos de
tamanho
variável
Objetos RSVP
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
NULL
SESSION
RSVP_HOP
TIME_VALUES
STYLE
FLOWSPEC
FILTER_SPEC
SENDER_TEMPLATE
SENDER_TSPEC
ADSPEC
ERROR_SPEC
POLICY_DATA
INTEGRITY
SCOPE
RESV_CONFIRM
Serviços Diferenciados
• O IETF está definindo uma série de RFC que
regulamentam a implementação de redes IP de grande
porte segundo a arquitetura de Serviços Diferenciados.
• Serviços Diferenciados são uma alternativa para
Serviços Integrados, que supostamente são pouco
escaláveis devido ao custo de manutenção das sessões
RSVP.
• O conceito básico dos serviços diferenciados (Diff-Serv)
é o SLA:
– Service Level Agreement
SLA
• O SLA é um acordo de QoS entre um cliente e
um provedor de serviço (Domínio DS).
• O cliente pode ser um cliente final (e.g. uma
empresa) ou outro domínio de DS.
• Os fundamentos do Diff-Serv são:
1. Os pacotes IP precisam ser marcados nas fronteiras
de entrada na rede administrada em DS.
1. A marcação é feita utilizando os bits TOS do IPv4.
2. Os roteadores utilizam esses bits para identificar
como os pacotes são tratados na rede.
3. Os pacotes são tratados pelos roteadores de acordo
como o SLA associado a eles.
Marcação para DiffServ
• O IETF definiu uma reutilização do campo TOS
do IPv4 a fim de suportar serviços diferenciados.
• O campo TOS (8bits) foi renomeado para byte
DS.
• Este campo é formado da seguinte maneira:
– DSCP (Differentiated Services CodePoint)
• 6 bits (classe de tráfego para o pacote)
– CU: currently unused
• 2 bits (reservado)
Uso do DS
• O DS é utilizado como critério (ou um dos
critérios) de classificação em um roteador com
capacidade de policiamento e condicionamento
tráfego de saída.
• Por exemplo, pode-se ter uma regra:
– Se DSCP=X, use token-bucket r, b
• token bucket meter with rate r and burst size b.
• Cada roteador de uma rede Diff-Serv deve ser
capaz de intepretar o DS a uma regra de QoS
específica.
• A configuração do roteador é denominada PHB
(Per-Hop Behavior)
Arquitetura de um Nó Diff-Serv
Traffic Shapping
Medidor
DS
DS
DS
Classificador
Remarcador
Formador/
Descartador
DS
Arquitetura de um Nó Diff-Serv
• Classificador: (2 tipos)
– Multicampos (MF):
• Utiliza o Byte DS e outros campos do cabeçalho IP (IP, Porta, etc.)
– Comportamento Agregado (BA):
• Utiliza apenas o Byte DS.
• Medidor:
– Responsável por medir o tráfego de entrada (r e b, por exemplo) e
disparar trigger para os outros elementos do nó.
• Marcador:
– Responsável por marcar ou remarcar o byte DS dos pacotes.
– A marcação acontece para pacotes sem marcação emitidos pelo cliente.
– A remarcação pode acontecer também porque o nó subseqüente tem
uma outra interpretação para o valor de DS.
• Formador/Descartador:
– Policia (por descarte) e adequa o tráfego de saída de acordo com o PHB
atribuídos aos pacotes.
PHB – Per Hop Behavior
• O IETF tem um Working Group para serviços
diferenciados:
– http://www.ietf.org/html.charters/diffserv-charter.html
• Entre outras especificações, o IETF define uma RFC
para auxiliar na padronização do PHB:
– RFC 3140: Per Hop Behavior Identification Codes .
• PHP são definidos em grupos, formados por um ou mais
PHB.
• Exemplos:
– O PHB padrão (best effort): DSCP: 00000.
– O PHB EF (Expedited Forwarding): DSCP: 101100
Domínios de Serviços Diferenciados
• A arquitetura Diff-Serv define que a Internet é formada por uma
coleção de domínios de serviços diferenciados (suportamente
contíguos).
• Um domínio é uma porção da rede Internet controlada por uma
única entidade.
Nó Interno
B
I
I
Domínio
Nó de Fronteira de DS
I
I
B
I
I
Domínio
B
Remarcação (Exemplo)
• Cada domínio pode ter sua própria interpretação para o
valor do DS, por isso os roteadores de fronteira fazer
remarcação.
Roteador Fronteira
Roteador Interno
7
remarcado
3
classificado
Roteador Interno
3
7
Marcação e Domínios de Origem
• Na arquitetura Diff-Serv, os serviços diferenciados
podem ser transparente para os clientes.
– Normalmente, os hosts emissores (clientes) tem um contrato SLA
(Service Level Agreement) com um provedor.
– Para associar os pacotes ao SLA, o byte DS precisa ser
marcado.
• Se o cliente suportar Diff-Serv, ele mesmo marca os pacotes.
• Se o cliente não suporta Diff-Serv, os pacotes podem ser marcados
pelo roteador do provedor (eventualmente, por uma regra que
identifica os aplicativos por IP´s e portas).
• O provedor pode ter um contrato SLA com um outro
domínio DIff-Serv (por exemplo, um backbone), e assim
por diante.
Conclusão
• Serviços Integrados:
– Garantia das características de QoS para os fluxos numa
comunicação fim-a-fim.
– A rede nunca “admite” mais tráfego do que é capaz.
– Pouco escalável devido ao alto custo de manter o estado nos
roteadores.
• Serviços Diferenciados:
– Policiamento e priorização de tráfego em domínios de serviço
diferenciado.
– A rede pode eventualmente ficar sobre-carregada e não cumprir
as características de QoS solicitadas.
– Escalável, pois não precisa manter rígidas condições de estado
nos roteadores.
Download

QoS