IP Multicast : o que é?

34
IP Multicast : o que é? RFC 1112 “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”

description

IP Multicast : o que é?. RFC 1112. “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”. IP Multicast : o que é?. Grupo multicast (endereço IP classe D) Vinculação dinâmica de fontes e receptores - PowerPoint PPT Presentation

Transcript of IP Multicast : o que é?

Page 1: IP Multicast : o que é?

IP Multicast : o que é?

•RFC 1112

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

Page 2: IP Multicast : o que é?

IP 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

Page 3: IP Multicast : o que é?

Multicast versus Unicast

Links

Streams

Unicast

Page 4: IP Multicast : o que é?

Multicast versus Unicast

Links

Streams

Multicast

Page 5: IP Multicast : o que é?

Vantagens 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

Page 6: IP Multicast : o que é?

Desvantagens com Multicast

•Entrega de pacotes no estilo best effort

•Sem mecanismo de controle de fluxo

•Duplicação de pacotes

•Sem mecanismos de ordenamento de pacotes

Multicast é baseado em UDP

Page 7: IP Multicast : o que é?

Multicast - Aplicações

“Multicast enables coordination - it is well suited to

loosely coupled distributed systems (of people,

servers, databases, processes, devices ...)”

RFC 3170

Page 8: IP Multicast : o que é?

Multicast - Aplicações

•Conferências multimídia

•Distribuição de dados

•Multicast de dados em tempo real

•Simulações e Games

Page 9: IP Multicast : o que é?

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

Page 10: IP Multicast : o que é?

Multicast - Aplicações

•Muitos-para-muitos (MtoM)

•conferências multimídia

•processamento distribuído

•jogos com múltiplos jogadores

•colaboração

Page 11: IP Multicast : o que é?

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

Page 12: IP Multicast : o que é?

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

Roteamento multicast: indicação do problema

Page 13: IP Multicast : o que é?

Roteamento multicast: indicação do problema(2)

Page 14: IP Multicast : o que é?

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

Métodos para construir multicast trees

Page 15: IP Multicast : o que é?

mcast forwarding tree: árvore de rotas de caminho mais curto da origem para todos os receptores Algoritmo de Dijkstra

R1

R2

R3

R4

R5

R6 R7

21

6

3 4

5

i

roteador com membro degrupo anexado

roteador sem nenhum membrode grupo anexado

link usado para encaminhamento,i indica link de ordemadicionado por algoritmo

LEGENDAS: source

Shortest Path Tree

Page 16: IP Multicast : o que é?

if (datagrama mcast recebido no link de entrada do menor caminho de retorno à origem)then dispara datagramas para todos os links de saídaelse ignora datagrama

Baseia-se no conhecimento dos roteadores sobre caminhos de unicast mais curtos dele até o transmissor

Cada roteador possui comportamento de encaminhamento simples:

Reverse Path Forwarding

Page 17: IP Multicast : o que é?

Resultado é um reverse SPT de origem específica. Pode ser uma má escolha com links assimétricos

R1

R2

R3

R4

R5

R6 R7

roteador com membro degrupo anexado

roteador sem nenhum membrode grupo anexado

datagrama será encaminhado

LEGENDAS: source

datagrama não seráencaminhado

Reverse Path Forwarding: exemplo

Page 18: IP Multicast : o que é?

Á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

R1

R2

R3

R4

R5

R6 R7

roteador com membro degrupo anexado

roteador sem nenhum membrode grupo anexado

mensagem prune

LEGENDAS: source

links com encaminhamentomulticast

P

P

P

Reverse Path Forwarding: pruning

Page 19: IP Multicast : o que é?

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.

Shared-Tree Steiner Tree

Page 20: IP Multicast : o que é?

Ú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

Center-based trees

Page 21: IP Multicast : o que é?

Suponha que R6 foi escolhido como centro:

R1

R2

R3

R4

R5

R6 R7

roteador com membro degrupo anexado

roteador sem nenhum membrode grupo anexado

ordem de caminho onde são geradas mensagens join

LEGENDA

21

3

1

Center-based trees: um exemplo

Page 22: IP Multicast : o que é?

P.: Como conectar “ilhas” de roteadores multicast num “mar” de roteadores unicast?

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

topologia física topologia lógica

Tunelamento

Page 23: IP Multicast : o que é?

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

Page 24: IP Multicast : o que é?

Endereç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!!!

Page 25: IP Multicast : o que é?

IPv6 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

Page 26: IP Multicast : o que é?

IPv6 Header

Page 27: IP Multicast : o que é?

IPv6 Header (2)

Priority: permitir definir prioridades diferenciadas para vários fluxos de informaçãoFlow 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

Page 28: IP Multicast : o que é?

Formato do endereço IPv6

Page 29: IP Multicast : o que é?

Formato do endereço Ipv6 (2)

Endereço Representação Extensa Forma abreviada

3FFE:3102:0:0:8:800:200C:417A 3FFE:3102::8:800:200C:417A

FF01:0:0:0:0:0:0:43 FF01::43

0:0:0:0:0:0:0:1 ::1

Unicast

Multicast

Loopback

Page 30: IP Multicast : o que é?

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

Page 31: IP Multicast : o que é?

Transiçã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

Page 32: IP Multicast : o que é?

Dual Stack Approach

Page 33: IP Multicast : o que é?

Tunneling

IPv6 dentro do IPv4 onde necessário

Page 34: IP Multicast : o que é?

Update 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