Baixe o app para aproveitar ainda mais
Prévia do material em texto
Comunicação Multicast por Marinho Barcellospor Marinho Barcellos PIP/CA – PIP/CA – Programa Interdisciplinar de Pós-graduação em Computação AplicadaPrograma Interdisciplinar de Pós-graduação em Computação Aplicada UNISINOS - São Leopoldo, RSUNISINOS - São Leopoldo, RS Seminário de Capacitação Interna - RNPSeminário de Capacitação Interna - RNP Dezembro de 2000Dezembro de 2000 Marinho Barcellos - PIP/CA - UNISINOS 2RNP2000 Sumário • Fundamentos sobre IP Multicast • IGMP - Internet Group Management Protocol • Roteamento Multicast • Mbone • Tópicos avançados • Comentários Finais Fundamentos sobre IP Multicast Marinho Barcellos - PIP/CA - UNISINOS 4RNP2000 Métodos de Envio • Unicast • Broadcast • Multicast • Anycast Marinho Barcellos - PIP/CA - UNISINOS 5RNP2000 Vantagens de Multicast • Broadcast desperdiça banda e é limitado a uma subrede • Unicast envia dados várias vezes • Multicast envia apenas uma vez • Dados são eficientemente distribuídos por roteadores • Árvore de distribuição multicast (MDT) Marinho Barcellos - PIP/CA - UNISINOS 6RNP2000 Exemplo de Uso de Banda Clientes Ba nd a (M bp s) 14 2 1 100 servidor de vídeo transmite stream de 128 kbps unic ast multicast Marinho Barcellos - PIP/CA - UNISINOS 7RNP2000 Limitações de IP Multicast • Não suporta TCP, apenas UDP • Entrega de pacotes não é confiável • Duplicação de pacotes • Congestionamento da rede (ausência de controle) • É possível assinar grupo com taxa de transmissão superior à capacidade existente Marinho Barcellos - PIP/CA - UNISINOS 8RNP2000 Aplicações de Multicast • Teleconferência multimídia (vários) • Distribuição de dados (distribuição de software) • Distribuição de dados em tempo real (mercado de ações) • Jogos e simulações distribuídas Marinho Barcellos - PIP/CA - UNISINOS 9RNP2000 IP Multicast • Resultado de tese de doutorado de S. Deering, 1991 § host membership protocol – IGMP § protocolo de roteamento que originou DVMRP • Princípios § escalabilidade § separação entre controle de grupo e roteamento • IP Multicast é descrito através de uma série de RFCs § RFC966, RFC988, RFC1054, RFC1075, RFC1112... Marinho Barcellos - PIP/CA - UNISINOS 10RNP2000 Endereçamento IP Multicast • Endereços unicast x multicast • Endereços multicast (antiga classe D) § 1110xxxx xxxxxxxx xxxxxxxx xxxxxxxx § 224.0.0.0 a 239.255.255.255 • Endereços reservados pela IANA § 224.0.0.0 a 224.0.0.255 = locais § 239.0.0.0 a 239.255.255.255 = escopo administrativo § 224.0.1.x = outros Marinho Barcellos - PIP/CA - UNISINOS 11RNP2000 Endereçamento IP Multicast • Endereços locais (224.0.0.x) § .1: all-hosts § .2: all multicast routers § .4: all DVMRP routers § .5: all OSPF routers § .6: OSPF designated routers § .13: all PIM routers § .15: all CBT routers Marinho Barcellos - PIP/CA - UNISINOS 12RNP2000 Endereçamento Multicast MAC • Endereços MAC freqüentemente incluem multicast • Mapeamento entre endereços MAC multicast e IP multicast • Ethernet: 23 bits endereçamento MAC multicast (224/2) • Mapeamento de 32 bits para 23: 25 << Sumário << IGMP Internet Group Management Protocol Marinho Barcellos - PIP/CA - UNISINOS 15RNP2000 IGMP: Internet Group Management Protocol • Protocolo para gerência de grupo • Histórico § derivado do “Host Membership Protocol” § definido na RFC1112 § aumentado mais tarde com novos protocolos • Existem 3 versões de IGMP § IGMPv1 ainda é comum (Win95) § IGMPv2 é o padrão atual § IGMPv3 ainda é draft Marinho Barcellos - PIP/CA - UNISINOS 16RNP2000 IGMP: Internet Group Management Protocol • Roteador usa IGMP para controlar quais grupos estão ativos na subrede • Subrede deve possuir pelo menos 1 host interessado • Um host interessado possui pelo menos 1 processo que assinou grupo Marinho Barcellos - PIP/CA - UNISINOS 17RNP2000 IGMP: Internet Group Management Protocol • Mensagens do IGMP são transportadas em datagramas IP • Mensagens locais (TTL=1) • Formato do pacote (v1) § versão: 1 § tipo: Membership Query, Membership Report § checksum § endereço de grupo • Roteador designado: IGMP e encaminhamento à subrede Marinho Barcellos - PIP/CA - UNISINOS 18RNP2000 IGMP: modelo query-response • Determinar quais grupos estão sendo assinados • Roteador designado envia Query periodicamente • Host assinante envia um Report para cada grupo assinado • Roteador designado determina quais grupos estão sendo assinados Marinho Barcellos - PIP/CA - UNISINOS 19RNP2000 IGMP: supressão com atraso aleatório • Implosão com muitos grupos ou muitos membros • Mecanismo de supressão com atraso aleatório • Basta o primeiro report de um host Marinho Barcellos - PIP/CA - UNISINOS 20RNP2000 IGMP: entrada em grupo com join • Problema na latência de entrada em grupo • Host envia Report (join) quando grupo é assinado • Roteador recebe Report e inclui grupo na lista de ativos Marinho Barcellos - PIP/CA - UNISINOS 21RNP2000 IGMP: saída silenciosa • Saída silenciosa quando host sai do grupo • Roteadores mantém um contador para cada grupo • Em 3 minutos, grupo é eliminado • Enquanto isso, tráfego de grupo continua a ser encaminhado Marinho Barcellos - PIP/CA - UNISINOS 22RNP2000 Ilustração dos Intervalos no IGMPv1 latência de saída (3min) Query interval (60seg) Query interval (60seg) Query interval (60seg) intervalo aleatório de resposta (10seg) host deixa grupo Marinho Barcellos - PIP/CA - UNISINOS 23RNP2000 IGMP versão 2 • RFC2236, IETF, 1997 • Correção de problemas detectados no IGMPv1 • Compatível com a primeira versão (interoperabilidade?) • Principais modificações: § Leave § Query específica para um grupo • Query interval alterado de 60seg para 125seg Marinho Barcellos - PIP/CA - UNISINOS 24RNP2000 IGMPv2: saída de grupo otimizada • Host envia Leave <grupo> para todos roteadores • Roteador não sabe se este foi o último host no grupo • Roteador envia Query <grupo> para o endereço <grupo> com latência máxima de 1seg • Caso ninguém responda § repete e em 2seg assume que não há mais membros § pára de encaminhar pacotes endereçados a <grupo> • Latência de saída inferior a 3seg Marinho Barcellos - PIP/CA - UNISINOS 25RNP2000 IGMP versão 3 • Incompleto • Host pode selecionar tráfego específico por fonte • Permite assinar um grupo mas restringir transmissor(es) dentro do grupo • Duas novas mensagens: § Inclusion Group-Source Report: acrescenta uma fonte § Exclusion Group-Source Report: exclui uma fonte << Sumário << >> mais informações sobre IGMPv2 >> Marinho Barcellos - PIP/CA - UNISINOS 27RNP2000 IGMPv2: formato do pacote • Formato do pacote (v2) § tipo/versão (0-7): Membership General Query, Membership Report v1, Membership Group-Specific Query, Membership Report v2, Leave Group § tempo máximo de resposta (8-15): tempo máximo de atraso aleatório, em centenas de milisegundos § checksum (15-31) § endereço de grupo (32-63): endereço (grupo) • Tempo máximo de resposta é usado para ajustar nível de respostas § maior o valor, mais espalhadas tendem a ficar as respostas § crítico quando há muitos membros em uma rede Marinho Barcellos - PIP/CA - UNISINOS 28RNP2000 IGMPv2: eleição de “perguntador” • O roteador com menor IP deve ser eleito como o “perguntador” (querier) • Roteadores IGMPv2 enviam mensagem General Query para “All-multicast-systems-group” (224.0.0.1) • Roteador que recebe essa mensagem compara IP da origem com o seu próprio • Roteadores mantém um temporizador que é resetado a cada General Query recebida (cada 125seg) • Se o roteador eleitomorre, 250seg após um novo é eleito << Sumário << Roteamento Multicast Marinho Barcellos - PIP/CA - UNISINOS 31RNP2000 Classes de Protocolos de Roteamento Unicast protocolos de roteamento estáticos dinâmicos centralizados distribuídos vetor de distâncias estado de link Marinho Barcellos - PIP/CA - UNISINOS 32RNP2000 Classes de Protocolos de Roteamento Multicast • Modelo Push x Modelo Pull § push: empurra e causa rejeição § pull: puxa tráfego multicast protocolos de roteamento multicast modo denso (árvore baseada na fonte) modo esparso (árvore compartilhada, pull) vetor de distâncias estado de link Marinho Barcellos - PIP/CA - UNISINOS 33RNP2000 • Uma árvore para cada fonte Si que transmite ao grupo G • Fonte S representa raiz da árvore multicast • Cada pacote atravessa um link apenas uma vez • Roteadores formam 1 árvore para cada par (Si, G) • Animacoes\roteamento_arvore_baseada_fonte.swf Árvore Multicast Baseada na Fonte Marinho Barcellos - PIP/CA - UNISINOS 34RNP2000 Árvore Multicast Compartilhada • Há apenas 1 árvore para todo o grupo • Unidirecional: raiz é o “núcleo” do grupo multicast § todos os pacotes são enviados ao núcleo e após distribuídos • Bidirecional: não há uma raiz • Independe de quantos remetentes no grupo • Animacoes\roteamento_arvore_compartilhada.swf • Animacoes\roteamento_arvore_compartilhada-dois.swf Marinho Barcellos - PIP/CA - UNISINOS 35RNP2000 Dois Caminhos... >> determinação da árvore multicast: menor caminho x custo global mínimo >> ...ou pular direto para... >> principais protocolos de roteamento multicast >> Determinação da Árvore Multicast Qual o critério para determinar uma árvore multicast? Marinho Barcellos - PIP/CA - UNISINOS 37RNP2000 Árvore de Caminho Mais Curto • Objetivo: minimizar, individualmente, distância entre fonte e cada receptor • Equivalente a encontrar caminho mais curto para cada par fonte-receptor • Dois algoritmos: § Bellman-Ford § Dijkstra Marinho Barcellos - PIP/CA - UNISINOS 38RNP2000 Árvore de Caminho Mais Curto FON RT1 RT3 RT5 RT6 RT9 RT11 R2 R3 R4 RT4 RT7 RT10 R6 R7 R5 R1 Rn FON RTn Remetente Receptor Roteador RT2 RT8 Marinho Barcellos - PIP/CA - UNISINOS 39RNP2000 Árvore de Custo Global Mínimo • Objetivo: minimizar o custo total da árvore multicast • Prioriza compartilhamento de caminhos • Dois tipos de algoritmos § MST – Minimum Spanning Tree (árvore de expansão mínima) § Árvore de Steiner – problema NP-completo se links podem ter pesos idênticos Marinho Barcellos - PIP/CA - UNISINOS 40RNP2000 Árvore de Custo Global Mínimo FON RT1 RT3 RT5 RT6 RT9 RT11 R2 R3 R4 RT4 RT7 RT10 R6 R7 R5 RT2 RT8 R1 Rn FON RTn Remetente Receptor Roteador Marinho Barcellos - PIP/CA - UNISINOS 41RNP2000 Comparação entre Abordagens Caminho mais longo (latência): Custo global (largura de banda): 5 18 Caminho mais longo (latência): Custo global (largura de banda): 7 15 FON RT1 RT3 RT5 RT6 RT9 RT11 R2 R3 R4 RT4 RT7 RT10 R6 R7 R5 R1 RT2 RT8 FON RT1 RT3 RT5 RT6 RT9 RT11 R2 R3 R4 RT4 RT7 RT10 R6 R7 R5 RT2 RT8 R1 Marinho Barcellos - PIP/CA - UNISINOS 42RNP2000 Principais Protocolos de Roteamento Multicast • RPF - Reverse Path Forwarding • DVMRP - Distance Vector Multicast Routing Protocol • MOSPF - Multicast Open Shortest-Path First • PIM/DM - Protocol-Independent Multicast/Dense Mode • PIM/SM - Protocol-Independent Multicast/Sparse Mode • CBT - Core-Based Trees • Roteamento Multicast Inter-domínio RPF: Reverse Path Forwarding Marinho Barcellos - PIP/CA - UNISINOS 44RNP2000 RPF: Reverse Path Forwarding • Utilizado bem no início, não é multicast, e sim broadcast • Broadcast truncado • Vantagem principal: uso da infra-estrutura unicast • Controle de tráfego unicamente baseado em TTLs Marinho Barcellos - PIP/CA - UNISINOS 45RNP2000 RPF: Reverse Path Forwarding • Como evitar laços eternos na propagação de pacotes? • Roteadores selecionam e descartam pacotes que não vem do menor caminho até a fonte Marinho Barcellos - PIP/CA - UNISINOS 46RNP2000 Exemplo de RPF: (roteador RT6) FON RT1 RT3 RT5 RT6 RT9 RT11 R2 R3 R4 RT4 RT7 RT10 R6 R7 R5 RT2 RT8 R1 Rn FON RTn Fonte Receptor Roteador Marinho Barcellos - PIP/CA - UNISINOS 47RNP2000 INUNDAÇÃO Exemplo de RPF: (roteador RT6) FON RT1 RT3 RT5 RT6 R4 RT4 Rn FON RTn subrede fonte subrede destino Roteador DESCARTE 0eth0R4 3RT4FON DISTNEXTDEST Tabela de Roteamento unicast em RT6 Pacote originário de FON chega via RT5 mas deveria ser RT4 Pacote originário de FON chega via RT4 corresponde ao menor caminho para FON << Protocolos de Roteamento << DVMRP: Distance Vector Multicast Routing Protocol Marinho Barcellos - PIP/CA - UNISINOS 50RNP2000 DVMRP: Distance Vector Multicast Routing Protocol • Protocolo baseado em “vetor de distâncias”, similar à RIP • Protocolo do tipo “denso” • Protocolo do tipo “Flood-and-Prune” • Primeiro protocolo de roteamento multicast, e mais largamente suportado • Infinito = 32 hops Marinho Barcellos - PIP/CA - UNISINOS 51RNP2000 DVMRP: determinação de vizinhos • Periodicamente, roteadores DVMRP verificam quais são seus vizinhos • Mensagem de sonda com lista de vizinhos enviada para 224.0.0.4 • Roteadores que recebem mensagem atualizam suas listas • No próximo intervalo, roteador envia nova mensagem de sonda com lista atualizada Marinho Barcellos - PIP/CA - UNISINOS 52RNP2000 DVMRP: tabela de roteamento • Informações de rota: Route Report periódicos • Ajudam a montar na tabela uma árvore de broadcast truncado • Tabela é separada de unicast e usada para § construção de árvores de distribuição baseadas na fonte § encaminhamento de pacotes (verificação de RPF) Marinho Barcellos - PIP/CA - UNISINOS 53RNP2000 DVMRP: formação da árvore com Prune • Quando da primeira transmissão em uma rede fonte • Inundação, adicionando entradas (Si, G) em roteadores • Redução de tráfego baseado em processo de poda • Processo é recursivo em direção à raiz • Informação de poda expira, com nova inundação Marinho Barcellos - PIP/CA - UNISINOS 54RNP2000 DVMRP: formação da árvore com Graft • Caso subrede que foi “podada” de árvore (Si, G) passa a assinar o grupo G • Subrede precisa ser recolocada na árvore • Evita atraso de minutos até nova inundação • Roteadores enviam mensagem de Graft corrente acima • Transmissão confiável (roteador retorna Graft-Ack) Marinho Barcellos - PIP/CA - UNISINOS 55RNP2000 DVMRP: escalabilidade • DVMRP utilizado na Mbone e intra-domínio • Hop count máximo de 31 § uso de túneis poderia aliviar • Protocolo baseado em vetor de distâncias § mecanismo periódico de atualização de rota (60seg) • DVMRP não é recomendado nem para intra-domínio << Protocolos de Roteamento << MOSPF: Multicast Open Shortest Path First Marinho Barcellos - PIP/CA - UNISINOS 58RNP2000 MOSPF: Multicast Open Shortest Path First • Extensão do protocolo de roteamento unicast OSPF • Protocolo baseado em estado de link (“link-state”) • OSPFv2 – RFC2328 § link-state: roteadores enviam LSAs (link-state announcements) § hierarquia de rede de dois níveis § área 0 (backbone) interliga todas as sub-áreas § roteadores inundam nas sub-áreas informações de estado de link § cada roteador mantém uma base de dados com um mapada rede § tabelas de roteamento são computadas com algoritmo de Dijkstra § roteadores especiais de borda conectam sub-áreas à área 0 Marinho Barcellos - PIP/CA - UNISINOS 59RNP2000 MOSPF: Multicast Open Shortest Path First • RFC1584, “Multicast Extensions to OSPF” • Roteamento multicast intra- e inter-área, além de inter-SA • Group Membership Link-State Announcement • Apenas roteadores designados geram LSAs • Roteadores recebem LSAs sobre membros de grupos Marinho Barcellos - PIP/CA - UNISINOS 60RNP2000 MOSPF: Algoritmo de Dijkstra • Mesmo Algoritmo de Dijkstra (unicast), com raiz diferente • Cálculo feito sob demanda, ao primeiro pacote, ou § quando a topologia muda, para todos os pares (Si, G), ou § quando a composição de grupo muda, apenas para (Si, G) • Para um cada par (Si, G), um roteador § executa uma vez o algoritmo de Dijkstra para... § gerar uma árvore de expansão de menor caminho enraizada em Si § ...e utiliza tal árvore para encaminhamento de pacotes em suas interfaces Marinho Barcellos - PIP/CA - UNISINOS 61RNP2000 MOSPF: Roteamento Inter-área • Inter-area multicast forwarder (ou MABR, multicast area border routers) • MABRs sabem quais grupos estão sendo assinados em cada sub-área • MABR resume informações de grupo e inunda nível 0 • MABR encaminha pacotes multicast entre sub-áreas • MABR é incluído (via wildcard) em todas as árvores geradas na sub-área Marinho Barcellos - PIP/CA - UNISINOS 62RNP2000 MGMG MG MG MOSPF: Roteamento Inter-área MABR1 MABR2 ÁREA 1 ÁREA 2 ÁREA 0 backbone area (S,G) Marinho Barcellos - PIP/CA - UNISINOS 63RNP2000 MGMG MG MG MOSPF: Roteamento Inter-área MABR1 MABR2 ÁREA 1 ÁREA 2 ÁREA 0 backbone area (S,G) MASBR external AS (S, G) Marinho Barcellos - PIP/CA - UNISINOS 64RNP2000 MOSPF: escalabilidade • Vantagem de MOSPF: reage rapidamente • MOSPF é utilizado em diversas redes hoje em dia • Escalabilidade bastante limitada § demanda de processamento cresce muito com número de pares (S, G) § redes dinâmicas, ou com grupos dinâmicos, sobrecarregam roteadores << Protocolos de Roteamento << PIM/DM: Protocol Independent Multicast Dense Mode Marinho Barcellos - PIP/CA - UNISINOS 67RNP2000 PIM: Protocol Independent Multicast • PIM é independente de roteamento unicast IP § pode operar independentemente de protocolo de roteamento unicast § não emprega uma tabela de roteamento própria § utiliza tabela de roteamento unicast existente Marinho Barcellos - PIP/CA - UNISINOS 68RNP2000 PIM/DM: modo denso • Usa “flood-and-prune”, tal como DVMRP • Diferença para DVMRP: inunda apenas vizinhos PIM • Bom para redes com uma alta densidade de membros • Descoberta de vizinhos com mensagens “hello” § cada 30seg envia para 224.0.0.2 (all-routers) Marinho Barcellos - PIP/CA - UNISINOS 69RNP2000 PIM/DM: poda de ramos (pruning) • Pacote de prune é enviado sempre que § tráfego chega em interface não RPF (exceto meio compartilhado) § roteador folha e nenhum receptor diretamente conectado § todos roteadores filhos enviaram prune • Mecanismo PIM/DM asserts § quando há 2+ roteadores encaminhando pacotes em uma LAN § roteadores disputam quem deve encaminhar § perdedores fazem prune na interface Marinho Barcellos - PIP/CA - UNISINOS 70RNP2000 PIM/DM: escalabilidade • É superior ao DVMRP porque § não utiliza tabelas próprias de roteamento para fazer verificação RPF § não troca atualização de rota periodicamente • Entretanto, § quantidade de estado: uma entrada (Si, G) para cada par fonte/grupo § mantém comportamento flood-and-prune • Avanço recente proposto pelo IETF: State-Refresh § mensagens enviadas por roteadores fonte § refresca estado de prune nas interfaces (se houve tráfego em 3 min) § diminui comportamento flood-and-prune << Protocolos de Roteamento << PIM/SM: Protocol Independent Multicast Sparse Mode Marinho Barcellos - PIP/CA - UNISINOS 73RNP2000 PIM/SM: modo esparso • Modo esparso: receptores dispersos e modelo pull • Motivação: construir árvore de distribuição multicast sem o overhead de DVMRP ou PIM/DM (inundações) • Continua necessário distribuir pacotes de maneira eficiente através de uma árvore de distribuição multicast Marinho Barcellos - PIP/CA - UNISINOS 74RNP2000 PIM/SM: modelo de join explícito • Receptor envia mensagem de join para o nó raiz da árvore (RP) • Mensagem vai configurando, hop a hop, roteadores para futuro encaminhamento de tráfego de grupo • Mensagens de Prune são enviadas quando sai do grupo • Diferença para DVMRP são as mensagens explícitas de Join e Prune Marinho Barcellos - PIP/CA - UNISINOS 75RNP2000 PIM/SM: join em árvore compartilhada RECEPTOR 1 Grupo G ROTA ROTC ROTRP ROTC ROTE ROTD IGMP report (*,G) Join RECEPTOR 2 Grupo G IGMP report (*,G) Join Árvore resultante Marinho Barcellos - PIP/CA - UNISINOS 76RNP2000 PIM/SM: prune em árvore compartilhada RECEPTOR 1 Grupo G ROTA ROTC ROTRP ROTC ROTE ROTD RECEPTOR 2 Grupo G IGMP Leave G (*,G) Prune IGMP Query G Árvore resultante Marinho Barcellos - PIP/CA - UNISINOS 77RNP2000 PIM/SM: join em árvore baseada na fonte RECEPTOR 1 Grupo G ROTA ROTC ROTRP ROTC ROTE ROTD (S1,G) Join Árvore resultante FONTE S1 Grupo G IGMP report (S1,G) Join árvore de caminho mais curto Marinho Barcellos - PIP/CA - UNISINOS 78RNP2000 PIM/SM: refrescamento de estado • Estado nos roteadores é refrescado periodicamente (1min) • Roteador envia mensagem de Join para roteador pai • Mensagem de Join contém uma lista • Entradas (*,G) e (S,G) não atualizadas expiram em 3min Marinho Barcellos - PIP/CA - UNISINOS 79RNP2000 PIM/SM: mensagens de registro de fonte • Inicialmente, tráfego de uma fonte S1 deve ser enviado para o RP, que o distribuirá via árvore compartilhada • Para que o RP receba tráfego enviado ao grupo por S1 § o primeiro roteador junto a S1 encapsula cada pacote enviado por S1 juntamente com uma mensagem de PIM Register § pacotes de Register com dados são enviados direto por unicast ao RP § RP desencapsula pacotes e verifica se existem receptores registrados Marinho Barcellos - PIP/CA - UNISINOS 80RNP2000 PIM/SM: mensagens de registro de fonte • Se há receptores registrados § RP então faz Join da árvore de menor caminho baseada em S1 para receber tráfego de S1 nativamente § mensagens de Join passam de hop em hop configurando entradas (S1,G) em roteadores entre o RP e S1 • RP envia mensagem de Register-Stop quando § RP começa a receber tráfego (S1,G) de maneira nativa, via árvore baseada na fonte S1 – RP, ou § se RP não precisa do tráfego porque não há receptor registrado Marinho Barcellos - PIP/CA - UNISINOS 81RNP2000 PIM/SM: exemplo de registro de fonte RECEPTOR 1 Grupo G ROTA ROTC ROTRP ROTC ROTE ROTD RECEPTOR 2 Grupo G FONTE S1 Grupo G n x Register S,G (S1,G) Join(S1,G) Join Register-stop Marinho Barcellos - PIP/CA - UNISINOS 82RNP2000 PIM/SM: exemplo com 2 fontes RECEPTOR 1 Grupo G ROTA ROTC ROTRP ROTC ROTE ROTD RECEPTOR 2 Grupo G FONTE S1 Grupo G FONTE S2 Grupo G (S1,G) SPT (S1,G) SPT (*,G) RPT (*,G) RPT (S2,G) SPT SPT – Shared-Path Tree RPT – Rendesvouz-Point Tree Marinho Barcellos - PIP/CA - UNISINOS 83RNP2000 PIM/SM: troca entre árvores (switchover) • Roteador folha pode decidir trocar de tipo de árvore § de compartilhada (*,G) para árvore baseada na fonte (S,G) • Roteadores são configurados com um threshold (valor limite) que indica quando (vale a pena) efetuar a troca • No caso de Cisco, valor default é 0 (troca imediatamente após receber primeiros pacotes) Marinho Barcellos- PIP/CA - UNISINOS 84RNP2000 PIM/SM: exemplo de switchover RECEPTOR 1 Grupo G ROTA ROTC ROTRP ROTC ROTE ROTD RECEPTOR 2 Grupo G FONTE S1 Grupo G FONTE S2 Grupo G (S1,G) SPT (S1,G) SPT (*,G) RPT (*,G) RPT (S2,G) SPT (S1,G) Join (S1,G) Prune (S1,G) SPT (S1,G) Prune(S1,G) Prune resultado final Marinho Barcellos - PIP/CA - UNISINOS 85RNP2000 PIM/SM: escalabilidade • Modelo de Join explícito (pull) tráfego multicast é melhor restrito (!= flood-and-prune) • Troca para árvore baseada na fonte elimina overhead de enviar tráfego a um RP • Configurabilidade – é possível alterar o threshold • É a melhor escolha para roteamento intra-domínio, segundo a Cisco << Protocolos de Roteamento << CBT: Core Based Trees Marinho Barcellos - PIP/CA - UNISINOS 88RNP2000 CBT: Core Based Trees • Trabalho em andamento: 3 versões incompatíveis entre si • CBTv2 – RFC 2189 • Motivação fundamental para CBT § redução da quantidade de estado em roteadores – para O(G) § proporcional ao grupo, e não aos pares (S,G) • CBT emprega § uma única árvore § compartilhada entre os membros de um grupo § bidirecional Marinho Barcellos - PIP/CA - UNISINOS 89RNP2000 CBT: Core Based Trees ROTX M7 ROTY ROTC ROTA ROTB ROTD ROTE ROTF ROTG M1 M2 M3 M4 M6 M5 Marinho Barcellos - PIP/CA - UNISINOS 90RNP2000 CBT: Core Based Trees • Como a árvore é bidirecional, tráfego não precisa ir antes até o núcleo • Diminui § latência em relação a árvore PIM/SM § estado e processamento em roteadores • Roteadores que possuem fontes que não são membros § precisam encapsular seus pacotes e enviá-los ao Core ou outro nó mais próximo que faça parte da árvore • Distribuição de tráfego sub-optima § exemplo: adicionar fonte ligada ao roteador ROTG Marinho Barcellos - PIP/CA - UNISINOS 91RNP2000 CBT: Core Based Trees • Para entrar em grupo... • Roteador folha envia Join em direção ao Core • Pacote é encaminhado por roteadores CBT até encontrar um roteador que pertença à árvore (o Core no pior caso) • Esse roteador envia um Join-Ack de volta Marinho Barcellos - PIP/CA - UNISINOS 92RNP2000 CBT: Core Based Trees • Vantagem de CBT é a escalabilidade • Desvantagens principal é a existência de um ponto central de falha, o Core (núcleo) • Também o aumento de latência, especialmente se locação do Core é ruim Marinho Barcellos - PIP/CA - UNISINOS 93RNP2000 Resumindo... protocolos de roteamento multicast modo denso (árvore baseada na fonte) modo esparso (árvore compartilhada) vetor de distâncias estado de link DVMRP PIM-DM MOSPF PIM-SM CBT << Protocolos de Roteamento << Marinho Barcellos - PIP/CA - UNISINOS 95RNP2000 Outros Protocolos de Roteamento Multicast • OCBT: Ordered Core base Trees • H-DVMRP: Hierarchical DVMRP • HPIM: Hierarchical PIM Roteamento Multicast Inter-domínio Marinho Barcellos - PIP/CA - UNISINOS 97RNP2000 Roteamento Multicast Inter-domínio • Embora DVMRP seja usado no Mbone... • Protocolos de roteamento vistos são apropriados para um único domínio (detalhes) • Necessário “colar” junto vários protocolos intra-domínio • Inter-operação com protocolos DVMRP, PIM, CBT, MOSPF • Domínio raiz? Marinho Barcellos - PIP/CA - UNISINOS 98RNP2000 Roteamento Multicast Inter-domínio • Protocolos inter-domínio § Multicast BGP (ou Multiprotocol BGP) § Multicast Source Discovery Protocol (MSDP) • Grupo IETF Inter-domain multicast routing group § Border Gateway Multicast Protocol (BGMP) § Multicast Address Set Claim (MASC) << Sumário << Marinho Barcellos - PIP/CA - UNISINOS 100RNP2000 Deficiências Protocolos Atuais • DVMRP § tráfego periódico de atualização de rotas § distância máxima em hops = 31 § flood-and-prune: inundação periódica, tráfego de poda § estado em roteadores (árvore baseada na fonte) • MOSPF § inundação a cada troca de composição de grupo § computação do algoritmo de Dijkstra sobrecarrega roteadores § estado em roteadores (mapa completo da rede e dos grupos) • PIM-DM § flood-and-prune: inundação periódica, tráfego de poda § estado em roteadores (árvore baseada na fonte) Marinho Barcellos - PIP/CA - UNISINOS 101RNP2000 Roteamento Multicast Inter-domínio • PIM-SM § controle de grupo em RP mal localizado § dependendo, poden ser criadas muitas árvores baseadas na fonte § ISPs não querem depender de um RP localizado em outro ISP... • CBT § potencial escolha de um RP ou Core ruim § concentração de tráfego no núcleo • << protocolos inter-domínio << << Sumário << Mbone - Internet Multicast Backbone Marinho Barcellos - PIP/CA - UNISINOS 104RNP2000 Mbone: Multicast Backbone • Subconjunto de roteadores e hosts interconectados capazes de encaminhar tráfego multicast • Histórico § início dos anos 90: criação da DARPA Testbed Network § Xerox, LBL, SRI, ISI, BBN, MIT, Delaware § Sun SPARC com routed e mrouted: IP multicast nativo (DVMRP) § 1992: IETF meeting, San Diego - transmissão do áudio do evento • Em § 1997, 3.400 sub-redes com multicast habilitado § 1998, havia 7000 rotas DVMRP sendo anunciadas • 50+% migrou para plataformas comerciais Marinho Barcellos - PIP/CA - UNISINOS 105RNP2000 Mbone Viabilizou Multicast na Internet • O Impasse, ou o problema do “ovo-e-da-galinha” • Solução? § na periferia, interessados usam IGMP § estabelecimento manual de túneis IP entre estas subredes e roteamento DVMRP • Primeiro túnel: 1988, entre BBN (Boston) e Stanford Marinho Barcellos - PIP/CA - UNISINOS 106RNP2000 Mbone e os Túneis • Permitem multicast ao longo de uma rede que não suporta multicast • Ligam ponto-a-ponto dois roteadores que suportam IP multicast • Tipicamente daemon “mrouted” em estação de trabalho • Limitação de tráfego: não encaminha se TTL < threshold Tópicos Avançados Marinho Barcellos - PIP/CA - UNISINOS 108RNP2000 Transmissão em Tempo Real • RTP/RTCP – Real Time Protocol, Real Time Control Protocol § unicast e multicast § framework para aplicações com tempo real “soft” § complementado por perfis § sincronização de streams de mídia através de timestamps § permite aos receptores monitorarem a qualidade de recepção § mecanismo de “feedback” que limita esse tipo de tráfego a 5% do total • Aplicações de tempo-real usualmente § podem conviver com poucas perdas de pacotes § são sensíveis a atrasos na entrega de pacotes Marinho Barcellos - PIP/CA - UNISINOS 109RNP2000 QoS – Quality of Service • Garantir qualidade de serviço para fluxos de pacotes • Reserva de banda • RSVP – Resource Reservation Protocol • IntServ – Integrated Services § guaranteed § controlled load • DiffServ – Differenciated Services • Protocolo de roteamento dirigido a QoS Marinho Barcellos - PIP/CA - UNISINOS 110RNP2000 Multicast Confiável • Transmissão de pacotes via IP multicast não é confiável • Controle de congestionamento • Para se inserir confiabilidade (controle de erro), quem recebe pacote envia de volta um ACK (a la TCP) • Problema de escalabilidade: processamento de ACKs, quantidade de estado levam à implosão • Disseminação confiável via protocolo multicast escalável • Mecanismos de controle de congestionamento << Sumário << Comentários Finais Marinho Barcellos - PIP/CA - UNISINOS 113RNP2000 Resumo • Fundamentos de IP Multicast • IGMP - Internet Group Management Protocol • Roteamento Multicast § RPF § DVMRP § MOSPF § PIM/DM § PIM/SM § CBT • Tópicos avançados Marinho Barcellos - PIP/CA - UNISINOS 114RNP2000 Contatos http://www.inf.unisinos.br/~marinho marinho@exatas.unisinos.br § UNISINOS § PIP/CA – Programa de Pós-Graduação em Computação Aplicada• Projeto sobre Protocolos Multicast para Disseminação Confiável § PRAV – Laboratório de Pesquisa de Redes de Alta Velocidade f i m
Compartilhar