Qualidade de Serviço (QoS) Qualidade de Experiência (QoE) danielgcosta@uefs.br
O que é qualidade? Segundo o dicionário: propriedade que determina a essência ou a natureza de um ser ou coisa grau negativo ou positivo de excelência O que é negativo ou positivo para a qualidade? Embora qualidade determine um grau, ao que devemos atribuir qualidade? (1) À coisa / ao produto (2) Ao processo (3) Ao todo Onde está a qualidade? No item 1, 2 ou 3?
Qualidade nas redes Como medir qualidade? Indicadores numéricos: Quantidade de dados transmitidos com sucesso Atraso na transmissão Tempo de indisponibilidade na rede Tempo médio entre falhas Indicadores subjetivos: A rede está boa para o usuário/aplicação? A rede é segura? Qual é a melhor métrica?
Por que é importante medir qualidade? Precisamos responder as perguntas: O projeto da rede é adequado para o serviço esperado? A rede atualmente oferece o serviço esperado? Em que partes da rede (ativos, enlaces, dispositivos, programas) a rede não está operando como esperado? Algumas aplicações serão mais sensíveis à uma baixa qualidade Aplicações em tempo real VoIP, video conferência, jogos Aplicações críticas Controle, automação Aplicações de alta demanda Streaming
Quality of Service (QoS)
Qualidade de Serviço (QoS) Objetivos Mensurar a qualidade da rede e dos serviços prestados Essa mensuração é feita através daquilo que pode ser numericamente medido É uma das medidas de desempenho que podem ser empregadas Melhorar os serviços atualmente disponíveis Oferecer formas de melhorar o desempenho atual da rede Garantir melhor desempenho para aplicações críticas
Qualidade de Serviço (QoS) Métricas As métricas são numéricas: Vazão (bits/s) Latência (segundos) Jitter (segundos) Confiabilidade (sucesso / total)
Qualidade de Serviço (QoS) Demandas por QoS Ex: Aplicações Web precisam, idealmente, de pelo menos vazão média, atraso médio, jitter médio e confiabilidade alta Aplicação Vazão Atraso Jitter Confiabilidade Web Média Média Médio Alta E-mail / Arquivos Audio streaming Video streaming Média Indiferente Indiferente Alta Média Indiferente Baixo Média Alta Indiferente Baixo Média Melhores valores Vazão: Alta Atraso: Baixo Jitter: Baixo Confiabilidade: Alta Real-time audio Média Baixo Baixo Baixa Real-time video Alta Baixo Baixo Baixa Indiferente: não impacta
Qualidade de Serviço (QoS) Como garantir? Ideia: priorizar aquilo que é mais crítico! Pode ser aplicado em diferentes elementos da comunicação (inclusive no Sistema Operacional) Na perspectiva das redes de comunicação, QoS vem sendo garantido de acordo com requisitos das redes consideradas: Internet, IoT, Redes Mesh, Redes Veiculares, etc. Na Internet, há duas abordagens principais: Intserv Diffserv
Arquitetura IntServ Serviços Integrados A ideia é realizar a reserva explícita de recursos Onde reservar? Qual a melhor camada? O procedimento de reserva é direcionado à um fluxo de dados Quais são os desafios da reserva de recursos? Como reservar recursos na Internet, que é best effort e não orientada à conexão? Pacotes
Dois serviços diferentes 1) Carga garantida Arquitetura Intserv Serviços Integrados Existem limites de atraso máximo definido para cada roteador 2) Carga controlada Prioriza um fluxo em detrimento do outro
Arquitetura Intserv Serviços Integrados A reserva é baseada no protocolo RSVP (Resource reservation Protocol) Protocolo de sinalização definido na RFC 2205 Reserva recursos para determinado fluxo solicitado A reserva só é feita se houver recursos disponíveis Roteadores no caminho DEVEM suportar o RSVP O objetivo principal é reduzir a latência e o jitter do fluxo de transmissão reservado A reserva é fim-a-fim Na prática, o objetivo é reduzir a latência dos pacotes pertencentes ao fluxo
Arquitetura Intserv Protocolo RSVP Antes de iniciar a transmissão, o RSVP deve ser utilizado Mensagens são processadas salto a salto O protocolo opera diretamente sobre o IP (assim como o ICMP) Dois tipos de mensagens principais PATH Enviada da ORIGEM para o DESTINO Armazena informações do caminho virtual sendo criado RESV: Enviada do DESTINO para a ORIGEM Efectivamente faz a reserva dos recursos, no mesmo caminho estabelecido
Arquitetura Intserv Serviços Integrados Origem Destino PATH RESV De fato, quem está reservando QoS é o receptor (destino) do fluxo
Arquitetura Intserv Protocolo RSVP Mensagem PATH Informa o previous host Mensagem RESV Define o flow descriptor (RFC 2210) Rspec: o que eu quero Tspec: define o fluxo
Arquitetura Intserv Protocolo RSVP Como reservas são feitas previamente, a tendência é que se obtenha um bom nível de QoS As reservas são soft-state: devem ser refrescadas continuamente Cada nó do caminho realiza um controle de admissão, para verificar se tem recursos disponíveis
Arquitetura IntServ Desafios Qual é o impacto de reservar fluxos indiscriminadamente? Como implementar IntServ em larga escala? No geral, IntServ não é escalável na Internet Quando todo mundo for especial, ninguém mais será
Arquitetura DiffServ Serviços Diferenciados A garantia de QoS é oferecida sem reserva de recursos Baseia-se na ideia de agregação de fluxos em classes de serviço Potencialmente pior que o modelo IntServ Porém, muito mais escalável Roteadores não precisam armazenar estados sobre fluxos de transmissão, como ocorre quando o protocolo RSVP é utilizado DiffServ não utiliza um protocolo de controle Pacotes são marcados na entrada da rede (tira complexidade do núcleo) Princípio de operação do DiffServ: Priorização de pacotes
Priorização em Redes Priorização em redes é um serviço amplo e que pode ser utilizado em diversos elementos das comunicações (em redes Internet ou não) Algumas perguntas importantes: O que priorizar? Dispositivos: computadores, roteadores, sensores, controladores, etc Informações: pacotes de dados Usuários: funcionários, gerentes, pais, filhos, etc Como priorizar? O que é prioridade? O grande desafio é determinar níveis diferentes de prioridade
Priorização em Redes Prioridade é determinada por eventos detectados no Twitter Exemplos TwitterSensing: An Event-Based Approach for Wireless Sensor Networks Optimization Exploiting Social Media in Smart City Applications. Costa, Daniel G., Duran-Fundez, C., Rocha-Junior, Joao B., Andrade, Daniel C., Peixoto, J. P. J. Sensors, 18, 180, 2018.
Prioridade é determinada pelo monitoramento de áreas de interesse Priorização em Redes Exemplos Availability Issues for Relevant Area Coverage in Wireless Visual Sensor Networks. Costa, Daniel G., Duran-Faundez, C., Bittencourt, O. C. N. IEEE Chilecon, Puccon/Chile, 2017
Prioridade é determinada pela percentagem vista de alvos prioritários Priorização em Redes Exemplos Assessing Availability in Wireless Visual Sensor Networks Based on Targets's Perimeters Coverage. Costa, Daniel G., Duran-Faundez, C. Journal of Electrical and Computer Engineering, Article ID 9312439, 14 pages, 2016.
Arquitetura DiffServ Priorização Ocorre em relação aos pacotes de dados O objetivo é dar maior importância a determinados pacotes enquanto estão sendo trafegados por roteadores Priorização na Camada de Redes da arquitetura TCP/IP Pacotes de origens diferentes podem pertencer ao mesmo fluxo Como é feita a priorização? Ajuste de filas de processamento nos roteadores Como os pacotes são classificados? Pacotes são marcados de acordo com sua importância Marcação é feita sem adicionar elementos/protocolos novos
Arquitetura DiffServ Marcação de Pacotes Pacotes podem ser diferenciados por: Endereços Conteúdo Marcação A marcação pode ser Na origem Na rede Quais pacotes serão marcados? Depende. Aplicações podem determinar isso Uma boa prática é priorizar pacotes mais sensíveis (tempo real)
Arquitetura DiffServ Marcação de Pacotes Protocolo IP Versão Tamanho Type of Service (ToS) Tamanho total Identificação Flags Offset de fragmento TTL Protocolo Checksum IP de Origem IP de Origem
Arquitetura DiffServ Marcação de Pacotes Campo ToS (8 bits) é reaproveitado - RFC 2474 e RFC 3168 Versão Tamanho Type of Service (ToS) Tamanho total Identificação Flags Offset de fragmento TTL Protocolo Checksum IP de Origem IP de Origem
Arquitetura DiffServ Marcação de Pacotes IpV6 é diferente Versão Tamanho Type of Service (ToS) Tamanho total DS (Differentiated Services): define diferentes códigos de marcação (64 opções) DS ECN 2 bits 6 bits ECN (Explicit Congestion Notification): não utilizado
Arquitetura DiffServ Classes de prioração Existem diferentes classes de priorização definidas para o DiffServ Assured Forwarding (melhor que best effort, porém flexível) Expedited Forwarding (premium service) Objetivo é mudar o comportamento das filas de processamento (nos ativos de rede) Fila padrão (FIFO) Chegada de pacotes Saída de pacotes Diferentes tipos de fila podem priorizar pacotes
Arquitetura DiffServ Assured Forwarding Três diferentes classes Ouro: 50% da banda Prata: 30% da banda Bronze: 20% da banda Níveis de precedência de descarte em filas são definidos dessa forma
Arquitetura DiffServ Expedited Forwarding Simula uma linha de comunicação virtual Largura de banda fixa Pacotes dessa classe são sempre os mais importantes Indicado para comunicações multimídia em tempo real O desafio continua sendo a definição apropriada (classificação) de quais pacotes serão marcados
IntServ e DiffServ Desafios Classificação Como realizar de forma eficiente a classificação daquilo que é importante? Garantias de QoS vs Perfil de usuário Admissão Como garantir que os fluxos/pacotes são corretos? QoS será um serviço gratuito? Senão, como cobrar? Isolamento Evitar que fluxos diferentes sejam processados como sendo iguais Uso de recursos O uso de QoS não pode exaurir os ativos nem bloquear tráfego não priorizado
IntServ e DiffServ Resumo IntServ Reserva de recursos Fluxos individuais Mais complexo, porém maiores garantias Baixa escalabilidade Protocolo específico DiffServ Classificação de pacotes Agregação de fluxos Menos complexo, porém com menores garantias Maior escalabilidade Não necessita de protocolo específico
Quality of Experience (QoE)
Quality of Experience O que é? Qualidade nem sempre deve ser medida com parâmetros numéricos Deve-se avaliar se o que é esperado está sendo atendido Qualidade da experiência do usuário com o serviço Como medir QoE? É um parâmetro subjetivo Opniões dos usuários dependem de fatores sociais e culturais Pode ser medido de forma qualitativa ou quantitativa Com conceitos como Muito Ruim, Ruim, Regular, Bom e Muito Bom Com notas numéricas em uma escala
Quality of Experience Para multimídia em tempo, QoE tem um efeito importante Serve para avaliar, por exemplo, a qualidade de um codec Por exemplo, uma comunicação com baixa latência e jitter pode ser avaliada como ruim por um usuário, caso a compressão de vídeo tenha prejudicado sobremaneira o resultado final Uma métrica comum é MOS (Mean Opinion Score) Usado para transmissões de áudio Notas dentro de uma escala de 1 a 5. MOS Qualidade 5 Excelente 4 Boa 3 Razoável 2 Ruim 1 Péssima
MOS Alguns valores Codec MOS Taxa de transmissão G.711 4.1 64 Kbps G.726 3.85 16/24/32 Kbps G.728 3.61 16 Kbps G.729 3.92 8 Kbps ilbc 4.1ß 13.33/15.2 Kbps
Quality of Experience Dados visuais Para imagens, valores de PSNR podem ser utilizados para auxiliar o cálculo do QoE O PSNR é uma medida da diferença entre o dado produzido e o dado original
Quality of Experience Dados visuais Outras medidas podem ser também aplicadas QoV (Quality of Viewing): qualidade é função da relevância da câmera/sensor que está capturando os dados QoV: Assessing the Monitoring Quality in Visual Sensor Networks. Costa, Daniel G., Guedes, L. A., Vasques, F., Portugal, P. IEEE International Conference on Wireless and Mobile Computing, Networking and Communications (IEEE WiMob), Barcelona/Spain, 2012. Métricas numéricas não ligadas ao QoS também podem impactar o QoE Número de interrupções Duração das interrupções
Dúvidas? danielgcosta@uefs.br www.uefs.br/danielgcosta