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

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

Apr 17, 2015

Download

Documents

Internet User
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Multicast Profa. Ana Cristina Benso da Silva Redes de Computadores.

Multicast

Profa. Ana Cristina Benso da Silva

Redes de Computadores

Page 2: 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)

Page 3: Multicast Profa. Ana Cristina Benso da Silva Redes de Computadores.

Redes de Computadores Profa. Ana Benso

Formas de Transmissão

Page 4: Multicast Profa. Ana Cristina Benso da Silva Redes de Computadores.

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

Page 5: Multicast Profa. Ana Cristina Benso da Silva Redes de Computadores.

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

Page 6: Multicast Profa. Ana Cristina Benso da Silva Redes de Computadores.

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

Page 7: Multicast Profa. Ana Cristina Benso da Silva Redes de Computadores.

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.

Page 8: Multicast Profa. Ana Cristina Benso da Silva Redes de Computadores.

Redes de Computadores Profa. Ana Benso

Endereço

Exemplo 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

Page 9: Multicast Profa. Ana Cristina Benso da Silva Redes de Computadores.

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

Page 10: Multicast Profa. Ana Cristina Benso da Silva Redes de Computadores.

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.

Page 11: Multicast Profa. Ana Cristina Benso da Silva Redes de Computadores.

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

Page 12: Multicast Profa. Ana Cristina Benso da Silva Redes de Computadores.

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)

Page 13: Multicast Profa. Ana Cristina Benso da Silva Redes de Computadores.

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

Page 14: Multicast Profa. Ana Cristina Benso da Silva Redes de Computadores.

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 

Page 15: Multicast Profa. Ana Cristina Benso da Silva Redes de Computadores.

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

Page 16: Multicast Profa. Ana Cristina Benso da Silva Redes de Computadores.

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);

Page 17: Multicast Profa. Ana Cristina Benso da Silva Redes de Computadores.

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.

Page 18: Multicast Profa. Ana Cristina Benso da Silva Redes de Computadores.

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

Page 19: Multicast Profa. Ana Cristina Benso da Silva Redes de Computadores.

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.

Page 20: Multicast Profa. Ana Cristina Benso da Silva Redes de Computadores.

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

Page 21: Multicast Profa. Ana Cristina Benso da Silva Redes de Computadores.

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.

Page 22: Multicast Profa. Ana Cristina Benso da Silva Redes de Computadores.

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.

Page 23: Multicast Profa. Ana Cristina Benso da Silva Redes de Computadores.

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.

Page 24: Multicast Profa. Ana Cristina Benso da Silva Redes de Computadores.

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.

Page 25: Multicast Profa. Ana Cristina Benso da Silva Redes de Computadores.

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.

Page 26: Multicast Profa. Ana Cristina Benso da Silva Redes de Computadores.

Redes de Computadores Profa. Ana Benso

Operação do IGMP na Internet

Rede A

Internet

R1

Rede B Rede C

R2 R3

Page 27: Multicast Profa. Ana Cristina Benso da Silva Redes de Computadores.

Redes de Computadores Profa. Ana Benso

IGMPv2

A 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

Page 28: Multicast Profa. Ana Cristina Benso da Silva Redes de Computadores.

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

Page 29: Multicast Profa. Ana Cristina Benso da Silva Redes de Computadores.

Redes de Computadores Profa. Ana Benso

CGMP

FuncionamentoO 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

Page 30: Multicast Profa. Ana Cristina Benso da Silva Redes de Computadores.

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

Page 31: Multicast Profa. Ana Cristina Benso da Silva Redes de Computadores.

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

Page 32: Multicast Profa. Ana Cristina Benso da Silva Redes de Computadores.

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

Page 33: Multicast Profa. Ana Cristina Benso da Silva Redes de Computadores.

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)

Page 34: Multicast Profa. Ana Cristina Benso da Silva Redes de Computadores.

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

Page 35: Multicast Profa. Ana Cristina Benso da Silva Redes de Computadores.

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 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

Page 36: Multicast Profa. Ana Cristina Benso da Silva Redes de Computadores.

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.

Page 37: Multicast Profa. Ana Cristina Benso da Silva Redes de Computadores.

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.

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

Problema: * Roteadores recebem pacotese não tem grupos de multicast * Solução: RPF and Prunes

Page 38: Multicast Profa. Ana Cristina Benso da Silva Redes de Computadores.

Redes de Computadores Profa. Ana Benso

PIM – Protocol Indenpendet Multicast

Dois modos de OperaçãoDense 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 tradicionais

Usa as informações da tabela de roteamento Unicast para o RPF

Page 39: Multicast Profa. Ana Cristina Benso da Silva Redes de Computadores.

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

Page 40: Multicast Profa. Ana Cristina Benso da Silva Redes de Computadores.

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 multicast

Usa uma Shared Tree O tráfego pode iniciar em uma Shared Tree e

ser comutado para um Source Tree otimizada

Page 41: Multicast Profa. Ana Cristina Benso da Silva Redes de Computadores.

Redes de Computadores Profa. Ana Benso

DVMRP- Distance Vector Multicast Routing Protocol

Similar 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.

Page 42: Multicast Profa. Ana Cristina Benso da Silva Redes de Computadores.

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!

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

Redes de Computadores Profa. Ana Benso

MBONE

1992 - roteamento em multicast era apenas experimental

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