Title: Part I: Introduction
1IP Multicast o que é?
IP multicasting is the transmission of an IP
datagram to a host group, a set of zero or more
hosts identified by a single IP destination
2IP Multicast o que é?
- Grupo multicast (endereço IP classe D)
- Vinculação dinâmica de fontes e receptores
- Duplicação de fluxos na camada de rede
3Multicast versus Unicast
Unicast
Links
Streams
4Multicast versus Unicast
Multicast
Links
Streams
5Vantagens com Multicast
- Escalabilidade sem duplicação de fluxos
- Redução de congestionamentos
- Melhor utilização de banda
- Suporte estrutural e eficiente a aplicações
distribuídas - Modelo consistente de distribuição de conteúdo
6Desvantagens com Multicast
Multicast é baseado em UDP
- Entrega de pacotes no estilo best effort
- Sem mecanismo de controle de fluxo
- Duplicação de pacotes
- Sem mecanismos de ordenamento de pacotes
7Multicast - Aplicações
Multicast enables coordination - it is well
suited to loosely coupled distributed systems (of
people, servers, databases, processes, devices
...)
RFC 3170
8Multicast - Aplicações
- Conferências multimídia
- Distribuição de dados
- Multicast de dados em tempo real
- Simulações e Games
9Multicast - Aplicações
- Um-para-muitos (1toM)
- distribuição programada de áudio/vídeo
- push media notícias, clima, esportes, etc.
- distribuição de arquivos e caching
- anúncios
- monitoração
10Multicast - Aplicações
- Muitos-para-muitos (MtoM)
- conferências multimídia
- processamento distribuído
- jogos com múltiplos jogadores
- colaboração
11Multicast - Endereçamento
- Endereços Classe D primeiros 4 bits do endereço
devem ser 1110 - 224.0.0.0 - 239.255.255.255
- Para associar um host ao um grupo multicast (
end. multicast) usa-se o protocolo IGMP entre
host e roteador.
12Roteamento multicast indicação do problema
- Objetivo encontrar uma árvore (ou árvores)
conectando roteadores que possuam membros de
grupo multicast local - ? Árvore não são todos os caminhos entre os
roteadores usados - ? Baseada na fonte uma árvore diferente de cada
transmissor para os receptores - ? Árvore compartilhada a mesma árvore é usada
por todos o membros do grupo
13Roteamento multicast indicação do problema(2)
14Métodos para construir multicast trees
- Métodos
- ? Árvore baseada na fonte uma árvore por origem
- ? Shortest path trees
- ? Repasse pelo caminho reverso
- ? Árvore compartilhada pelo grupo grupo usa uma
árvore - ? Minimal spanning (Steiner)
- ? Center-based trees
15Shortest Path Tree
- ? mcast forwarding tree árvore de rotas de
caminho mais curto da origem para todos os
receptores - ? Algoritmo de Dijkstra
S source
LEGENDA
R1
R4
roteador com membro de grupo anexado
R2
roteador sem nenhum membro de grupo anexado
R5
link usado para encaminhamento, i indica link de
ordem adicionado por algoritmo
R3
R7
R6
16Reverse Path Forwarding
? Baseia-se no conhecimento dos roteadores sobre
caminhos de unicast mais curtos dele até o
transmissor ? Cada roteador possui comportamento
de encaminhamento simples
- if (datagrama mcast recebido no link de entrada
do menor caminho de retorno à origem) - then dispara datagramas para todos os links de
saída - else ignora datagrama
17Reverse Path Forwarding exemplo
S source
LEGENDA
R1
R4
roteador com membro de grupo anexado
R2
roteador sem nenhum membro de grupo anexado
R5
datagrama será encaminhado
R3
R7
R6
datagrama não será encaminhado
? Resultado é um reverse SPT de origem
específica. ? Pode ser uma má escolha com links
assimétricos
18Reverse Path Forwarding pruning
- ? Árvores de encaminhamento contêm subárvores com
membros de grupo sem multicast - ? Não necessita encaminhar datagramas por
subárvores abaixo - ? Mensagens prune são enviadas por upstream
pelo roteador com membros de grupo sem nenhum
downstream
LEGENDA
S source
R1
roteador com membro de grupo anexado
R4
roteador sem nenhum membro de grupo anexado
R2
P
P
R5
mensagem prune
links com encaminhamento multicast
P
R3
R7
R6
19Shared-Tree Steiner Tree
- ? Steiner Tree árvore de custo mínimo conectando
todos os roteadores com membros de grupo anexados - ? Problema é NP-completo
- ? Existe uma heurística excelente
- ? Não é usado na prática
- ? Complexidade computacional
- ? Informação sobre toda a rede é necessária
- ? Monolítica reexecuta sempre que um roteador
precisa se juntar/deixar.
20Center-based trees
- ? Única árvore de entrega compartilhada por todos
- ? Um roteador é identificado como centro da
árvore - para se juntar
- ? Roteador de borda envia uma join-msg unicast
endereçada ao roteador de centro - ? join-msg processada pelos roteadores
intermediários e encaminhada rumo ao centro - ? join-msg ou encontra um ramo da árvore para
seu centro, ou chega até o centro - ? O caminho tomado pela join-msg torna-se um
novo ramo da árvore para esse roteador
21Center-based trees um exemplo
Suponha que R6 foi escolhido como centro
LEGENDA
R1
roteador com membro de grupo anexado
R4
3
roteador sem nenhum membro de grupo anexado
R2
2
1
R5
ordem de caminho onde são geradas mensagens join
R3
1
R7
R6
22Tunelamento
- P. Como conectar ilhas de roteadores multicast
num mar de roteadores unicast?
topologia lógica
topologia física
? Datagrama mcast encapsulado dentro de um
datagrama normal (sem endereço mcast) ? O
datagrama IP normal é enviado pelo túnel via
unicast IP regular para o roteador mcast
receptor ? O roteador mcast receptor desencapsula
para obter o datagrama mcast
23Endereço Anycast
- Um único endereço IP atribuído a várias
interfaces espalhadas numa rede - Datagrama destinado a um endereço anycast é
entregue em apenas uma interface - Prefixo anunciado (IGP BGP) a partir de
múltiplas origens - Interface de destino determinada a partir dos
protocolos de roteamento (mais próxima) - Potencialmente útil para a criação de sistemas de
alta disponibilidade
24Endereço Anycast (2)
- Exemplo de uso DNS root-servers
- Redução no retardo das requisições para
root-servers - Melhor balanceamento da carga
- Escalabilidade e disponibilidade
- Serviço com mais imunidade a ataques de DDOS
- Sistema Autônomo é formado por ilhas - não há
rede interna interligando os roteadores de
borda!!!
25IPv6
- Motivação inicial o espaço de endereços de
32-bits em processo de esgotamento. - Motivações adicionais
- melhorar o formato do header para permitir maior
velocidade de processamento e de transmissão - mudanças no header para incorporar mecanismos de
controle de QOS - necessidade de maior simplicidade para
renumeração e autoconfiguração - IPv6 formato dos datagramas
- cabeçalho fixo de 40 bytes
- não é permitida fragmentação
26IPv6 Header
27IPv6 Header (2)
Priority permitir definir prioridades
diferenciadas para vários fluxos
de informação Flow Label identifica datagramas
do mesmo fluxo. (conceito de
fluxo não é bem definido). Next header
identifica o protocolo da camada superior ou um
header auxiliar
28Formato do endereço IPv6
29Formato do endereço Ipv6 (2)
30Outras mudanças do IPv4
- Checksum removido inteiramente para reduzir o
tempo de processamento em cada hop - Options são permitidas, mas são alocadas em
cabeçalhos suplementares, indicados pelo campo
Next Header - ICMPv6 nova versão de ICMP
- tipos de mensagens adicionais , ex. Packet Too
Big - funções de gerenciamento de grupos multicast
- SLAAC e NDP Stateless Address AutoConfiguration
usando Neighbor Discovery Protocol (fe80/64)
31Transição do IPv4 para IPv6
- Nem todos os roteadores poderão ser atualizados
simultaneamente - não haverá um dia da virada universal
- A rede deverá operar com os dois tipos de
datagramas simultaneamente presentes - Duas abordagens propostas
- Dual Stack algusn roteadores com pilhas de
protocolos duais (v6, v4) podem trocar pacotes
nos dois formatos e traduzir de um formato para o
outro - Tunneling IPv6 transportado dentro de pacotes
IPv4 entre roteadores IPv4
32Dual Stack Approach
33Tunneling
IPv6 dentro do IPv4 onde necessário
34Update da ARIN sobre IPv6
- IPv4 status, free pool da IANA terminou!
- Quando sobraram apenas cinco /8's, foi um /8
para cada RIR - Alocações de IPv6 crescem exponencialmente
- APNIC já está usando seu último /8
- Previsão de esgotamento das faixas livres da
LACNIC em 2014