redes de computadores conceitos básicos - home - …benso/redes601/2004_2/multicast.ppt · ppt...

43
Multicast Profa. Ana Cristina Benso da Silva Redes de Computadores

Upload: dinhnhi

Post on 19-Nov-2018

215 views

Category:

Documents


0 download

TRANSCRIPT

Multicast

Profa. Ana Cristina Benso da Silva

Redes de Computadores

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

Formas de Transmissão

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!

Redes de Computadores Profa. Ana Benso

MBONE1992 - roteamento em multicast era apenas

experimentalMBONE

testetúnel para interligar “ilhas” de multicastconfiguração de software nos hostslista de roteadores de multicast configuradosenvio dos pacotes é encapsuladoDVMRP - calculo das rotas