Escolar Documentos
Profissional Documentos
Cultura Documentos
com
1. Introduo
Este trabalho tem como objetivo fazer uma descrio sobre os protocolos de roteamento multicast: PIM, DVRMP, IGMP. Juntamente com sua localizao na hierarquia de camadas e as mensagens que so geradas.
O Internet Assigned Number Authority (IANA) o rgo gestor das faixas de endereos IP na Internet. O IANA dedicou uma faixa, conhecida como Classe D, especificamente para o endereamento multicast, como exibido na Figura 2. Esta faixa em notao decimal compreende os endereos entre 224.0.0.0 a 239.255.255.255. Os endereos desta classe D so subdivididos em subgrupos de aplicaes conforme ilustrado na tabela abaixo:
Figura 2: Classe IP onde N representa rede (network) e H host. A classe D foi reservada para endereos multicast. Os protocolos de roteamento podem utilizar dois modos, o modo denso - Dense Mode ou o modo esparso Sparse Mode. Os protocolos de modo denso pressupem a existncia densa de receptores e de grupos, isto , vrias sub-redes participando com pelo menos um receptor em cada sub-rede. O trfego multicast distribudo segundo a rvore ligada a fonte onde primeiramente, todas as interfaces so inundadas com o trfego. As interfaces que no estejam participando do grupo utilizam o recurso de podar prune para no receberem mais trfego multicast. Entre esses protocolos podemos citar o Distance Vector Multicast Routing Protocol (DVMRP) e o Protocol Independent Multicast Dense Mode (PIM DM). Para os protocolos de modo esparso pressuposta a existncia esparsa de receptores de grupos, isto , poucas sub-redes participando. O trfego multicast pode ser distribudo segundo a rvore compartilhada ou segundo a rvore ligada a fonte. A interface s receber trfego se utilizar o recurso de unio join ao grupo. Este join se propaga at a fonte ou at o RP. Entre esse protocolos podemos citar o Protocol Independent Multicast Sparse Mode (PIM SM).
3. Protocolo PIM
Novos protocolos de roteamento multicast surgiram no incio dos anos 90. Estas famlias de protocolos foram denominadas coletivamente de Protocol Independet Multicast (PIM). O nome devido ao fato de o encaminhamento multicast no depender de nenhum protocolo unicast especfico. Assim o PIM usar a tabela de roteamento unicast existente no importando como ela fora construda. Existem 4 variantes do Protocolo PIM: PIM Sparse Mode (PIM-SM). PIM Dense Mode (PIM-DM).
3.1
Como citado anteriormente este protocolo realize roteamento multicast e de maneira independente dos mecanismos fornecidos por algum protocolo de roteamento unicast que esteja sendo utilizado. Contudo, qualquer implementao de PIM DM necessita a existncia de um protocolo de roteamento unicast e no armazenam rotas especficas para multicast e no trocam mensagens de roteamento. O algoritmo de roteamento utilizado o RPF. Assim, quando um roteador habilitado com PIMDM recebe um pacote multicast ele verifica em sua tabela de rotas unicast, se a interface de rede pela qual o pacote multicast chegou a que utilizada para enviar pacotes unicast a rede de origem. Caso a verificao seja verdadeira o pacote enviado a todas as outras interfaces do roteador. Quando iniciada uma transmisso o roteador, cria uma entrada para o par (fonte, grupo). Esta entrada contem: Endereo unicast da fonte. Endereo multicast do grupo. Interface de chegada. Lista das interfaces de sada Alguns flags e temporizadores (um temporizador para cada entrada, para cada interface removida da lista de interfaces de sada). Em seguida o roteador transmitir cpias do pacote para as interfaces das quais no recebeu uma mensagem de poda. Se todas as interfaces foram podadas o roteador descartar o pacote e enviar a mensagem de poda para a interface origem. O resultado final ser uma rvore ligada fonte com caminhos da origem a todos os membros do grupo. A figura 3 a seguir mostra a sequncia de funcionamento do PIM-DM. Na figura (a) temos a rede no seu estado inicial, com protocolo de roteamento unicast e PIM-DM habilitado nos roteadores, porm sem trfego multicast. Na figura (b) temos o incio da transmisso por parte da fonte, todos os roteadores encaminham o trfego multicast, aps a checagem RPF, a todas as suas interfaces, como consequncia a rede inundada pelo trfego multicast. Na figura (c) as interfaces dos roteadores que no possuem receptores enviam mensagens de poda ao roteador hierarquicamente superior. Na figura (d) mostrado o fluxo final do trfego multicast.
(a)
(b)
(c)
(d)
Figura 3: A sequncia acima mostra o funcionamento do PIM-DM. Na figura (a) a rede no seu estado inicial, sem trfego multicast. Na figura (b) todos os roteadores encaminham o trfego multicast a todas as suas interfaces. Na figura (c) as interfaces dos roteadores enviam mensagens de poda ao roteador hierarquicamente superior. Na figura (d) o fluxo final do trfego multicast. Quando um receptor pertencente um segmento j podado deseja comear a receber trfego multicast so utilizadas mensagens enxertadoras Graft, para adicionar o ramo anteriormente podado rvore de distribuio. O processamento das mensagens de controle e o envio de pacotes do PIM-DM esto integrados com a operao do PIM-SM, de modo que um nico roteador pode executar diferentes modos para diferentes grupos. As mensagens pertencentes ao PIM-DM so encapsuladas em pacotes IP. A figura 4 abaixo mostra o formato do cabealho de um pacote PIM-DM.
Seus campos podem ser descritos como: Verso: Corresponde verso do PIM-DM, com valor atual igual a dois. Tipo: Especifica a mensagem PIM-DM, podendo ter como valores 0, 3,5,6 e 7 como mostrado na tabela 2. Reservado: ignorado pelo receptor. Possui o valor zero. Checksum: Contem o checksum com 16 bits.
A utilizao do mtodo de inundao e poda leva o trfego multicast a todos os pontos da rede, tornando-se muito eficiente para aplicaes onde a maioria dos dispositivos de um segmento de rede recebe o trfego multicast. Como o processo de inundao repetido a cada trs minutos a quantidade de trfego multicast enviado desnecessariamente associado inundao mnimo quando existem muitos dispositivos e segmentos recebendo trfego multicast. A configurao apropriada para o PIM-DM : Fontes e receptores a poucos roteadores de distncia. Poucas fontes e muitos receptores. Volume de trfego multicast muito alto. Stream de multicast constante.
3.2
Da mesma maneira que o PIM-DM, este protocolo realiza roteamento multicast, como o prprio nome diz, de maneira independente dos mecanismos fornecidos por algum protocolo de roteamento unicast que esteja sendo utilizado. Contudo, qualquer implementao de PIM-SM necessita a existncia de um protocolo de roteamento unicast. Com isso os roteadores multicast trabalham com as tabelas de roteamento unicast, no armazenam rotas especficas para multicast e no trocam mensagens de roteamento [RFC 2362]. Neste protocolo definido um ponto de encontro ou RP, o qual recebe as mensagens de unio enviadas pelos dispositivos que visam um grupo especfico. Quando uma fonte inicia uma transmisso multicast, o roteador mais prximo da fonte envia um registro para o RP, tornando-o um ponto intermedirio necessrio ao estabelecimento do trfego multicast entre as fontes e seus respectivos receptores. A seleo do RP pode ser realizada de forma esttica ou de forma dinmica. Na maneira esttica a configurao de cada roteador deve ser feita a indicao de qual ser o RP. A escolha dinmica do RP ocorre sempre no incio da formao de um grupo multicast. Somente os segmentos de rede que possuem receptores ativos e que tenham realizado um pedido de recebimento de dados multicast receberam o trfego multicast. A rvore compartilhada utilizada no estgio inicial da comunicao multicast. Dependendo da configurao utilizada, o trfego pode continuar utilizando a rvore compartilhada ou passar a utilizar a rvore ligada fonte mais otimizada. De acordo com a implementao pode ser feita uma opo para que seja somente utilizada a rvore compartilhada durante todo o trfego multicast. O seu funcionamento pode ser visto na figura 5. Na figura (a) a rede est no seu estado inicial, totalmente habilitada para IP multicast, porm ainda sem o trfego multicast. Na figura (b) a fonte comea a transmitir para um grupo especfico, o roteador da sua LAN ento, envia ao RP o trfego multicast encapsulado em mensagens unicast de registro. Na figura (c) o receptor 1 comunica ao roteador da sua LAN que deseja participar do grupo 224.1.1.1 atravs do IGMP (explicado nos prximos tpicos), este roteador envia uma mensagem PIM-SM de unio ao RP.
Na figura (d) o RP envia uma mensagem PIM-SM de unio ao prximo roteador na direo da fonte, que tambm envia uma mensagem de unio na direo da fonte, estabelecendo a conexo inicial entre o receptor e a fonte. Na figura (e) o RP j recebe o trfego multicast e envia uma mensagem de Parada de Registro, coma finalidade de cessar o trfego de mensagens unicast de registro. Na figura (f) o trfego multicast encaminhado ao RP e a partir dele chega at o receptor, ou seja, flui atravs da rvore compartilhada. Na figura (g) iniciada a transio para a rvore ligada a fonte com uma mensagem de unio do roteador c para o roteador a, durante a transio ocorreram pacotes duplicados na recepo. Na figura (h) as mensagens de poda finalizam a transio entre as rvores de distribuio, cessando tambm os pacotes duplicados. Na figura (i) um novo receptor indicado ao roteador da sua LAN, que envia uma mensagem PIM-SM de unio. Na figura (j) o fluxo final do trfego multicast.
(a)
(b)
(c)
(d)
(e)
(f)
(g)
(h)
(i)
A figura 6 mostra o pacote PIM-SM encapsulado em um datagrama IP, o valor do campo protocolo 103 para identificar que o datagrama contm um pacote PIM-SM encapsulado, o campo de dados no possui tamanho fixo, no sendo limitado aos 32 bits da figura.
Figura 6: Pacote PIM-SM encapsulado em um datagrama IP. A figura 7 mostra o formato do cabealho IP de um pacote PIM-SM.
Seus campos podem ser descritos como: Verso: Corresponde verso do PIM-SM, com valor atual igual a dois. Tipo: Especifica a mensagem PIM-SM, seus valores so vistos na tabela 3 a seguir. Reservado: ignorado pelo receptor. Possui o valor zero. Checksum: Contem o checksum com 16 bits. A tabela 3 abaixo mostra os tipos de mensagens para o PIM-SM.
4. Protocolo DVMRP
O DVMRP (Distance Vector Multicast Routing Protocol ) foi o primeiro protocolo utilizado no MBone (Multicast Backbone), a rede virtual criada para desenvolver o IP Multicast. O DVMRP utiliza vetores de distncia (como protocolo de roteamento unicast RIP) para construir rotas unicast para cada destino. A distncia expressa em nmero de saltos, como no RIP. A rvore multicast criada utilizando o algoritmo RPF e as tabelas de roteamento unicast contrudas pelo DVMRP. Quando um roteador DVMRP recebe dados de uma determinada fonte, ele verifica se os dados chegaram pela interface que ele utilizaria para ir fonte (caminho reverso) e ento reenvia estes dados em todas suas intefaces de sada, inundando a rede. Roteadores que no esto interessados no uso de dados eviam mensagens de poda ao roteador de onde receberam os dados. Este mecanismo conhecido por inundao-e-poda (flood-and-prune). A descoberta de fontes ativas se faz atravs da
recepo dos dados, por isso a inudao da rede feita periodicamente. Isto inviabiliza a utilizao do DVRMP em grande escala. Durante a implantao inicial do DVRMP no Mbone, no havia podas de ramos da rvore, e as transmisses eram limitadas apenas pelo canto TTL. A partir de 1993, todas as implementaes do DVMRP passaram a utilizar a verso com podas do algoritmo RPF. Ainda assim, alguns pacotes inundam regularmente toda a rede Mbone, limitando-se apenas pelo campo TTL e por valores limite administrativamente configurados. A inundao peridica necessria para a descoberta de novos receptores.
Figura 8: Construo da rvore DVMRP Os roteadores R1 e R2 esto diretamente conectados N1, portanto R1 e R2 anunciam a seus vizinhos uma rota para N1 com comprimento de 1 salto. O roteador R4 recebe apenas um anncio de rota para N1, portanto seu prximo salto para N1 R2. Para comunicar R2 que R4 o utilizar como pai na rvore multicast, o DVMRP utiliza um mecanismo de poison-reverse especial. O roteador R4 envia um vetor de distncia com mtrica igual a (32 + mtrica recebida do pai) a R2 (32 o valor infinito no DVMRP). Desta forma, R2 marca a interface que o conecta a R4 como interface filha na rvore de distribuio de N1, construindo um ramo da rvore. O roteador R3 recebe dois anncios de rota para N1 de mesmo comprimento, para escolher uma nica rota, R3 escolhe a rota anunciada pelo vizinho de endereo IP mais baixo (suponha que seja R2). O roteador R3 envia ento um vetor com distncia 33 para R2, construindo mais um ramo da rvore TBT. Na prxima etapa, os roteadores R3 e R4 enviam vetores de distncia a seus demais vizinhos (com a mtrica da rota que eles possuem, acrescida de 1 salto, exatamente como no funcionamento do RIP). Desta forma, R5 aprende que possui uma rota para N1, passando por R4, com dois saltos. R5 envia o poinson-reverse correspondente a R4. Finalmente, R6 e R7 recebem o vetor de distncia de R5. Neste cenrio, R6 e R7 esto na mesma rede, e portanto apenas um dos roteadores deve se conectar rvore, o roteador designado (DR). No DVMRP, o roteador com endereo IP mais baixo escolhido geralmente como DR (suponha que seja R6 neste cenrio). Considere agora um n na rede N1 que envia dados para o grupo multicast G1. Existem receptores interessados em G1 nas redes N3 e N4 (figura 9). Inicialmente, a nica informao de roteamento que os ns possuem o estado deixado pelo protocolo unicast do DVMRP, ou seja, uma rvore TBT que cobre todas as sub-redes da topologia. Portanto, no incio os dados enviados pela fonte S1 iro inundar toda a rede. Como na rede N2 no existem receptores interessados no grupo G1, o roteador R3 envia uma mensagem de poda ( prune) ao seu roteador pai (R2), de forma que o trfego cessa de fluir para N2. A ausncia de receptores interessados no grupo detectada, em vez de sua presena. Por isso, necessrio que o processo de inundao seja repetido periodicamente (os estados de poda so volteis), pois esta a nica forma de anunciar a existncia de novas fontes/grupos aos eventuais receptores em redes podadas, como N2. A utilizao de uma rvore TBT pelo DVMRP tem a vantagem de restringir a inundao inicial do trfego multicast aos ramos desta rvore. No entanto, redes onde no existem receptores so periodicamente inundadas. Alm disso, o DVMRP implementa seu prprio roteamento unicast, em vez de utilizar as informaes do protocolo unicast em uso ( como faz o protocoloPIM). Ainda com relao ao roteamento unicast, o DVMRP, por utilizar vetores de distncia, sofre dos mesmos problemas de convergncia lenta que seu equivalente unicast, o RIP.
5. Protocolo IGMP O IGMP um mecanismo para troca de informaes entre um dispositivo e o roteador multicast mais prximo, permitindo determinar se um pacote multicast deve ser enviado a uma rede especfica, sendo utilizado para entrar e sair de grupos multicast. considerado uma extenso do ICMP, suas mensagens so encapsuladas nos datagramas IP. Atualmente o IGMP se encontra na verso dois e j existem implementaes da verso 3 beta. 5.1 IGMP v1
O protocolo IGMP v1 tem dois tipos de mensagens: Pergunta por Participao (Merbership Query). Relatrio de Participao (Membership Report). Quando alguma aplicao inicia um socket multicast a pilha de protocolos TCP/IP do dispositivo envia, automaticamente, uma mensagem do tipo relatrio de participao. Como esta mensagem enviada referente a um determinado grupo multicast, indicando que deseja participar deste grupo, o dispositivo tambm determina o endereo MAC deste grupo. O roteador transmite, a cada 60 segundos e a todos os dispositivos da rede, mensagens do tipo relatrio de participao a fim de verificar se existe pelo menos um participante dentro da subrede, interessado em receber trfego do grupo. Uma vez que o roteador no receba resposta ele envia trs mensagens do tipo pergunta por participao, em espaos de 60 segundos. Quando no recebe resposta essas trs mensagens o roteador determina o fim do trfego daquele grupo, para aquela sub-rede. As mensagens do tipo relatrio de participao, quando originadas no roteador, so destinadas a todos os dispositivos da rede, atravs do IP 224.0.01 e possuem valor de TTL igual a um. O pacote IGMP v1 possui 64 bits, coms os campos de verso, tipo, checksum e endereo do grupo multicast. Como pode ser visto na figura 10.
Figura 10: Formato da mensagem do IGMP v1, possui 8 bytes e os campos de verso, tipo, verificao de erro e endereo de grupo multicast.
5.2 IGMP v2
O IGMP v2 veio substituir a sua verso anterior e, atualmente, a verso padro. As mensagens podem ser de quatro tipos: Pergunta por Participao (Mermbership Query). Relatrio de participao para a verso 1 ( Membership Report). Relatrio de participao para a verso 2 ( Membership Report). Sair do grupo (Leave Group). Seu funcionamento , basicamente, o mesmo da verso anterior. A principal diferena a existncia de um novo tipo de mensagem, o sair do grupo. Atravs desta mensagem o dispositivo pode comunicar ao roteador multicast local que possui a inteno de sair do grupo, que envia uma mensagem do tipo relatrio de participao para aquele determinado grupo a fim de determinar se existe mais algum outro dispositivo interessado em continuar recebendo o trfego daquele grupo. Se no existir resposta em aproximadamente trs segundos o roteador para de encaminhar o trfego para aquela interface. A adio da mensagem do tipo sair do grupo reduziu, quando comparada com a verso anterior, a latncia de sada de um grupo. Fazendo com que o trfego desnecessrio e sem utilidade seja cessado muito antes. Com o intuito de evitar trfego desnecessrio de mensagens do tipo relatrio de participao duas tcnicas so utilizadas: Quando um dispositivo recebe uma mensagem do tipo pergunta por participao, antes de enviar um relatrio de participao inicializado um contador para cada participao em grupo. Cada contador configurado com uma escolha randmica de zero a D segundos. Quando este tempo expira enviada a mensagem de relatrio de participao para aquele grupo. Logo, as mensagens de relatrio de participao so propagandas dentro de um intervalo de D segundos. Quando uma mensagem de relatrio de participao enviada ela possui como endereo de destino o IP do grupo a qual ela se refere e o campo TTL tem valor igual a um, com isso os outros participantes que estejam na mesma rede verificam que j foi enviado o relatrio. Se um dispositivo percebe que j foi enviada uma mensagem de relatrio. Usualmente enviada como resposta apenas uma mensagem de relatrio. Usualmente enviada como resposta apenas uma mensagem de relatrio para cada grupo dentro de uma sub-rede. A figura 11 a seguir mostra o diagrama de tempo da operao do IGMP v2.
O pacote IGMP v2 possui 64 bits, com os campos de tipo, tempo mximo de espera para uma resposta, checksum e endereo do grupo multicast. Como pode ser visto na figura 12.
Figura 12: Formato da mensagem IGMPv2, possui 8 bytes com os campos de tipo, tempo mximo de espera para uma resposta, verificao de erro e endereo do grupo multicast. Os campos do pacote IGMPv2 possuem as seguintes informaes: Tipo: especifica o tipo de mensagem, podendo assumir como valores: 0x11: especifica uma mensagem de pergunta por participao. enviada pelo roteador multicast. Existem dois subtipos: Pergunta por Participao Comum: utilizada para reconhecer quais grupos possuem membros em uma determinada interface. Pergunta por Participao a um Grupo Especfico: uitilizada para determinar se um grupo especfico possui membros em uma dada interface. 0x16: Especifica uma mensagem de relatrio de participao. enviada por um dispositivo com a finalidade de sinalizar sua participao em um grupo especfico. 0x17: Especifica uma mensagem de sair do grupo. enviada por um dispositivo multicast. Tempo mximo de resposta: este campo utilizado em mensagens de pergunta por participao. Especifica o tempo mximo que um dispositivo espera at o envio do relatrio correspondente. A variao deste valor permite ao roteador multicast acertar a latncia de sada. Usa como base o tempo entre o ltimo dispositivo deixando um grupo e o seu tempo que o protocolo de roteamento notificado que no existem mais membros. Checksum: Contm o checksum com 16 bits. utilizada em todos os tipos de mensgagens. Endereo de grupo: Especifica um endereo vlido de um grupo multicast. utilizado em mensagens do relatrio.
5.3 IGMP v3
Esta verso atualmente est em desenvolvimento, ser o prximo passo na evoluo do IGMP. A partir desta verso os receptores de trfego multicast indicaro ao roteador de qual grupo desejam receber trfego assim como de qual fonte desejam receber este trfego multicast. J possui implementaes nas verses mais atualizadas dos sistemas operacionais do Windows, Macintosh, Unix.
6. Concluso
Protocolos de roteamento multicast leva uma certa vantagem em questo em desempenho sobre os outros protocolos de roteamento, unicast e broadcast, principalmente, quando h um caso onde uma maior quantidade de usurios esto dispostos a receber a mesma programao. Como nos protocolos de roteamento multicast os usurios devem se identificar e requisitar a participao nos grupos multicast, alm do mais os dados que sero enviados aos usurios participantes e a rede devem ser capaz de limitar que o trfego no v para direes erradas e evitar que haja consumo de banda desnecessariamente, a sua implementao bem mais complicada do que as implementaes dos outros protocolos de roteamento. Neste relatrio foram abordados tres tipos diferentes de protocolos de roteamento multicast e a abordagem de cada um para transferncia de dados em uma rede, os protocolos estudados foram: PIM, DVMRP, IGMP. O protocolo PIM trata-se de um protocolo multicast que no depende de nenhum
protocolo unicast especfico. J o protocolo DVMRP utiliza vetores de distncia para construir rotas unicast para cada destino. E por ltimo o protocolo IGMP um mecanismo para trocar informaes entre um dispositivo e o roteador multicast mais prximo.
7. Referncias
http://mesonpi.cat.cbpf.br/mcast/igmp.pdf http://www.gta.ufrj.br/ http://mesonpi.cat.cbpf.br/mcast/protocolos%20de%20Roteamento%20multicast.pdf http://www.netcraftsmen.net/resources/archived-articles/376-pim-dense-mode.html http://www.midiacom.uff.br/~debora/fsmm/trab-2007-1/multicast.pdf