Qualidade de Serviço e Multicast em ATM Marcelo Dias Nunes e-mail: [email protected] COPPE/UFRJ Sumário Categorias de serviço Qualidade de Serviço: – – – – – Parâmetros de QoS Policiamento Controle de tráfego Controle de congestionamento Controle de QoS em comunicações multicast Sumário Dois protocolos para ATM multiponto – – – – – Protocolo SIMULT Protocolo MULT2 Confiabilidade Arquitetura em árvore Continuação do trabalho Categorias de Serviço CBR (Constant Bit Rate): – Taxa constante – Sem controle de fluxo e erros – Exemplo: tráfego de voz tradicional VBR (Variable Bit Rate): – Taxa variável – Tempo real e não-tempo real Categorias de Serviço RTVBR (Real Time VBR): – Retardo médio por célula e variação de retardo (jitter) devem ser estritamente controlados – Exemplo: transferência de vídeo MPEG NRTVBR (Non-Real Time VBR): – Uma certa quantidade de jitter pode ser tolerada – Exemplo: vídeo MPEG pré-armazenado Categorias de Serviço ABR (Available Bit Rate): – Adequada para tráfego em rajadas – Garante uma determinada taxa; taxas mais altas podem ser atendidas ou não – Rede interage com transmissor – Pode ser comparado com serviço frame-relay onde a CIR é menor que a capacidade do link Categorias de Serviço UBR (Unspecified Bit Rate): – Melhor esforço – Todas as células são aceitas – Se não há congestionamento, são transmitidas; caso contrário, são descartadas – Exemplo: tráfego IP ou UDP Qualidade de Serviço Contrato entre o usuário e a rede: – Descrição do tráfego (categorias de serviço) – Acordo de QoS (bilateral) – Cumprimento do acordo (policiamento) O acordo de QoS é feito com base em um número fixo de parâmetros de QoS predeterminados Parâmetros de QoS Parâmetros negociáveis: – PCR (Peak Cell Rate): taxa máxima de transmissão – SCR (Sustained Cell Rate): valor esperado da taxa de transmissão sobre um longo intervalo de tempo – MCR (Minimum Cell Rate): taxa mínima de transmissão – Exemplo: CBR: SCR=PCR ABR: tráfego entre MCR e PCR UBR: MCR=0 Parâmetros de QoS – CDVT (Cell Delay Variation Tolerance): máximo jitter aceitável – CLR (Cell Loss Ratio): fração das células transmitidas que foram perdidas – CTD (Cell Transfer Delay): tempo de transmissão fonte/destino (médio e máximo) – CDV (Cell Delay Variation): variância do retardo de transmissão Parâmetros de QoS Parâmetros não negociáveis característicos da rede: – CER (Cell Error Ratio): fração das células entregues com erro – SECBR (Severely Errored Cell Block Ratio): fração de blocos de N células com M ou mais células erradas – CMR (Cell Misinsertion Rate): fração de células entregues ao destino errado Policiamento Após firmado o acordo de QoS, é necessário monitorar o cumprimento do contrato pelo transmissor O algoritmo de policiamento mais simples é o GCRA (Generic Cell Rate Algorithm), que utiliza os parâmetros T=1/PCR (intervalo mínimo entre células) e L=CDVT Algoritmo GCRA Célula 1 Célula 2 Caso ideal: célula 2 chega T s depois da célula 1 L T T t1 Célula 3 aguardada em t2+T t2 Célula 1 Célula 2 L T t1 Transmissor lento: célula 2 chega mais de T s depois da célula 1 T t2 Célula 3 aguardada em t2+T Algoritmo GCRA Célula 1 Célula 2 L Transmissor rápido: célula 2 chega até L s mais cedo T T t1 Célula 3 aguardada em t1+2T t2 Célula 1 Célula 2 Transmissor rápido demais: célula 2 chega antes de t1+T-L e é descartada L T t1 Célula 3 aguardada em t1+T Controle de Tráfego Tráfego em rajadas causa congestionamento O controle de tráfego é uma ação preventiva contra o congestionamento Tentar forçar os pacotes a serem transmitidos a uma taxa controlada Dois algoritmos: “balde furado” e “balde de fichas” Controle de Tráfego Algoritmo do balde furado (leaky bucket): – Fila de um servidor e taxa de serviço constante – Quando uma célula chega no sistema, se há espaço na fila, é armazenada; senão, é descartada – A cada intervalo de tempo definido pela taxa de saída desejada, uma célula é transmitida Controle de Tráfego Algoritmo do balde de fichas (token bucket): – O “balde” armazena fichas geradas a uma taxa constante – Cada célula transmitida consome uma ficha – Se não houver fichas, uma célula deve esperar a geração de uma nova ficha – Quando o “balde” transborda, descarta fichas (não células) Controle de Congestionamento Controle de admissão: – A rede verifica se pode atender a uma nova conexão sem afetar o QoS das existentes – Se não for encontrado um caminho que atenda ao QoS desejado, ou a conexão é recusada ou é renegociada a níveis de QoS mais baixos – Usuários devem ser distribuídos em classes de QoS para garantir justiça na alocação de recursos – Exemplo: dimensionamento de um servidor em um sistema de filas, dada a taxa de perdas Controle de Congestionamento Reserva de recursos: – Mais comum é alocação de banda-passante durante estabelecimento de conexão – Deve ser encontrado um caminho que atenda a PCR – Pré-alocação pode reservar banda pela média: multilplexação estatística permite a obtenção de PCR para um canal em períodos de ociosidade de outros Controle de Congestionamento Controle de taxa para tráfego ABR: – ACR (Actual Cell Rate) está entre MCR e PCR – Periodicamente, transmissor envia célula RM (Resource Management) contendo ER (Explicit Rate), a taxa desejada – À medida que a célula RM passa pelos switches, estes podem diminuir ou não ER (nunca aumentar) – Ao receber RM de volta, o transmissor pode ajustar ACR de acordo com a ER resultante Controle de QoS em comunicações multicast Recursos alocados para uma conexão multiponto-a-multiponto são compartilhados entre diversas fontes Duas alternativas: – Reserva de fluxo – Compartilhamento Controle de QoS em comunicações multicast Reserva de fluxo: – Recursos são alocados de acordo com a expectativa de tráfego (UNI 3.1) – Recursos são reservados pelos receptores (RSVP): Recursos são alocados ao longo do caminho reverso (destino/fonte), para cada fonte desejada Permite ao destino comutar dinamicamente a recepção de uma fonte para outra Controle de QoS em comunicações multicast Compartilhamento: – Recursos alocados para a conexão são dinamicamente compartilhados entre todas as fontes – Desvantagem: alocação de acordo com o pior caso (todas as fontes possíveis) – Vantagem: onde a reserva de fluxo não for possível Dois protocolos para ATM multiponto SIMULT (SIngle MULTicast connection) MULT2 (MULTiple MULTicast connections) Objetivos: – – – – – Oferecer pleno suporte a aplicações nativas Utilizar UNI 3.1 Independência da plataforma (fabricante) Independência do tamanho da rede Especificar procedimentos que possam ser incorporados ao UNI Protocolo SIMULT Source Destination Source Token Server Source Destination Destination Protocolo SIMULT Servidor de Fichas concede permissões às fontes potenciais SF mantém SVCs p2p com todas as Fontes e um SVC p2mp com todos os hosts SF tem visão global do grupo Todo o tráfego passa por SF antes de chegar aos Destinos Protocolo MULT2 Token Server Source Destination Source Destination Source Destination Protocolo MULT2 Servidor de Fichas controla permissões e tem visão global do grupo Novos membros devem se registrar em SF como Destinos e recebem uma lista de membros e suas funções Novo Destino solicita à cada Fonte da lista que o adicione à seu SVC p2mp Protocolo MULT2 Uma nova Fonte recebe a lista de membros junto com a ficha A nova Fonte estabelece um SVC p2mp com todos os membros da lista e solicita à cada outra Fonte da lista que a adicione a seu SVC p2mp Todo membro do grupo deve avisar ao SF quando abandoná-lo Confiabilidade Topologia em árvore distribui a responsabilidade pelas retransmissões Cada líder de subgrupo: – armazena os dados recebidos de seu líder imediatamente superior – envia um reconhecimento (positivo ou negativo) – recebe reconhecimentos de seus “filhos” Confiabilidade – se positivos, libera dados armazenados – se negativo(s), retransmite Cada folha apenas envia reconhecimentos ao seu líder PDU de reconhecimento contém uma máscara de bits que representa a janela de pacotes. Arquitetura em árvore Source Leaf: "A" Leader: "C" Leaf: "E" Leaf: "F" Leaf: "G" Leaf: "B" Leader: "D" Leaf: "H" Leaf: "I" Continuação do trabalho Implementação Usar a Rede Rio 2 e o REMAV-RJ como testbed Análise de desempenho Simulação Análise de complexidade Comparação dos resultados Links úteis www.ravel.ufrj.br www.atmforum.org research.ivv.nasa.gov/RMP/links.html