IP Multicast

Aluno: Giancarlo Panizzutti Lima

Índice:
Definição
Formação de Grupos
O Mbone
Protocolos Confiáveis
Aplicações para Multicast

1.Definição:

O multicast é um recurso para transmitir pacotes a mais de um endereço ao mesmo tempo, que se diferencia do broadcast comum por transmitir somente para hosts determinados ao invés de para todos os hosts do segmento, recebendo também o nome de 'broadcast seletivo'. Outra vantagem do multicast é que ele pode ser usado em toda uma WAN, empregando o mínimo de banda.

O IP multicast usa um tipo diferente de endereço, o IP Classe D:

IP classe D
Primeiro Endereço: 224.0.0.0 (reservado)
Último Endereço: 239.255.255.255

Este endereço, que é concedido a um grupo, não a um único host, pode ser permanente ou temporário. Um endereço multicast pode ser usado apenas como endereço de destino, nunca podendo aparecer como endereço de origem.

Como aplicações mais comuns, encontram-se transmissões um-para-vários, como eventos de multimídia e tranferência de arquivos, ou vários-para-vários, como conferências e jogos em rede.

Um endereço multicast fica reservado para o evento por um período de tempo pré-determinado no momento da criação, sendo liberado quando o período de transmissão do evento se encerra. Um endereço pode ser concedido para cada mídia utilizada na transmissão do evento (áudio, vídeo, etc.) ou um endereço utiliza várias portas, uma para cada tipo de mídia.

Existem três categorias de serviços do multicast, cada uma com suas próprias exigências e limites.

Tipo de
aplicação
Latência
requerida
Confiabilidade
Escalabilidade
Colaborativa
Baixa
Média
< 100
Fluxo de
mensagens
Baixa/Média
Média
+ de milhões
Dados
Real time
não necessário
Alta
+ de milhões

Colaborativa: Aplicações como conferências e jogos em rede.
Fluxo de mensagens: Noticiários e relatórios de bolsa de valores.
Dados: FTPs e sites de distribuição de software.

Entre os sistemas operacionais que possuem atualizações para o uso do multicast, encontram-se o Solaris 2.x e o SunOS 4.x, da SUN, e o Linux.

Índice

2.Formação de um grupo multicast:

Assim que um endereço é reservado para um evento, é necessário o anúncio deste evento para os hosts interessados no recebimento do mesmo. Para isto, são utilizadas as ferramentas de anúncio de sessão, responsáveis por criar e anunciar uma sessão de multicast. Esta mesma ferramenta é utilizada pelos receptores, recebendo anúncios de todos os eventos que estão sendo transmitidos no momento, identificado-os por seus nomes, e fornecendo informações sobre eles, apresentando uma descrição do evento, o período da transmissão, os meios de mídia utilizados pelo evento e os endereços e portas reservados para cada um destes.

Os hosts juntam-se a um grupo através do protocolo IGMP (Internet Group Management Protocol), participando do IP multicast como um dos três níveis de status:

Nível
Significado
0
Host não pode enviar nem receber IP Multicast
1
Host pode enviar, mas não receber IP Multicast
2
Host pode enviar e receber IP Multicast

Os datagramas multicast são distribuídos através dos Gateways Multicast, cuja função é mapear os datagramas multicast para os endereços físicos dos hosts interessados e manter o controle de qual host pertence a qual grupo.

Um evento é anunciado para todos os hosts do segmento (o endereço 224.0.0.1) pelo router multicast, e os interessados devem responder de acordo.

Formato da mensagem IGMP

Campo
Função
Versão
Versão do protocolo
Tipo
Query enviada pelo gateway = 1;
Response enviada pelo host = 2
Endereço
Em Query = 0;
em Response, o endereço do grupo multicast.

Uma vez que um host encontra-se pertencendo a um grupo, ele precisa manter-se no mesmo. O gateway passa a perguntar para cada host o status de membro periodicamente. Se a resposta for não, a entrada da tabela de membros do gateway onde aquele host aparece é deletada.

Existem outros protocolos usados para a criação de grupos, como o SAP (Session Announcement Protocol) e o SDP (Session Description Protocol), utilizados em conjunto; o primeiro envia um fluxo de mensagens em um endereço multicast conhecido para anunciar o conteúdo de uma sessão para os interessados; o segundo faz a descrição completa dos conteúdos anunciados.

A exclusão de um host de um grupo multicast pode ser automática, ao fim do download de um programa, por exemplo, ou não, com o usuário determinando sua estadia no grupo, sempre avisando o router de sua permanência no grupo.

Índice

3.O MBone:

O MBone, ou Multicast Backbone, é uma rede virtual que compartilha o mesmo meio físico da Internet, usando um sistema paralelo de roteadores que suportam multicast. Estes roteadores são geralmente estações de trabalho com o kernel modificado e várias conexões de rede.

Enlaces virtuais ponto-a-ponto entre os roteadores multicast são feitos utilizando-se o que é chamado de túnel multicast. Essa 'canalização' trata-se de um encapsulamento de uma mensagem multicast em uma mensagem unicast, fazendo com que um pacote multicast seja tratado como um pacote normal por um roteador que não suporta multicast.

IP classe D

O MBone possui uma topologia conjunta em malha e em árvore. Ao centro, entre os maiores provedores de serviços da Internet, as conexões formam uma topologia em malha entre ligações principais e enlaces reserva. Nas extremidades, a topologia é geralmente em árvore.

Os roteadores multicast precisam descobrir sua própria topologia por diferir da topologia normal da Internet. Para isto, são utilizadas versões dos protocolos normais de roteamento, como o DVSMP (Distance Vector Multicasting Routing) e o MOSPF (Multicast Open Shortest Path First).

Um protocolo de entrega de pacotes faz-se necessário para repassar os datagramas multicast para os membros do grupo, do mesmo modo como em unicast é usado o TCP. Em multicast, o utilizado é o RTP (Real-Time Transport Protocol), cujo tempo de entrega é quase real (que não é percebido pelo receptor, apesar deste protocolo se utilizar de um buffer para sincronizar e colocar na sequência certa os pacotes de voz), mas a entrega não é totalmente confiável.

Índice

4.Protocolos Confiáveis:

Quando se lida com confiabilidade, lida-se também com o fluxo upstream no recebimento de acknowledgment/negative acknowledgments (ACK/NAK). Como no multicast o número de receptores se multiplica, isso passa a ser um problema. Existem várias maneiras de se abordar o problema dos ACK/NAKs excessivos, como será visto nos protocolos a seguir.

RMTP - Reliable Multicast Tranport Protocol

Neste protocolo, a confirmação de recebimento dos dados não é repassada diretamente ao host que transmitiu os dados. Existem roteadores ligados aos roteadores multicast chamados de designated receivers (DRs), cuja função é agrupar todas as mensagens de confirmação e enviar apenas uma mensagem para o nível superior via unicast. Os DRs também bufferizam todas as transmissões e estão capacitados a retransmitir os dados necessários, se disponíveis. Se não, ele envia o pedido a outro DR situado em um nível superior.

SRM - Scalable Reliable Multicast

Neste protocolo, mensagens de status dos membros do grupo são mandadas periodicamente para todos os outros membros. Isso é feito porque qualquer receptor está apto a fazer uma retransmissão de dados perdidos para um membro do mesmo grupo, porque qualquer dado transmitido é bufferizado. Geralmente o reparo é feito 'localmente', ou seja, pelo vizinho mais próximo.

PGM - Pretty Good Multicast

PGM utliza o conceito de 'janela deslizante'; se um NAK chega após a janela ter se 'movido', o dado simplesmente não se encontra mais disponível.

MFTP - Multicast File Transfer Protocol

Este protocolo divide os dados a serem transportados em blocos, estes formados por vários pacotes. Os NAKs são enviados apenas para os pacotes não recebidos. Como este protocolo dispensa o real-time, o receptor espera até o transmissor começar a enviar os blocos novamente, do princípio; os pacotes já recebidos são simplesmente descartados. E o transmissor irá repetir a transmissão quantas vezes forem necessárias, ou seja, até não chegar mais nenhum NAK.

Outros métodos:

Existem outros métodos para reduzir o tráfego de dados retransmitidos:

O método chamado erasure correction reduz a quantidade de reparos que precisam ser reenviados se os pacotes perdidos forem diferentes para cada host. Por exemplo, se 16 hosts perderam 16 pacotes diferentes, será mais proveitoso o reenvio de apenas um grupo de pacotes com as partes perdidas por cada host em vez de reenviar todos os dados originais para todos os hosts.

A técnica bulk feedback simula o TCP, reduzindo a taxa de transmissão em caso do transmissor receber um número excessivo de NAKs.

Outra proposta seria pedir ajuda aos roteadores, que, por conhecerem a topologia da rede multicast, podem redirecionar o pedido ao retransmissor capaz de fazer o reparo, fazendo assim que a retransmissão dos dados aconteça apenas na mesma subnet do host que perdeu a transmissão original.

Índice

5.Aplicações para Multicast:

Entre os programas mais populares para uso multicast de áudio e vídeo estão o Visual Audio Tool (vat), o Network Video (nv), o Network Voice Terminal (nevot), e o INRIA Videoconferencing System (ivs), todos eles Freeware.

Os produtos para videoconferência mais conhecidos são o WhiteBoarding (wb), que consiste de uma tela na qual podem ser incorporados desenhos, textos, etc., sendo atualizados instantaneamente para os outros membros do grupo. Também são conhecidos os semelhantes Picture Window, da Silicon Graphics, e o ShowMe da Sun Microsystems.

Índice