Post on 07-Feb-2019
RSCM/ISEL-DEETC-SRC/2004 1
04.03 – Quality of Service (QoS)
Redes de Serviços e Comunicações Multimédia
RSCM/ISEL-DEETC-SRC/2004 2
Necessidade de QoS
• Uma medida colectiva da qualidade de serviço– Para uma aplicação– Critérios:
• Disponibilidade• Capacidade• Tempo de estabelecimento de uma ligação• Tempo de transmissões com sucesso• Velocidade da detecção e correcção de falhas
– Medidas:• Largura de banda• Perdas de pacotes• Atraso• Variação do atraso
RSCM/ISEL-DEETC-SRC/2004 3
QoS Fim-a-Fim
• A qualidade de serviço tem de ser de uma ponta à outra– Todas as redes pelo caminho têm de suportar QoS
• SLA – Service Level Agreements– SLAs entre diferentes operadores– Definem o tipo e a qualidade de serviço a ser fornecida
• Ou as retribuições em caso de falha
• VoIP e Voz sobre Internet– Não são a mesma coisa– Podem ser definidos SLAs entre diferentes operadores de VoIP
• Não existe QoS até todos os operadores definirem políticas de qualidade semelhantes
RSCM/ISEL-DEETC-SRC/2004 4
QoS fora da rede
• Mais que uma boa qualidade de voz• Custos elevados para obter novos clientes
– Os operadores não querem perder clientes• Meios
– Serviço de qualidade– Aprovisionamento rápido– Billing correcto– Descrições precisas e concisas dos produtos– Etc.
RSCM/ISEL-DEETC-SRC/2004 5
Soluções de QoS
• Reservar o recurso antes de estabelecer a sessão –semelhante à comutação de circuitos
• Categorizar o tráfego em diferentes classes ou prioridades• Obter mais largura de banda quando a existente já não
chega – provavelmente a técnica mais utilizada
RSCM/ISEL-DEETC-SRC/2004 6
Mais largura de banda
• Simples e dispendioso– Mudança sem grandes problemas– Sobredimensionamento desnecessário
• Actualmente a largura de banda tem vindo a custar menos e a aumentar o limite
• Com o aumento da largura de banda aparece sempre uma nova aplicação que a usa ao máximo
RSCM/ISEL-DEETC-SRC/2004 7
Protocolos e Arquitecturas de QoS
• RSVP – Resource Reservation Protocol– RFC 2205– Pertence ao pacote Integrated Services do IETF– Permite que os recursos para uma sessão sejam reservados– É a solução mais complexa e que mais se assemelha à comutação
de circuitos• Garantias de QoS• Granularidade de atribuição de recursos• Feedback para as aplicações e utilizadores
– Dois níveis de serviço• Guaranteed – O mais semelhante a emulação de circuitos• Controlled Load – Equivalente ao best-effort numa rede sem carga
RSCM/ISEL-DEETC-SRC/2004 8
RSVP• O emissor envia uma mensagem PATH para o destino
– Contem uma especificação do tráfego (TSpec)• Cada router RSVP pelo meio
– Estabelece um estado com o hop anterior• O receptor da mensagem PATH
– Responde com uma mensagem RESV – Contém um flowspec (um TSpec e o tipo do serviço de reserva)
• A mensagem RESV vem de volta ao emissor– Pelo mesmo caminho– O recurso é reservado em cada router (permite o funcionamento de Multicast)
PATH
RESVPATHRESV
RSCM/ISEL-DEETC-SRC/2004 9
Differentiated Service
• Define meios para definir prioridades para diferentes tipos de tráfego
• RFC 2475• Usa o
– ToS (Type Of Service) no IPv4– Traffic Class no IPv6– Conhecido como DS field
• Marca um determinado fluxo para lhe ser atribuído um determinado tipo de encaminhamento (Per-hop behavior –PHB)– Expedited Forwarding (EF)– Assured Forwarding (AF)
RSCM/ISEL-DEETC-SRC/2004 10
Diffserv – Expedited Forwarding
• RFC 3246 e revisto no RFC 3247• A um determinado fluxo de tráfego é atribuído um mínimo de
débito de saída que deve ser superior ao débito de chegada no mesmo nó
• Débito de chegada < que o máximo acordado– Elimina os atrasos de queuing
• Garante que o atraso e o jitter são minimizados• Equivalente a uma linha alugada virtual
RSCM/ISEL-DEETC-SRC/2004 11
Diffserv – Assured Forwarding
• RFC 2597• Os pacotes de determinada fonte são encaminhados com
uma alta probabilidade desde que não ultrapassem o máximo acordado
• Define quatro classes– Cada classe reserva um conjunto de recursos num router
• Define três taxas de perdas de pacotes por classe– Quando existe congestão numa classe, os pacotes com taxa de
perdas mais alta são descartados primeiro
RSCM/ISEL-DEETC-SRC/2004 12
Label Switching
• Marcar o tráfego como no DiffServ• MPLS – Multi Protocol Label Switching
– Marca o tráfego à entrada na rede• Permite determinar a informação sobre o próximo salto
– Adiciona uma etiqueta ao cabeçalho IP– FEC – Forwarding Equivalente Class
• Todos os pacotes de uma FEC são tratados da mesma forma– A largura de banda pode ser definida no início de uma sessão– Semelhante ao estabelecimento de circuitos virtuais ATM
RSCM/ISEL-DEETC-SRC/2004 13
Políticas de QoS
• Níveis de QoS– As políticas de QoS definem como são usados os mecanismos
(IntServ, DiffServ, MPLS)• Pagar mais para ter melhor serviço
– Funções de autenticação– Regras que especificam que circunstâncias levam a um nível de
QoS• COPS – Common Open Policy Service protocol
– RFC 2748– Policy Enforcement Point (PEP)– Policy Decision Point (PDP)
RSCM/ISEL-DEETC-SRC/2004 14
RSVP – Resource Reservation Protocol
RSCM/ISEL-DEETC-SRC/2004 15
Introdução• Funções em routers e máquinas
– Controlo de políticas– Controlo de admissão– Classificador de pacotes– Escalonador de pacotes– Controlo de tráfego
• Controlo de admissão + Classificador de pacotes + Escalonador de pacotes
RSCM/ISEL-DEETC-SRC/2004 16
Sintaxe
• RFC 2215• O RSVP é utilizado para implementar serviços identificados
por números– Service number 2 – Guaranteed Service– Service number 5 – Controlled-Load Service– Service number 1 – Comum aos serviços– Conjunto de parâmetros– Formato TLV (Type-Lenght-Value)
RSCM/ISEL-DEETC-SRC/2004 17
Estabelecimento de Reserva
• Reserva recursos do receptor até ao emissor– Pensado no multicast– Reserva recursos apenas num sentido– Mensagem PATH
• TSpec– Mensagem RESV
• Flowspec• As respostas de RSVP podem ser alteradas de forma a garantir o QoS a
todos os destinos – flowspec merge
RSCM/ISEL-DEETC-SRC/2004 18
TSpec• Também é incluído nas mensagens RESV• Especifica um token bucket
– Bucket size, b– Token rate, r– O pacote só é transmitido se o número de tokens no balde for maior ou igual que
o pacote• Peak Rate, p
– p > r• Tamanho máximo do pacote, M• Unidade mínima de policiamento, m
– Todos os pacotes abaixo de m bytes são sempre considerados como sendo m– O overhead a processar cada pacote– Limita o overhead da camada data-link
• Número de parâmetro 127
RSCM/ISEL-DEETC-SRC/2004 19
Flowspec
• Indicação do serviço requisitado (GS ou CL)• Para o serviço Controlled-load service
– Contém um TSpec• Para o Guaranteed service
– Um TSpec– Rate Term (R) – a largura de banda necessária
• R >= r, a largura de banda extra diminui os atrasos do queuing– Slack Term (S)
• Número de micro segundos que indicam a diferença entre o atraso desejado e o atraso que pode ser conseguido se o débito R for utilizado
• Usado para reduzir os recursos reservados
RSCM/ISEL-DEETC-SRC/2004 20
Filter Spec• Uma sessão RSVP
– Endereço de destino e identificador protocolo– Número do porto (opcional)– Não existe informação sobre o emissor– Surgem problemas a identificar o fluxo de dados para determinada reserva
• Define o fluxo a que uma determinada QoS deve ser aplicada– Endereço IP do emissor e o número do porto do emissor (opcional)– Para uma conferência inclui os diferentes requisitos de QoS de cada fluxo
• Os routers pelo caminho devem examinar o cabeçalho– Os pacotes IP no fluxo não devem ser fragmentados
• Usar o Path MTU Discovery– Mecanismos de segurança podem cifrar o cabeçalho
• O RSVP terá de suportar isso• É incluido nas mensagens PATH ou RESV
– Também conhecido como sender template (nas mensagens PATH)
RSCM/ISEL-DEETC-SRC/2004 21
ADSpec
• PATH (TSpec)• RESV (flowspec)• Serve para o receptor ser informado das características da rede
– Ele não pode pedir o que a rede não suporta• O emissor e os routers
– Indicam as suas capacidades de QoS– O emissor constrói o ADSpec inicial– Cada router actualiza o ADSpec– Pode indicar que um ou mais routers não suportam RSVP– Indica o número de saltos entre nós que suportam RSVP– O MTU e largura de banda do caminho– A latência mínima do caminho
• Latência quando não existe atraso no queuing
RSCM/ISEL-DEETC-SRC/2004 22
Mensagens RSVP• Path (1)• Resv (2)• PathErr (3)• ResvErr (4)• PathTear (5)• ResvTear (6)• ResvConf (7)
• Cada mensagem contêm um número de objectos – Tspec, flowspec, etc.
• O cabeçalho Send_TTL tem significado igual ao TTL do IP mas édecrementado por cada router RSVP
Cabeçalho Comum
Length
Conteúdo do Objecto...
Byte 0 Byte 1 Byte 2 Byte 3
Class-num C-type
Formato dos objectos
RSCM/ISEL-DEETC-SRC/2004 23
Mensagens RSVP - Classes
• SESSION Class– Class-num = 1– C-Type = 1, IPv4; 2, IPv6– Endereço IP de destino, ID do protocolo e o porto de destino
(opcional)• FLOWSPEC Class
– Class-num = 9– C-Type = 2
• SENDER_TEMPLATE Class– Class-num = 11– C-type= 1, IPv4; 2, IPv6– Ex.: um filterspec numa mensagem PATH
RSCM/ISEL-DEETC-SRC/2004 24
Mensagens RSVP - Classes
• RSVP_HOP Class– O endereço IP da interface pela qual o último nó com capacidades
de RSVP mandou a mensagem– Usado nas mensagem PATH e gravados em cada nó– Garante que a mensagem RESV usa o mesmo caminho no retorno– Class-num = 3– C-type= 1, IPv4; 2, IPv6
• TIME_VALUES Class– Um timeout em milissegundos para a mensagem– Class-num = 5
RSCM/ISEL-DEETC-SRC/2004 25
Mensagens RSVP - Classes
• ERROR_SPEC Class– Nas mensagens de erro do RSVP– O endereço IP do nó onde o erro foi detectado– Um código de erro e informação adicional– Class-num = 6– C-type= 1, IPv4; 2, IPv6
• STYLE Class– Selecciona diferentes estilos de reserva– Múltiplos recipientes e/ou múltiplos emissores– Fixed-filter style: um receptor identifica unicamente um emissor– Wildcard-filter: para todos os fluxos de todos os emissores– Shared-filter: lista emissores específicos – Class-num = 8; C-type = 1
RSCM/ISEL-DEETC-SRC/2004 26
RSVP – Exemplo
RSCM/ISEL-DEETC-SRC/2004 27
Erros na reserva
• A reserva de um recurso falha– Uma mensagem de erro é retornada
• As mensagens PathErr são enviadas para o emissor• As mensagens ResvErr são enviadas para o receptor
– Ao qual a reserva falhou
RSCM/ISEL-DEETC-SRC/2004 28
Guaranteed Service
• RFC 2212• Dois elementos
– Sem perdas de pacotes• Uma função da profundidade do token bucket (b) e do token rate (r)
– Garantir o atraso mínimo• Atraso fixo no processamento• Atraso de queuing
RSCM/ISEL-DEETC-SRC/2004 29
Controlled-Load Service
• Aproximação ao QoS que uma aplicação iria receber se os dados fossem transmitidos numa rede com pouca carga– Percentagem elevada de pacotes entregues– Não excede o atraso mínimo
• Não identifica características específicas dos elementos da rede que devem ser minimizadas– Oferecer a largura de banda e espaço em buffers necessário para
suportar o TSpec– Um flowspec para o serviço CL é apenas um TSpec
RSCM/ISEL-DEETC-SRC/2004 30
Remoção de Reservas
• Explicitamente por um emissor ou receptor– PathTear
• Em direcção aos recipientes• Apaga todos os path states e reservation states
– ResvTear• Mesmo que o PathTear mas agora no sentido dos emissores• Apaga apenas os estados referentes ao receptor
• Por timeout– As reservas têm de ser renovadas em intervalos regulares– As mensagens contêm um período de renovação no objecto
TIME_VALUES
RSCM/ISEL-DEETC-SRC/2004 31
DiffServ
RSCM/ISEL-DEETC-SRC/2004 32
Introdução
• RSVP– O mecanismo mais completo de QoS
• Semelhante à comutação de circuitos• Os routers com RSVP mantêm estado• Overhead significante e dificuldade em escalar
• QoS e largura de banda– Aumentar a QoS é aumentar a largura de banda– RSVP reserva recursos– O DiffServ oferece a uma aplicação melhor QoS em troca de
diminuir a QoS oferecida a outra aplicação
RSCM/ISEL-DEETC-SRC/2004 33
Arquitectura
• O IPv4 tem um campo TOS (Type of Service) e o IPv6 tem o Traffic Class
• O DiffServ renomeia estes campos para DS field– Os seis bits menos significantes
– Os pacotes são tratados de acordo com o DSCP (DS Codepoint)• Per-hop-behaviour
• RFC 2475, revisto no RFC 3260
DSCP ECN
0 1 2 3 4 5 6 7
RSCM/ISEL-DEETC-SRC/2004 34
Funcionamento
• Os pacotes de um fluxo– São marcados com um valor DSCP– Os routers fornecem o PHB
• O perímetro da rede garante que– Apenas os pacotes qualificados são marcados– Medições para medir o débito dos pacotes– Que o tráfego está de acordo com um determinado perfil– Traffic Shapping e descarte– Estas funções são chamadas de traffic conditioning
RSCM/ISEL-DEETC-SRC/2004 35
Necessidade de SLAs• Uma determinada rede e origem de pacotes têm de acordar em
– Classificação de pacotes– Acondicionamento de tráfego
• As funções podem ser implementadas– Na origem– Num edge router
• SLAs entre operadores e clientes– Uma definição do perfil de tráfego
• Uma especificação token bucket– A classificação e regras de marcação
• Baseada em combinações do endereço de origem, endereço de destino, porto de destino, ID do protocolo, atraso
– Comportamentos para cada valor de DSCP– Especifica também o comportamento para tráfego fora do perfil
• SLAs entre diferentes operadores– Um conjunto comum de politicas e defenição de PHBs
RSCM/ISEL-DEETC-SRC/2004 36
Per-Hop Behaviour
• O tratamento que um router DS aplica a um pacote com um determinado valor de DSCP
• Um agregado– O conjunto de fluxos de um nó para o próximo que partilham o
mesmo DSCP codepoint– A configuração PHB é aplicada ao agregado
• Dois PHBs são especificados– Expedited Forwarding– Assured Forwarding
RSCM/ISEL-DEETC-SRC/2004 37
Expedited Forwarding
• Um serviço com baixas perdas de pacotes, baixo atraso e baixo jitter
• Através do minimizar do atraso de queuing em cada nó– O débito de envio de pacotes é um mínimo conhecido– O débito da recepção é sempre inferior
• As funções de traffic-conditioning no perímetro da rede são importantes
• O valor do DSCP é 101110
RSCM/ISEL-DEETC-SRC/2004 38
Expedited Forwarding – Implementações
• Implementado através de diferentes prioridades para as filas de espera– Pode tornar a performance do tráfego não-EF inaceitável
• É necessária uma implementação que não afecte demasiado o outro tráfego– Token bucket– Escalonador Weighted Round Robin
• A implementação pode influenciar o jitter
RSCM/ISEL-DEETC-SRC/2004 39
Assured Forwarding
• RFC 2597• Pacotes de alta prioridade são encaminhados com maior fiabilidade• O tráfego que entra numa determinada rede DiffServ deve estar de
acordo com um determinado perfil• São atribuídos recursos a determinado agregado de tráfego• Diferentes níveis de garantias de encaminhamento• Os pacotes são marcados com diferentes classes AF
– Dentro de cada classe os pacotes são marcados com diferentes prioridades de descarte
– Se os recursos atribuídos a uma determinada classe ficam congestionados o router descarta os pacotes com maior prioridade de descarte
RSCM/ISEL-DEETC-SRC/2004 40
Assured Forwarding – Classes• Quatro classes e três níveis de precedência de descarte
Prioridade de descarte Classe 1 Classe 2 Classe 3 Classe 4
Baixa 001010 010010 011010 100010
Média 001100 010100 011100 100100
Alta 001110 010110 011110 100110
RSCM/ISEL-DEETC-SRC/2004 41
Assured Forwarding – Implementação
• Tem de detectar e responder a uma congestão continuada na rede através do descarte de pacotes
• Tem de responder a congestões curtas através do queuing• Uma função
– Monitorizar as congestões curtas– Deitar pacotes fora se necessário
• Tem de tratar analogamente todos os pacotes de determinada classe e nível de precedência– Todos os fluxos devem ter a mesma taxa de descarte– Não pode reordenar pacotes AF dentro da mesma classe AF
independentemente da sua precedência