redes de computadores conceitos básicos - home - …benso/redes601/2004_2/multicast.ppt · ppt...
TRANSCRIPT
Redes de Computadores Profa. Ana Benso
Formas de Transmissão
Tiposbroadcast: todos os hots da redebroadcast direto: todos os hosts de uma
determinada redemulticast: múltiplos recipientes (grupo)
Redes de Computadores Profa. Ana Benso
Multicast
Aplicaçõesdistribuição de áudio e vídeo
1 para muitos, ou; muitos para muitos.
simulações distribuídasdescoberta de recursos
Redes de Computadores Profa. Ana Benso
IP Multicast
Grupo de hostsNível de Rede - altera somente
endereçamentoRoteadores 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.228 bits - 268 milhões de grupos224.0.0.x: redes locais somente
224.0.0.1 todos os hosts224.0.0.2 todos os roteadores224.2.x.x para multimídia
TTL: 0 para hosts e 1 para rede
Redes de Computadores Profa. Ana Benso
EndereçoTodos 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
EndereçoExemplo de endereço IP de Multicast – Classe D
Endereços de Escopo Global224.0.1.0 até 238.255.255.255Podem ser utlizados para multicast entre organizações
e para a InternetEndereços de Escopo Local
239.0.0.0 até 239.255.255.255Podem ser utilizados para grupos locais
4 28
1 1 1 0 Endereço Multicast
Redes de Computadores Profa. Ana Benso
Endereços
Endereços GLOP233.0.0.0/8 Reservados para organizações que tem um
Sistema AutônomoO 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çõesJoinHostGroup (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 pertenceque 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 UDPstruct 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 LANUm 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 roteadorquery: é enviada do roteador para o host.
VERS TYPE UNUSED CHECKSUM
16 3180 4
GROUP ADDRESS
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
Mensagens IGMPv1
2Group address
1Query
All 0s
2Report
Group address
No response to query
Host Roteador
Host Roteador
Host Roteador
HostRoteador
Entrando num grupo
Monitorando o grupo
Continuando no grupo
Saindo de um grupo
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 GrupoUm 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 GrupoQuando 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
Operação do IGMP na Internet
Rede A
Internet
R1
Rede B Rede C
R2 R3
Redes de Computadores Profa. Ana Benso
IGMPv2A principal diferença é a implementação da
mensagemLeave 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 grupoSe não houver resposta, então ele desabilita o
recebimento de pacotes para aquele IP de multicastVantagem: 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 segmentosDesvantagem? Soluções: CISCO CGMP e IGMP Snooping
Redes de Computadores Profa. Ana Benso
CGMPFuncionamento
O host gera mensagens IGMP para routerO router processa-as normalmente e em adição cria
mensagens CGMP JOIN e envia-as ao switchO switch adiciona a porta ao seu CAM (Content Address
Memory).Assim, todo tráfego subsequente será direcionado
apenas para as portas registradasAs 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 SnoopingExige que os pacotes IGMP (nível 3) sejam
“bisbilhotados” pelo switchEntã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 multicastDesvantagem? 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ásicosSource TreesShared Trees
Redes de Computadores Profa. Ana Benso
Source Trees
Forma mais simplesRaíz da árvore é a origem do tráfegoCalcula-se uma Spanning Tree até os receptoresEssa árvore usa o menor caminho para atingir o
destinoConhecida também como Shortest Path Tree (SPT)
Notação: (S, G)Onde, S é o IP do fonte e G é o endereço do GrupoExiste uma árvore para cada par (S, G)
Redes de Computadores Profa. Ana Benso
Shared Tree
Usam uma única origem como Raíz da árvoreEsta 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çãoSPT 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 redeNo entanto, os roteadores devem manter informações
sobre o caminho para cada fonteEm uma rede grande, logo torna-se um problema
devido ao consumo dos recursos do roteadorShared 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 algoritmoUsa source tree para cada nodo da redealgoritmo é 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
Roteamento
RPF
RPF tree de A
A
D
B
E
C A
D
B
E
C
RPF tree de C
A
D
B
E
C
RPF tree de E
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 pacotese não tem grupos de multicast * Solução: RPF and Prunes
Redes de Computadores Profa. Ana Benso
PIM – Protocol Indenpendet MulticastDois modos de Operação
Dense ModeSparse Mode
Os protocolos tradicionais são utilizados para a troca de informações sobre gruposO PIM não envia ou recebe informações desatualizadas
de rotas como protocolos tradicionaisUsa 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áfegoMé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áfegoSomente os segmentos que explicitamente
solicitaram, receberão o tráfego de multicastUsa 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 ProtocolSimilar ao RIPRoteadores 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áscaraMensagens 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!