430 likes | 568 Views
Multicast. Profa. Ana Cristina Benso da Silva Redes de Computadores. Formas de Transmissão. Tipos broadcast: todos os hots da rede broadcast direto: todos os hosts de uma determinada rede multicast: múltiplos recipientes (grupo). Formas de Transmissão. Multicast. Aplicações
E N D
Multicast Profa. Ana Cristina Benso da Silva Redes de Computadores
Formas de Transmissão • Tipos • broadcast: todos os hots da rede • broadcast direto: todos os hosts de uma determinada rede • multicast: múltiplos recipientes (grupo) Redes de Computadores Profa. Ana Benso
Formas de Transmissão Redes de Computadores Profa. Ana Benso
Multicast • Aplicações • distribuição de áudio e vídeo • 1 para muitos, ou; • muitos para muitos. • simulações distribuídas • descoberta de recursos Redes de Computadores Profa. Ana Benso
IP Multicast • Grupo de hosts • Nível de Rede - altera somente endereçamento • Roteadores precisam rotear endereços IP de multicast Redes de Computadores Profa. Ana Benso
Endereço • Endereço especial: (classe D) 224.0.0.0 até 239.0.0.2 • 28 bits - 268 milhões de grupos • 224.0.0.x: redes locais somente • 224.0.0.1 todos os hosts • 224.0.0.2 todos os roteadores • 224.2.x.x para multimídia • TTL: 0 para hosts e 1 para rede Redes de Computadores Profa. Ana Benso
Endereço • Todos os 32 bits do endereço IP que começam com 1110 (classe D) são endereços de multicast. • Com os 28 bits restantes para endereçar os grupos, mais de 250 milhões de endereços estão disponíveis. Alguns desses endereços são assumidos permanentemente. • Um endereço multicast pode ser usado somente como endereço destino. Redes de Computadores Profa. Ana Benso
4 28 1 1 1 0 Endereço Multicast Endereço • Exemplo de endereço IP de Multicast – Classe D • Endereços de Escopo Global • 224.0.1.0 até 238.255.255.255 • Podem ser utlizados para multicast entre organizações e para a Internet • Endereços de Escopo Local • 239.0.0.0 até 239.255.255.255 • Podem ser utilizados para grupos locais Redes de Computadores Profa. Ana Benso
Endereços • Endereços GLOP • 233.0.0.0/8 • Reservados para organizações que tem um Sistema Autônomo • O número do Sistema Autônomo é embutido no IP de multicast, a partir do segundo octeto. • Exemplo: AS = 62010 = F23A16 F2 = 242 e 3A = 58 233.242.58.0 Redes de Computadores Profa. Ana Benso
Endereço Físico • Um endereço físico Ethernet possui 6 bytes. • Se os primeiros 25 bits desse endereço são 0000000100000000010111100, o endereço define um endereço multicast físico para o protocolo TCP/IP. • Prefixo do Endereço Ethernet: 01.00.5E.00.00.0016 • Os 23 bits restantes podem ser usados para definir um grupo. Redes de Computadores Profa. Ana Benso
Extensões para Tratamento de Multicast • Os datagramas IP de difusão seletiva recebidos são recebidos pelos protocolos do módulo superior utilizando a mesma operação recepção que os datagramas unicast • A seleção do protocolo do nível superior é baseada no campo protocol do cabeçalho IP, independente do campo destination address Redes de Computadores Profa. Ana Benso
Extensões... • A participação em um grupo, pelo host origem da mensagem deve ser explicitamente solicitada. • A interface de serviço IP deve ser estendida para fornecer duas novas operações • JoinHostGroup (group-address, interface) • LeaveHostGroup (group-address, interface) Redes de Computadores Profa. Ana Benso
Extensões... • A operação JoinHostGroup requisita que este host torne-se membro do grupo identificado pelo group-address na interface de rede especificada • A operação LeaveHostGroup solicita que a estação deixe de pertencer ao grupo identificado pelo group-address na interface de rede indicada Redes de Computadores Profa. Ana Benso
Extensões... • É permitido participar de um mesmo grupo utilizando mais de uma interface, o que resultará em recebimento de datagramas duplicados • O módulo IP deve ser estendido para manter uma lista dos membros dos grupos associados a cada interface de rede Redes de Computadores Profa. Ana Benso
Extensões... • Datagramas que chegam destinados • para grupos que o host não pertence • que pertencem a uma interface diferente da recebida; ou, • que possuem um endereço de grupo IP no campo IP source address são descartados sem gerar nenhuma notificação de erro • Não são geradas mensagens ICMP de erro Redes de Computadores Profa. Ana Benso
Implementação - Exemplo • Programação UDP struct sockaddr_in name; struct ip_mreq imr; sock = socket(AF_INET, SOCK_DGRAM, 0); imr.imr_multiaddr.s_addr = htonl (groupaddr); imr.imr_interface.s_addr = htonl (INADDR_ANY); setsock(sock, IPPROTO_IP, IP_ADD_MEMBERSHIP, &imr, sizeof(struct ip_mreq)); ... Bind (sock, &name, sizeof(name)); recv(sock, (char *)buf, sizeof(buf), 0); Redes de Computadores Profa. Ana Benso
Roteamento em uma LAN • Um roteador conectado em uma LAN tem uma lista dos endereços de multicast dos grupos para o qual há no mínimo um membro. • Quando o roteador recebe um pacote com um endereço de destino que combina com um na lista, ele segue adiante a mensagem, convertendo o endereço multicast IP para o endereço multicast físico. Redes de Computadores Profa. Ana Benso
IGMP • O IGMP foi projetado para ajudar um roteador multicast a identificar os hosts numa LAN que são membros de um grupo multicast. • O IGMPv1 tem somente dois tipos de mensagens: • report: é enviada do host para o roteador • query: é enviada do roteador para o host. Redes de Computadores Profa. Ana Benso
Campos da Mensagem • Onde: • Ver: define a versão do protocolo. • Type: define o tipo de mensagem; • 1 para mensagens de query • 2 para mensagens de report. • Checksum: usado para controle de erro. • Group address: define o endereço do grupo numa mensagem de report. Este é preenchido com 0s na mensagem de query. Redes de Computadores Profa. Ana Benso
2 Group address Entrando num grupo Roteador Host Query 1 All 0s Monitorando o grupo Roteador Host Report 2 Group address Continuando no grupo Roteador Host No response to query Saindo de um grupo Roteador Host Mensagens IGMPv1 Redes de Computadores Profa. Ana Benso
Entrando em um Grupo • Cada host mantém uma lista de processos com os membros do grupo. • Quando um processo quer se juntar a um novo grupo, ele envia seu pedido para o host. • O host irá adicionar o nome do processo e o nome do grupo requisitado em sua lista. • Contudo, o host somente envia o report do IGMP para o roteador de multicast se este for o primeiro pedido para se tornar um membro naquele grupo. Redes de Computadores Profa. Ana Benso
Monitoração do Grupo • Um roteador de multicast é responsável por monitorar todos os hosts numa LAN para ver se eles querem continuar sendo membro do grupo. • O roteador periodicamente envia uma mensagem de query para o endereço multicast 224.0.0.1. • Nesta mensagem, o campo de endereço de grupo é setado para 0.0.0.0. Redes de Computadores Profa. Ana Benso
Monitorando... • Isso significa que a consulta para continuar sendo membro é para todos os grupos que um host está envolvido. • O roteador espera uma resposta para cada um desses grupos. Redes de Computadores Profa. Ana Benso
Mantendo o Grupo • O host mantém uma lista de processos dos grupos que deseja continuar membro. • Quando um host recebe um query, ele verifica essa lista. • Para cada grupo com no mínimo um processo ainda interessado em continuar no grupo, o host deve enviar um report. Redes de Computadores Profa. Ana Benso
Saindo do Grupo • Quando um host recebe uma query e acha que não há mais nenhum processo interessado no grupo, ele não responde e não envia o report sobre aquele grupo. • Se nenhum host numa LAN envia um report para um grupo específico, o endereço daquele grupo é retirado, depois de um time-out, da lista de endereço de multicast do roteador. Redes de Computadores Profa. Ana Benso
Internet R1 Rede A R2 R3 Rede B Rede C Operação do IGMP na Internet Redes de Computadores Profa. Ana Benso
IGMPv2 • A principal diferença é a implementação da mensagem • Leave Group • Os hosts podem comunicar ao roteador sua intenção de deixar um grupo • O roteador envia logo após um mesagem de consulta (query) para verificar se existe mais “alguém” naquele grupo • Se não houver resposta, então ele desabilita o recebimento de pacotes para aquele IP de multicast • Vantagem: redução de latência e tráfego indesejado Redes de Computadores Profa. Ana Benso
Multicast no Nível 2 • Comportamento default do nível 2 é enviar o pacote com MAC de multicast para todos os segmentos • Desvantagem? • Soluções: CISCO CGMP e IGMP Snooping Redes de Computadores Profa. Ana Benso
CGMP • Funcionamento • O host gera mensagens IGMP para router • O router processa-as normalmente e em adição cria mensagens CGMP JOIN e envia-as ao switch • O switch adiciona a porta ao seu CAM (Content Address Memory). • Assim, todo tráfego subsequente será direcionado apenas para as portas registradas • As portas de comunicação com o roteador também são adicionadas a tabela, uma vez que o roteador deve ouvir todo o tráfego multicast Redes de Computadores Profa. Ana Benso
IGMP Snooping • Exige que os pacotes IGMP (nível 3) sejam “bisbilhotados” pelo switch • Então quando ele vê uma mensagem de Host Report, ele adiciona endereço de multicast na tabela apropriada • E quando vê uma mensagem de IGMP de Leave Group, ele remove a entrada da tabela. • OBS: Leave somente a paritr do IGMPv2 Redes de Computadores Profa. Ana Benso
IGMP Snooping • Algumas mensagens multicast a nível 2 não permitem identificar se são dados ou IGMP • Switch deve examinar cada pacote multicast • Desvantagem? Desempenho Redes de Computadores Profa. Ana Benso
Árvores de Distribuição • Roteadores criam árvore de distribuição que permitem controlar o caminho do tráfego multicast • Dois tipos básicos • Source Trees • Shared Trees Redes de Computadores Profa. Ana Benso
Source Trees • Forma mais simples • Raíz da árvore é a origem do tráfego • Calcula-se uma Spanning Tree até os receptores • Essa árvore usa o menor caminho para atingir o destino • Conhecida também como Shortest Path Tree (SPT) • Notação: (S, G) • Onde, S é o IP do fonte e G é o endereço do Grupo • Existe uma árvore para cada par (S, G) Redes de Computadores Profa. Ana Benso
Shared Tree • Usam uma única origem como Raíz da árvore • Esta raíz é chamada Redenvouz Point (RP) • Nesta árvore, os hosts enviam o seu tráfego multicast para a Raíz, e esta redistribui o tráfego para os demais nodos da árvore • Notação: (*, G) • Onde, * = diversos fontes, G o grupo • Source Trees e Shares Trees não apresentam situações de loop Redes de Computadores Profa. Ana Benso
Comparação • SPT tem a vantagem de criar um caminho ótimo para alcançar os destinos • Isto garante uma baixa latência para o roteamento dos pacotes na rede • No entanto, os roteadores devem manter informações sobre o caminho para cada fonte • Em uma rede grande, logo torna-se um problema devido ao consumo dos recursos do roteador • Shared Trees mantém poucas informações de estado em cada roteador. • Desvantagem? Existência de caminhos não otimizados Redes de Computadores Profa. Ana Benso
Roteamento Multicast • Reverse-Path Forwarding (RPF) • É um algoritmo • Usa source tree para cada nodo da rede • algoritmo é simples: • quando um pacote multicast é recebido, anote o fonte (S) e a interface (I); • Se I pertence ao menor caminho para S, envie o pacote para todas as outras interfaces, menos para I. • Se o teste acima falha, recuse o pacote. • Problema: roteadores que não tem grupos também recebem o multicast. Redes de Computadores Profa. Ana Benso
A B C A B C D E RPF tree de A D E A B C RPF tree de E D E RPF tree de C Roteamento • RPF Vantagens: 1. Garantia da entrega rápida, pois segue o menor caminho 2. Cada nó tem uma árvore diferente, garantindo a divisão do tráfego na rede. Problema: * Roteadores recebem pacotes e não tem grupos de multicast * Solução: RPF and Prunes Redes de Computadores Profa. Ana Benso
PIM – Protocol Indenpendet Multicast • Dois modos de Operação • Dense Mode • Sparse Mode • Os protocolos tradicionais são utilizados para a troca de informações sobre grupos • O PIM não envia ou recebe informações desatualizadas de rotas como protocolos tradicionais • Usa as informações da tabela de roteamento Unicast para o RPF Redes de Computadores Profa. Ana Benso
PIM – Dense Mode • Usa um modelo “push” para enviar o tráfego • Método da força bruta • Inicialmente o tráfego é enviado na forma de flooding • Roteadores que não tem os grupos cadastrados descartam os pacotes • Este é o mecanismo pelo qual os roteadores acumulam informações para o roteamento dos pacotes Redes de Computadores Profa. Ana Benso
PIM – Sparse Mode • Utiliza um modelo “pull” para enviar o tráfego • Somente os segmentos que explicitamente solicitaram, receberão o tráfego de multicast • Usa uma Shared Tree • O tráfego pode iniciar em uma Shared Tree e ser comutado para um Source Tree otimizada Redes de Computadores Profa. Ana Benso
DVMRP- Distance Vector Multicast Routing Protocol • Similar ao RIP • Roteadores de multicast trocam mensagens de atualização do vetor distância contendo uma lista destinos e seus custos. • Custos (métricas) são o número de roteadores (saltos) • Destinos: IP + máscara • Mensagens de atualização DVRMP são enviadas para todos os túneis a partir do roteador. Redes de Computadores Profa. Ana Benso
MBONE - Multicast Backbone • “Overlay network” empregada na Internet para teste de tráfego multicast • 2 tipos de redes: • aquelas que suportam apenas broadcast global, e neste caso um pacote de multicast será enviado para todas as máquinas • aquelas que suportam grupos de endereços: grupos de multicast • importante é que seja enviado apenas um pacote! Redes de Computadores Profa. Ana Benso
MBONE • 1992 - roteamento em multicast era apenas experimental • MBONE • teste • túnel para interligar “ilhas” de multicast • configuração de software nos hosts • lista de roteadores de multicast configurados • envio dos pacotes é encapsulado • DVMRP - calculo das rotas Redes de Computadores Profa. Ana Benso