Faculdade de Informática - PUCRS
Redes de Computadores
Fernando Luís Dotti
fldotti@inf.pucrs.br
Fernando Luís Dotti
Redes de Computadores
Nível de Rede
Tráfego Multicast
Fonte principal: Christian Huitema. Routing in the Internet.
Redes de Computadores 3
Faculdade de Informática - PUCRS
Fernando Luís Dotti
z
O uso de transmissão de um ponto para vários pontos era
limitado a aplicações em redes locais
z
Ultimamente observa-se o crescente uso de transmissões
multicast (conferências, por exemplo)
IP Multicast
z
Transmissão para múltiplos pontos
y broadcast (difusão)
Redes de Computadores 5
Faculdade de Informática - PUCRS
Fernando Luís Dotti
IP Multicast
z
Multicast pode ser visto como uma generalização de
todas as outras formas de endereçamento
y a forma de endereçamento convencional unicast pode ser encarada como um endereçamento multicast onde apenas uma máquina participa do grupo
y o endereçamento broadcast como uma forma de endereçamento multicast onde todas as máquinas são membros do grupo multicast
Fernando Luís Dotti
IP Multicast
z
Desenvolvido por Steve Deering da Xerox PARC em
1988 e adotado depois pelo IETF em Março de 1992
z
Transmissão de datagramas IP de uma fonte para
múltiplos destinatários de uma rede IP (arquitetura
Internet TCP/IP)
z
Das cinco classes de endereçamento IP, a classe "D" é
Redes de Computadores 7
Faculdade de Informática - PUCRS
Fernando Luís Dotti
z
Permite que um datagrama IP seja transmitido para um
conjunto de máquinas que formam um grupo multicast:
y identificado por um endereço IP únicoy formados por um conjunto de zero ou mais estações
y podem estar espalhadas ao longo de redes físicas separadas
IP Multicast
z
Os membros de um grupo multicast IP são dinâmicos
y estações podem entrar ou deixar grupos a qualquer momento
y não existem restrições para o número de membros de um grupo
y uma estação pode participar de mais de um grupo
simultaneamente e enviar datagramas a um grupo mesmo sem pertencer a ele
Redes de Computadores 9
Faculdade de Informática - PUCRS
Fernando Luís Dotti
IP Multicast
z
pacote IP é o mesmo
z
utiliza-se endereço de grupo
Fernando Luís Dotti
Benefícios do Multicast
z
Em comunicações tradicionais envolvendo vários lugares
simultaneamente:
y para cada pacote do host de origem é feita uma replicação para o número de hosts destinos
y cada pacote é enviado para seu destino separadamente
y limitação no número de máquinas
y tráfego gerado na rede aumenta linearmente com o número de hosts destino envolvidos
Redes de Computadores 11
Faculdade de Informática - PUCRS
Fernando Luís Dotti
Benefícios do Multicast
z
Uso do multicast IP trata estas limitações (soluções
escalares de rede)
z
Utilizando multicast, apenas uma cópia de cada pacote é
enviada por linha, sendo copiada apenas quando houver
um braço na árvore lógica dos destinos
Redes de Computadores 13
Faculdade de Informática - PUCRS
Fernando Luís Dotti
Benefícios do Multicast
z
A utilização de difusão seletiva fornece um ganho de
processamento de CPU e largura de banda quando vários
lugares da rede estão envolvidos simultaneamente
Fernando Luís Dotti
Benefícios do Multicast
Redes de Computadores 15
Faculdade de Informática - PUCRS
Fernando Luís Dotti
z
Quando um grupo de máquinas querem comunicar-se
y escolhem um endereço multicast particular para a comunicação
y configura-se a estação para reconhecer os endereços multicast selecionados
y assim todas as máquinas do grupo deverão receber uma cópia de cada pacote enviado àquele endereço de multicast
IP Multicast
z
Dentro de uma rede IP podemos ter dois tipos de grupos
com facilidade multicasting:
y "Well-Known”n endereço de grupo associado a função fixa; n membros podem variar
y transient multicast groups
Redes de Computadores 17
Faculdade de Informática - PUCRS
Fernando Luís Dotti
IP Multicast
z Utiliza a classe D de endereçamento IP
z Os primeiros quatro bits do endereço contém o valor "1110" e identificam o endereço como multicast
z Os vinte e oito bits seguintes indicam um grupo multicast específico
0 1 2 3 4 31
Classe D 1 1 1 0 Identificação do grupo
Fernando Luís Dotti
IP Multicast
z
Expressados na notação decimal pontual, os endereços
multicast IP variam entre 224.0.0.0 e 239.255.255.255
z
Endereço 224.0.0.0 é reservado, não podendo ser
Redes de Computadores 19
Faculdade de Informática - PUCRS
Fernando Luís Dotti
z
A entrega de um datagrama multicast:
y realizada com as mesmas características de confiabilidade dos datagramas unicast regulares IP
y Não há garantia contra perda, atraso, duplicação ou desordenação para nenhum dos membros do grupo
IP Multicast
z
Para participar em um multicasting é preciso:
y roteadores multicast, que determinam quais hosts estão no grupo de multicast e fazem o roteamento
y roteadores e hosts usando protocolo IGMP (Internet Group
Management Protocol), quando a rede final for de acesso múltiplo
Redes de Computadores 21
Faculdade de Informática - PUCRS
Fernando Luís Dotti
IP Multicast
Roteador IP Estação
Fernando Luís Dotti
IGMP IGMP IGMP IGMP IGMP IGMP IGMP Roteador IP Estação
IP Multicast
Redes de Computadores 23
Faculdade de Informática - PUCRS
Fernando Luís Dotti
IGMP IGMP IGMP IGMP IGMP IGMP IGMP Roteador IP Estação
Roteador Multicast - Mrouter
z
O IGMP é implementado diretamente sobre IP e
compreende duas mensagens:
y host membership queryy host membership reports
y ambas possuem o mesmo formato
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 Version Type Code Checksum
Group Address
Redes de Computadores 25
Faculdade de Informática - PUCRS
Fernando Luís Dotti
IP Multicast
z
“Fases” IGMP
y fase 1: host avisa roteador que participa de um grupo
y fase 2: roteador pergunta (poll) frequentemente na rede se existem ainda estações pertencentes a um grupo
-> isto permite a dinamicidade dos grupos (entrada/saída de membros)
Fernando Luís Dotti
IP Multicast
z
IGMP
y resolve aspectos multicast entre estações finais e o primeiro roteador
z
E o resto ? - e o tráfego multicast entre roteadores,
Redes de Computadores 27
Faculdade de Informática - PUCRS
Fernando Luís Dotti
y Flooding y Spanning Trees y Reverse-Path Fowarding y Steiner Trees y Core-Based Trees
Roteamento Multicast
z
Flooding
y mais simples algoritmo de roteamento multicast
y nodo da rede recebe um pacote que será enviado a um destino multicast
y verifica se é a primeira vez que recebe o pacote ou se é duplicado, se for o primeiro, repassa o pacote para todas interfaces, exceto a que enviou
Redes de Computadores 29
Faculdade de Informática - PUCRS
Fernando Luís Dotti
Roteamento Multicast
y mantém uma lista dos últimos pacotes recebidos
n garante que o roteador não repasse o mesmo pacote duas
vezes
n não garante que um roteador receba um determinado pacote
somente uma vez
y robusto (não depende de tabelas de roteamento e garante entrega dos pacotes), mas gasta muito recurso de memória armazenando uma entrada por pacote
Fernando Luís Dotti
Roteamento Multicast
y Flooding:
n inunda rede com pacotes multicast n excesso de tráfego
y Possíveis otimizações ?
n ... n ...
Redes de Computadores 31
Faculdade de Informática - PUCRS
Fernando Luís Dotti
z
Spanning Trees
y evita envio por todas outras saídas como o flooding
y calcula uma “árvore de alcançabilidade” - árvore que alcança todos nodos do grafo
y marca links como “partes da árvore” ou “não usados”
formando grafo (ou árvore) que estende-se a todos nodos da rede
y quando um pacote multicast é recebido, é imediatamente
enviado a todos os links “partes da árvore”
Roteamento Multicast
z
Spanning Trees
y spanning tree por rede:
n uso da mesma árvore de alcançabilidade por todas as
fontes multicast da rede
n sobrecarga da árvore, especialmente da raiz
y otimização
n tentar fazer com que o tráfego percorra mais de uma
spanning tree em uma rede ?
Redes de Computadores 33
Faculdade de Informática - PUCRS
Fernando Luís Dotti
Roteamento Multicast
z
Reverse-Path Forwarding (RPF)
y algoritmo usado pelo Mbone
y usa tabela de roteamento para orientar a rede e computar uma spanning tree por fonte da rede
y quando um pacote multicast é recebido da fonte S pela interface I
n se I pertece ao menor caminho até S, repassa o pacote a
todas interfaces, exceto I, caso contrário recusa o pacote
Fernando Luís Dotti
Roteamento Multicast
z
Reverse-Path Forwarding (RPF)
y vantagens
n pode-se fazer multicast sem informações adicionais na
tabela de roteamento (unicast)
y desvantagens
n seria mais apropriado calcular o menor caminho da fonte
para o nodo e não do nodo para a fonte (caminho contrário)
Redes de Computadores 35
Faculdade de Informática - PUCRS
Fernando Luís Dotti
z
Reverse-Path Forwarding (RPF)
y outra forma:
n antes de repassar pacote ao vizinho, o roteador verifica
se está no menor caminho entre S e o vizinho
n se não está - não repassa para o vizinho
n direção fonte-destino
n gera pacotes somente nos links necessários n entretanto: necessidade de estender tabelas de
roteamento unicast
Roteamento Multicast
z
Reverse-Path Forwarding (RPF)
y uma spanning tree por fonte
y distribuição do tráfego na rede
y entrega para todos as “folhas”, independentemente da necessidade ou não do tráfego nas mesmas
Redes de Computadores 37
Faculdade de Informática - PUCRS
Fernando Luís Dotti
Roteamento Multicast
z
Técnica de “Prune” (podar)
y não enviar dados para ramos da spanning tree que não tenham que receber os dados
y I.e. se não tem ninguém no grupo naquela ponta, não manda os dados
y como implementar ?
Fernando Luís Dotti
Roteamento Multicast
z
Técnica de “Prune” (podar)
y quando estação recebe pacote multicast e não deseja receber aquele fluxo:
manda mensagem ao roteador dizendo para não enviar mais pacotes daquele grupo à estação
y se todos os links de saída de um fluxo são podados, roteador
Redes de Computadores 39
Faculdade de Informática - PUCRS
Fernando Luís Dotti
z
Técnica de “Prune” (podar)
y no caso de redes de múltiplo acesso, utilizase o IGMP -Internet Group Membership Protocol
y um roteador na rede de acesso múltiplo deve rodar IGMP para colher dos hosts a informação sobre quais grupos participam
y o roteador periodicamente pede para os hosts responderem a quais grupos participam
y o roteador guarda uma lista dos grupos cujo tráfego deve ser recebido
Roteamento Multicast
z
Técnica de “Prune” (podar)
y se roteador recebe pacote multicast e hosts não querem receber pacotes daquele grupo (i.e. o endereço multicast não consta na sua lista),
o roteador manda uma mensagem de poda ao próximo roteador na árvore
y podas duram um certo período e são invalidadas (soft-state) y tráfego multicast atinge novamente as folhas
y eventuais hosts que tenham entrado no grupo passam a receber o tráfego
Redes de Computadores 41
Faculdade de Informática - PUCRS
Fernando Luís Dotti
Roteamento Multicast
z
Reverse-Path Forwarding (RPF)
y adição de procedimento de poda (prune)
Fernando Luís Dotti
Roteamento Multicast
z
Core-Based Trees
y uma spanning tree por grupo é calculada, próximo ao centro
do grupo, estacoes mandam para o centro, que entao multicast o pacote para os outros ramos da árvore
z
Steiner Trees
Redes de Computadores 43
Faculdade de Informática - PUCRS
Fernando Luís Dotti
z
DVMRP - Distance Vector Multicast Routing Protocol
z
OSPF
Ô
MOSPF
z
Protocol Independent Multicast (PIM)
y dense mode
y sparse mode
Multicast Backbone
z
A disponibilização do Mbone passou pelos seguintes
passos:
y publicação do IGMP em 1988
y teste da tecnologia multicast na DARTNET (rede experimental de pequena escala financiada pela DARPA)
y primeira versão do roteador multicast para máquina Unix em
Redes de Computadores 45
Faculdade de Informática - PUCRS
Fernando Luís Dotti
Multicast Backbone
y primeiro multicast em conferência da IETF em março de 1992 (transmissão para 30 participantes remotos)
z
O Mbone foi chamado assim por Steve Casner
pesquisador do Information Sciences Institute (University
of Southern California)
Fernando Luís Dotti
IP Multicast
z
No MBone, os datagramas são transmitidos por
gateways multicast especiais denomidados roteadores
multicast, ou mrouters
Redes de Computadores 47
Faculdade de Informática - PUCRS
Fernando Luís Dotti
que utiliza uma rede de roteadores que suportam
multicast IP (difusão seletiva).
z
Esta rede é composta de subredes que suportam
multicast IP, denominados ilhas, conectadas umas as
outras através de enlaces ponto-a-ponto virtuais
MBone
z
A razão do Mbone ser uma rede virtual é que este
compartilha a camada física da Internet. Mas é uma
rede própria pois o Mbone tem seus próprios
roteadores (mrouters) que podem rotear os pacotes do
IP multicasting
Redes de Computadores 49
Faculdade de Informática - PUCRS
Fernando Luís Dotti
MBone
z
A comunicação entre os roteadores é realizada
utilizando o conceito de túneis (enlaces virtuais entre os
roteadores) que possibilita a transmissão de pacotes
multicast entre roteadores que não suportam esta
forma de endereçamento, encapsulando pacotes
multicast dentro de pacotes unicast IP
Fernando Luís Dotti
MBone
z
É denominado túnel a conexão entre estes roteadores
z
Cada uma das ilhas é composta por uma ou mais redes
locais conectando um número de nodos clientes e por
um nodo que implementa o mrouted (multicast routing
daemon) denominado mrouter (roteadores multicast)
Redes de Computadores 51
Faculdade de Informática - PUCRS
Fernando Luís Dotti
z
Os mrouters têm a responsabilidade de replicar e
distribuir os quadros de dados multicast para os túneis
que conduzem a estações participantes do grupo e
para a rede local, caso exista uma estação membro do
grupo nela
MBone
z
A topologia de mrouters do MBone é realizada de
maneira a possibilitar uma distribuição de pacotes
eficiente sem congestionar nenhum nodo ou enlace de
rede
y topologia aliada ao uso de multicast IP fornece um alto ganho de largura de banda das redes e desempenho das estações envolvidas, graças as vantagens oferecidas pelo uso de multicast
Redes de Computadores 53
Faculdade de Informática - PUCRS
Fernando Luís Dotti
MBone
z
Quando um pacote multicast é enviado por um cliente,
que o coloca na rede local, ele é apanhado pelo
mrouter da subrede
z
O roteador irá consultar sua tabela de roteamento e
transmitir o pacote para os túneis correspondentes
Fernando Luís Dotti
MBone
z
No outro lado do túnel, o outro roteador receberá o
pacote e consultará sua tabela de roteamento para
decidir se o pacote deve ser enviado para algum outro
túnel, verificando também se há algum cliente em sua
subrede que está inscrito neste endereço multicast e,
caso houver, colocando-o na subrede para ser recebido
pelo cliente
Redes de Computadores 55
Faculdade de Informática - PUCRS
Fernando Luís Dotti
um sistema operacional suportando o IP multicast e
rodando um daemon multicast routing ou mroteador
z
Os roteadores multicast replicam os pacotes para
saídas de múltiplas interfaces e túneis assim como toda
a extensão da árvore de distribuição multicast
MBone
z
O Mbone possui uma topologia com formações em
malha e em árvore
z
Entre os maiores provedores de serviços da Internet
forma-se uma topologia em malha, formando os
backbones principais e enlaces de backup. Nas
extremidades, a topologia é geralmente em árvore.
Entre os continentes existem um túnel de interligação
Redes de Computadores 57
Faculdade de Informática - PUCRS
Fernando Luís Dotti
Topologia MBone
z
Os EUA tem vários túneis entre seus estados
z
A maioria dos túneis são roteados dentro de linhas
T1(1.5 Mpbs) ou E1 (2Mbps)
Fernando Luís Dotti
Redes de Computadores 59
Faculdade de Informática - PUCRS
Fernando Luís Dotti
y complementa a base de dados com novo tipo de registro de estado dos enlaces Ô membros do grupo
y bit M do octeto options define roteamento multicast. Se o bit M for nulo, o roteador não faz multicast