350 likes | 449 Vues
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
E N D
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 • Duplicação de fluxos na camada de rede
Multicast versus Unicast Unicast Links Streams
Multicast versus Unicast Multicast Links Streams
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
Desvantagens 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
Multicast - Aplicações “Multicast enables coordination - it is well suited to loosely coupled distributed systems (of people, servers, databases, processes, devices ...)” RFC 3170
Multicast - Aplicações • Conferências multimídia • Distribuição de dados • Multicast de dados em tempo real • Simulações e Games
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
Multicast - Aplicações • Muitos-para-muitos (MtoM) • conferências multimídia • processamento distribuído • jogos com múltiplos jogadores • colaboração
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.
Roteamento 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
Mé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
2 1 5 3 4 6 i Shortest 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
Reverse Path Forwarding if (datagramamcastrecebido no link de entrada do menorcaminho de retorno à origem) thendisparadatagramasparatodosos links de saída elseignoradatagrama 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: 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
Reverse 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
Shared-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.
Center-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
Center-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
Tunelamento 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
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
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!!!
IPv6 • Motivação inicial:o espaço deendereç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
IPv6 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
Outras mudanças do IPv4 • Checksum:removidointeiramente para reduzir o tempo de processamentoemcada hop • Options:sãopermitidas, mas sãoalocadasemcabeçalhossuplementares, indicadospelo campo “Next Header” • ICMPv6: nova versão de ICMP • tipos de mensagensadicionais , ex. “Packet Too Big” • funções de gerenciamento de grupos multicast • SLAAC e NDP: Stateless Address AutoConfigurationusandoNeighbor Discovery Protocol (fe80::/64)
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
Tunneling IPv6 dentro do IPv4 onde necessário
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