UNIVERSIDADE FEDERAL DO PARANÁ SETOR DE TECNOLOGIA DEPTO. DE ENGENHARIA ELÉTRICA Disciplina: TE 723 – Comunicação de Dados Profº. Eduardo Parente Ribeiro, Dr. Classificação de Protocolos Confiáveis Multicast Baseado no artigo “A Classification of Reliable Multicast Protocols”, de J. Wiliam Atwood, Concordia University Aluna: Walkelly Schmidke Data: 05/10/2004. Sumário Introdução; Requisitos de protocolos multicast; Confiabilidade de dados; Arquiteturas; Mecanismos, modelos de comunicação e regras; Exemplos de protocolos; Análises; Conclusão. Outubro de 2004 TE-723 2 Introdução Comunicação Unicast (ponto-a-ponto) -> TCP IP - absolutamente confiável (entrega de dados em seqüência. Sem duplicidade); - 1 ponto de falha: rede; Comunicação Multicast (múltiponto) -> muitos protocolos; - várias definições confiabilidade; - vários pontos de falha; Cada protocolo multicast atende a necessidades específicas (existência de muitos tipos de ambiente); Outubro de 2004 TE-723 3 Protocolos Multicast “Impossível projetar um único protocolo de multicast que atenda as necessidades de todos os tipos de ambiente”; Motivação do Artigo: classificação de protocolos multicast - critério: requisitos atendidos pelos protocolos existentes; - exemplos. “Possível projetar uma família ou um protocolo com características selecionáveis”; Outubro de 2004 TE-723 4 Requisitos de Protocolos Multicast Número de emissores: 1-to-N, M-to-N (M-to-M); Organização de grupo e escalabilidade pequenos, médios e grandes grupos; de receptor: Confiabilidade de dados: categorias; Controle de congestionamento: requisito + difícil; perda de dados 1) manutenção de velocidade de envio de dados; 2) redução de taxa de transferência de alguns receptores; coexistência com TCP (TCP friendly - regras semelhantes); Gerenciamento de grupo: conhecimento / definição do conjunto de membros participantes do grupo; Ordenação: ordem dos pacotes. - Único emissor: ordenação requerida (pacotes recebidos na mesma ordem em que foram enviados) - Múltiplos emissores: ordenação -> seqüência relativa - Classificação: sem ordem (UDP, XTP, LGMP, RMTP), ordem local (todos os confiáveis devem ter), ordem parcial, ordem total (protocolo atômico). PGM considera fontes independentes. Outubro de 2004 TE-723 5 Exemplos de Protocolos Multicast UDP – User Datagram Protocol XTP – Xpress Transport Protocol RMP – Reliable Multicast Protocol SRM – Scalable Reliable Multicast Protocol PGM – Pragmatic General Multicast Protocol LGPM – Local Group Based Multicast Protocol RMTP – Reliable Multicast Transport Protocol FEC Híbridos Outubro de 2004 TE-723 6 Escalabilidade de Receptores 4 grupos de escalabilidade Pequenos grupos: poucos usuários; Ex.: XTP: 1-to-N pequenos a médios grupos Médios grupos: rede local ou com 1 único administrador; Grandes grupos: envolve distribuição geográficas; Ex.: LGMP, RMTP: 1-to-N grandes grupos RMTP-II: múltiplos emissores Grupos enormes: não há caminho reverso para controle de erros; Ex.: LPC Outros Ex.: A U M E N T O DO C U S T O RMP, SEM, PGM -> M-to-N -> médios e grandes grupos Outubro de 2004 TE-723 7 Categorias de Confiabilidade de Dados Definições de Confiabilidade: - Unicast: Multicast: Critérios: eficiência de entrega, relatório de erros e recuperação de dados; - 1 recipiente; confiável se entrega de dados confirmada e sem duplicidade; 1 tipo de falha; vários recipientes; várias def. de confiabilidade; vários tipos de falha. Difícil confiramação do recebimento dos dados pelos receptores. Confiabilidade forte, fraca... Entrega de dados pela conexão de transporte à camada logo acima. De melhor esforço: De latência limitada: Mais recente: tempo de vida útil do pacote; ultrapassado o tempo-> descarte; Ex.: RMTP-II permanecem apenas os dados mais recentes de um determinado parâmetro; Ex.: RMTP-II Receptor centrado: Absoluta: conexão de transporte não realiza nenhum esforço para melhorar a confiabilidade da rede; Ex.: UDP, XTP 3.0, XTP 4.0, confiabilidade determinada no receptor (emissor sem responsabilidade pela recuperação de dados, somente o reenvio -> grandes grupos); Ex.: XTP 3.0, SEM, PGM, LGMP, RMTP (I e II), LPC G R A U requer que todos os pacotes sejam entregues ao grupo ativo (análogo TCP). Ex.: XTP 4.0, RMP Outubro de 2004 TE-723 8 Gerenciamento de Grupo Conhecimento / definição do número de membros do grupo; Aumento do grupo -> necessária menor definição do número de participantes; AGI (active group integrity): conjunto de condições que definem se a conexão de transporte deve entrar ou ficar na fase de transferência de dados; Forte, fraco ou nenhum gerenciamento: SE membros podem entrar, entrar depois de estabelecido o grupo ou sair quando desejarem; Ex.: Suporte de conhecimento dos membros conectados XTP 4.0 e RMP -> forte gerenciamento de grupo; Outros protocolos -> fraco ou nenhum gerenciamento de grupo Outubro de 2004 TE-723 9 Arquiteturas de Protocolos Multicast De distribuição de dados: algoritmos de rota -> fonte-especifica (árvore de distribuição: única fonte, vários receptores), árvore dividida (1 árvore compartilhada por várias fontes); De recuperação de Dados: (erros): reenvio ou não dos dados LES – loss estimation system: pacotes de status (onde dados foram perdidos) Emissor-confiável (LES no emissor: pacotes do Rx p/ o Tx) Receptor-confiável (LES no receptor: pacotes do Rx p/ o Tx) - hierárquico: p/ grandes grupos; Controlador global, controlador local: grupos enormes. De gerenciamento de grupo: Semelhante à arquitetura de recuperação: Controlador global, controlador local -> grupos enormes (reter menos informações sobre o número de membros do grupo). Outubro de 2004 TE-723 10 Mecanismos, Modelos de Comunicação e Normas Mecanismo básico p/ confiabilidade de protocolos multicast: Troca de pacotes: modelos unicast, multicast (ponto-amultipontos, multiponto-a-multiponto); Requisitos (5): 1) Distribuição de Dados: - mecanismo multicast IP: entrega de pacotes BE; - modelo de comunicação: baseado no protocolo de roteamento; - regras (policies): nenhuma específica. Outubro de 2004 TE-723 11 Mecanismos, Modelos de Comunicação e Normas 2) Detecção e Relatório de Erros: - mecanismo: detecção de falta de dados pelo número de seqüência dos pacotes de prioridade; - modelo de comunicação: envio de relatório unicast ou multicast; - regras: relatar pacotes que faltarem quando solicitado ou em condições especiais (FEC – forwarding error correction) 3) Recuperação de Dados: - mecanismo: reenvio dos dados perdidos (FEC); - modelo de comunicação: recuperação / envio de objetos (pacotes); emissor original ou agente local; - regras: tabela a seguir.... Outubro de 2004 TE-723 12 Gerenciamento de Erros – Relatório e Recuperação Outubro de 2004 TE-723 13 Mecanismos, Modelos de Comunicação e Normas 4) Gerenciamento de grupo: - mecanismo: camada de transporte; convite, requerimento, ACK, pedido de saída, ACK de saída;um pacote explícito ou um campo do pacote; - modelo de comunicação:convite multicast;requerimento ou convite para saída unicast; - regras: semelhante ao LES (confiabilidade) – requerimento de resposta; existência de um master ou uma hierarquia; dados armazenados em grupos já existentes ou que possam se modificar. 5) Ordenação: mecanismo cabeçalho (token); - modelo de comunicação: token unicast centralizado (master) ou descentralizado (gerenciamento distribído) ; unicast ->1 ponto de falha; - regras: sem regras específicas; depende da ordenação utilizada, da camada de aplicação; percursos de comunicação possíveis: 1-to-1, 1-to-N ou M-to-N. - Outubro de 2004 TE-723 14 Análise dos Requisitos Vs. Protocolos Multicast Outubro de 2004 TE-723 15 Análise dos Requisitos Vs. Protocolos Multicast “Os protocolos multicast abrangem vários requisitos. Como muitos destes protocolos apresentam requisitos em comum, permite-se que sejam agrupados numa classificação, mas é IMPOSSÍVEL projetar um só protocolo que atenda todas as necessidades de confiabilidade do multicast.” ESCALABILIDADE: fator de análise + importante para o projeto do protocolo. Análise: - Arquitetura: inicialmente, ponto-a-ponto, depois hierárquico p/ grupos maiores. - Modelos de comunicação: para grupos pequenos M=N -> relatório de erros pode ser unicast ou multicast; para grupos médios combinação de multicast e unicast (custos de Receptor x Emissor). - Regras (policies) para confiabilidade de dados: FEC híbrido: capaz de substituir todos os pacotes perdidos; FEC puro: limitado (estima-se nº de pacotes perdidos; agrupamento). - Regras para gerenciamento de grupo: necessária troca de pacotes de controle separados dos pacotes de fluxo de dados. - Ordenação: a necessidade de ordenação se aplica somente p/ multicast com múltiplos emissores. Outubro de 2004 TE-723 16 Conclusões Grande variedade de protocolos multicast: atendimento de necessidades específicas de ambientes e redes. Requisitos: número de emissores, gerenciamento de grupo e escalabilidade de receptor, confiabilidade de dados, controle de congestionamento, gerenciamento de grupo e ordenação. Análise: Grupos de protocolo Arquiteturas de interação entre participantes Escalabilidade Mecanismos de confiabilidade Modelos de Comunicação Regras Gerenciamento de grupo Outubro de 2004 TE-723 17 Perguntas ? Outubro de 2004 TE-723 18