Post on 07-Apr-2018
8/4/2019 Algoritimos de roteamento
http://slidepdf.com/reader/full/algoritimos-de-roteamento 1/118
Frank Meylan
ANÁLISE COMPARATIVA DE ALGORITMOS DE
ROTEAMENTO M ULTICAST PARA
COMUNICAÇÃO MULTIMÍDIA EM REDES DE
ALTA VELOCIDADE
São Paulo
1998
Dissertação apresentada à Escola
Politécnica da Universidade deSão Paulo para obtenção do títulode Mestre em Engenharia
8/4/2019 Algoritimos de roteamento
http://slidepdf.com/reader/full/algoritimos-de-roteamento 2/118
Frank Meylan
ANÁLISE COMPARATIVA DE ALGORITMOS DE
ROTEAMENTO M ULTICAST PARA
COMUNICAÇÃO MULTIMÍDIA EM REDES DE
ALTA VELOCIDADE
São Paulo1998
Área de Concentração:Engenharia Eletrônica
Orientador:
Prof. Dr. Sérgio Takeo Kofuji
8/4/2019 Algoritimos de roteamento
http://slidepdf.com/reader/full/algoritimos-de-roteamento 3/118
i
Meylan, Frank
Análise Comparativa de Algoritmos de Roteamento Multicast para ComunicaçãoMultimídia em Redes de Alta Velocidade. São Paulo, 1998. 114p.
Dissertação (Mestrado) – Escola Politécnica da Universidade de São Paulo.Departamento de Engenharia Eletrônica.
1. Transmissões Multicast 2. Algoritmos de Roteamento 3. Redes de AltaVelocidade I. Universidade deSão Paulo. Escola Politécnica. Departamento de EngenhariaEletrônica
8/4/2019 Algoritimos de roteamento
http://slidepdf.com/reader/full/algoritimos-de-roteamento 4/118
ii
Aos meus paisÀs minhas irmãs
e à Cecília
8/4/2019 Algoritimos de roteamento
http://slidepdf.com/reader/full/algoritimos-de-roteamento 5/118
iii
AGRADECIMENTOS
Em primeiro lugar, agradeço a DEUS por todas asgraças recebidas ao longo de minha vida.
Aos meus pais, Jean Claude e Mirtes, por todo amor,incentivo e esforços realizados para que euconseguisse atingir meus ideais, meu humildeobrigado.
Às minhas irmãs Gabi e Nati, pelo carinho efraternidade que une nossa família.
À minha namorada Cecília pelo carinho, apoio ecompanheirismo em todos os momentos destacaminhada.
Ao meu orientador, Prof. Dr. Ségio Takeo Kofujipela orientação competente e por todo apoiorecebido.
Ao Prof Dr. Marcelo Zuffo, pelo acompanhamento econhecimentos transmitidos, meus agradecimentos.
Ao Prof. Dr. Pedro Frosi Rosa, pela ilustre eenriquecedora presença na banca, meu respeito eadmiração.
À professora Roseli Lopes de Deus que sempre meincentivou e me apoiou para o término destetrabalho.
Aos grandes amigos Zanoni e Kiatake pelasdiscussões técnicas, pela colaboração no trabalho esobretudo pela extrema amizade. Muito obrigado!
Aos amigos Borges, Rafaelle e Tadeu, pelacompreensão e colaboração, meus agradecimentos.
Meus agradecimentos a ABC BULL S/ATELEMATIC pelo suporte ao projeto conjunto LSI-USP/ABC BULL em “Gerenciamento de Sistemasde Alto Desempenho”, no qual estive inserido emuito contribuiu para realização deste trabalho.
A todos os meus amigos que, de alguma forma,contribuíram nesta caminhada, meus sincerosagradecimentos.
8/4/2019 Algoritimos de roteamento
http://slidepdf.com/reader/full/algoritimos-de-roteamento 6/118
iv
ANÁLISE COMPARATIVA DE ALGORITMOS DE ROTEAMENTO
M ULTICAST PARA COMUNICAÇÃO MULTIMÍDIA EM REDES DE
ALTA VELOCIDADE
Resumo
Durante muito tempo, a qualidade das aplicações multimídia distribuídas esteve
restringida às limitações da tecnologia de rede utilizada para a interligação dos
computadores. Este cenário mudou bastante com a introdução das redes de alta
velocidade. Características como garantia de qualidade de serviço (QdS), suporte a
diferentes tipos de tráfego (voz, vídeo e dados), alta escalabilidade, entre outras, fazem do
ATM (Asynchronous Transfer Mode) uma das alternativas mais adequadas para a
implantação das chamadas redes multisserviço.
Porém, a disseminação de aplicações multimídia, que demandam grandes quantidades de
banda de transmissão e atrasos controlados, a utilização de atributos de QdS, o
crescimento de transmissões multicast, tornam a tarefa de roteamento muito mais
complexa.
Assim, esta dissertação abordará em detalhes a questão do roteamento multicast com
restrição de QdS, apresentando um estudo comparativo sobre as soluções que estão sendo
propostas para tratar deste novo problema. Este estudo será conduzido através de
simulações entre quatro heurísticas, onde parâmetros relativos à ordem de complexidade,
qualidade da árvore multicast gerada, tempo de execução, etc., serão avaliados e
analisados.
8/4/2019 Algoritimos de roteamento
http://slidepdf.com/reader/full/algoritimos-de-roteamento 7/118
v
COMPARATIVE ANALYSIS OF MULTICAST ROUTING
ALGORITHMS FOR MULTIMEDIA COMMUNICATIONS IN HIGH
SPEED NETWORKS
Abstract
For a long time, the quality of the distributed multimedia applications has been restricted
to the limitation of network technology used in computer communication. This scenario
has suffered a great change with the introduction of the high-speed networks. Attributes
like quality of service (QoS), support for different kind of traffic and high scalability,
among others, makes ATM (Asynchronous Transfer Mode), one of the most appropriate
choices for multiservice networks.
However, the dissemination of multimedia applications which require high bandwidth as
well as controlled delays, the use of QoS parameters and increase of multicast
communication are characteristics which require routing to be a much more complex task
than it is presently.
So, this thesis will discuss, in detail, the multicast routing with restriction of QoS,
presenting a comparative study of solutions that are being proposed to deal with this new
problem. This study will be done through simulations of four heuristics, where parameters
like complexity, quality of the multicast tree generated, execution time, etc., will be
evaluated and analyzed.
8/4/2019 Algoritimos de roteamento
http://slidepdf.com/reader/full/algoritimos-de-roteamento 8/118
vi
Sumário
1 -Introdução____________________________________________________________ 1
1.1. Motivações_____________________________________________________________ 3
1.2. Objetivos ______________________________________________________________ 3
1.3. Metodologia____________________________________________________________ 4
1.4. Justificativa____________________________________________________________ 6
1.5. Trabalhos Correlatos ____________________________________________________ 6
1.6. Contribuições __________________________________________________________ 7
1.7. Sumário Estruturado ____________________________________________________ 8
2 -Redes ATM __________________________________________________________ 10
2.1. Introdução____________________________________________________________ 10
2.2. Conceitos Básicos ______________________________________________________ 112.2.1 Células ATM _____________________________________________________________ 122.2.2 Conexões ATM ___________________________________________________________ 132.2.3 O modelo de camadas ATM _________________________________________________ 152.2.4 O Endereçamento ATM_____________________________________________________ 19
3 -Soluções de Integração IP/ATM _________________________________________ 22
3.1. Introdução____________________________________________________________ 22
3.2. Classical IP ___________________________________________________________ 223.2.1 Servidor ATMARP ________________________________________________________ 23
3.2.2 Comunicação na solução Classical IP __________________________________________ 24
3.3. Lan Emulation_________________________________________________________ 253.3.1 Comunicação na solução Lan Emulation________________________________________ 28
3.4. Comparação entre o Lan Emulatione o Classical IP para ComunicaçãoMultimídia _________________________________________________________________ 32
4 -Comunicação Multicast ________________________________________________ 35
4.1. Introdução____________________________________________________________ 35
4.2. Conceitos Básicos ______________________________________________________ 36
4.3. Taxonomia de Conexões Multiponto ______________________________________ 384.3.1 Plano de controle __________________________________________________________ 384.3.2 Plano de Dados ___________________________________________________________ 394.3.3 ATM e Multicast IP segundo a Taxonomia ______________________________________ 39
4.4. Algoritmos de Roteamento Multicast ______________________________________ 404.4.1 Inundação (Flooding)_______________________________________________________ 404.4.2 Árvores de Espalhamento (Spanning Trees) _____________________________________ 414.4.3 RPB ( Reverse Path Broadcasting)_____________________________________________ 424.4.4 TRPB (Truncated Reverse Path Broadcasting)___________________________________ 434.4.5 RPM ( Reverse Path Multicasting) _____________________________________________ 444.4.6 Árvores de Steiner _________________________________________________________ 464.4.7 CBT (Core Based Trees) ____________________________________________________ 47
4.5. Multicast IP ___________________________________________________________ 484.5.1 Endereçamento Multicast IP _________________________________________________ 484.5.2 Multicast IP sobre Ethernet __________________________________________________ 49
4.6. Protocolos de Roteamento Multicast_______________________________________ 50
8/4/2019 Algoritimos de roteamento
http://slidepdf.com/reader/full/algoritimos-de-roteamento 9/118
vii
4.6.1 IGMP ( Internet Group Management Protocol) ___________________________________ 50
4.7. Protocolos de Roteamento Multicast IP em Redes de Longa Distância___________ 544.7.1 DVMRP _________________________________________________________________ 54
4.7.2 MOSPF _________________________________________________________________ 564.7.3 PIM ____________________________________________________________________ 57
4.8. MBONE______________________________________________________________ 60
4.9. Multicast IP sobre ATM_________________________________________________ 614.9.1 MARS __________________________________________________________________ 634.9.2 Malha de VC’s (VC Mesh) __________________________________________________ 654.9.3 MCS ( Multicast Server)_____________________________________________________ 664.9.4 Comparativo entre o MCS e malha de VC’s _____________________________________ 684.9.5 Comentários______________________________________________________________ 68
4.10. Conclusões __________________________________________________________ 70
5 -Algoritmos de Roteamento Multicast com QdS____________________________ 715.1. Introdução____________________________________________________________ 71
5.2. Classificação dos Algoritmos de Roteamento Multicast _______________________ 72
5.3. Parâmetros Relevantes e Metodologia para Comparação de Algoritmos Multicast 74
5.4. Algoritmos de Roteamento Multicast ______________________________________ 755.4.1 Heurística KPP____________________________________________________________ 755.4.2 Heurística CSPT __________________________________________________________ 785.4.3 Heurística CCET __________________________________________________________ 785.4.4 Heurística Híbrida _________________________________________________________ 80
5.5. Conclusões____________________________________________________________ 81
6 -Simulações e Análises _________________________________________________ 82
6.1. Introdução____________________________________________________________ 82
6.2. Simulador ____________________________________________________________ 82
6.3. Adaptações feitas no simulador___________________________________________ 84
6.4. Configuração das Simulações ____________________________________________ 85
6.5. Resultados e Análises ___________________________________________________ 866.5.1 Estudo da complexidade dos algoritmos ________________________________________ 866.5.2 Custo total da árvore gerada__________________________________________________ 876.5.3 Atraso da árvore multicast ___________________________________________________ 89
6.5.4 Número de comutadores em cada caminho ______________________________________ 906.5.5 Tempo de execução dos algoritmos ____________________________________________ 926.5.6 Número de sessões estabelecidas com sucesso ___________________________________ 93
6.6. Conclusões____________________________________________________________ 95
7 -Conclusões e Trabalhos Futuros _________________________________________ 97
7.1. Conclusões____________________________________________________________ 98
7.2. Trabalhos Futuros _____________________________________________________ 99
Anexo A – O Gerador Aleatório de Enlaces _________________________________ 101
Anexo B – Interface do Simulador MCRSIM ________________________________ 103
Referências Bibliográficas _______________________________________________ 104
Lista de Acrônimos _____________________________________________________ 107
8/4/2019 Algoritimos de roteamento
http://slidepdf.com/reader/full/algoritimos-de-roteamento 10/118
viii
Lista de FigurasFigura 1 - Estrutura de uma rede ATM _______________________________________ 12Figura 2 – A célula ATM e a estrutura de seu cabeçalho _________________________ 13Figura 3 – Comutação das células ATM[Alles95] ______________________________ 14Figura 4 – Modelo simplificado de camadas ATM______________________________ 16Figura 5 – Classificação de serviços para as AAL’s _____________________________ 18Figura 6 – Modelo de camadas ATM ________________________________________ 19Figura 7 – Formato dos endereços ATM______________________________________ 20Figura 8 – Mapeamento IP sobre ATM utilizando Classical IP ____________________ 23Figura 9 – Duas redes IP sobre uma mesma rede ATM utilizando Classical IP _______ 24Figura 10 – Modelo de camadas do Lan Emulation _____________________________ 26Figura 11 – Componentes de uma rede emulada________________________________ 27
Figura 12 – Comunicação entre o LEC e o LECS para obtenção das informações dasELAN’s configuradas _________________________________________________ 29Figura 13 – Processo de filiação a uma ELAN _________________________________ 30Figura 14 – Establecimento de conexão entre LEC’s ____________________________ 32Figura 15 – Comunicação Multicast _________________________________________ 35Figura 16 – Tabela comparativa entre Multicast IP e ATM, segundo taxonomia proposta 39Figura 17 – Árvore de Espalhamento ________________________________________ 42Figura 18 – Árvores geradas a partir do RPB ( Reverse Path Broadcasting) __________ 43Figura 19 – Árvore multicast gerada pelo algoritmo RPM ________________________ 45Figura 20 – Árvore de Steiner ______________________________________________ 46Figura 21 – Árvore CBT __________________________________________________ 47
Figura 22 – Mapeamento de endereços IP classe D em endereços MAC Ethernet______ 49Figura 23 – Encapsulamento de mensagem IGMP em um datagrama IP _____________ 51Figura 24 – Tabela sobre a abrangência da transmissão multicast __________________ 56Figura 25 – Inserção de uma estação no grupo multicast , através do PIM-SM ________ 59Figura 26 – Envio de mensagens multicast através dos pontos de encontro___________ 59Figura 27 – Árvore RP e Árvore de Menor Caminho dividindo o tráfego, segundo
implementa o protocolo PIM-SM ________________________________________ 60Figura 28 – Estrutura de um cluster administrado por um MARS __________________ 64Figura 29 – Representação da estrutura da malha de VC’s________________________ 65Figura 30 – Arquitetura do servidor de transmissão multicast _____________________ 67Figura 31 – Comparativo entre a malha de VC’s e o MCS________________________ 68
Figura 32 – Árvore de menor caminho _______________________________________ 72Figura 33 – Árvore Steiner Mínima__________________________________________ 73Figura 34 – Evolução da solução KPP________________________________________ 77Figura 35 – Estágios do algoritmo CCET _____________________________________ 80Figura 36 – Tabela referente à ordem de complexidade dos algoritmos______________ 87Figura 37 – Custo das árvores geradas pelos algoritmos__________________________ 88Figura 38 – Atraso médio das árvores geradas _________________________________ 90Figura 39 – Número de médio de comutadores nos caminho da árvore multicast ______ 91Figura 40 – Tempo de execução dos algoritmos _______________________________ 92Figura 41 – Número de sessões multicast estabelecidas com sucesso _______________ 94Figura 42 – Interface gráfica do simulador MCRSIM___________________________ 103
8/4/2019 Algoritimos de roteamento
http://slidepdf.com/reader/full/algoritimos-de-roteamento 11/118
Capítulo 1 - Introdução 1
1
CCaappí í ttuulloo 11 -- IInnttrroodduuççããoo
Os recentes avanços nas tecnologias de comutadores e a disseminação da fibra ótica como
meio de transmissão, têm possibilitado o desenvolvimento de uma geração de redes de alta
velocidade, cujas taxas de transmissão já estão na ordem de gigabits por segundo e com
baixas taxas de erro. Além disso, o progresso das técnicas de armazenagem e transmissão
de áudio, vídeo e dados contribuem para o surgimento de novas aplicações multimídia
distribuídas.
Tais aplicações, como por exemplo: vídeo sob demanda, ensino a distância,
videoconferência, etc., possuem características e necessidades especiais que devem ser
consideradas pela rede de transmissão, de forma a se obter um serviço com a qualidade
esperada. A transmissão de voz e vídeo numa videoconferência, por exemplo, exige certa
quantidade de banda disponível e garantida durante a duração da sessão, além de atraso
controlado dentro de limites conhecidos. Estas características ou exigências impostas pelas
aplicações são chamadas de parâmetros de qualidade de serviço (QdS). A rede, ao tomar
conhecimento destes parâmetros, avalia segundo a disponibilidade de recursos de todos os
equipamentos intermediários, a possibilidade de prestação do serviço requisitado pelaaplicação.
Estas aplicações envolvem, em muitos casos, vários participantes simultâneos (por
exemplo cinco pessoas discutindo através de uma videoconferência) numa mesma sessão,
o que exige da rede um mecanismo eficiente de comunicação multicast . Percebe-se, então,
a concepção de um novo paradigma: a interação entre a aplicação e seu meio de
transmissão visando a negociação da prestação de um serviço.
8/4/2019 Algoritimos de roteamento
http://slidepdf.com/reader/full/algoritimos-de-roteamento 12/118
Capítulo 1 - Introdução 2
2
Com o objetivo de prover recursos necessários, permitindo diferenciação de classes de
serviços e qualidade de serviço garantida, foi concebido o modo de transmissão assíncrona
(ATM ou Asynchronous Transfer Mode). Esta tecnologia é orientada a conexão, sendo que
durante o estabelecimento desta, os recursos são alocados, nos equipamentos
intermediários até o destinatário, garantindo assim, a continuidade do serviço negociado
durante a existência da conexão.
A rede ATM tem nas células sua unidade básica de transmissão, onde seu tamanho fixo e
pequeno garante um baixo tempo de comutação implicando num menor atraso fim-a-fim.
Além disso, esta característica facilita o transporte e a administração de recursos para os
diferentes tipos de tráfego. As antigas tecnologias de redes, também conhecidas como
redes convencionais, eram baseadas em pacotes de tamanho variável e não ofereciam
qualquer garantia de banda de transmissão ou controle de atraso.
O roteamento nestas redes era uma tarefa relativamente simples, uma vez que as aplicações
utilizavam uma quantidade modesta de banda de transmissão e não impunham exigências
de qualidade de serviço. Além disso, poucas eram as aplicações que utilizavam o conceito
de multicast . Logo, os algoritmos de roteamento eram bastante simplificados, porém
suficientes.
Este cenário mudou bastante nas redes de alta velocidade. A introdução do conceito de
qualidade de serviço, o crescimento de transmissões multicast , a disseminação de
aplicações multimídia utilizando grandes quantidades de banda de transmissão e exigindo
atrasos controlados, tornaram a tarefa de roteamento muito mais complexa e com vários
parâmetros influindo sobre a escolha das rotas.
8/4/2019 Algoritimos de roteamento
http://slidepdf.com/reader/full/algoritimos-de-roteamento 13/118
Capítulo 1 - Introdução 3
3
Assim, esta dissertação abordará em detalhes a questão do roteamento multicast com
restrição de QdS, ou também conhecido como roteamento multicast restrito, apresentando
um estudo comparativo sobre as soluções que estão sendo propostas para tratar deste novo
problema.
1.1. Motivações
Com a consolidação da tecnologia ATM e principalmente devido à sua grande aceitação no
mercado, diversas empresas e entidades de pesquisa investiram no desenvolvimento de
novas técnicas de roteamento multicast , levando em consideração as características
específicas que as aplicações multimídia de tempo real exigem. Assim, muitos trabalhos
surgiram inovando os algoritmos de roteamento e aperfeiçoando os antigos. Entretanto, são
escassos os trabalhos que comparam estes algoritmos aplicando técnicas de simulação
baseadas nas situações observadas num cenário real de redes de computadores.
Visando a disseminação desta nova classe de aplicações, é necessário que as novas técnicas
de roteamento sejam estudadas, comparadas e aperfeiçoadas. Assim, dentro de algum
tempo, serviços de videoconferência, ensino a distância, tele-medicina, farão parte do
cotidiano das pessoas da mesma forma que hoje fazem o telefone, a televisão, o fax, etc.
1.2. Objetivos
Este trabalho tem como principal objetivo analisar uma nova heurística de roteamento
multicast que considera aspectos de qualidade de serviço, proposta originalmente por
Waters e Crawford [Waters97]. A fim de que esta avaliação seja consistente, a heurística
será implementada no simulador de redes ATM MCRSIM, e comparada com três outras
abordagens de comportamento e desempenho já descritos na literatura.
8/4/2019 Algoritimos de roteamento
http://slidepdf.com/reader/full/algoritimos-de-roteamento 14/118
Capítulo 1 - Introdução 4
4
1.3. Metodologia
Para que os objetivos descritos fossem atingidos, procurou-se , numa primeira etapa, fazerum levantamento bibliográfico referente ao assunto, buscando o estado da arte do mesmo.
Este levantamento resultou na identificação dos principais autores e seus respectivos
artigos e teses.
Através desta pesquisa inicial, tomou-se conhecimento da tese de doutorado de Hussein
Salama apresentada à Universidade da Carolina do Norte em 1996. Com o auxilio deste
trabalho [Salama96], foi possível destacar os principais algoritmos de roteamento multicast
disponíveis na época e uma metodologia proposta para analisá-los e compará-los. Para a
validação da parte prática das simulações, Salama desenvolveu um simulador de
algoritmos multicast sobre redes ATM, chamado MCRSIM, que será aproveitado e
aprimorado nesta dissertação.
O simulador, foi escrito utilizando a linguagem C++, interface gráfica baseada no Motif e
compilado, segundo o autor, em algumas plataformas: Sun, Dec, RS6000. Como parte
deste trabalho, este simulador foi portado para a plataforma PC/Linux, uma vez que esta
plataforma é aberta e tem conquistado considerável prestígio ultimamente no meio
acadêmico.
Dentre as diversas novas propostas de algoritmos de roteamento multicast restrito, uma em
especial: “A Hybrid Approach to Quality of Service Multicast Routing”, elaborada por
John Crawford e Gill Waters [Waters97] da Universidade de Kent, Inglaterra, apresenta
uma nova abordagem de algoritmo de roteamento multicast . Esta abordagem tem como
mérito utilizar propostas otimizadas, já existentes, para casos específicos do problema de
roteamento multicast , de forma a agregar num único algoritmo as vantagens relativas a
8/4/2019 Algoritimos de roteamento
http://slidepdf.com/reader/full/algoritimos-de-roteamento 15/118
Capítulo 1 - Introdução 5
5
cada uma das propostas anteriores, resultando em um algoritmo de roteamento multicast
restrito genérico.
A partir do estudo detalhado desta nova heurística, foi possível sua implementação no
simulador. Seguindo a metodologia de análise utilizada por [Salama96] e [Tobagi94], a
heurística foi simulada e comparada com três abordagens já descritas na literatura.
Este estudo consistiu na análise teórica dos algoritmos, ou mais especificamente, na ordem
de complexidade de cada um e aspectos relativos às simulações, onde os principais
parâmetros foram identificados:
• Gerenciamento eficiente dos recursos da rede;
• Parâmetros de QdS considerados;
• Aplicabilidade para redes simétricas e assimétricas;
• Escalabilidade;
• Tempo de execução;
• Número de falhas.
As redes utilizadas nas simulações foram geradas aleatoriamente segundo um modelo
consolidado na literatura [Waxman88]. O tamanho das redes simuladas e o número de
participantes do grupo multicast foram variados, procurando salientar o desempenho dos
algoritmos em relação a grupos pequenos de até vinte nós e a grupos grandes de até
duzentos nós. Os resultados obtidos das simulações foram apresentados em gráficos e
analisados segundo os parâmetros relevantes para a transmissão de fluxos multimídia.
8/4/2019 Algoritimos de roteamento
http://slidepdf.com/reader/full/algoritimos-de-roteamento 16/118
Capítulo 1 - Introdução 6
6
1.4. Justificativa
A comparação entre as heurísticas de roteamento multicast é essencial para ressaltar asfalhas, vantagens e desvantagens de cada uma, de forma a direcionar os trabalhos futuros
em busca de novas abordagens, caso as existentes não atenderem às necessidades, ou
evidenciar os pontos em que estas devam ser aperfeiçoadas.
Os estudos teóricos (complexidade, quantidade de memória para armazenar as
informações) e as simulações (tempo de execução, número de falhas, recursos consumidos,
etc.) permitem avaliar a viabilidade de se implementar protocolos ou mesmo equipamentos
que se utilizem destes algoritmos.
1.5. Trabalhos Correlatos
Na literatura, encontra-se um grande número de algoritmos propostos para muitas
variações do problema de roteamento multicast . Conforme a situação, diferentes ambientes
de rede foram criados ou simulados e consequentemente diferentes parâmetros analisados.
A existência de estudos comparativos entre as diferentes abordagens dos algoritmos,
entretanto, é bastante escassa.
Em 1983, foi realizado um estudo teórico comparando árvores de menor caminho e árvores
mínimas de Steiner [Kadaba83]. Os autores não levaram em consideração aspectos
relativos ao atraso e ao custo das ligações. Isto porque, nesta época, gerenciamento de
recursos e requisições de qualidade de serviço não tinham sido definidas ainda.
Posteriormente, Tanaka e Huang [Tanaka93] compararam o desempenho de diversos
algoritmos de árvore de Steiner mínima não restritos. As simulações foram executadas
sobre redes simétricas de 20 nós e foi assumido que o custo de uma ligação era
proporcional ao comprimento da mesma.
8/4/2019 Algoritimos de roteamento
http://slidepdf.com/reader/full/algoritimos-de-roteamento 17/118
Capítulo 1 - Introdução 7
7
O algoritmo de atraso mínimo sobre árvores de menor caminho e a heurística KMB foram
estudadas por Wei e Estrin [Wei94]. Neste trabalho foram utilizadas redes de 50 e 200 nós
geradas aleatoriamente através do modelo de Waxman [Waxman88]. As redes eram
formadas por ligações assimétricas, contendo atraso e custo. Os resultados demonstraram
que a heurística KMB produziu árvores cujo custo era de aproximadamente 20% menor do
que aquelas produzidas pelo algoritmo de menor atraso. Porém, o atraso máximo fim-a-fim
ficou em até 60% maior.
Os trabalhos elaborados por Hussein Salama [Salama96] e Tobagi [Tobagi94] foram os
únicos que consideraram aspectos de QdS (Qualidade de Serviço), indispensáveis para
aplicações multimídia de tempo real, durante suas análises. Nestes trabalhos foram
estudados algoritmos restritos e irrestritos tanto de árvores de menor caminho quanto de
árvores mínimas de Steiner. Tal estudo se baseou na análise do desempenho dos
algoritmos em termos das características da árvore gerada, como por exemplo: custo,
atraso máximo fim-a-fim, número de tentativas antes de obter uma árvore que satisfizesse a
condição de atraso máximo, complexidade do algoritmo, etc. Para tanto, foram realizadas
simulações baseadas em redes reais ou geradas aleatoriamente, onde foi definida uma
função de custo e estimado o atraso nas ligações, considerando sempre o congestionamento
através de políticas de admissão de novas conexões. Percebe-se, assim, que a metodologia
utilizada procurou aproximar as simulações do contexto real com o maior grau de detalhes
possível.
1.6. Contribuições
Este trabalho posicionará o leitor frente a um novo problema decorrente do
desenvolvimento das tecnologias de rede e aplicações multimídia distribuídas: roteamento
multicast com QdS. Em função disso, apresentará as diversas soluções existentes
8/4/2019 Algoritimos de roteamento
http://slidepdf.com/reader/full/algoritimos-de-roteamento 18/118
Capítulo 1 - Introdução 8
8
atualmente para a comunicação multimídia, ressaltando a falta de habilidade destas em
lidar com as questões de reserva de banda e restrições de atraso. Como possíveis soluções
para este problema, traçará um perfil do estado da arte em termos de algoritmos de
roteamento multicast que consideram aspectos de QdS.
Através das simulações e análises, apontará em termos quantitativos a eficiência dos
algoritmos propostos assim como a nova heurística, visando avaliar sua possível
implementação em protocolos ou equipamentos de roteamento.
A implementação do novo algoritmo no simulador, contribuirá para a sua atualização e
também terá seus recursos estendidos em função dos novos módulos de simulação criados
para a avaliação de outros parâmetros igualmente relevantes.
1.7. Sumário Estruturado
Esta dissertação será composta por sete capítulos, estruturados de forma a propiciar ao
leitor um conhecimento básico sobre características e funcionamento de redes de alta
velocidade, em particular redes ATM. Este estudo será conduzido no capítulo 2. As
transmissões multicast IP sobre redes locais e multicast IP sobre redes de longa distância
serão detalhadas nos capítulos 3 e 4. Então, será apresentado o panorama atual das
aplicações multimídia distribuídas, salientando suas características e exigências,
justificando a necessidade do desenvolvimento de novas soluções de roteamento multicast .
As principais soluções de roteamento multicast que consideram aspectos de QdS
encontradas na literatura, juntamente com a nova heurística, serão apresentadas no capítulo
5, e os resultados respectivos a seus testes serão analisados no capítulo 6. Encerrando a
dissertação, serão formuladas as conclusões e apontadas as possíveis extensões deste
trabalho.
8/4/2019 Algoritimos de roteamento
http://slidepdf.com/reader/full/algoritimos-de-roteamento 19/118
Capítulo 1 - Introdução 9
9
Seguindo esta linha de raciocínio, os seguintes capítulos são propostos:
• Capítulo 1 – Introdução;
• Capítulo 2 – Redes ATM;
• Capítulo 3 – Soluções de Integração IP/ATM;
• Capítulo 4 – Comunicação Multicast;
• Capítulo 5 –Algoritmos de Roteamento Multicast com QdS;
• Capítulo 6 – Simulações e Análises;
• Capítulo 7 – Conclusões e Trabalhos Futuros
8/4/2019 Algoritimos de roteamento
http://slidepdf.com/reader/full/algoritimos-de-roteamento 20/118
Capítulo 2 - Redes ATM 10
10
CCaappí í ttuulloo 22 -- RReeddeess AATTMM
2.1. Introdução
O modo de transmissão assíncrona (ATM – Asynchronous Transfer Mode) é uma
tecnologia de redes de computadores que foi concebida devido o interesse de companhias
telefônicas (Telecom) e companhias de redes de computadores (Datacom) em estabelecer
um padrão único de transmissão de voz, vídeo e dados. Entretanto, esta idéia de integração
não apareceu com o ATM. Desde as redes RDSI (Redes Digitais de Serviços Integrados),
ou ISDN( Integrated Services Digital Network ), já se falava em um meio único de
transmissão multiserviços, porém a restrição de banda impediu que esta tecnologia
escalasse para níveis globais de utilização. A partir da padronização da RDSI-FL (Redes
Digitais de Serviços Integrados de Faixa Larga), também conhecida como B-ISDN
( Broadband Integrated Services Digital Network ), esta restrição foi superada com a adoção
do ATM como tecnologia de comutação. Portanto, o ATM aparece, desde sua concepção
no final da década de 80, intimamente associado ao B-ISDN.
Com o objetivo de acelerar a padronização e consequentemente a utilização do ATM, foi
criado um consórcio industrial formado por fabricantes, fornecedores e usuários. Este
consórcio ficou conhecido como ATM Forum. Conceitualmente, o papel do ATM Forum é
de esclarecer aspectos da utilização dos padrões desenvolvidos pelos organismos
padronizadores, como o ITU-T ( International Telecommunication Union –
Telecommunication Standardization Sector ) e o ANSI (American National Standards
Institute). Porém, na prática, o ATM Forum tem gerado grandes extensões a esses padrões
8/4/2019 Algoritimos de roteamento
http://slidepdf.com/reader/full/algoritimos-de-roteamento 21/118
Capítulo 2 - Redes ATM 11
11
e tem produzido especificações inteiramente novas, que acabam se constituindo em
padrões de facto para as redes ATM privadas.
Apesar de sua elevada complexidade, o ATM tem atraído grande interesse de empresas e
instituições de pesquisa, principalmente devido aos seus diferenciados mecanismos de
aprimoramento do uso da banda (diferentes classes de serviços em função do tipo do
tráfego utilizado), confiabilidade, garantias de qualidade de serviços (QdS), recursos de
gerenciamento e tarifação diferenciados. Este interesse é facilmente verificado a partir do
grande número de trabalhos acadêmicos e produtos comerciais que têm sido desenvolvidos
a partir desta tecnologia.
2.2. Conceitos Básicos
Uma rede ATM é composta por um conjunto de comutadores ATM interligados através de
interfaces ou links (ligações) ATM. Os comutadores ATM suportam dois tipos de
interfaces: UNI (User-Network Interface) e NNI ( Network-Network Interface). A UNI
conecta estações finais, roteadores, etc. a um comutador ATM, enquanto a NNI serve para
conectar dois comutadores ATM. A figura 1 mostra a estrutura geral de uma rede ATM.
Existem dois tipos de redes ATM: as redes privadas e as redes públicas. Tradicionalmente,
esses conceitos estão relacionados com o uso de circuitos compartilhados (rede pública) ou
dedicados (rede privada), mesmo quando, no segundo caso, a posse e a manutenção das
linhas sejam de uma operadora pública de telecomunicações.
8/4/2019 Algoritimos de roteamento
http://slidepdf.com/reader/full/algoritimos-de-roteamento 22/118
Capítulo 2 - Redes ATM 12
12
Figura 1 - Estrutura de uma rede ATM
2.2.1 Células ATM
A unidade básica de transmissão em redes ATM é a célula, conforme é mostrado na figura
2. A célula ATM tem seu tamanho fixo em 53 bytes, onde 5 bytes destes são de cabeçalho
e 48 bytes são de dados. O fato das células terem tamanho pequeno e fixo otimiza a
comutação das mesmas nos comutadores, diminuindo assim o atraso da transmissão fim-a-
fim. Além disso, este mesmo tamanho fixo, facilita a especificação do tamanho de buffers
nos comutadores e consequentemente o controle da utilização dos mesmos, prevenindo
situações de congestionamento e facilitando os mecanismos de priorização (QdS).
Uma desvantagem da utilização de células é o overhead introduzido devido ao seu
cabeçalho, que se aproxima dos 10% de seu tamanho total.
Estação ATM ComutadorATM Privado
ComutadorATM Público
ComutadorATM Público
UNI
Privada
UNI
Pública
NNI
Privada
Estação ATMComutador
ATM PrivadoUNI
Privada
NNIPrivada
Provedor 1
ComutadorATM Público
ComutadorATM Público
NNI
Privada
Provedor 2
NNIPública
8/4/2019 Algoritimos de roteamento
http://slidepdf.com/reader/full/algoritimos-de-roteamento 23/118
Capítulo 2 - Redes ATM 13
13
Figura 2 – A célula ATM e a estrutura de seu cabeçalho
2.2.2 Conexões ATM
O ATM é dito uma tecnologia de rede orientada a conexão, ou seja, antes de se transmitir
qualquer dado é necessário que se estabeleça uma conexão entre os dois (ou mais no caso
de multicast ) sistemas. Estas não são conexões físicas, como no sistema telefônico
tradicional, ao invés disso, são conexões lógicas ou também chamadas de virtuais. Após a
transmissão dos dados a conexão pode ser liberada. Uma conexão ATM possui atributos
(tipo do tráfego utilizado, parâmetros de qualidade de serviço, etc.) que são negociados
durante o estabelecimento da conexão. Estes atributos devem ser aceitos não só pelo
sistema final, mas também por todos os comutadores intermediários envolvidos na
comunicação.
UNI NNI
Cabeçalho Dados
Célula ATM
5 bytes 48 bytes
GFC VPI VPI
• GFC – Generic Flow Control. Usado para controle de fluxo• VPI – Virtual Path Indentifier . Identificador do caminho virtual• VCI – Virtual Channel Identifier . Identificador do canal virtual• PTI – Payload Type Identifier . Tipo do dado transportado
• CLP – Cell Loss Priority. Indica a prioridade de descarte da célula
• HEC – Header Error Control. Informação sobre a consistência docabeçalho da célula
VPI VCI
VCI
VCI PTI CLP
HEC
VPI VCI
VCI
VCI PTI CLP
HEC
8/4/2019 Algoritimos de roteamento
http://slidepdf.com/reader/full/algoritimos-de-roteamento 24/118
Capítulo 2 - Redes ATM 14
14
As conexões ATM, também conhecidas como VCC’s (Virtual Channel Connection),
possuem um identificador VCI (Virtual Channel Identifier ). Estas conexões são agrupadas
em caminhos virtuais, ou VP’s (Virtual Path), estes identificados pelos VPI’s (Virtual Path
Identifier ). Assim, o par VPI/VCI identifica unicamente uma conexão em um enlace ATM.
É através deste par que as células ATM são comutadas. A comutação ocorre devido a
existência de tabelas que mapeam o par VPI/VCI de uma determinada porta do comutador
em outro par VPI/VCI (pode ou não ser o mesmo) em uma outra porta deste mesmo
comutador. A troca de identificadores, durante a comutação, pode ocorrer somente nos
VPI’s, somente nos VCI’s ou ainda, em ambos simultaneamente. É bom ressaltar que estes
identificadores só tem significado local. A figura 3 mostra exemplos de comutação de VP,
Figura 3 – Comutação das células ATM[Alles95]
VC e ambos, em função da tabela contida no comutador.
8/4/2019 Algoritimos de roteamento
http://slidepdf.com/reader/full/algoritimos-de-roteamento 25/118
Capítulo 2 - Redes ATM 15
15
Dois tipos principais de conexões são definidas em redes ATM: conexões virtuais
permanentes (PVC – Permanent Virtual Connection) e conexões virtuais comutadas (SVC
– Switched Virtual Connection).
• PVC – As conexões permanentes são estabelecidas normalmente por um agente
ou mecanismo externo, como um sistema de gerenciamento ou uma
intervenção direta do operador no(s) comutador(es). As conexões são criadas
através da configuração das tabelas de VPI/VCI das portas dos comutadores.
• SVC – As conexões comutadas são criadas automaticamente através de um
protocolo de sinalização específico (por exemplo o ILMI – Interim Local
Management Interface). Se a conexão ficar um certo tempo sem uso, é
automaticamente desfeita, liberando os recursos utilizados. Pelo fato de serem
automáticas, as SVC’s são mais utilizadas que as PVC’s.
2.2.3 O modelo de camadas ATM
Sempre que se estuda um protocolo de redes de computadores, procura-se dividi-lo em
camadas para se obter uma melhor organização das funções e serviços oferecidos por cada
entidade do protocolo. O modelo OSI (Open Systems Interconnection), instituído pela ISO
( International Organization for Standardization) é tido como referência e amplamente
aceito tanto no meio acadêmico como industrial. Existem na literatura diversas proposta de
mapeamento das camadas do modelo ATM para as camadas do modelo OSI, porém estas
nem sempre são conciliáveis o que dá margem a discussões e polêmica. Para não tomar
partido de uma ou outra proposta, este autor se limitará a apresentar o modelo ATM e a
explicar as funções de cada camada. A figura 4 apresenta o modelo de camadas ATM
simplificado.
8/4/2019 Algoritimos de roteamento
http://slidepdf.com/reader/full/algoritimos-de-roteamento 26/118
Capítulo 2 - Redes ATM 16
16
Figura 4 – Modelo simplificado de camadas ATM
A seguir serão explicadas as principais funcionalidades das camadas e subcamadas do
modelo ATM.[Cereda97]
• Camada Física
ü Subcamada de Meio Físico – Especifica as características mecânicas, elétricas e
óticas dos meios de transmissão adotados, bem como o sincronismo necessário à
transmissão e recepção dos bits.
ü Subcamada de Convergência de Transmissão – Especifica as funções destinadas
à geração e composição dos conjuntos de bits, à geração e verificação dos bits de
controle de erro, ao delineamento dos conjuntos de bits, ao desacoplamento entre as
taxas de transferência e ao transporte dos conjuntos especiais de bits destinados às
tarefas de operação, administração e manutenção.
• Camada ATM – No caso de estações finais, esta camada é responsável por receber os
dados da camada de adaptação e encapsulá-los em células (gerando o cabeçalho com as
informações de controle: VPI, VCI, CLP, HEC, etc.) enviando, em seguida, à camada
física. Também realiza o trabalho inverso, de receber as células da camada física,
extrair os dados das células e enviá-los à camada de adaptação. Em comutadores, esta
Subcamada de convergência
Subcamada de segmentaçãoe recomposição
Camada de
Ada ta ão ATM
Camada ATM
Camada
Física
Subcamada de convergênciade transmissão
Subcamada de meio físico
8/4/2019 Algoritimos de roteamento
http://slidepdf.com/reader/full/algoritimos-de-roteamento 27/118
Capítulo 2 - Redes ATM 17
17
camada é responsável também por analisar o par VPI/VCI da célula e sua porta de
entrada, consultar nas tabelas o VPI/VCI destino, gerar o novo cabeçalho e devolver à
camada física a nova célula. Ou seja, é responsável pela comutação de nível 2. O
gerenciamento do tráfego, priorização das células, controle de fluxo e
congestionamento também são funções desta camada.
• Camada de Adaptação ao ATM
Como foi estudado, a camada ATM é responsável pelo transporte das células nas redes
de tecnologia ATM. As camadas superiores podem, então, ser adaptadas de forma a
otimizar a transmissão dos diversos tipos de tráfego gerados pelas aplicações. Por
exemplo: nem todas as aplicações necessitam de garantia de atraso constante na
transmissão, porém, em outras esta característica é fundamental. Assim sendo, a
camada de adaptação foi definida para adaptar as necessidades das aplicações ou
camadas superiores em relação à camada ATM. A camada de adaptação ao ATM,
também chamada de AAL ( ATM Adaptation Layer ) é dividida em duas subcamadas:
ü Subcamada de Segmentação e Recomposição – Especifica as funções dedicadas
a decompor as mensagens oriundas da subcamada de convergência, de forma a
adaptá-las em células de 48 bytes de carga útil e recompor as mensagens oriundas
da concatenação da carga útil das células da camada ATM para posterior envio à
subcamada de convergência.
ü Subcamada de Convergência – Esta subcamada recebe os dados das aplicações
ou protocolos superiores e em função das características do tráfego, gera o
cabeçalho dos pacotes contendo ou não informações sobre freqüência de
transmissão, temporização, etc.
8/4/2019 Algoritimos de roteamento
http://slidepdf.com/reader/full/algoritimos-de-roteamento 28/118
Capítulo 2 - Redes ATM 18
18
Tendo em vista a proliferação de protocolos associados à camada de adaptação, o ITU-T
propôs uma organização em função dos conjuntos de características das aplicações que os
futuros protocolos deveriam exibir, criando, então, o conceito de classes de serviços. Como
exemplos de características destacam-se: sincronismo entre emissor e receptor, taxa de bit
transmitida/recebida (fixa ou variável), seqüencialização dos pacotes, funções de controle
de fluxo, comunicação com ou sem conexão, etc. A figura 5 esclarece o uso das AAL em
relação às classes de serviços e alguns exemplos de aplicações.
Figura 5 – Classificação de serviços para as AAL’s
Apesar da literatura apresentar a figura 5 como modelo clássico, é bom ressaltar que os
fabricantes têm dado grande ênfase ao desenvolvimento sobre AAL5. Diversas propostas
existem para a criação de AAL’s específicas, por exemplo, para a transmissão de fluxos de
vídeo MPEG-2, porém ainda não foram criados padrões para isso.
Vista a estrutura de funcionamento do modelo básico, que é de fácil entendimento, é hora
de estudar o real modelo de operação do ATM. Para isso o ITU-T, segundo a
recomendação I.321, definiu o modelo de rede ATM conforme apresentado na figura 6.
Camada deAdaptação
AAL1 AAL2AAL3/4AAL5
Modo de
Conexão
Taxa detransmissão Constante
RestriçõesTemporais
Existente
Classe A Classe B Classe C Classe D
Exemplosde
serviços
Inexistente
Variável
Nãoorientado a
conexão
Orientado a conexão
AAL3/4AAL5
Emulação decircuito,
vídeo a taxaconstante
Vídeo e áudioa taxa
variável
Transferênciade dados
orientados aconexão
Transferênciade dados nãoorientados aconexão
8/4/2019 Algoritimos de roteamento
http://slidepdf.com/reader/full/algoritimos-de-roteamento 29/118
Capítulo 2 - Redes ATM 19
19
Figura 6 – Modelo de camadas ATM
O modelo utiliza o conceito de planos distintos a fim de separar funções de usuário, de
gerenciamento e de controle. O plano de gerenciamento é responsável pela manutenção da
rede e execução de funções operacionais, gerenciando os demais planos e a si próprio; o
plano do usuário é responsável pelo transporte de informações do usuário; por fim, o plano
de controle é responsável pelas informações de sinalização da rede [Black95]. A
sinalização utilizada para o estabelecimento, alteração e encerramento de conexões, dentro
do plano de controle, utiliza uma camada de adaptação especial denominada SAAL
(Signaling ATM Adaptation Layer ). A forma de como são estabelecidas as conexões será
explicado a seguir.
2.2.4 O Endereçamento ATM
O usuários ATM (protocolos superiores ou aplicações) comunicam-se através das
conexões virtuais, identificadas unicamente em um enlace, através do par VPI/VCI,
durante a fase de transmissão dos dados. Com o intuito de estabelecer uma nova conexão,
os comutadores necessitam identificar o(s) destinatário(s) para que o protocolo de
roteamento descubra uma rota entre o emissor e o(s) receptor(es). Para suprir esta
necessidade foram definidos os endereços ATM, de modo que as entidades de sinalização
8/4/2019 Algoritimos de roteamento
http://slidepdf.com/reader/full/algoritimos-de-roteamento 30/118
Capítulo 2 - Redes ATM 20
20
(plano de controle) possam requisitar uma conexão à rede, fornecendo o endereço ATM do
destinatário e os parâmetros de qualidade de serviço desejados.
O endereçamento ATM foi definido a partir do NSAP (OSI Network Service Access Point )
cujo padrão se encontra nos documentos ISO 8348 e ITU-T X.213 [NSAP94]. Existem três
tipos de endereços ATM, todos com tamanho de 20 bytes, cujos esquemas são
apresentados na figura 7. O endereço é composto por três partes: identificador de formato e
autoridade (AFI – Authoriry and Format Identifier ), identificador inicial de domínio (IDI –
Initial Domain Identifier ) e campo específico de domínio (DSP – Domain Specific Part ). O
AFI determina a interpretação do resto do endereço. O DSP é dividido em: DSP de ordem
alta (HO-DSP – High Order DSP), identificador de sistema final (ESI – End System
Identifier) e o byte seletor(SEL).
Figura 7 – Formato dos endereços ATM
O formato DCC ( Data Country Codes) segue a especificação ISO 3166, enquanto o
formato ICD ( International Code Designator ) é mantido pelo British Stardards Institute e
por último, o formato E.164 é o padrão utilizado pelas redes RDSI.
Independente do formato de endereçamento utilizado, três campos básicos podem seridentificados:
SEL
SEL
SEL
AFI
AFI
AFI
DCC HO-DSP
HO-DSP
HO-DSPE.164
ESI
ESI
ESI
DSP
DSP
DSP
IDP
IDP
IDP
IDI
IDI
IDI
Formato DCC
Formato ICD
Formato E.164
Identificador de Comutador
13 b tes
Identificador de Sistema Final
6 b tes
8/4/2019 Algoritimos de roteamento
http://slidepdf.com/reader/full/algoritimos-de-roteamento 31/118
Capítulo 2 - Redes ATM 21
21
• Identificador de Comutador: (13 bytes) A codificação deste campo depende do formato
de endereço utilizado, ICD, DCC ou E.164. Seu conteúdo pode possuir informações
sobre topologia da rede, o que facilita o roteamento nas redes ATM.
• ESI ( End System Identifier ): (6 bytes) Identificador de Sistema Final: Usado para
identificar cada interface, presentes em estações finais ou equipamentos de borda,
dentro da rede ATM.
• Byte Seletor (Selector Byte): (1 byte) Utilizado para identificar entidades das camadas
superiores ao modelo ATM.
8/4/2019 Algoritimos de roteamento
http://slidepdf.com/reader/full/algoritimos-de-roteamento 32/118
Capítulo 3 - Soluções de Integração IP/ATM 22
22
CCaappí í ttuulloo 33 -- SSoolluuççõõeess ddee IInntteeggrraaççããoo IIPP / / AATTMM
3.1. Introdução
É de conhecimento geral que, hoje, a pilha de protocolos TCP/IP é a mais utilizada quando
se trata de protocolos de redes de computadores. Como implicação direta deste fato, pode-
se afirmar que grande parte das aplicações desenvolvidas se utilizam destes protocolos para
a sua comunicação. Assim é natural esperar que estas aplicações devam continuar
funcionando quando uma nova tecnologia de rede é adotada.
Com este propósito, duas especificações de integração de IP sobre ATM foram criadas: o
Lan Emulation, padronizado pelo ATM Forum em janeiro de 1995 [LANE1] e o Classical
IP, solução do IETF (Internet Engineering Task Force) publicada em janeiro de 1994.
[RFC1577].
As duas soluções permitem a comunicação entre equipamentos ATM, sejam eles estações
finais, comutadores ou dispositivos de borda, pertencentes sempre à mesma sub-rede IP. A
comunicação entre diferentes sub-redes IP mantém a estrutura convencional, ou seja,
através de roteadores IP.
A seguir serão descritas as características e o funcionamento básico de cada uma das
soluções.
3.2. Classical IP
O Classical IP é uma solução indicada para ambientes onde o IP é o único protocolo de
rede utilizado. Destaca-se pela simplicidade de configuração e funcionamento. Pode ser
configurado para trabalhar utilizando tanto PVC’s quanto SVC’s.
8/4/2019 Algoritimos de roteamento
http://slidepdf.com/reader/full/algoritimos-de-roteamento 33/118
Capítulo 3 - Soluções de Integração IP/ATM 23
23
O princípio básico desta solução de integração é o de encapsular datagramas IP em pacotes
AAL5, através do encapsulamento LLC/SNAP, para serem transportados até o destinatário
através da rede ATM. No destinatário os pacotes IP são extraídos e entregues à aplicação
ou às camadas superiores, de forma que para estas é transparente o mecanismo utilizado
para a transmissão, seja Ethernet ou Token Ring convencional ou ATM. A figura 8
representa este esquema:
Figura 8 – Mapeamento IP sobre ATM utilizando Classical IP
3.2.1 Servidor ATMARP
Um problema que aparece nas redes convencionais é o de tradução dos endereços lógicos
(endereços IP) para endereços físicos (endereços MAC no caso de redes Ethernet ou Token
Ring). Este problema é resolvido através do protocolo ARP ( Address Resolution Protocol)
que se encarrega de gerar uma mensagem de broadcast contendo o endereço IP desejado.
A estação possuidora deste endereço reconhece a mensagem e responde com seu endereço
físico. A comunicação entre as duas é efetuada, a partir deste ponto, através de mensagens
contendo os endereços lógico e físico de ambas.
Em redes ATM, utilizando Classical IP, não existe a funcionalidade de broadcast . Logo,
uma entidade de rede especial foi criada para a tradução de endereços lógicos (endereços
Estações finaisE thernet
ComutadorATM
Estaçõesfinais ATM
Dispositivode borda
Camada Física
ATM
AAL5
Classical IP
IP
Apl. Existentes
AAL5
Física Física
ATM
CLIPCamadaMAC
IP
Camada Física
Camada MAC
IP
Apl. Existentes
Física Física
ATM
8/4/2019 Algoritimos de roteamento
http://slidepdf.com/reader/full/algoritimos-de-roteamento 34/118
Capítulo 3 - Soluções de Integração IP/ATM 24
24
IP) para endereços físicos (endereços ATM). Esta entidade de rede é chamada de servidor
ATMARP e pode ser implementado num comutador ou numa estação. Cada sub-rede IP,
também conhecida como LIS (Logical IP Subnet), deve possuir seu servidor ATMARP. A
figura 9 representa duas sub-redes IP em uma mesma rede ATM interligadas através de um
roteador:
Figura 9 – Duas redes IP sobre uma mesma rede ATM utilizando Classical IP
3.2.2 Comunicação na solução Classical IP
Sempre que uma estação é iniciada, ela deve registrar-se no servidor ATMARP para que
possa ser “localizada” por outras estações. Este processo de registro, consiste em enviar ao
servidor ATMARP seu endereço IP e seu endereço ATM. Para que as estações localizem o
servidor ATMARP correspondente à LIS que pertencem, devem ter previamente
configurado o endereço ATM deste servidor. Conforme as estações pertencentes a uma
RedeATM
LIS BLIS A
ServidorATMARP A
ServidorATMARP B
192.168.100.1192.168.200.1
192.168.100.4
192.168.200.4
192.168.200.2
192.168.200.3192.168.100.3
192.168.100.2 Roteador
8/4/2019 Algoritimos de roteamento
http://slidepdf.com/reader/full/algoritimos-de-roteamento 35/118
Capítulo 3 - Soluções de Integração IP/ATM 25
25
mesma LIS vão se cadastrando junto ao servidor ATMARP, este cria uma tabela de
conversão de endereços IP para endereços ATM.
A partir do seu cadastro junto ao servidor ATMARP, quando uma estação deseja se
comunicar com outra, ela requisita ao servidor ATMARP o endereço ATM do destinatário,
fornecendo o endereço IP do mesmo. O servidor ATMARP responde com o endereço
ATM do destinatário. De posse deste, o emissor estabelece uma conexão (SVC)
diretamente com o receptor.
Quando se utiliza PVC’s, as estações possuem em sua memória uma tabela contendo os
endereços IP’s e os respectivos VPI’s e VCI’s configurados, de modo que fica dispensada
a consulta ao servidor ATMARP.
3.3. Lan Emulation
O Lan Emulation, ou simplesmente LANE, é a solução proposta pelo ATM Forum em
janeiro de 1995 [LANE1] para integração das redes convencionais sobre redes ATM.
Diferentemente do Classical IP, no modelo LANE, o pacote Ethernet ou Token Ring é
encapsulado, com algumas alterações, num quadro AAL5. Desta forma, esta solução não
se restringe ao uso do IP, uma vez que, em princípio, qualquer protocolo de rede (por
exemplo: IPX, AppleTalk, etc.) que seja implementado sobre o Ethernet ou o Token Ring
poderia ser transportado em redes ATM através do LANE. Está fora do escopo deste
trabalho, entretanto, a análise de outros protocolos a não ser o IP. O modelo a seguir,
figura 10, apresenta este conceito:
8/4/2019 Algoritimos de roteamento
http://slidepdf.com/reader/full/algoritimos-de-roteamento 36/118
Capítulo 3 - Soluções de Integração IP/ATM 26
26
Figura 10 – Modelo de camadas do Lan Emulation
O Lan Emulation, solução mais sofisticada do que o Classical IP, tem seu funcionamento
baseado na arquitetura cliente-servidor. Basicamente, os clientes estão presentes nas
estações finais e equipamentos de borda, enquanto os servidores podem ser
implementados, teoricamente, em qualquer equipamento pertencente à rede ATM. As
funcionalidades do cliente e dos servidores serão descritas abaixo para que se entenda,
posteriormente, o funcionamento da rede como um todo. A figura 11 mostra os
componentes de uma rede emulada.
LEC ( Lan Emulation Client) – Representa a entidade cliente de uma rede emulada. É o
LEC que fornece a interface de emulação da camada de enlace, possuindo inclusive um
endereço MAC. Desta forma, as aplicações operam como se estivessem trabalhando em
uma rede Ethernet ou Token Ring convencional. Este componente está presente nas
estações finais ou em dispositivos de borda (um roteador por exemplo). É responsável pela
comunicação entre estações ou dispositivos de borda e destes com outras entidades da rede
emulada (LES, LECS, BUS, outros LEC’s).
Proxy LEC – O Proxy LEC é um caso especial do LEC, implementado em equipamentos
que conectam estações pertencentes à redes convencionais em redes emuladas ATM. Estes
Camada Física
ATM
AAL5
Lan Emulation
Ethernet/Token Ring
Apl. Existentes
IP / IPX / AppleTalk
Apl. Existentes
Camada Física
Sub-camada MAC
Física Física
ATM
AAL5
Física Física
ATM
LANESub-camadaMAC
Ponte
Comutador ATMEstaçõesfinais ATM
Dispositivode Borda
Estações finaisEthernet/Token
Ring
Ethernet/Token Ring
IP / IPX / AppleTalk
8/4/2019 Algoritimos de roteamento
http://slidepdf.com/reader/full/algoritimos-de-roteamento 37/118
Capítulo 3 - Soluções de Integração IP/ATM 27
27
equipamentos que implementam o Proxy LEC também são conhecidos como dispositivos
de borda. O exemplo mais comum de Proxy LEC ocorre em comutadores Ethernet (ou Fast
Ethernet) com uma ou mais portas ATM.
LECS ( Lan Emulation Configuration Server) – O servidor de configuração da rede
emulada é responsável por fornecer a configuração inicial ao LEC. Ele provê informações
relativas às ELAN’s (Emulated LAN ou rede emulada) disponíveis, assim como o
endereço ATM do LES de cada uma.
Figura 11 – Componentes de uma rede emulada
LES ( Lan Emulation Server) – O servidor de emulação de rede é responsável pelas
funções de organização e controle de uma ELAN. É a entidade responsável pelo registro e
tradução de endereços MAC em endereços ATM.
BUS ( Broadcast and Unknown Server) – O servidor de broadcast ou destinatário
desconhecido foi concebido de forma a possibilitar a transmissão de mensagens broadcast ,
multicast e de destinatário desconhecido, ou seja, mensagens de endereço não resolvido
pelo LES. Para isso, o BUS mantém uma conexão ponto-multiponto com todos os
LUNI LNNI
LUNI
LECLECLEC
LECProxy
LES 2BUS 2LECS
Rede EthernetRede ATM
ComutadorATM
LES 1BUS 1
LUNILUNI
8/4/2019 Algoritimos de roteamento
http://slidepdf.com/reader/full/algoritimos-de-roteamento 38/118
Capítulo 3 - Soluções de Integração IP/ATM 28
28
participantes da ELAN. Portanto, sempre que uma mensagem é transmitida ao BUS, ela é
replicada a todas as estações e dispositivos de borda da rede emulada.
A especificação do Lan Emulation não define onde cada de seus servidores deve ser
implementado. Em princípio, eles podem estar localizados em qualquer equipamento
pertencente à ELAN (estações, dispositivos de borda, comutadores, etc.), porém, por
motivos relacionados com a segurança de funcionamento e desempenho dos serviços,
existe uma preferência por parte dos fabricantes em implementar os servidores em
equipamentos de rede (comutadores ATM e roteadores).
3.3.1 Comunicação na solução Lan Emulation
A comunicação entre entidades pertencentes a uma mesma rede emulada realiza-se através
de duas interfaces básicas sobre as quais são implementadas os protocolos. Estas interfaces
são:
LUNI ( Lan Emulation User to Network Interface) – É a interface utilizada para a
comunicação entre um LEC e a rede provedora do serviço de emulação, ou seja, entre dois
LEC’s pertencentes a uma mesma ELAN ou entre um LEC e um dos servidores: LECS,
LES, BUS da correspondente ELAN.
LNNI ( Lan Emulation NNI ) – Interface de comunicação entre provedores de serviço de
uma rede emulada. Basicamente este protocolo é utilizado para prover a troca de
informações relativas à redundância e a distribuição de carga entre as várias instâncias dos
servidores LES e BUS de uma mesma ELAN. Esta interface só foi especificada na versão
LANE 2.0 [LANE2].
Será explicado a seguir como se dá a comunicação numa ELAN, através da interface
LUNI, seguindo os vários estágios de operação de um LEC. [Alles95]
8/4/2019 Algoritimos de roteamento
http://slidepdf.com/reader/full/algoritimos-de-roteamento 39/118
Capítulo 3 - Soluções de Integração IP/ATM 29
29
I. Registro e Configuração
Ao iniciar a estação, o LEC obtém seu próprio endereço ATM quando do registro junto ao
comutador ao qual está conectado. O endereço ATM do LEC é formado, associando os 13
bytes iniciais do endereço ATM obtido do comutador com os 6 bytes (ESI) codificados na
placa ATM presente na estação. Feito isso, estabelece uma conexão com o LECS e através
de um protocolo específico, obtém a configuração das ELAN’s disponíveis, endereços dos
respectivos servidores LES, tipo da rede emulada (Ethernet ou Token Ring), tamanho
máximo da unidade de transmissão (MTU), nome da ELAN, etc. Vide figura 12.
Existem três procedimentos possíveis para que o LEC seja capaz de localizar o LECS:
pode ser feita através de VCC pré-definido (VPI=0, VCI=17), endereço fixo padrão ou
através de um protocolo chamado ILMI ( Interim Local Management Interface).
Figura 12 – Comunicação entre o LEC e o LECS para obtenção das informações das
ELAN’s configuradas
II. Filiação a uma ELAN
Dado que o LEC estabeleceu conexão com o LECS e recebeu deste as informações sobre
as redes emuladas configuradas, ele pode agora se filiar a uma ou mais ELAN’s. Para isso
ele deve se conectar ao LES de cada ELAN, onde será cadastrado. O LES cadastra cada
LEC 0
LESBUS
LEC 1LEC 2
LECS
ELAN USPMTU 1500End. ATM LES
8/4/2019 Algoritimos de roteamento
http://slidepdf.com/reader/full/algoritimos-de-roteamento 40/118
Capítulo 3 - Soluções de Integração IP/ATM 30
30
LEC através de um identificador único (LECID), associando a este os endereços MAC e
Figura 13 – Processo de filiação a uma ELAN
ATM do LEC. Passo 1 da figura 13. No caso de se tratar de um proxy LEC, podem existir
mais de um MAC associado a um mesmo LECID e consequentemente a um mesmo
endereço ATM.
Uma vez cadastrado junto ao LES, o LEC deve obter o endereço ATM do BUS. Para isso,
envia ao LES uma mensagem requisitando a tradução do endereço MAC de broadcast . O
LES retorna, ao receber esta mensagem, o endereço ATM do BUS. De posse do endereço
ATM do BUS, o LEC estabelece uma conexão com o BUS, e este adiciona o novo LEC à
sua conexão ponto-multiponto. Passos 2 e 3 da figura 13.
Conhecendo o LES, para a tradução de endereços, e o BUS para a transmissão
multicast / broadcast , o LEC encontra-se pronto para a transmissão de dados.
LEC 0
LESBUS
LEC 1LEC 2
LECS
1
3
12MAC LEC 0
ATM LEC 0
LECID End. MAC End. ATM0 MAC LEC 1 ATM LEC 11 MAC LEC 2 ATM LEC 22 MAC LEC 0 ATM LEC 0
8/4/2019 Algoritimos de roteamento
http://slidepdf.com/reader/full/algoritimos-de-roteamento 41/118
Capítulo 3 - Soluções de Integração IP/ATM 31
31
III. Transmissão dos Dados
O LEC, basicamente, recebe pacotes da camada de rede (IP,IPX, etc.), “gera” os quadros
da camada de enlace (Ethernet, Token Ring) com algumas diferenças e os encapsula em
pacotes AAL5 para a transmissão sobre o ATM. Para que a transmissão ocorra, é
necessário que exista uma conexão entre o emissor e o receptor. Neste momento três
possibilidades podem ocorrer:
• Já existe a conexão entre o emissor e o receptor – basta então, iniciar a transmissão dos
dados
• Não existe a conexão, mas o emissor possui em sua memória cache o endereço ATM
referente ao MAC destino – estabelece-se um nova conexão e inicia-se a transmissão.
• Não existe a conexão e não se conhece o endereço ATM do destinatário – é necessário
que se execute o processo de tradução de endereços para em seguida estabelecer a
conexão e só então transmitir os dados.
Processo de tradução de endereços MACèATM
O processo de tradução de endereços MAC para endereços ATM deve ser utilizado quando
um LEC deseja comunicar-se com outro LEC, porém não possui o endereço ATM do
mesmo. O LEC formula., então, uma requisição de endereço ATM, chamada LE_ARP
( Lan Emulation ARP) e a envia ao LES.
Enquanto aguarda a respota do LES e com o objetivo de diminuir o atraso inserido, o LEC
inicia a transmissão dos dados através do BUS. Como já foi visto, o BUS mantém uma
conexão ponto-multiponto com todos os participantes da ELAN, logo pode-se garantir que
o destinatário vai receber as mensagens. Esta solução é temporária, pois todos os membros
8/4/2019 Algoritimos de roteamento
http://slidepdf.com/reader/full/algoritimos-de-roteamento 42/118
Capítulo 3 - Soluções de Integração IP/ATM 32
32
estão recebendo os pacotes e consequentemente consumindo tempo de processamento com
a recepção de pacotes que serão descartados, a não ser o receptor propriamente dito.
Ao receber a resposta LE_ARP do LES, contendo o endereço ATM do destinatário, o LEC
estabelece uma conexão direta com o LEC receptor. Antes, porém, de transmitir através
desta nova conexão, o LEC pára de transmitir através do BUS e envia uma mensagem de
flush, garantindo, portanto, a sequência das células. A figura 14 demonstra a sequência do
procedimento.
Figura 14 – Establecimento de conexão entre LEC’s
3.4. Comparação entre o Lan Emulation e o Classical IP para
Comunicação Multimídia
Vale ressaltar que não é objetivo deste trabalho analisar aspectos específicos de cada
solução, mas avaliar, de forma geral, o desempenho destas em relação ao transporte de
tráfegos com características especiais, como são os tráfegos gerados por aplicações
multimídia.
LEC 0
LESBUS
LEC 1LEC 2
LECS
2 – Dados5 - Flush
1- MAC LEC 1
LECID End. MAC End. ATM0 MAC LEC 1 ATM LEC 11 MAC LEC 2 ATM LEC 22 MAC LEC 0 ATM LEC 0
3- ATM LEC 1
4-Conexão Lec0 Lec 1
6-Dados
8/4/2019 Algoritimos de roteamento
http://slidepdf.com/reader/full/algoritimos-de-roteamento 43/118
Capítulo 3 - Soluções de Integração IP/ATM 33
33
Segundo os parâmetros analisados: tamanho de buffer , tamanho de mensagem, capacidade
de processamento, [Kiatake98] e [Meylan98] concluem que o Classical IP oferece uma
maior quantidade de banda disponível para a aplicação quando da utilização dos protocolos
de transporte TCP e UDP. Esta maior quantidade de banda disponível se deve a um menor
nível de encapsulamento desta solução, ou seja, a relação carga útil/overhead é maior no
Classical IP.
Além da quantidade de banda disponível, um ponto bastante importante na transmissão
multimídia é a forma como se estabelece a transmissão. Neste ponto, o Classical IP
apresenta um fator limitante bastante restritivo: a incapacidade de transmissão
broadcast / multicast . O Lan Emulation, por sua vez, possui um servidor específico para
este tipo de transmissão. A partir da segunda versão do Lan Emulation [LANE2], é
possível a implementação de servidores redundantes, eliminando, portanto, o problema de
um servidor ser um ponto único de falhas. Também nesta versão foi introduzido o conceito
de servidor multicast , criado especificamente para tratar das conexões multicast . Esta
solução será melhor explorada nos próximos capítulos.
Em se tratando de interconexão de redes, as duas soluções seguem o modelo de roteamento
IP convencional. Segundo [Santos98], as soluções de comutação IP, por exemplo: IP
Switching, MPOA, etc., apresentam um melhor desempenho no que diz respeito ao atraso
inserido, podendo servir de base para aprimorar futuras implementações do Lan Emulation
ou do Classical IP.
Em relação aos parâmetros de qualidade de serviço, ambas as soluções são falhas. Tanto o
Classical IP quanto o Lan Emulation utilizam conexões do tipo UBR (Unspecified Bit
Rate), não sendo possível, portanto, reservar banda, definir atraso máximo suportado,
restringir variação do atraso, etc. Portanto, o ATM, quando da utilização destas soluções,
8/4/2019 Algoritimos de roteamento
http://slidepdf.com/reader/full/algoritimos-de-roteamento 44/118
Capítulo 3 - Soluções de Integração IP/ATM 34
34
fornece apenas uma maior quantidade de banda disponível, o que não significa nenhuma
garantia de utilização para a aplicação. Aplicações com restrições temporais e que
demandam grande quantidade de banda estariam concorrendo diretamente com as
aplicações convencionais, degradando a qualidade das transmissões.
Concluindo o que foi dito acima, percebe-se que as soluções de integração de IP e ATM
atualmente padronizadas, não tiram proveito dos recursos disponibilizados pela tecnologia
ATM. Além disso, já existem definições de novas interfaces (por exemplo o WinSock2),
que permitem o acesso ao ATM de forma nativa, dispondo de todos os recursos que a
tecnologia fornece.
O projeto de novas aplicações multímidia sobre redes ATM deve considerar aspectos de
compatibilidade com aplicações já existentes, pois a base instalada é muito grande e deve
ser substituída gradualmente. Por este motivo as soluções de integração de IP e ATM
continuarão a existir por algum tempo e favorecerão a implantação de novas redes ATM
em ambientes que se utilizam de redes convencionais. No entanto, a utilização destas
soluções restringe o uso dos recursos fornecidos pelo ATM em sua plenitude. Logo, o
desenvolvimento de aplicações que acessem o ATM de forma nativa, terá como grande
vantagem a possibilidade de explorar os recursos de QdS fornecidos por esta tecnologia,
resultando em transmissões de voz, vídeo e dados de elevada qualidade e com atrasos
controlados.
8/4/2019 Algoritimos de roteamento
http://slidepdf.com/reader/full/algoritimos-de-roteamento 45/118
Capítulo 4 - Comunicação Multicast 35
35
CCaappí í ttuulloo 44 -- CCoommuunniiccaaççããoo M M uul l t tii c c a a s s t t
4.1. Introdução
As aplicações multimídia têm, em sua maioria, a característica de possuir vários
participantes simultâneos, ou seja, existem um emissor e vários receptores, ou ainda, vários
emissores para vários receptores. Uma forma simples de implementar estes sistemas é
manter uma conexão para cada par emissor/receptor. Fica óbvio, porém, a ineficiência do
sistema, uma vez que cada mensagem a ser transmitida, deverá ser replicada pelo emissor
para cada um de seus receptores.
Com o crescimento da necessidade de uma forma de comunicação que atingisse vários
destinatários de maneira eficiente, surgiu o conceito de multicast . O multicast pode ser
explicado como: forma de comunicação onde, através de uma única operação de
transmissão, resulta no envio simultâneo para vários destinatários. A figura 15, mostra
graficamente este conceito.
Figura 15 – Comunicação Multicast
Uma forma simples de entender o funcionamento da comunicação multicast é a
transmissão de mensagens broadcast numa rede Ethernet de meio compartilhado. Imagine
que o “Elemento de Rede” da figura 15 seja um Hub Ethernet e que o emissor esteja
Emissor
Receptor 1
Receptor 2
Receptor n
Elementode Rede
.
.
.
.
.
.
8/4/2019 Algoritimos de roteamento
http://slidepdf.com/reader/full/algoritimos-de-roteamento 46/118
Capítulo 4 - Comunicação Multicast 36
36
transmitindo mensagens do tipo broadcast . Através de uma única operação de envio, o
Hub replicará a mensagem para todas as estações conectadas a ele. Como a mensagem é
destinada a todas as estações, todas a recebem e processam.
Fica claro, a partir do exemplo anterior, que comunicação broadcast (os destinatários são
todos os elementos da rede) e unicast (existe um único destinatário) são subcasos da
comunicação multicast .
Este capítulo apresentará as diversas formas de utilização da comunicação multicast em
redes Ethernet quando da utilização do TCP/IP e as propostas para sua utilização em redes
de alta velocidade (ATM).
4.2. Conceitos Básicos
Para viabilizar o estudo da comunicação multicast em redes de computadores, é necessário
que se introduza uma linguagem de representação do modelo em questão. Assim como na
maioria dos trabalhos encontrados na literatura, uma rede de computadores será
representada como um grafo conectado N=(V,E), onde V representa um conjunto de nós e
E representa um conjunto de ligações entre estes nós. A existência de uma ligação e=(u,v)
do nó u até o nó v, implica também na existência de uma ligação e’=(v,u) para qualquer u,e
∈ E , ou seja, está sendo assumido que as ligações são full-duplex.
Como em redes reais, é necessário que se defina uma função custo C(e) e uma função de
atraso A(e) para toda ligação e=(u,v)∈ E . As funções custo e atraso podem tomar qualquer
valor real não negativo. A função custo pode ser entendida como custo monetário ou custo
em função do tráfego existente em uma ligação. Nesta dissertação a função custo estará
associada ao tráfego existente na ligação, uma vez que o objetivo é de estudar o
gerenciamento eficiente dos recursos da rede. A função atraso A(e), expressa o atraso que
os pacotes adquirem ao passar por uma ligação e. Este atraso pode ser atribuído ao tempo
8/4/2019 Algoritimos de roteamento
http://slidepdf.com/reader/full/algoritimos-de-roteamento 47/118
Capítulo 4 - Comunicação Multicast 37
37
de transmissão ou propagação, devido ao enfileiramento, roteamento ou comutação. Neste
trabalho também é assumido que as ligações são assimétricas, ou seja , C(e) ≠ C(e’), dado
que este é um fato real em redes de computadores.
Chama-se de caminho uma sequência alternada de nós e ligações. Assim define-se um
caminho P(v0 , vk ) = v0 ,e1 ,v1 ,e2 ,…,vk-1 ,ek ,vk onde todo ei = (vi-1 , vi) ∈ E, 1 ≤ ι ≤ k . Um
caminho contém loops se algum dos nós se repete. Se não houver repetição de nós diz-se
que o caminho é livre de loops. Para simplificar, um caminho será representado como uma
seqüência de ligações : P(v0 , vk ) = {v0 , v1 , v2 , …, vk }.
O custo de um caminho P(v0 , vk ) é definido como a soma dos custos das ligações que
constituem o caminho:
Analogamente, define-se o atraso fim-a-fim do caminho P(v0 , vk ) como sendo a soma dos
atrasos parciais em cada ligação que constitui o caminho:
As definições apresentadas aplicam-se para uma sessão multicast com uma única fonte.
Um grupo multicast G = {g1 , g2 , …, gn } ⊆ V , onde n = |G| ≤ |V|, é formado por um
conjunto de nós participantes de uma sessão, sendo identificados por um único endereço de
grupo i. Um nó s ∈ V é uma fonte transmissora de um grupo multicast G. Uma fonte s de
um grupo multicast pode ou não pertencer ao grupo multicast . Uma árvore multicast T(s,
G) ⊆ E com uma fonte específica é uma árvore com uma única fonte s (também chamada
raiz) que transmite a todos os membros do grupo multicast G.
∑∈
=),(
0
0
)()),((k vvPe
k eC vvPCusto
∑∈
=),(
0
0
)()),((k vvPe
k e AvvP Atraso
8/4/2019 Algoritimos de roteamento
http://slidepdf.com/reader/full/algoritimos-de-roteamento 48/118
Capítulo 4 - Comunicação Multicast 38
38
O custo total da árvore é dado pela soma dos custos das ligações da árvore:
O atraso fim-a-fim máximo de uma árvore multicast é o atraso máximo da fonte até os
membros do grupo multicast :
onde PT (s, g) é o caminho de s até g sobre a árvore T(s, G).
4.3. Taxonomia de Conexões Multiponto
É importante que se estabeleça uma taxonomia entre as possíveis formas de implementação
de conexões multiponto, para que a discussão e comparação das soluções que
implementam este tipo de conexão, sejam coerentes. Assim, segundo [Winsock2], esta
taxonomia será detalhada a seguir.
Em primeiro lugar é necessário que se diferenciem dois planos da conexão multiponto:
plano de controle e plano de dados.
4.3.1 Plano de controle
O plano de controle é responsável pela forma de como a conexão multiponto é criada. Dois
tipos podem ser identificados: rooted e non-rooted , ou seja, com ou sem a presença de uma
raiz, respectivamente. No caso do plano de controle rooted , existe um participante especial,
chamado de root (raiz), responsável por iniciar a conexão multiponto. O root deve
permanecer presente durante todo o tempo de vida da conexão, caso contrário a conexão é
desfeita. Ele pode adicionar e remover folhas (leaves, ou estações receptoras) a qualquer
momento. Em algumas implementações, as folhas podem incluir-se a uma determinada
∑∈= ),( )()),(( GsT e
eC GsT Custo
= ∑
∈∈ ),(
)()),((_ maxgsPeGg T
e AGsT Atraso Max
8/4/2019 Algoritimos de roteamento
http://slidepdf.com/reader/full/algoritimos-de-roteamento 49/118
Capítulo 4 - Comunicação Multicast 39
39
conexão. Em implementações que se utilizem de plano de controle non-rooted , todos os
membros pertencentes a uma sessão multiponto são folhas, ou seja, não existe nenhum
elemento especial responsável por iniciar e manter a conexão. Cada participante, precisa
incluir-se na sessão multiponto já existente.
4.3.2 Plano de Dados
O plano de dados trata da transferência dos dados entre os participantes da sessão. Para a
transmissão de dados, novamente dois tipos são diferenciados: rooted e non-rooted .
Na transmissão de dados rooted , existe um elemento especial chamado de root (raiz). Toda
a transmissão de dados ocorre entre o root e os outros participantes (folhas). Não existe
comunicação, através da sessão multiponto, entre as folhas diretamente. O tráfego pode ser
unidirecional ou bidirecional, dependendo de cada implementação. No plano de dados non-
rooted , todos os participantes são iguais, isto é, não existe nenhum elemento especial. Em
outras palavras, isto quer dizer que todos têm a capacidade de enviar dados à sessão
multiponto e estes dados serão recebidos por todos os participantes desta mesma sessão.
4.3.3 ATM e Multicast IP segundo a Taxonomia
A seguir é apresentada uma tabela, figura 16, comparativa do ATM e do Multicast IP em
relação às definições descritas anteriormente.
Plano de Dados Plano de Controle
Tecnologia Rooted Non-Rooted Rooted Non-Rooted
Multicast IP X X
ATM X X
Figura 16 – Tabela comparativa entre Multicast IP e ATM, segundo taxonomia proposta
8/4/2019 Algoritimos de roteamento
http://slidepdf.com/reader/full/algoritimos-de-roteamento 50/118
Capítulo 4 - Comunicação Multicast 40
40
Na tecnologia ATM, até versão do UNI 3.1, apenas o root podia acrescentar novos
participantes à conexão multicast . A partir da versão do UNI 4.0, qualquer participante
pode incluir-se numa conexão multicast já existente.
4.4. Algoritmos de Roteamento Multicast
Diversos algoritmos de roteamento multicast foram propostos de forma que árvores
multicast fossem construídas e consequentemente aplicações pudessem transmitir à vários
destinatários simultaneamente e sem desperdício de recursos dos elementos de rede.
É fundamental o conhecimento destes algoritmos, uma vez que é a partir deles que são
projetados e implementados os protocolos de roteamento multicast . Sendo assim, nesta
seção serão apresentados dois algoritmos simples: Inundação (Flooding) e Árvores de
Espalhamento (Spanning Trees) e quatro de maior complexidade: RPB ( Reverse Path
Broadcasting), TRPB (Truncated Reverse Path Broadcasting), RPM ( Reverse Path
Multicasting), Árvores de Steiner (ST – Steiner Trees) e por último o CBT (Core Based
Trees).
4.4.1 Inundação (Flooding)
O algoritmo de Inundação, utilizado no protocolo de roteamento IP unicast OSPF (Open
Shortest Path First ), é a técnica mais simples para a distribuição de pacotes multicast IP
em uma rede interligada por roteadores. Neste algoritmo, quando o roteador recebe um
datagrama multicast IP em uma determinada interface, é verificado se é a primeira vez que
este datagrama é recebido. Se for a primeira vez, o roteador replica o datagrama em todas
as suas interfaces, exceto naquela por onde foi recebido. Caso não seja a primeira vez que
aquele datagrama atinge o roteador, este simplesmente o descarta. Desta forma, é possível
garantir que todos os roteadores da rede receberão ao menos uma cópia de cada datagrama
enviado.
8/4/2019 Algoritimos de roteamento
http://slidepdf.com/reader/full/algoritimos-de-roteamento 51/118
Capítulo 4 - Comunicação Multicast 41
41
Apesar da simplicidade do algoritmo, algumas desvantagens aparecem. O algoritmo de
Inundação gera um grande número de mensagens duplicadas o que desperdiça grande
quantidade de banda dos enlaces. Além disso, cada roteador deve manter um registro dos
pacotes que já recebeu, de forma a poder identificar e descartar pacotes repetidos. Esta
restrição causa um ineficiente uso da memória dos roteadores.
4.4.2 Árvores de Espalhamento (Spanning Trees)
Este algoritmo é amplamente utilizado em pontes (bridges) IEEE-802 MAC devido à sua
facilidade de implementação e pela economia dos recursos necessários. Basicamente, seu
funcionamento consiste em escolher alguns enlaces de forma a montar uma estrutura de
árvore, ou seja, formar um conjunto de roteadores e enlaces que não possuam loops e que
entre dois roteadores quaisquer só exista um único caminho que os interligue. Esta árvore é
construída de forma a atingir todos os roteadores da rede, por isso o nome: Árvore de
Espalhamento. Uma vez construída a árvore, ao receber um pacote multicast IP, cada
roteador o replicará apenas nas interfaces cujos enlaces pertençam à árvore, exceto naquela
de onde ele foi recebido. Este procedimento garante que todos os roteadores recebam uma
cópia do pacote. Percebe-se neste método a economia de recursos gastos em relação ao
algoritmo anterior. Logo, basta que cada roteador mantenha a informação de quais de suas
interfaces pertencem à árvore.
A figura 17 mostra o processo de criação de uma árvore de espalhamento. O custo de cada
enlace é ilustrado sobre o próprio.
8/4/2019 Algoritimos de roteamento
http://slidepdf.com/reader/full/algoritimos-de-roteamento 52/118
Capítulo 4 - Comunicação Multicast 42
42
Figura 17 – Árvore de Espalhamento
Como desvantagem principal deste algoritmo destaca-se o fato de ele centralizar o tráfego
em um conjunto mínimo de enlaces. Caso tenha-se uma situação de congestionamento ou
queda de um enlace, todos os roteadores subsequentes são prejudicados.
4.4.3 RPB ( Reverse Path Broadcasting)
O RPB surgiu como um aprimoramento da Árvore de Espalhamento e é bastante utilizado
no MBone ( Multicast Backbone). Ao invés de criar uma árvore de espalhamento que cobre
todos os roteadores da rede, o RPB cria uma árvore de espalhamento implícita para cada
fonte emissora. Assim sendo, suponha que um roteador receba um pacote multicast IP em
sua interface I0 e que o endereço origem contido neste pacote indica que a fonte
transmissora seja F. De posse destas informações, o roteador irá verificar se o menor
caminho entre ele e a fonte F utiliza a interface I0. Caso a resposta seja afirmativa, o
roteador replicará o pacote em todas as suas interfaces, exceto naquela por onde ele foi
recebido. Caso contrário o pacote é descartado. Segundo o que foi explicado, percebe-se
que a árvore de espalhamento é construída dinamicamente em função do transmissor do
pacote. Portanto, várias árvores podem existir simultaneamente. A figura 18 mostra duas
árvores de espalhamento numa mesma rede.
D
A
E
B
C
1
3
6
2
5
4
D
A
E
B
C
1
3
6
2
5
4
Rede formada por roteadoes Árvore de Espalhamento a partir da fonte C
8/4/2019 Algoritimos de roteamento
http://slidepdf.com/reader/full/algoritimos-de-roteamento 53/118
Capítulo 4 - Comunicação Multicast 43
43
Figura 18 – Árvores geradas a partir do RPB ( Reverse Path Broadcasting)
Este algoritmo tem como principais vantagens o fato de ser fácil de implementar e de
eficiência satisfatória. Pelo fato dos roteadores não precisarem conhecer toda a árvore de
espalhamento, existe economia de recursos. Como várias árvores são construídas
simultaneamente, não existe o problema de concentração, logo o tráfego é distribuído pela
rede, fornecendo mais segurança (a queda de um enlace não paralisa todas as transmissões
multicast ) e diminuindo a possibilidade de congestionamentos. Como desvantagem
salienta-se o fato do algoritmo não considerar as informações de participação de membros
do grupo multicast .
4.4.4 TRPB (Truncated Reverse Path Broadcasting)
O TRPB foi concebido com o objetivo de aprimorar o RPB em relação às suas restrições.
Como será visto na descrição do protocolo IGMP ( Internet Group Management Protocol),
um roteador tem condições de tomar conhecimento sobre a existência de membros
participantes de um grupo multicast qualquer, em uma determinada sub-rede IP, a qual
também pertence. Logo, se o roteador descobre que não existe nenhuma estação
D
A
E
B
C
1
3
6
2
5
4
D
A
E
B
C
1
3
6
2
5
4
Rede formada por roteadores
Árvore de Espalhamento a partir da fonte C
D
A
E
B
C
1
3
6
2
5
4
Árvore de Espalhamento a partir da fonte A
8/4/2019 Algoritimos de roteamento
http://slidepdf.com/reader/full/algoritimos-de-roteamento 54/118
Capítulo 4 - Comunicação Multicast 44
44
pertencente a um determinado grupo multicast , e ele é o único roteador desta sub-rede,
pode parar de transmitir os pacotes multicast relacionados a este grupo.
Apesar da informação de participação de grupos multicast ser utilizada pelo TRPB e com
isso, ser possível retirar sub-redes finais da árvore de espalhamento, as sub-redes
intermediárias continuarão a participar da árvore de espalhamento, mesmo que não tenham
nenhum participante pertencente ao grupo.
4.4.5 RPM ( Reverse Path Multicasting)
O algoritmo RPM, também conhecido como RPB com desligamentos, é um
aprimoramento dos algoritmos RPB e TRPB. Ele constrói uma árvore que transmite
somente para:
I. sub-redes que tenham membros pertencentes ao grupo multicast ;
II. roteadores e/ou sub-redes que façam parte do menor caminho até uma sub-rede que
possua pelo menos um membro do grupo.
Dado o par (fonte, grupo) o primeiro pacote é transmitido através do algoritmo TRPB. Os
roteadores que não possuírem outros roteadores “abaixo” deles na árvore, serão chamados
de roteadores terminais. Se um roteador terminal receber um pacote multicast para um par
(fonte, grupo) e não possuir nenhum membro deste grupo nas sub-redes das quais faz
parte, enviará uma mensagem de desligamento ( prune) ao roteador responsável pela
transmissão deste pacote. A mensagem de desligamento indica que os pacotes multicast
relacionados com um determinado par (fonte, grupo) não devem mais ser retransmitidas
para aquele enlace.
É importante esclarecer que as mensagens de desligamento são enviadas apenas ao
roteador imediatamente anterior e este deve armazenar esta informação em sua memória.
Caso o roteador que acabou de receber uma mensagem de desligamento, proveniente de
8/4/2019 Algoritimos de roteamento
http://slidepdf.com/reader/full/algoritimos-de-roteamento 55/118
Capítulo 4 - Comunicação Multicast 45
45
um roteador “abaixo” dele, perceba que não existem sub-redes ou roteadores interessados
em receber pacotes multicast para um dado par (fonte, grupo), ele gerará uma nova
mensagem de desligamento e enviará ao roteador através do enlace por onde estas
mensagens foram recebidas. Este efeito cascata garante que os pacotes multicast sejam
enviados apenas através dos enlaces que façam parte do caminho até estações pertencentes
ao grupo. A figura 19 ilustra uma rede onde o algoritmo RPM é aplicado.
Figura 19 – Árvore multicast gerada pelo algoritmo RPM
As informações sobre a participação de membros do grupo e a topologia da rede podem ser
alteradas, logo o estado de desligamento dos enlaces deve ser renovado em intervalos
regulares. O algoritmo RPM resolve este problema, removendo a informação de
desligamento dos roteadores. Com isso, o roteador passa a retransmitir os pacotes de
multicast para todas as suas interfaces e o processo de desligamento é repetido caso seja
necessário. Esta é uma das desvantagens deste algoritmo. Outra desvantagem é quantidade
de memória do roteador utilizada para armazenar o estado das interfaces em relação a cada
par (fonte, grupo) existente.
R
R
R
R
R
R
Caminho das mensagens multicast
Mensagens de desligamento (prune)
Caminhos desligados da árvore multicast
Estação pertencente ao grupo multicast
R Roteador IP
8/4/2019 Algoritimos de roteamento
http://slidepdf.com/reader/full/algoritimos-de-roteamento 56/118
Capítulo 4 - Comunicação Multicast 46
46
4.4.6 Árvores de Steiner
Os algoritmos pertencentes à família do RPB (RPB, TRPB, RPM) utilizam a técnica de
calcular o menor caminho entre o emissor e cada um dos receptores para transmissão dos
pacotes multicast , garantindo que estes são entregues o mais rápido possível. Entretanto,
nenhum destes algoritmos procura minimizar a utilização dos recursos da rede.
O algoritmo Árvore de Steiner tem por objetivo minimizar a utilização dos enlaces da rede,
mantendo o compromisso de entregar os pacotes a todos os participantes do grupo
multicast . A figura 20 demonstra a melhor utilização dos enlaces por este algoritmo em
comparação ao RPB.
Figura 20 – Árvore de Steiner
Como pode ser observado pela figura 20, a árvore gerada pelo algoritmo de Steiner possuium número menor de enlaces, porém, pode-se dizer que é uma árvore mais lenta, uma vez
que para atingir o nó D é necessário passar por mais roteadores. A elevada complexidade
de implementação deste algoritmo o tornou de pouca importância prática. Outra
desvantagem é a dificuldade de incluir ou retirar elementos da árvore, uma vez que esta
deve ser inteiramente recalculada.
D
A
E
B
C
1
3
6
2
5
4
D
A
E
B
C
1
3
6
2
5
4
C Fonte transmissora
Membro do grupo multicast
Árvore gerada pelo RPB Árvore de Steiner
8/4/2019 Algoritimos de roteamento
http://slidepdf.com/reader/full/algoritimos-de-roteamento 57/118
Capítulo 4 - Comunicação Multicast 47
47
4.4.7 CBT (Core Based Trees)
O último algoritmo proposto para construir árvores multicast é chamado de CBT (Core
Based Tree). Ao contrário dos outros algoritmos, este cria uma única árvore para cada
grupo, ou seja, não depende da localização da fonte emissora dos pacotes multicast . Um
roteador ou um conjunto de roteadores são escolhidos para formarem o centro de
distribuição dos pacotes multicast . Todas as mensagens destinadas a um determinado
grupo são replicadas através do centro de distribuição como se fossem mensagens unicast ,
até encontrarem um roteador que faça parte da árvore de distribuição correspondente. Os
pacotes são, então, replicados em todas as interfaces deste roteador, exceto aquela por onde
foi recebido. A figura 21 ilustra este procedimento.
Figura 21 – Árvore CBT
Como o algoritmo CBT constrói apenas uma árvore para cada grupo multicast , os
roteadores guardam uma quantidade menor de informação em relação aos algoritmos
anteriores. Porém, por concentrar todo o tráfego relativo a um grupo num único centro de
distribuição, podem ser gerados pontos de congestionamento.
R
R
R
R
R
RR
Core R Core R
Core R Roteador do centro de distribuição
Roteador
Direção dos pacotes multicast
Centro de distribuição
8/4/2019 Algoritimos de roteamento
http://slidepdf.com/reader/full/algoritimos-de-roteamento 58/118
Capítulo 4 - Comunicação Multicast 48
48
4.5. Multicast IP
A pilha de protocolos TCP/IP é hoje, sem dúvida, a mais utilizada em todos os ambientesde redes de computadores (acadêmico, industrial, comercial, doméstico). Portanto, como é
de se esperar, as aplicações são desenvolvidas sobre este modelo. As aplicações multimídia
disponíveis atualmente, que se utilizam de recursos multicast , não fogem a esta regra, logo
se faz necessário conhecer o funcionamento dos recursos de IP multicast implementados
sobre redes convencionais (Ethernet), para depois verificar as soluções correspondentes
sobre redes ATM.
4.5.1 Endereçamento Multicast IP
Está fora do escopo desta dissertação explicar em detalhes o funcionamento do protocolo
TCP/IP. Caso haja a necessidade deste conhecimento prévio, [Stevens97] e [Commer97]
são algumas referências indicadas. Normalmente, em uma rede TCP/IP, cada estação tem
seu próprio endereço IP e quando uma estação envia uma mensagem para outra, deve-se
gerar um pacote contendo o endereço IP do destinatário de forma que este seja capaz de, ao
receber o pacote, identificar que deva aceitar o mesmo. Esta regra simples não se aplica,
entretanto, quando se trata de comunicação multicast . Neste caso, existe um endereço IP de
grupo, onde cada participante deve, além do seu próprio endereço IP, estar apto a receber
pacotes destinados ao IP do grupo. A classe D do endereçamento IP foi especificada para
servir aos grupos multicast e compreende a faixa de endereços 224.0.0.0 até
239.255.255.255. Esta faixa é decorrente do fato de que é padronizado que os 4 bits de
maior ordem são fixos (1110) e os 28 bits restantes compõe os endereços de grupo
multicast .
8/4/2019 Algoritimos de roteamento
http://slidepdf.com/reader/full/algoritimos-de-roteamento 59/118
Capítulo 4 - Comunicação Multicast 49
49
4.5.2 Multicast IP sobre Ethernet
O processo de transmissão de pacotes IP sobre Ethernet, funciona da seguinte maneira:
dado um endereço IP, através do ARP, descobre-se o endereço MAC correspondente para
formar o pacote Ethernet e efetuar a transmissão. Porém no caso de uma transmissão
multicast , não existe uma única estação com o endereço MAC correspondente ao endereço
IP de grupo. Logo se faz necessário um mapeamento dos endereços de IP de grupo em
endereços MAC de grupo.
O endereço MAC Ethernet é composto por 6 bytes, onde ficou estabelecido que o bit de
menor ordem do primeiro byte deve ser 1 para indicar que se trata de endereço de grupo.
Assim sendo, o IANA ( Internet Assign Number Authority) estabeleceu que a faixa
01:00:5e:00:00:00 - 01:00:5e:7f:ff:ff destina-se ao uso de quadros multicast . O
mapeamento dos endereços IP classe D para endereços multicast Ethernet é mostrado na
figura 22.
Figura 22 – Mapeamento de endereços IP classe D em endereços MAC Ethernet
Como pode ser observado na figura 22, apenas os 23 bits de ordem mais baixa do endereço
IP multicast (classe D) são utilizados para o mapeamento em endereços MAC – Ethernet,
implicando num mapeamento não único. Observe o exemplo a seguir. Suponha que os
Estes 5 bits não são usadospara formar o endereço MAC
48 bits do endereço MAC
0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 1 1 1 1 0 0
1 1 1 0
0 7 8 15 16 23 24 31
23 bits de ordem mais baixa do endereço multicast IP
copiados para o endereço MAC
8/4/2019 Algoritimos de roteamento
http://slidepdf.com/reader/full/algoritimos-de-roteamento 60/118
Capítulo 4 - Comunicação Multicast 50
50
endereços 224.128.64.32 (e0.80.40.20 em hexadecimal) e 224.0.64.32 (e0.00.40.20 em
hexadecimal) sejam utilizados para a transmissão multicast em uma rede Ethernet. Pelas
regras acima descritas ambos seriam mapeados no endereço Ethernet: 01:00:5e:00:40:20.
Logo, mesmo que a camada de enlace possa filtrar pacotes Ethernet que não sejam
endereçadas à estação, este filtro pode não ser suficiente, exigindo que o pacote seja
enviado para a camada de rede para ser analisado.
Conclui-se então, que a transmissão multicast em redes Ethernet pode ser feita de maneira
simples, uma vez que esta possui suporte nativo para este tipo de comunicação.
4.6. Protocolos de Roteamento Multicast
O início do desenvolvimento de protocolos multicast ocorreu no final da década de 80,
quando observou-se um grande crescimento da Internet e a aparição das primeiras
aplicações multi-usuário. Como já foi visto anteriormente, a implementação de
comunicação multicast sobre o IP ( Internet Protocol) utiliza o endereçamento classe D,
conforme determinado pela Internet Society. O IGMP ( Internet Group Management
Protocol) [IGMP96] é um protocolo também baseado no endereçamento classe D, e
responsável pela manutenção da informação sobre os participantes dos grupos multicast
em redes locais. Para o roteamento multicast IP em redes de longa distância existem
protocolos já consolidados e novas propostas. Estes serão discutidos a seguir.
4.6.1 IGMP ( Internet Group Management Protocol)
É fundamental o estudo do protocolo IGMP para um melhor entendimento do
funcionamento do conceito do multicast em redes TCP/IP. Através do IGMP, todos os
sistemas pertencentes a uma mesma rede física podem tomar conhecimento sobre as
estações que pertencem aos grupos multicast existentes. Esta informação é essencial aos
8/4/2019 Algoritimos de roteamento
http://slidepdf.com/reader/full/algoritimos-de-roteamento 61/118
Capítulo 4 - Comunicação Multicast 51
51
roteadores multicast , uma vez que, desta maneira, os roteadores multicast tomam a decisão
sobre quais datagramas IP devem ser replicados e para quais interfaces.
O protocolo IGMP é implementado sobre a camada IP do modelo de referência do TCP/IP,
assim sendo, as mensagens IGMP são transmitidas através de datagramas IP.
Diferentemente de outros protocolos, o IGMP possui mensagens de tamanho fixo, como
pode ser observado na figura 23.
Figura 23 – Encapsulamento de mensagem IGMP em um datagrama IP
O primeiro campo indica a versão do protocolo IGMP em uso (pode ser versão 1 ou 2). O
campo “tipo” indica do que se trata a mensagem: se for 1 indica que é uma consulta
realizada pelo roteador multicast , se for 2 trata-se de uma resposta enviada por uma
estação. O checksum é utilizado para garantir a consistência da mensagem. O endereço IP
de grupo multicast indica para qual sessão multicast a mensagem está sendo direcionada ou
é 0 quando se realiza uma consulta dos grupos existentes.
Operações Básicas sobre o IGMP
Os participantes de um grupo multicast são dinâmicos, ou seja, seus membros podem ser
incluídos ou retirados de uma sessão a qualquer momento, sem afetar o resto do grupo.
Header IP MensagemIGMP
Datagrama IP
20 bytes 8 bytes
0 3 4 7 8 15 16 31
versão ti onão
utilizado checksum
Endereço IP de grupo multicast (classe D)
8 bytes
8/4/2019 Algoritimos de roteamento
http://slidepdf.com/reader/full/algoritimos-de-roteamento 62/118
Capítulo 4 - Comunicação Multicast 52
52
Assim sendo, é necessário entender o modo de admissão, retirada e a pesquisa dos
membros participantes de uma sessão multicast .
Manutenção do grupo Multicast
As mensagens IGMP são utilizadas para que os roteadores multicast mantenham controle
sobre a participação de estações nos grupos multicast existentes em cada uma de suas
interfaces. Para que se mantenha este controle foram estabelecidas algumas regras
referentes ao protocolo:
• Uma estação deverá enviar uma mensagem IGMP-report sempre que o
primeiro processo de uma estação filiar-se a um determinado grupo multicast .
Se existirem vários processos em uma mesma estação filiados a um mesmo
grupo, apenas uma mensagem deverá ser enviada.
• Uma estação não deve enviar uma mensagem quando um processo se desliga
do grupo. Apenas deixa de responder às mensagens IGMP-query geradas pelo
roteador multicast .
• O roteador multicast envia mensagens IGMP-query em intervalos regulares
para verificar se existem processos pertencentes à grupos multicast . O roteador
realiza esta tarefa em cada uma de suas interfaces. Nesta mensagem o endereço
IP de grupo utilizado é 0, uma vez que é esperada uma resposta de cada grupo
existente com pelo menos um participante.
• Apenas uma estação de cada grupo que contenha pelo menos um participante,
responde a uma consulta feita pelo roteador, enviando uma mensagem IGMP-
report referente ao seu grupo.
8/4/2019 Algoritimos de roteamento
http://slidepdf.com/reader/full/algoritimos-de-roteamento 63/118
Capítulo 4 - Comunicação Multicast 53
53
Admissão ao grupo multicast
Quando um processo em execução numa estação deseja juntar-se a um grupo multicast , ele
gera uma mensagem IGMP-report , informando o endereço de grupo multicast que deseja
fazer parte. Neste momento a camada de enlace desta estação é configurada de tal forma a
receber quadros cujo endereço destino é do grupo multicast (por exemplo quadros
multicast Ethernet) e a enviá-los à camada de rede (IP). A partir daí, a estação passa a
possuir dois endereços MAC (o próprio da interface e um do grupo multicast ) e dois
endereços IP (o próprio da estação e o do grupo multicast ).
Através do IGMP-report , todas as estações pertencentes à mesma rede física, inclusive o
roteador multicast , ficam sabendo que um novo participante foi incluído na sessão
multicast .
Desligamento do grupo multicast
Quando o último processo membro de um determinado grupo desliga-se do mesmo, dois
diferentes procedimentos existem para a estação informar o roteador multicast de que não
recebe mais mensagens multicast . Estes procedimentos diferenciam-se em função da
versão do IGMP.
Na versão 1 deste protocolo, o desligamento de uma estação resume-se a uma operação
local, ou seja, a estação reconfigura a camada de enlace de tal forma a não receber mais
pacotes multicast e, portanto, não os enviar mais à camada de rede. Esta última, por sua
vez, deixa de ter o endereço IP referente ao grupo multicast a que pertencia. Supondo que
esta fosse a última estação desta sub-rede a receber as mensagens multicast , o roteador
toma conhecimento de seu desligamento após enviar uma mensagem de consulta
( IGMP_query) e não receber nenhuma resposta, fazendo com que pare de replicar as
mensagens multicast para esta sub-rede.
8/4/2019 Algoritimos de roteamento
http://slidepdf.com/reader/full/algoritimos-de-roteamento 64/118
Capítulo 4 - Comunicação Multicast 54
54
Na versão 2 deste protocolo, além da reconfiguração da camada de enlace, foi criada uma
mensagem IGMP_leave, cuja função é a de informar os elementos da rede sobre o
desligamento de uma estação, transportando o endereço IP do grupo ao qual a estação
estava filiado. Desta forma o roteador multicast fica sabendo imediatamente se deve
continuar a replicar as mensagens multicast para a sub-rede a qual pertencia a estação que
acaba de se desligar do grupo.
4.7. Protocolos de Roteamento Multicast IP em Redes de Longa
Distância
Da mesma forma que nas transmissões de pacotes unicast são necessários protocolos de
roteamento (por exemplo: RIP – Routing Information Protocol, OSPF – Open Shortest
Path First , etc.) para redirecionar as mensagens nos devidos enlaces, nas transmissões
multicast este fato se repete. Nesta seção serão discutidos os principais protocolos de
roteamento multicast IP em redes de longa distância e como estes utilizam os conceitos dos
algoritmos de roteamento multicast apresentados. Também será descrito o mecanismo
utilizado para viabilizar as transmissões multicast quando existirem roteadores
intermediários que não implementam nenhum protocolo de roteamento multicast .
4.7.1 DVMRP
O DVMRP ( Distance Vector Multicast Routing Protocol) foi o primeiro protocolo
padronizado para o roteamento multicast [RFC1075]. Foi concebido tendo como base o
RIP ( Routing Information Protocol), com a diferença de que o RIP replica os pacotes
unicast em função da informação do próximo roteador em direção ao destino, enquanto o
DVMRP constrói a árvore de distribuição em função da informação obtida a partir do
roteador anterior.
8/4/2019 Algoritimos de roteamento
http://slidepdf.com/reader/full/algoritimos-de-roteamento 65/118
Capítulo 4 - Comunicação Multicast 55
55
O funcionamento deste protocolo está intimamente ligado ao algoritmo RPM. Assim
sendo, o primeiro pacote de uma transmissão multicast é transmitida em todas as interfaces
dos roteadores. A partir deste ponto, mensagens de desligamento são geradas de forma a
isolar as sub-redes que não possuem membros do grupo. Uma nova mensagem (graft
message) foi criada com o objetivo de rapidamente reestabelecer um enlace que havia sido
retirado da árvore de distribuição. Esta mensagem é utilizada quando um novo membro,
pertencente a uma sub-rede desligada da árvore de distribuição, desejar incluir-se num
determinado grupo. O mecanismo de inundação de tempos em tempos é mantido no
DVMRP, de forma que as informações sobre os desligamentos sejam atualizadas
periodicamente.
Quando existirem mais de um roteador presente na mesma sub-rede, aquele que estiver
mais próximo da fonte é eleito para retransmitir os pacotes multicast , enquanto que os
outros simplesmente descartarão tais pacotes. Se a distância for a mesma, aquele que tiver
o menor endereço IP será o eleito.
O DVMRP permite ainda, a configuração de túneis. Os túneis permitem a interligação de
dois roteadores multicast através de roteadores intermediários que não possuem nenhum
protocolo de rotemento multicast implementado. Esta técnica encapsula os pacotes
multicast em pacotes unicast convencionais para poderem percorrer o túnel.
A abrangência da transmissão multicast pode ser definida através do campo TTL (Time to
Live) do cabeçalho IP. Desta forma a figura 24 relaciona o valor do TTL com a
abrangência da transmissão.
8/4/2019 Algoritimos de roteamento
http://slidepdf.com/reader/full/algoritimos-de-roteamento 66/118
Capítulo 4 - Comunicação Multicast 56
56
TTL
(Time to Live ouTempo de Vida)
Escopo
0 Restrito à mesma estação
1 Restrito à mesma sub-rede
15 Restrito ao mesmo sítio
63 Restrito à mesma região
127 Abrangência Global
191 Abrangência Global, com banda limitada
255 Sem restrição
Figura 24 – Tabela sobre a abrangência da transmissão multicast
4.7.2 MOSPF
O MOSPF ( Multicast Extensions to OSPF), definido em [RFC1584], é uma extensão ao
protocolo de roteamento unicast OSPF (Open Shortest Path First ) versão 2 [RFC1583].
Ele se utiliza das informações sobre a participação das estações nos grupos multicast
obtidas através do protocolo IGMP e das tabelas construídas pelo OSPF para criar a árvore
de distribuição. Estas árvores são de menor caminho e construídas sob demanda para cada
par (fonte, grupo).
O MOSPF possui uma estrututra de roteamento hierárquico. Os elementos de rede global
são divididos em sistemas autônomos (AS – Autonomous Systems). Cada AS é então
dividido em subgrupos chamados de áreas. Existem diferentes procedimentos para o
roteamento dentro de uma mesma área, entre áreas diferentes e entre sistemas autônomos
diferentes.
Como o OSPF é um protocolo baseado no estado dos enlaces, sua base de dados concentra
informações sobre toda a rede. Assim é possível criar uma árvore de distribuição utilizando
o algoritmo de Dijkstra (algoritmo de menor caminho). Acrescentando as informações
8/4/2019 Algoritimos de roteamento
http://slidepdf.com/reader/full/algoritimos-de-roteamento 67/118
Capítulo 4 - Comunicação Multicast 57
57
relativas aos membros do grupo multicast , é possível desligar os segmentos de redes que
não possuem membros do grupo multicast .
Pelo fato do MOSPF, assim como o OSPF, manter em todos os roteadores o estado
completo dos enlaces da rede, esta informação deve ser periodicamente renovada,
degradando a utilização da banda disponível e, consequentemente, sua escalabilidade.
4.7.3 PIM
Os protocolos estudados até agora tinham como base protocolos de roteamento unicast .
Assim, o DVMRP surgiu a partir do RIP e o MOSPF a partir do OSPF. O PIM ( Protocol
Independent Multicast ) [PIM96] está sendo concebido de forma a não depender dos
protocolos de roteamento unicast já existentes. Pode ser dividido em dois protocolos
diferentes, conforme a distribuição do grupo pela rede:
I. Quando a disposição do grupo multicast apresentar uma alta densidade, o PIM-DM
(PIM – Dense Mode) é utilizado.
II. Já quando o grupo encontra-se com baixa densidade pela rede, o mais indicado é o
PIM-SM (PIM – Sparsely Mode).
PIM-DM
O PIM-DM é muito semelhante ao DVMRP e utiliza o algoritmo RPM para a construção
da árvore multicast . Neste protocolo também existem as mensagens de desligamento e
reestabelecimento de enlaces, de forma a retirar sub-redes da árvore de distribuição que
não possuam membros do grupo multicast e reintegrá-las caso venham a ter,
respectivamente.
8/4/2019 Algoritimos de roteamento
http://slidepdf.com/reader/full/algoritimos-de-roteamento 68/118
Capítulo 4 - Comunicação Multicast 58
58
PIM-SM
O PIM-SM, definido em [RFC2117], possui duas diferenças principais em relação aos
protocolos descritos anteriormente. Utilizando este protocolo, os roteadores devem
informar explicitamente sua intenção de receber mensagens multicast , enquanto os
protocolos de modo denso assumem que todos os roteadores devem receber as mensagens
a não ser que enviem uma mensagem de desligamento. A outra diferença se refere à
introdução do conceito de “ponto de encontro” (RP - Rendezvous Point ).
Cada domínio possui um conjunto de roteadores atuando como RP’s, onde cada grupo
multicast possui um único RP. O roteador que tiver a intenção de receber mensagens
multicast destinadas a um determinado grupo, deve enviar uma mensagem de inclusão ao
RP deste grupo. As estações devem possuir configurado o “roteador designado” (DR –
Designated Router ) que é um roteador pertencente à mesma sub-rede IP com o “maior”
endereço IP. Quando um DR recebe uma mensagem IGMP indicando a inclusão de uma
estação a um determinado grupo, localiza o RP deste grupo através de uma função de
espalhamento determinística sobre o conjunto de RP’s do domínio. Localizado o RP
responsável pelo grupo em questão, o DR envia a ele uma mensagem PIM-Join, de forma
que este passe a replicar as mensagens de multicast destinada ao grupo através dos
roteadores intermediários até encontrar o DR. Consequentemente, o DR replicará estas
mensagens para a sub-rede que contém a estação que acabou de se filiar ao grupo.
A figura 25 ilustra este procedimento.
8/4/2019 Algoritimos de roteamento
http://slidepdf.com/reader/full/algoritimos-de-roteamento 69/118
Capítulo 4 - Comunicação Multicast 59
59
Figura 25 – Inserção de uma estação no grupo multicast , através do PIM-SM
Quando uma fonte inicia uma transmissão multicast para um determinado grupo, o DR da
fonte encapsula a primeira mensagem em um pacote de registro PIM-SM (PIM-SM
Register ) e o envia ao RP do grupo através de uma mensagem unicast . Ao receber esta
mensagem especial, o RP devolve uma mensagem de PIM-Join ao DR da fonte. Desta
forma, todos os roteadores intermediários adicionam em suas tabelas de replicação
multicast uma nova entrada contendo o par (fonte, grupo). Assim, os próximos pacotes
multicast podem ser facilmente replicados para o RP correspondente. É interessante notar
que à medida que os roteadores intermediários são informados sobre o RP, transmitem as
mensagens multicast encapsuladas em mensagens unicast até o RP. A figura 26 ilustra este
procedimento.
Figura 26 – Envio de mensagens multicast através dos pontos de encontro
DR R
R R
RP
R
PIM Join
Fonte
Receptor
RP Roteador RP (Rendezvous Point)
DR Roteador DR (Designated Router)
R Roteador
PIM Join
DR R
R R
RP
R
Fonte
Receptor
RP Roteador RP ( Rendezvous Point )
DR Roteador DR ( Designated Router )
R Roteador
DR
Receptor
PIM-SM Register
PIM-SM Join
Mensagens para osmembros do grupo
8/4/2019 Algoritimos de roteamento
http://slidepdf.com/reader/full/algoritimos-de-roteamento 70/118
Capítulo 4 - Comunicação Multicast 60
60
Apesar da árvore RP ser suficiente para a entrega de pacotes multicast , o aumento do
número de participantes pode sobrecarrega-la com um tráfego excessivo. Tendo em vista
este problema, o PIM-SM fornece um procedimento alternativo utilizando árvores de
menor caminho para alguns ou todos os receptores. Logo, os roteadores que implementam
o PIM-SM utilizam a árvore RP, mas também têm a opção de transmitir através de árvores
de menor caminho entre uma fonte e os destinatários. Nesta última situação, o roteador
envia uma mensagem de inclusão à estação fonte. Assim que a árvore de menor caminho é
construída, o roteador pode enviar uma mensagem de desligamento para o RP, retirando-se
da árvore RP. A figura 27 apresenta duas árvores convivendo simultaneamente, sendo uma
árvore de menor caminho e uma árvore RP.
Figura 27 – Árvore RP e Árvore de Menor Caminho dividindo o tráfego, segundo
implementa o protocolo PIM-SM
4.8. MBONE
Em 1992, um conjunto de roteadores capazes de replicar mensagens multicast foi
interligado de forma a testar a transmissão multicast pela primeira vez. Este ambiente de
testes foi chamado de Multicast Backbone ou simplesmente Mbone. Estabeleceu-se como
marco do início da utilização do Mbone, a primeira transmissão de voz (audiocast ) para
vinte localidades espalhadas por três continentes, realizada em março deste mesmo ano.
Nesta transmissão os participantes podiam ouvir o interlocutor e também era possível fazer
DR R
R R
RP
R
Fonte
Receptor
RP Roteador RP (Rendezvous Point)
DR Roteador DR (Designated Router)
R Roteador
Árvore RP (compartilhada)
Árvore de menor caminho(baseada na fonte)
8/4/2019 Algoritimos de roteamento
http://slidepdf.com/reader/full/algoritimos-de-roteamento 71/118
Capítulo 4 - Comunicação Multicast 61
61
perguntas a ele. O Mbone começou com cerca de 40 sub-redes localizadas em quatro
países, porém estima-se que existam hoje cerca de 3400 sub-redes em 25 países.
Pode-se dizer que o Mbone é uma rede virtual implementada sobre a Internet. Assim, ilhas
de roteadores capazes de transmitir pacotes multicast são interligados através de túneis. É
através destes túneis que as mensagens multicast são transmitidas entre os roteadores.
Como os túneis são formados por roteadores intermediários que não possuem a capacidade
de transmissão multicast , estas mensagens são encapsuladas em pacotes unicast .
No início de sua utilização, apenas o protocolo DVMRP era utilizado para a conexão de
roteadores multicast . Atualmente, porém, encontram-se disponíveis em roteadores
comerciais protocolos como MOSPF e PIM, mas o DVMRP continua sendo o mais
utilizado. Com o aumento da disponibilidade destes protocolos, a tendência é que estes
sejam empregados com mais frequência, reduzindo a necessidade da implementação dos
túneis.
Hoje em dia, o Mbone é utilizado no transporte de fluxos multicast de áudio e vídeo,
transmitindo as reuniões do IETF ( Internet Engineering Task Force), as missões da
NASA, e muitos cursos e seminários espalhados por todo o mundo.
4.9. Multicast IP sobre ATM
O funcionamento da comunicação multicast em redes TCP/IP sobre Ethernet e a estrutura
da rede ATM foram estudados anteriormente. Agora é hora de estudar ambos em conjunto.
Quando se fala em multicast IP sobre ATM, três questões devem ser levadas em
consideração:
• Resolução de endereços IP classe D em endereços ATM;
8/4/2019 Algoritimos de roteamento
http://slidepdf.com/reader/full/algoritimos-de-roteamento 72/118
Capítulo 4 - Comunicação Multicast 62
62
• Onde na rede, e por qual entidade, deve ser feita a replicação dos dados numa
transmissão multicast ;
• Administração dos grupos multicast.
As duas soluções apresentadas para a integração de redes IP em infra-estrutura ATM:
Classical IP over ATM e Lane Emulation, possuem diferentes procedimentos para a
transmissão de pacotes multicast .
O Lan Emulation, solução que simula uma rede de meio físico compartilhado, adota oBUS para a transmissão de tráfego multicast . Assim sendo, todas as estações pertencentes
a uma ELAN receberão os pacotes multicast , o que representa um problema se for
considerada a escalabilidade do sistema. Como nem sempre todas as estações pertencem à
grupos multicast , existe um desperdício de recursos na transmissão de pacotes multicast
para as estações que não pertençam ao grupo. Apesar disso, o ATM Forum adotou esta
solução como padrão, considerando que é a mais simples de ser implementada. Dado que
esta solução é padronizada pelo ATM Forum e não se tem conhecimento de novas
propostas, esta não será aprofundada neste trabalho.
Na especificação do Classical IP sobre ATM, a questão da transmissão do tráfego
multicast IP foi deixada de lado propositadamente. A razão principal deste fato, é a
dificuldade de converter um endereço de grupo IP (classe D) para uma conexão ponto-
multiponto ATM. Desta forma, este é um campo aberto para pesquisas e diversos trabalhos
surgiram para solucionar esta limitação. O MARS [RFC2022] é a especificação mais
completa atualmente e serve de base para novas propostas.
Além da resolução dos endereços IP em endereços ATM, a forma de como será
estabelecida a conexão ponto-multiponto entre a fonte geradora e os clientes participantes,
também deve ser estudada. Duas abordagens são apresentas: Malha de VC’s e Servidor de
8/4/2019 Algoritimos de roteamento
http://slidepdf.com/reader/full/algoritimos-de-roteamento 73/118
Capítulo 4 - Comunicação Multicast 63
63
Multicast (MCS – Multicast Server ). Estas abordagens serão estudadas e comparadas a
seguir.
4.9.1 MARS
Como visto anteriormente, o ATM possui um esquema de endereçamento próprio. As
especificações de sinalização padronizadas pelo ATM Forum (UNI 3.0, UNI 3.1, UNI 4.0),
não provêem nenhuma abstração para o endereçamento multicast ATM, logo se faz
necessária uma solução para o mapeamento de endereços multicast de camada 3 (camada
de rede: IP) para um conjunto de endereços ATM correspondente. Uma possível solução
para este mapeamento está na utilização de um servidor de resolução de endereços
multicast IP.
O servidor de resolução de endereços multicast (MARS – Multicast Address Resolution
Server ) [RFC2022] é uma extensão do ATMARP SERVER definido em [RFC1577],
sendo utilizado para gerenciar o mapeamento entre os endereços de camada 3 e os
endereços ATM. Estações utilizando TCP/IP sobre redes ATM, acessam o MARS para
obter os endereços ATM destino a partir de um endereço de grupo IP classe D.
A arquitetura do MARS é baseada no esquema cliente/servidor. A estrutura de um cluster
baseado no MARS é apresentada na figura 28.
8/4/2019 Algoritimos de roteamento
http://slidepdf.com/reader/full/algoritimos-de-roteamento 74/118
Capítulo 4 - Comunicação Multicast 64
64
Figura 28 – Estrutura de um cluster administrado por um MARS
Sua função é de gerenciar um agrupamento de estações pertencentes a uma rede ATM.
Este agrupamento (cluster ) pode ser definido como um conjunto de estações ATM que
estão associadas a um mesmo MARS, informando a este a intenção de receber ou enviar
pacotes multicast IP.
As informações relativas aos grupos existentes e os participantes destes são trocadas
através de mensagens MARS. Uma estação, antes de iniciar a transmissão de dados
multicast , envia uma mensagem MARS_request contendo o endereço IP do grupo desejado.
O MARS ao receber esta mensagem, responde com uma lista de endereços ATM dos
participantes do grupo. De posse dos endereços, a estação estabelece uma conexão ponto-
multiponto com os participantes e só então passa a transmitir os dados. Caso o MARS não
tiver conhecimento sobre o grupo questionado, ele devolve uma mensagem MARS_NAK .
Durante a transmissão o emissor pode adicionar ou retirar membros participantes da
conexão em função das mensagens de atualização recebidas do MARS. Se para a
transmissão multicast estiver sendo utilizado um servidor específico de transmissão
multicast (MCS – Multicast Server ), então a estação ao enviar um MARS_request , receberá
Mensagens MARS (Join, Leave, Query)
Canal de controle do cluster
MARS
8/4/2019 Algoritimos de roteamento
http://slidepdf.com/reader/full/algoritimos-de-roteamento 75/118
Capítulo 4 - Comunicação Multicast 65
65
o endereço ATM do servidor responsável pelo grupo requisitado. O MCS, ao fazer a
mesma consulta receberá a lista de endereços ATM referentes ao grupo.
Para participar de uma sessão multicast , a estação deve requisitar ao MARS a inclusão de
seu endereço ATM em um determinado grupo. Para isso foi especificada uma mensagem
MARS_join. Quando a estação desejar sair do grupo ela envia uma mensagem
MARS_leave.
O MARS mantém uma conexão ponto-multiponto de controle com todos os participantes.
Assim, as alterações referentes a um grupo, inclusão ou exclusão de um elemento, são
informadas aos participantes do grupo. Quando MCS’s são utilizados, existem, também,
conexões de controle para com estes, cuja funcionalidade é análoga.
4.9.2 Malha de VC’s (VC Mesh)
Nesta abordagem, cada estação emissora estabelece uma conexão com o MARS para
traduzir um endereço multicast IP para um grupo de endereços ATM. De posse deste
conjunto de endereços, o emissor cria uma conexão ponto-multiponto com todas as
Figura 29 – Representação da estrutura da malha de VC’s
estações pertencentes ao grupo e então transmite os dados. A figura 29 mostra um cluster
utilizando o MARS e malha de VC’s.
MARS
Troca de mensagens com o MARS
Transmissão multicast
8/4/2019 Algoritimos de roteamento
http://slidepdf.com/reader/full/algoritimos-de-roteamento 76/118
Capítulo 4 - Comunicação Multicast 66
66
São apresentadas a seguir algumas vantagens deste sistema :
• Não existe um ponto único de falhas
• Conexão ponto-multiponto direta entre o emissor e os membros do grupo ( sem
intermediários )
• Não existe a reflexão de pacotes. O emissor não recebe os pacotes que envia numa
conexão ponto-multiponto
• Não existe problema em se ter vários emissores ao mesmo tempo (mistura de
células ), uma vez que as conexões são independentes.
Destacam-se as seguintes desvantagens:
• Uso de um número excessivo de conexões (VC’s).
• Dificuldade para inserir e remover participantes dos grupos. Uma alteração no
grupo deve ser atualizada na conexão de cada emissor.
• Grande overhead de sinalização para criar e remover as conexões de cada emissor.
4.9.3 MCS ( Multicast Server)
O servidor multicast MCS ( Multicast Server ) está definido em [RFC2149]. Ele foi
projetado para concentrar todas as transmissões relativas a um ou mais grupos multicast ,
minimizando assim o uso de VC’s. Deste modo, a estação emissora estabelece uma
conexão com o MARS, enviando o endereço IP de multicast e recebe como resposta o
endereço ATM do MCS responsável pelo grupo desejado. O emissor estabelece, então,
uma conexão ponto-a-ponto com o MCS e passa a transmitir. O MCS possui uma conexão
ponto-multiponto com todos os participantes do grupo e retransmite as mensagens para os
mesmos. A figura 30 mostra a arquitetura do MCS.
8/4/2019 Algoritimos de roteamento
http://slidepdf.com/reader/full/algoritimos-de-roteamento 77/118
Capítulo 4 - Comunicação Multicast 67
67
Figura 30 – Arquitetura do servidor de transmissão multicast
Destacam-se as seguintes vantagens deste método:
• Cada estação necessita de uma ou duas conexões somente (Duas quando o
participante é emissor e receptor );
• Facilidade para adicionar ou remover participantes. Somente o MCS precisa ser
informado sobre as alterações;
• Baixo consumo de recursos nos comutadores.
Algumas desvantagens:
• MCS torna-se um possível gargalo na rede;
• MCS, quando não é tolerante a falhas, pode comprometer toda a transmissão
multicast;
• Maior distância entre o emissor e os receptores(Existência de retransmissores
intermediários);
• Os pacotes AAL5 devem ser remontados a fim de se evitar a mistura de células de
dois emissores diferentes, aumentando assim o atraso da transmissão;
MARSMCS
Comunica ão com o MARS
Dados multicast
8/4/2019 Algoritimos de roteamento
http://slidepdf.com/reader/full/algoritimos-de-roteamento 78/118
Capítulo 4 - Comunicação Multicast 68
68
• MCS enviará os pacotes para todos os participantes do grupo, que pode incluir o
próprio emissor, fazendo necessário, então, filtros no emissor para absorver o
conteúdo da sua própria transmissão.
4.9.4 Comparativo entre o MCS e malha de VC’s
Duas possíveis soluções para transmissão multicast em ATM foram apresentadas e as
respectivas vantagens e desvantagens destacadas. É importante agora, que se faça um
estudo comparativo entre as duas, com o objetivo de se esclarecer a importância
quantitativa de alguns parâmetros quanto ao suporte de um único grupo.
A figura 31 [Talpade96] apresenta a comparação das duas abordagens em função do
número de VCC’s utilizados pelos membros do grupo, número de VCC’s ponto-
multiponto, número de VCC’s por membro do grupo e a carga de sinalização gerada por
cada alteração no grupo.
m = número de membros de um grupo G
n = número de emissores para um grupo G
MCS VC-mesh
Número total de VCC’s para membros do grupo n+m n*m
VCC’s ponto-multiponto n+1 N
Número de VCC’s para cada membro 1 N
Sinalização gerada para cada alteração no grupo 1 N
Figura 31 – Comparativo entre a malha de VC’s e o MCS
4.9.5 Comentários
Analisando as vantagens e desvantagens de cada abordagem, juntamente com a tabela
comparativa, algumas conclusões podem ser formuladas:
8/4/2019 Algoritimos de roteamento
http://slidepdf.com/reader/full/algoritimos-de-roteamento 79/118
Capítulo 4 - Comunicação Multicast 69
69
• O uso de VC’s é melhor aproveitado no caso do MCS. O maior uso de VC’s no
caso da malha de VC’s implica num grande consumo de recursos do
comutador, como por exemplo: memória para manter o estado das conexões,alocação de buffer por conexão, e os próprios VC’s que são de número
limitado.
• A freqüência das alterações provocadas pela admissão ou exclusão de membros
de um grupo devem ser consideradas na escolha de uma abordagem. Isto
porque gera-se uma carga considerável de sinalização em cada uma dessas
operações. No caso do MCS este problema é minimizado, dado que apenas o
MCS deve adicionar ou remover membros de suas conexões ponto-multiponto.
Logo o tráfego de sinalização somente existirá entre o MCS e o comutador, não
interferindo nas outras conexões existentes. No caso da malha de VC’s, a
sinalização ocorreria entre cada emissor e o comutador, uma vez que cada
emissor teria de inserir/remover membros de suas conexões. Este fato
evidencia-se em grupos com diversos transmissores, ou muito dinâmicos em
relação aos participantes.
• O MCS provê um controle centralizado do uso da banda pelo tráfego multicast
em redes ATM. Este fato pode ser útil quando se deseja especificar um limite
de uso da banda disponível para a transmissão de tráfego multicast . Em suma,
as atividades de gerenciamento, tarifação e outras tornam-se bastante
simplificadas.
• O uso do MCS aumenta a latência fim-a-fim do sistema e a vazão dos dados,
uma vez que eles devem ser recebidos pelo servidor de multicast , analisados e
redistribuídos para os membros do grupo. Sendo o concentrador único dos
dados multicast , torna-se, além de gargalo do sistema, comprometedor de todo
o serviço de transmissão multicast , dado que também é sujeito a falhas.
• Quando o MCS é utilizado e o emissor também faz parte do grupo ao qual está
transmitindo, é necessário que se estabeleça um filtro de forma a impedir que
ele (o emissor) receba, através do servidor multicast , o conteúdo de sua própria
transmissão.
8/4/2019 Algoritimos de roteamento
http://slidepdf.com/reader/full/algoritimos-de-roteamento 80/118
Capítulo 4 - Comunicação Multicast 70
70
• A questão da diferenciação dos parâmetros de qualidade de serviço (QdS) é
melhor tratada na malha de VC’s. Cada emissor estabelece sua própria conexão
ponto-multiponto com os membros do grupo, conferindo a esta os parâmetrosque julgar necessário. Já na abordagem do MCS o emissor tem a flexibilidade
de estabelecer a conexão com o servidor de multicast , porém a conexão com os
membros do grupo é administrada pelo MCS, sendo, portanto, comum a todos.
4.10. Conclusões
Como foi visto neste capítulo, existem diversas implementações de multicast IP sobre
redes convencionais, tanto em termos de algoritmos quanto de protocolos já disponíveis
em equipamentos comerciais. Estes, porém, não atendem por completo as exigências das
aplicações multimídia modernas, uma vez que não levam em consideração aspectos de
QdS das mesmas.
Em relação à adaptação do multicast IP sobre redes de alta velocidade, foi visto que não
existem padrões definidos, consequentemente as soluções se resumem a possíveis
propostas ainda em desenvolvimento. Dentre as propostas estudadas, concluiu-se que não
existe uma melhor. Dependo da aplicação tanto o MCS quanto VC Mesh podem e devem
ser considerados.
No próximo capítulo, serão estudados os algoritmos de roteamento multicast que
consideram aspectos de QdS na formação das rotas que comporão a árvore de distribuição.
8/4/2019 Algoritimos de roteamento
http://slidepdf.com/reader/full/algoritimos-de-roteamento 81/118
Capítulo 5 - Algoritmos de Roteamento Multicast com QdS 71
71
CCaappí í ttuulloo 55 -- AAllggoorriittmmooss ddee RRootteeaammeennttoo M M uul l t tii c c a a s s t t
ccoomm QQddSS
5.1. Introdução
O problema do roteamento surgiu a partir do momento que várias redes, antes isoladas,
precisaram ser interligadas. Assim, criou-se uma entidade de rede responsável pelo
roteamento das mensagens cujos destinatários não pertenciam à rede local e retransmissão
das mensagens “externas” cujos destinatários pertenciam à rede local. A esta entidade
chamou-se de roteador. As técnicas de roteamento são, portanto, um assunto estudado e
pesquisado há muitos anos. As transmissões multicast , entretanto, não eram implementadas
em redes de longa distância até poucos anos atrás. Como já foi dito, a primeira experiência
de transmissão multicast em redes de longa distância ocorreu em 1992, quando foi
realizado pelo IETF ( Internet Engineering Task Force) um audiocast para vinte
participantes simultâneos em três continentes [Deering92]. A partir de então muitas
pesquisas estão sendo desenvolvidas no sentido de desenvolver e aperfeiçoar algoritmos e
protocolos de roteamento multicast que satisfaçam as seguintes características:
• Considerem os parâmetros de Qualidade de Serviço exigidos pelas aplicações
multimídia de tempo real;
• Gerenciamento eficiente dos recursos da rede;
• Escalabilidade (devido ao grande crescimento das redes).
Este capítulo apresentará os conceitos necessários para a avaliação de algoritmos multicast
assim como uma proposta de classificação destes. Algumas das principais abordagens
8/4/2019 Algoritimos de roteamento
http://slidepdf.com/reader/full/algoritimos-de-roteamento 82/118
Capítulo 5 - Algoritmos de Roteamento Multicast com QdS 72
72
contidas na literatura serão descritas e analisadas com base nos parâmetros relevantes para
uma implementação em situação real.
5.2. Classificação dos Algoritmos de Roteamento Multicast
Para um melhor entendimento dos algoritmos de roteamento multicast , será proposta uma
classificação dos mesmos. Duas categorias de algoritmos podem ser destacadas, quando se
analisa o tipo de árvore multicast :
• Algoritmos de menor caminho: Estes algoritmos constroem uma árvore multicast que
minimiza o tamanho do caminho a partir da fonte até cada membro do grupo multicast .
Vide figura 32.
Figura 32 – Árvore de menor caminho
• Algoritmos de árvore Steiner mínima. O objetivo destes algoritmos é o de minimizar
o custo total da árvore multicast . Este problema é conhecido como sendo NP-completo.
Vide figura 33.
D3 D4
D2
D1
S
Custo total: ………………………….…..7Tamanho do caminho máximo: ………...3Tamanho médio dos caminhos: ……..2.25
8/4/2019 Algoritimos de roteamento
http://slidepdf.com/reader/full/algoritimos-de-roteamento 83/118
Capítulo 5 - Algoritmos de Roteamento Multicast com QdS 73
73
Figura 33 – Árvore Steiner Mínima
Em relação às restrições que os algoritmos podem ou não considerar durante a criação da
árvore multicast , também duas categorias se destacam:
• Algoritmos de atraso restrito. São os algoritmos que levam em consideração as
requisições de atraso máximo garantido pelas aplicações durante a elaboração da
árvore multicast ;
• Algoritmos irrestritos. São os algoritmos que não consideram nenhum parâmetro de
qualidade de serviço (QdS) requisitado pela aplicação.
Outra característica importante a ser considerada pelos algoritmos consiste no dinamismo
do grupo multicast . Assim:
• Algoritmos dinâmicos são aqueles que permitem a inclusão ou exclusão departicipantes, criando, portanto, novos caminhos dos emissores a todos os participantes
do grupo multicast ;
• Algoritmos estáticos são os que determinam todos os caminhos necessários no início
da sessão multicast e estes permanecem fixos durante a existência da sessão multicast .
Quanto à computação dos algoritmos duas possibilidades aparecem:
D3 D4
D2
D1
S
Custo total: ………………………….…..5Tamanho do caminho máximo: ………...4Tamanho médio dos caminhos: ……..2.75
8/4/2019 Algoritimos de roteamento
http://slidepdf.com/reader/full/algoritimos-de-roteamento 84/118
Capítulo 5 - Algoritmos de Roteamento Multicast com QdS 74
74
• Algoritmos distribuídos calculam a árvore multicast de forma distribuída. Com isso
diminui-se o custo de computação em cada nó da rede, porém aumenta-se o número de
mensagens trocadas entre os mesmos;
• Algoritmos centralizados concentram toda computação necessária para a formação da
árvore multicast num único nó. Para isto, as informações sobre a topologia completa da
rede devem estar disponível para qualquer nó.
5.3. Parâmetros Relevantes e Metodologia para Comparação de
Algoritmos Multicast
É necessário que se defina um critério para realizar a comparação dos algoritmos de
roteamento multicast . Para a definição deste critério, é preciso levantar os parâmetros
relevantes e adotar uma métrica aplicável a todos os algoritmos. Neste sentido, destacam-
se os principais pontos que devem ser considerados na análise de um algoritmo:
• Gerenciamento eficiente dos recursos da rede (custo da árvore gerada);
• Parâmetros de QdS considerados (restrições de atraso máximo);
• Complexidade do algoritmo;
• Quantidade de informações armazenadas necessárias;
• Aplicabilidade para redes simétricas e assimétricas.
Como nem sempre é possível a utilização de redes reais para o desenvolvimento e
aperfeiçoamento destes algoritmos, as simulações têm se mostrado o método preferido
pelos pesquisadores para a análise dos mesmos.
Para que as simulações representem as condições reais das redes de computadores, énecessário que se execute o algoritmo em diferentes topologias e tamanhos de redes,
8/4/2019 Algoritimos de roteamento
http://slidepdf.com/reader/full/algoritimos-de-roteamento 85/118
Capítulo 5 - Algoritmos de Roteamento Multicast com QdS 75
75
utilizando cenários reais ou gerados aleatoriamente. Condições de congestionamento,
atrasos, diferentes tipos de tráfego, etc. devem se aproximar o quanto possível do que se
observa na realidade. Alguns autores, mais detalhistas, chegam a considerar o custo
monetário da utilização dos caminhos.
Não se tendo o cuidado apresentado acima, os resultados obtidos através de simulações,
podem expressar uma aparente eficiência ou ineficiência para casos especiais e, portanto,
não podendo ser generalizados.
5.4. Algoritmos de Roteamento Multicast
Dentro dos diversos algoritmos existentes, este trabalho se restringirá à análise dos
algoritmos de atraso restrito, mais adequados para as aplicações multimídia de tempo real.
Os algoritmos de atraso restrito têm como objetivo criar uma árvore multicast ligando
todos os participantes do grupo, sendo que esta árvore tenha o custo mínimo e ao mesmo
tempo respeite o limite de atraso máximo definido. Numa linguagem mais formal:
É de conhecimento geral que estes algoritmos são NP-completos, logo algumas heurísticas
foram desenvolvidas. A seguir as principais heurísticas serão apresentadas.
5.4.1 Heurística KPP
Kompella, Pasquale e Polyzos propuseram em [Kompella93] uma heurística baseada no
modelo de Árvore de Steiner Restrita, que será denominada neste trabalho de KPP.
=∆≤
mínimoGsT Custo
GsT Max Atraso
)),((
)),((_
8/4/2019 Algoritimos de roteamento
http://slidepdf.com/reader/full/algoritimos-de-roteamento 86/118
Capítulo 5 - Algoritmos de Roteamento Multicast com QdS 76
76
O primeiro passo que o algoritmo executa é encontrar o fechamento do grafo formado
pelos caminhos de menor custo e que respeitam o limite de atraso, entre todos os pares de
elementos do grupo multicast . Este procedimento exige que se percorra todos os valores de
atraso a partir de 1 até o limite máximo ∆ (assumindo que ∆ possui um valor inteiro) e,
para cada um destes valores, deve-se encontrar o menor caminho entre todos os pares.
Encontra-se, então uma árvore restrita a partir do fechamento do grafo, utilizando um
algoritmo do tipo greedy baseado na função custo. Existem, também, mecanismos de
seleção alternativos, baseados tanto na função custo quanto na função atraso, ou em ambas.
As ligações da árvore de espalhamento (spanning tree) são, então, os menores caminhos da
árvore de espalhamento restrita.
A computação dos menores caminhos restritos durante a primeira fase do algoritmo é a que
consome mais tempo, tendo uma complexidade de O(∆n3), onde n é o número de vértices
do grafo. O segundo passo do algoritmo tem complexidade de O(∆m3), onde m é o número
de nós do grupo multicast . O último passo tem uma complexidade de no máximo O(n 2).
Portanto a complexidade total do algoritmo é dada por O(∆n3).
Melhor do que explicar um algoritmo é visualizar seu funcionamento através de um
exemplo. Para isso observe a figura 34:
8/4/2019 Algoritimos de roteamento
http://slidepdf.com/reader/full/algoritimos-de-roteamento 87/118
Capítulo 5 - Algoritmos de Roteamento Multicast com QdS 77
77
Figura 34 – Evolução da solução KPP
A comunicação multicast tem como origem o emissor F e os membros do grupo multicast
estão identificados na figura com os rótulos B e D. O atraso máximo permitido é 12. O
primeiro passo do KPP é construir um fechamento do grafo utilizando os caminhos de
menor custo, que respeitam o limite de atraso imposto, entre os elementos do grupomulticast . É através deste fechamento que o algoritmo selecionará a solução. No exemplo
acima a solução será as ligações FB e FD somando um custo de 22 e um atraso de 11. Esta
é uma solução válida, dado que satisfaz a restrição de atraso. O estágio final do KPP
consiste em mapear a solução do fechamento do grafo novamente no grafo original,
resultando nas ligações FA, AB, e FC, CD.
FA
C
B
D
(5,3)
(6,8)
(10,3)
(8,2) (3,2)F
A
C
B
D
(5,3)
(6,8)
(10,3)
(8,2) (3,2)
[11,11]
[11,4]
[13,5]
FA
C
B
D
(11,4)
(11,11)
A - Grafo original B – Grafo completo
C – Solução escolhida do fechamento
FA
C
B
D
D – Solução KPP
(22,11)
8/4/2019 Algoritimos de roteamento
http://slidepdf.com/reader/full/algoritimos-de-roteamento 88/118
Capítulo 5 - Algoritmos de Roteamento Multicast com QdS 78
78
5.4.2 Heurística CSPT
Quan Sun e Horst Langendörfer publicaram em [Sun95] a heurística CSPT (Constrained
Shortest Path Trees). Esta é composta por três fases, as quais serão descritas. A primeira
fase constrói uma árvore de espalhamento de baixo custo, através do algoritmo de Dijkstra,
composta pelo maior número possível de componentes pertencentes ao grupo multicast ,
sem que exista nenhum caminho que exceda o limite máximo de atraso. Como nem sempre
todos os membros do grupo serão cobertos por esta árvore, uma segunda execução do
algoritmo de Dijkstra procurará criar uma árvore formada por caminhos de menor atraso,
abrangendo os elementos não cobertos pelo passo anterior. A última fase consistem em
juntar estas duas árvores, removendo os eventuais loops e tomando o cuidado de nenhum
caminho exceder o limite máximo de atraso.
Tanto o primeiro quanto o segundo passo dependem basicamente do algoritmo de Dijkstra
com algumas alterações. Logo a complexidade destas fases será da ordem de O(n2
). A
última fase, de concatenação das árvores, limita-se a O(n). Portanto, a heurística tem a
complexidade total da ordem de O(n2).
5.4.3 Heurística CCET
A heurística CCET (Constrained Cheapest Edge Tree) foi descrita pela primeira vez em
[Waters94]. Alguns aperfeiçoamentos foram feitos desde então. Na proposta original a
restrição de atraso estava relacionado com o atraso mínimo de broadcast, ou do grupo
multicast. Na versão abordada neste trabalho, esta restrição pode ter um valor arbitrário.
A heurística consiste em, num primeiro passo, atualizar, através do algoritmo de Dijkstra, o
valor do atraso de cada nó a partir da fonte, criando um grafo dirigido. Durante essa fase,as arestas cujo atraso inserido ultrapasse o limite definido, são removidas da árvore. Os nós
8/4/2019 Algoritimos de roteamento
http://slidepdf.com/reader/full/algoritimos-de-roteamento 89/118
Capítulo 5 - Algoritmos de Roteamento Multicast com QdS 79
79
são, então, ordenados inversamente em relação ao seu atraso. Iniciando pelo nó de maior
atraso, o algoritmo procura o enlace de menor custo, criando um caminho de volta à fonte.
É bom ressaltar que, como as redes são assimétricas, o enlace é escolhido em relação ao
seu custo sempre na direção da fonte para o nó. Estes caminhos são inseridos numa árvore
de broadcast . Ao final deste processo, os nós que não pertencem ao grupo multicast são
retirados da árvore. Existem algumas variações deste algoritmo [Salama94][Crawford94]
que propõe ao invés de escolher o enlace de menor custo, escolher o caminho de menor
custo.
Em relação à ordem de complexidade deste algoritmo, verifica-se que no primeiro estágio,
algoritmo de Dijkstra, mantém-se em O(n2). Para a criação da árvore de broadcast , é
necessário, para cada nó, executar uma busca em profundidade na árvore até a fonte, o que
consome O(max(N, |E|)), onde N representa o número de nós e E o conjunto de arestas da
árvore de busca, sendo esta formada por todas as possíveis rotas de volta à
fonte[Gibbons89]. Portanto a ordem de complexidade total do algoritmo será de O(n2).
A sequência mostrada na figura 35 apresentam os estágios de funcionamento do algoritmo.
D
C
BA
E H
G
F
(3,2)
(7,1)
(10,1
(2,1
(5,1)
(8,1)
(6,1
(1,2
(2,1)
(1,3
(10,2)
(9,1
D
C
BA
E H
G
F
3
4
3
3
2
4
1
2
3
52
4
43
3
1- Grafo Original (custo, atraso) 2- Grafo Dirigido
8/4/2019 Algoritimos de roteamento
http://slidepdf.com/reader/full/algoritimos-de-roteamento 90/118
Capítulo 5 - Algoritmos de Roteamento Multicast com QdS 80
80
Figura 35 – Estágios do algoritmo CCET
5.4.4 Heurística Híbrida
A heurística híbrida foi proposta por John Crawford e Gill Waters em [Waters97]. Esta
heurística é formada basicamente pela integração do algoritmo de Dijkstra, a heurística
CCET e a heurística CSPT. O cálculo da árvore multicast é realizado através da aplicação
do algoritmo de Dijkstra criando simultaneamente as árvores de menor atraso e menor
custo. Obtidas as árvores, aplicam-se os métodos de seleção utilizados nos algoritmos
CCET e CSPT para gerar as respectivas árvores multicast . Neste ponto existem três
possíveis árvores para serem consideradas. Logo a análise procede da seguinte forma:
• Se alguma árvore conter um caminho que ultrapasse o limite de atraso máximo, é
automaticamente descartada do processo de análise;
• Calcula-se o custo total das árvores e aquela que possuir o menor custo será
selecionada.
A ordem de complexidade deste algoritmo é dominado pelo CCET, o que resulta em O(n2).
D
C
BA
E H
G
F
D
C
BA
E H
G
F
4- Árvore de Multicast3- Árvore de Broadcast
8/4/2019 Algoritimos de roteamento
http://slidepdf.com/reader/full/algoritimos-de-roteamento 91/118
Capítulo 5 - Algoritmos de Roteamento Multicast com QdS 81
81
5.5. Conclusões
Este capítulo procurou estabelecer uma classificação entre diversos algoritmos deroteamento multicast para, então, introduzir formalmente o conceito de roteamento
multicast com restrições de QdS. Também foram identificados os principais parâmetros
relevantes para a comparação entre os algoritmos desta classe.
Preparando o leitor para o capítulo das simulações, os principais algoritmos encontrados na
literatura foram apresentados e explicados, inclusive a nova heurística proposta por Waters
[Waters97]. Esta apresentação prévia dos algoritmos teve por objetivo possibilitar ao leitor
um melhor entendimento das técnicas de obtenção de árvores multicast de baixo custo e
com restrição de atraso, para que, assim que entre em contato com os resultados e análises
obtidos através das simulações, estes possam ser melhor assimilados e compreendidos.
8/4/2019 Algoritimos de roteamento
http://slidepdf.com/reader/full/algoritimos-de-roteamento 92/118
Capítulo 6 - Simulações e Análises 82
82
CCaappí í ttuulloo 66 -- SSiimmuullaaççõõeess ee AAnnáálliisseess
6.1. Introdução
O estudo comparativo entre algoritmos de qualquer natureza requer que se faça uma
avaliação de diversos parâmetros relevantes ao objeto da pesquisa. Alguns destes
parâmetros como a ordem de complexidade, a quantidade de informações de estado
armazenadas, etc. devem ser avaliados através de modelos analíticos teóricos. Porém,
visando estudar o desempenho dos mesmos em casos reais, onde outros parâmetros,
também importantes, como tempo de execução, número de falhas, escalabilidade, etc.
devem ser analisados, a simulação é a técnica mais utilizada pelos pesquisadores.
Este capítulo apresentará o simulador utilizado para a avaliação dos algoritmos, assim
como os procedimentos e definições criados para reproduzir o ambiente real de
transmissão de fluxos gerados por aplicações multimídia em redes de alta velocidade. Com
os resultados produzidos pelas simulações serão formuladas as análises e conclusões,
sempre mantendo o compromisso de comparar a nova heurística implementada com
aquelas já existentes.
6.2. Simulador
O simulador utilizado neste trabalho foi originalmente desenvolvido por Hussein Salama
como parte de sua tese de doutorado [Salama96] apresentado à Universidade Estadual da
Carolina do Norte – Estados Unidos. O código deste simulador está disponível através do
seguinte endereço eletrônico: ftp.csc.ncsu.edu/pub/rtcomm.
Seguindo o modelo de rede ATM, o simulador considera que as ligações são full-duplex, e
com capacidade de transmissão de 155Mbits (OC-3). Foi definido que os nós da rede
8/4/2019 Algoritimos de roteamento
http://slidepdf.com/reader/full/algoritimos-de-roteamento 93/118
Capítulo 6 - Simulações e Análises 83
83
seriam gerados aleatoriamente dentro de um retângulo de 4000x2400 Km2 de área,
correspondendo à área territorial dos Estados Unidos.
Um ponto importante que deve ser tratado com muito cuidado quando se trabalha com
simulações diz respeito ao gerador aleatório utilizado. Neste trabalho foi utilizado um
gerador aleatório baseado no modelo de gerador de Waxman [Waxman88] para a geração
das redes (nós e ligações). O gerador foi otimizado de forma que a rede resultante fosse
composta por nós cujos graus sempre fossem maior ou igual a dois. Alguns parâmetros do
gerador foram ajustados para que, assim como em redes reais, a probabilidade da
existência de uma ligação de menor distância seja maior do que uma de maior distância, e
que a média dos graus dos nós seja 4, como é encontrado hoje na Internet. Vide Anexo A
para maiores informações sobre o gerador aleatório utilizado.
Cada nó da rede representa um comutador ATM não bloqueante. A velocidade de
propagação das ligações foi estimada em dois terços da velocidade da luz. Não foram
considerados atrasos relativos ao enfileiramento de células, assim pode-se dizer os atrasos
de uma dada ligação são simétricos, ou seja, A(u,v) = A(v,u).
Para a simulação do tráfego multicast , foi utilizado o VBR (Variable Bit Rate), supondo o
transporte de fluxos de vídeo. Para cada fluxo de vídeo que passa por uma dada ligação, é
reservada uma fração da banda desta ligação correspondente à necessidade do fluxo. Neste
trabalho foi assumido que os fluxos necessitam de uma banda mínima de 7 Mbps,
representando fluxos MPEG-2 de alta resolução. Desta forma a função custo de uma
ligação foi associada à utilização da ligação, ou seja, quanto maior for a utilização de uma
ligação, maior será o custo da mesma. O custo de uma ligação varia, então, conforme as
sessões que a utilizam são estabelecidas ou liberadas. Uma ligação pode aceitar novas
sessões até que a soma das reservas de banda atinja 85% da capacidade da ligação. A partir
8/4/2019 Algoritimos de roteamento
http://slidepdf.com/reader/full/algoritimos-de-roteamento 94/118
Capítulo 6 - Simulações e Análises 84
84
deste ponto, a ligação torna-se saturada e rejeita novas sessões. Esta política de controle de
admissão, apesar de simples, permite multiplexação estatística e uma utilização eficiente
dos recursos da rede, além de ser suficiente para os estudos em questão.
As sessões de vídeo e voz interativos, têm exigências rígidas em relação ao atraso máximo
suportado. Tendo isso em vista, foi adotado uma valor para ∆ (atraso máximo entre fonte e
receptor) de 0,03 segundos que representa um limitante superior para o tempo de
propagação fim-a-fim através da rede. Este valor relativamente baixo foi utilizado de
forma que os protocolos de camadas superiores tenham tempo suficiente de processar as
informações transmitidas sem que o serviço seja prejudicado. Além disso, espera-se que
este valor sirva de diferencial para os algoritmos mais eficientes.
Reproduzindo ambientes reais, o simulador gera um tráfego de fundo nas ligações, também
de forma aleatória. Este tráfego não tem uma característica definida, apenas estabelece uma
banda mínima Bmin e uma banda máxima Bmax de utilização. Assim quando do
estabelecimento de uma nova conexão, além dos tráfegos gerados por conexões já
existentes, o tráfego de fundo também deverá ser considerado pelos mecanismos de
controle de tráfego.
6.3. Adaptações feitas no simulador
De forma a viabilizar a comparação da nova heurística apresentada no capítulo anterior
com aquelas já implementadas no simulador, foram executadas algumas alterações no
programa original.
O primeiro passo consistiu em portar o simulador, escrito originalmente para as
plataformas Sun, DEC, RS6000, para a plataforma Linux/Intel, mais acessível e de melhor
conhecimento deste autor. Em seguida foi necessário escrever a nova heurística, proposta
por Waters, no simulador mantendo a estrutura de dados já existente e utilizada pelos
8/4/2019 Algoritimos de roteamento
http://slidepdf.com/reader/full/algoritimos-de-roteamento 95/118
Capítulo 6 - Simulações e Análises 85
85
outros algoritmos. Esta preocupação de manter a mesma estrutura de dados, já utilizada
pelos outros algoritmos, teve por objetivo criar a coerência de implementação necessária
para que os dados obtidos expressassem fielmente a situação em teste, possibilitando uma
comparação justa.
Finalizando as alterações, foram desenvolvidos alguns módulos que implementam testes
específicos que foram utilizados durante as simulações.
6.4. Configuração das Simulações
Como já foi amplamente explorado na literatura, os resultados das simulações de
algoritmos de roteamento variam bastante em função do tamanho da rede considerada.
Logo, uma tendência muito encontrada em trabalhos deste tipo é a divisão em redes
pequenas de até vinte nós e redes grandes de até duzentos nós, onde o comportamento dos
algoritmos é analisado em ambos os casos separadamente. Em cada caso, é estudada a
influência do tamanho do grupo multicast sobre o desempenho do algoritmo utilizado.
Em cada execução do simulador, os algoritmos são analisados em função da qualidade da
árvore multicast gerada, ou seja, o seu custo total, o atraso médio imposto, número médio
de comutadores presente em cada caminho, tempo de execução e número de falhas. A falha
de um algoritmo pode ser causada pela existência de um caminho que exceda a restrição do
limite máximo de atraso entre a fonte e um receptor, ou por não encontrar um enlace com
banda disponível para a transmissão do fluxo de vídeo.
Para que os resultados apresentados demonstrem a confiabilidade esperada, cada
configuração é executada trezentas vezes, ou seja, são geradas trezentas redes aleatórias
cada uma com um diferente tráfego de fundo e grupo multicast . Estudos anteriores
[Salama96], demonstram que em simulações deste tipo, entre duzentos e cinquenta e
trezentas execuções, atinge-se uma confiança de 95% com uma variação máxima de 5%
8/4/2019 Algoritimos de roteamento
http://slidepdf.com/reader/full/algoritimos-de-roteamento 96/118
Capítulo 6 - Simulações e Análises 86
86
em relação aos resultados obtidos. O tráfego de fundo, também gerado aleatoriamente, de
cada enlace é definido através de um valor de banda entre Bmin e Bmax, e pode ser
diferente em cada direção, ressaltando a característica de assimetria das redes.
A seguir serão apresentados os resultados relativos à análise teórica da complexidade dos
algoritmos, o custo médio das árvores geradas, o atraso médio inserido pela árvore, o
número médio de comutadores presentes nos caminhos da árvore, o tempo de execução dos
algoritmos e o número de falhas detectados durante a construção das árvores multicast em
cada algoritmo.
6.5. Resultados e Análises
Os próximos parágrafos demonstrarão os resultados e análises das simulações realizadas
com os algoritmos de roteamento multicast que consideram aspectos de qualidade de
serviço na escolha das rotas. Os algoritmos escolhidos para as simulações são os mesmos
descritos no capítulo anterior, de forma que o leitor possa entender a relação entre a
complexidade do algoritmo, seu tempo de execução e a qualidade dos resultados gerados.
Ainda em relação à escolha dos algoritmos, estes foram selecionados de forma a
possibilitar uma comparação abrangente com a nova heurística apresentada por Waters e
sua aplicabilidade em redes de alta velocidade.
6.5.1 Estudo da complexidade dos algoritmos
O estudo da complexidade dos algoritmos tem como objetivo avaliar a escalabilidade e
estimar o tempo de execução dos mesmos em função do número de nós que compõe a
rede. Desta forma é possível prever se um determinado algoritmo tem condições de ser
empregado em implementações de protocolos ou equipamentos. Como o foco desta
dissertação é o roteamento multicast para aplicações multimídia, a questão do tempo de
8/4/2019 Algoritimos de roteamento
http://slidepdf.com/reader/full/algoritimos-de-roteamento 97/118
Capítulo 6 - Simulações e Análises 87
87
execução do algoritmo é essencial para um desempenho eficiente do cálculo das rotas. A
tabela abaixo resume os resultados de cada algoritmo.
Algoritmo Ordem de complexidade
KPP O(n3)
CSPT O(n2)
CCET O(n2)
Híbrida O(n2)
Figura 36 – Tabela referente à ordem de complexidade dos algoritmos
Independente dos resultados práticos, é possível prever, em função da figura 36, que o
algoritmo KPP terá um tempo de execução mais alto que os outros algoritmos. Além disso,
este tempo de execução aumentará, em função do aumento do número de nós da rede,
segundo uma taxa maior que os outros. Sua escalabilidade fica bastante comprometida,
uma vez que em paralelo ao tempo de execução, existe o problema de armazenamento de
dados processados que também cresce à mesma taxa.
6.5.2 Custo total da árvore gerada
O custo total da árvore multicast construída pelo algoritmo demonstra sua habilidade em
alocar os recursos dos comutadores de maneira inteligente e transmitir sobre enlaces de
baixa utilização.
8/4/2019 Algoritimos de roteamento
http://slidepdf.com/reader/full/algoritimos-de-roteamento 98/118
Capítulo 6 - Simulações e Análises 88
88
Redes pequenas (até 20 nós)
Redes grandes (até 200 nós)
Figura 37 – Custo das árvores geradas pelos algoritmos
Pelos gráficos da figura 37, observa-se que a heurística KPP gera as árvores de menor
custo total em todos os casos testados, o que já era esperado, pois é de conhecimento geral
que heurísticas que implementam a técnica de árvore de Steiner produzem melhores
resultados. Entre as heurísticas de menor caminho (Híbrida, CCET e CSPT), a híbrida foi a
que apresentou os melhores resultados quando aplicada em redes pequenas, até 5% melhor
que a CSPT e 20% melhor que a CCET. Em redes grandes, a Híbrida praticamente se
iguala à CSPT, e estas obtiveram resultados até 28% melhores que a CCET.
Um comportamento interessante que pode ser percebido pelos gráficos, é a diferença de
desempenho dos algoritmos em relação à maior assimetria dos enlaces. Neste caso, em
Custo das árvores geradas pelos AlgoritmosBmin = 5 Bmax= 125 Mbps
0.00
200.00
400.00
600.00
800.00
1000.00
1200.00
1 5 10 15 20Número de participantes no grupo Multicast
Híbrida
CCET
CSPT
KPP
Custo das árvores geradas pelos Algoritmos
Bmin = 5 Bmax = 125 Mbps
0.00
2000.00
4000.00
6000.00
8000.00
10000.00
12000.00
1 10 50 100 150 200Número de participantes do grupo Multicast
HíbridoCCETCSPTKPP
Custo das árvores geradas pelos Algoritmos
Bmin = 45 Bmax = 85 Mbps
0.00
2000.00
4000.00
6000.00
8000.00
10000.00
12000.00
14000.00
1 10 50 100 150 200Número de participantes do grupo Multicast
Híbrido
CCET
CSPT
KPP
Custo das árvores geradas pelos AlgoritmosBmin = 45 Bmax = 85 Mbps
0.00
200.00
400.00
600.00
800.00
1000.00
1200.00
1 5 10 15 20Número de participantes no grupo Multicast
Híbrida
CCET
CSPT
KPP
8/4/2019 Algoritimos de roteamento
http://slidepdf.com/reader/full/algoritimos-de-roteamento 99/118
Capítulo 6 - Simulações e Análises 89
89
redes pequenas, a diferença entre a Híbrida e a CSPT diminui bastante, enquanto a
diferença destas com a CCET aumenta.
6.5.3 Atraso da árvore multicast
O atraso inserido pela árvore multicast é um parâmetro importante de comparação entre os
algoritmos, pois através dele é possível avaliar a capacidade do algoritmo em utilizar
enlaces que insiram o menor atraso na transmissão dos fluxos de vídeo. Apesar de todos os
algoritmos restringirem o atraso máximo, é interessante que se tenha este parâmetro com o
menor valor possível, pois, em se tratando de tráfegos gerados por aplicações multimídia,
além da restrição temporal natural destas aplicações, deve-se ter em mente que estas
consomem muito tempo de processamento das estações receptoras para receberem os
fluxos, desencapsular os pacotes de dados e apresenta-los ao usuário.
A seguir são apresentados os resultados referentes às simulações dos algoritmos
observando o atraso médio das árvores geradas.
Redes pequenas (até 20 nós)
Atraso Médio (s)
Bmin = 5 Bmax = 125 Mbps
0.0100
0.0110
0.0120
0.0130
0.0140
0.0150
0.0160
1 5 10 15 20Número de participantes do grupo Multicast
Híbrida
CCET
CSPT
KPP
Atraso Médio (s)
Bmin = 45 Bmax = 85 Mbps
0.0100
0.0110
0.0120
0.0130
0.0140
0.0150
0.0160
1 5 10 15 20Número de participantes do grupo Multicast
Híbrida
CCET
CSPT
KPP
8/4/2019 Algoritimos de roteamento
http://slidepdf.com/reader/full/algoritimos-de-roteamento 100/118
Capítulo 6 - Simulações e Análises 90
90
Redes grandes (até 200 nós)
Figura 38 – Atraso médio das árvores geradas
Pelos gráficos da figura 38, conclui-se que a heurística KPP demonstrou ser a mais
ineficiente em relação ao atraso médio das árvores geradas tanto em redes pequenas quanto
em grandes. Das heurísticas de menor caminho pode-se dizer que em redes pequenas cujos
enlaces possuem pouca assimetria, ou seja, a utilização do enlace é quase a mesma em
ambos os sentidos, a CCET mostrou-se mais eficiente, porém com o aumento da
assimetria, a Híbrida e a CSPT foram melhores. Este comportamento praticamente se
inverteu ao utilizar-se redes de até duzentos nós.
De uma forma geral, conclui-se que o atraso médio das árvores aumenta em função do
crescimento do número de nós da rede, e que os algoritmos apresentam diferentes
comportamentos em função do estado de simetria dos enlaces. Seria necessário um estudo
mais aprofundado para explicar os motivos do comportamento dos algoritmos em relação à
maior ou menor simetria dos enlaces da rede.
6.5.4 Número de comutadores em cada caminho
O número médio de comutadores presentes nos caminhos que formam a árvore multicast é
um importante parâmetro para determinar o consumo de recursos da rede pelos algoritmos,
assumindo que um comutador também é um recurso da rede. Apesar desta dissertação não
estar avaliando o atraso imposto pela comutação em cada equipamento, este trabalho pode
Atraso médio (s)
Bmin = 45 Bmax = 85 Mbps
0.01200.01300.01400.01500.01600.01700.01800.01900.02000.0210
1 10 50 100 150 200Número de participantes do grupo Multicast
Híbrido
CCET
CSPT
KPP
Atraso médio (s)
Bmin = 5 Bmax = 125 Mbps
0.01200.01300.01400.01500.01600.01700.01800.01900.02000.0210
1 10 50 100 150 200Número de participantes do grupo Multicast
Híbrido
CCET
CSPT
KPP
8/4/2019 Algoritimos de roteamento
http://slidepdf.com/reader/full/algoritimos-de-roteamento 101/118
Capítulo 6 - Simulações e Análises 91
91
servir de ponto de partida para um estudo mais detalhado em relação a todos os atrasos
envolvidos na transmissão de fluxos de voz ou vídeo.
Redes pequenas (até 20 nós)
Redes grandes (até 200 nós)
Figura 39 – Número de médio de comutadores nos caminho da árvore multicast
Com relação ao número médio de comutadores alocados nos caminhos da árvore multicast
gerada pelos algoritmos, pode-se concluir, através da figura 39, que a CSPT foi a heurística
que apresentou o melhor desempenho, ou seja, alocou o menor número de comutadores. A
Híbrida obteve um desempenho de até 19% pior que a CSPT em redes pequenas e
praticamente igual em redes grandes com grande assimetria. A heurística CCET obteve o
pior resultado entre as de menor caminho, cerca de 42% maior em comparação com a
CSPT em redes grandes com pouca assimetria. A única heurística que implementa a
Número Médio de Hops
Bmin = 5 Bmax = 125 Mbps
0.00
1.00
2.00
3.004.00
5.00
6.007.00
8.00
1 10 50 100 150 200Número de participantes do grupo Multicast
Híbrido
CCETCSPT
KPP
Número Médio de Hops
Bmin = 45 Bmax = 85 Mbps
0.00
1.00
2.00
3.00
4.00
5.00
6.00
7.00
8.00
1 10 50 100 150 200Número de participantes do grupo Multicast
Híbrido
CCETCSPT
KPP
Número Médio de Hops
Bmin = 5 Bmax = 125 Mbps
1.70
1.90
2.10
2.30
2.50
2.70
2.90
3.10
3.30
1 5 10 15 20
Número de Participantes do grupo Multicast
Híbrida
CCET
CSPT
KPP
Número Médio de Hops
Bmin = 45 Bmax = 85 Mbps
1.701.90
2.10
2.30
2.50
2.70
2.90
3.10
3.30
1 5 10 15 20
Número de Participantes do grupo Multicast
Híbrida
CCET
CSPT
KPP
8/4/2019 Algoritimos de roteamento
http://slidepdf.com/reader/full/algoritimos-de-roteamento 102/118
Capítulo 6 - Simulações e Análises 92
92
técnica de árvore de Steiner testada (KPP) obteve resultados crescentes em função do
número de participantes do grupo multicast , e em geral maiores que as de menor caminho.
6.5.5 Tempo de execução dos algoritmos
A análise do tempo de execução dos algoritmos é essencial para comparar os resultados
por eles produzidos com o “custo” (tempo de processamento) necessário para seu cálculo.
Não menos importante, este estudo serve de base para o estudo da viabilidade de
implementação do algoritmo em protocolos ou equipamentos específicos, tanto em redes
de pequeno porte quanto em redes de alcance global. É bom lembrar, entretanto, que nem a
heurística Híbrida nem as já existentes no simulador foram implementadas visando
otimizar o tempo de execução.
Redes pequenas (até 20 nós)
Redes grandes (até 200 nós)
Figura 40 – Tempo de execução dos algoritmos
Tempo de Execução (s)
Bmin = 5 Bmax = 125 Mbps
0.0000
0.0100
0.0200
0.0300
0.0400
0.0500
0.0600
0.0700
1 5 10 15 20Número de participantes do grupo Multicast
Híbrida
CCET
CSPT
KPP
Tempo de Execução (s)
Bmin = 45 Bmax = 85 Mbps
0.0000
0.0100
0.0200
0.0300
0.0400
0.0500
0.0600
0.0700
1 5 10 15 20Número de participantes do grupo Multicast
Híbrida
CCET
CSPT
KPP
Tempo de Execução (s)Bmin = 45 Bmax = 85 Mbps
0.0005.000
10.00015.00020.00025.00030.00035.00040.00045.000
1 10 50 100 150 200Número de participantes do grupo Multicast
HíbridoCCETCSPTKPP
Tempo de Execução (s)Bmin = 5 Bmax = 125 Mbps
0.0005.000
10.00015.00020.00025.00030.00035.00040.00045.000
1 10 50 100 150 200Número de participantes do grupo Multicast
Híbrido
CCET
CSPT
KPP
8/4/2019 Algoritimos de roteamento
http://slidepdf.com/reader/full/algoritimos-de-roteamento 103/118
Capítulo 6 - Simulações e Análises 93
93
O resultados descritos na figura 40, foram obtidos executando o simulador em um Pentium
II com o sistema operacional Linux. Porém, o que interessa para este estudo não são os
valores propriamente, mas a diferença entre eles.
Fica claro, em todos os casos analisados, que a heurística KPP possui um tempo de
execução muito superior em relação às heurísticas de menor caminho. Este fato, já descrito
na literatura, ratifica a tese de que algoritmos que implementam a técnica de árvore mínima
de Steiner não são aplicáveis às redes grandes, apesar de seus resultados serem melhores.
Entre os algoritmos de menor caminho, a heurística Híbrida apresentou o maior tempo de
execução, próximo da soma dos tempos de execução das duas outras heurísticas. Isto pode
ser explicado pelo seu mecanismo de funcionamento que após criar a árvore de broadcast ,
utiliza os dois mecanismos de seleção, um utilizado na CCET e o outro na CSPT, para
criar duas árvores multicast , para então comparar o custo de ambas e escolher aquela que
possuir o menor custo. De qualquer forma, o custo da Híbrida ainda é muito inferior ao da
KPP, possibilitando sua utilização tanto em redes pequenas quanto em redes globais.
6.5.6 Número de sessões estabelecidas com sucesso
Com o objetivo de avaliar a eficiência dos algoritmos em relação à alocação de recursos
dos comutadores e sua habilidade em lidar com situações de saturação de enlaces, foram
conduzidos os testes de número máximo de sessões de vídeo simultâneas.
A simulação consiste em gerar uma rede aleatória, sem qualquer tipo de tráfego de fundo.
Sobre esta rede serão criados seqüencialmente, também de forma aleatória, grupos
multicast com uma respectiva fonte emissora de fluxo (VBR) de vídeo, formando assim
uma sessão multicast . Vale lembrar, que a sessão multicast só é estabelecida se houver
recursos disponíveis em todos os comutadores intermediários pertencentes à árvoremulticast . As sessões são criadas continuamente até que os algoritmos falhem em encontrar
8/4/2019 Algoritimos de roteamento
http://slidepdf.com/reader/full/algoritimos-de-roteamento 104/118
Capítulo 6 - Simulações e Análises 94
94
rotas que possuam banda suficiente para o tráfego de vídeo ou ainda que não respeitem o
limite de atraso máximo imposto.
Para cada tamanho de grupo multicast , são geradas trezentas redes diferentes, onde, em
cada uma destas, tenta-se estabelecer mil sessões multicast . Os resultados descritos a
seguir representam a média dos valores obtidos nas simulações.
Redes pequenas (até 20 nós)
Figura 41 – Número de sessões multicast estabelecidas com sucesso
As simulações referentes à heurística KPP não puderam ser realizadas devido ao seu
elevado tempo de execução. Entre as heurísticas de menor caminho, tanto a CSPT quanto a
Híbrida demonstraram resultados semelhantes, onde a principal causa de falha foi devido à
saturação dos enlaces. Já a heurística CCET demonstrou estabelecer um número até 39 %
menor de sessões simultâneas. Este fato se deve ao grande número de falhas devido à
violação do atraso máximo imposto (0,03 segundos), além de sua menor habilidade em
selecionar enlaces menos congestionados.
Número de sessões multicast estabelecidas
com sucesso
0
100
200
300
400
500
600
700
800
1 5 10 15 20Número de participantes do grupo multicast
Híbrido
CCET
CSPT
8/4/2019 Algoritimos de roteamento
http://slidepdf.com/reader/full/algoritimos-de-roteamento 105/118
Capítulo 6 - Simulações e Análises 95
95
Fica claro, a partir da figura 41, que conforme o número de participantes do grupo
multicast cresce, menor é o número de sessões que os algoritmos conseguem estabelecer
antes da saturação da rede. Isto pode ser explicado relacionando o tamanho do grupo
multicast com o tamanho da árvore multicast necessária para cobrir todos os elementos do
grupo.
6.6. Conclusões
Este capítulo procurou descrever detalhadamente o simulador utilizado neste trabalho,
assim como todos os procedimentos utilizados para a condução das simulações e análises
dos resultados obtidos.
Em relação à qualidade das árvores geradas, ficou claro que a heurística KPP apresentou os
melhores resultados de custo total da árvore multicast . Também ficou claro que o preço
que se paga por este excelente desempenho é um tempo de execução muito alto, que
praticamente inviabiliza sua utilização em redes com um grande número de nós. Seu
elevado tempo de execução é justificado pela também elevada complexidade do algoritmo,
O(n3), característica dos algoritmos que implementam árvores mínimas de Steiner. A
heurística Híbrida não apresentou resultados tão bons quanto a KPP, porém a relação
custo/tempo de execução faz com que ela tenha mais condições de gerar protocolos ou
equipamentos de roteamento multicast com QdS.
O atraso médio inserido pela árvore de multicast foi o único parâmetro onde a heurística
CCET obteve alguma vantagem em relação às concorrentes. Isto se deve ao fato de ela
criar sua árvore de broadcast , durante o primeiro passo do algoritmo, em função dos
enlaces de menor atraso, e não de menor custo. As heurísticas Híbrida e CSPT obtiveram
resultados muito próximos, enquanto a KPP introduziu os maiores atrasos.
8/4/2019 Algoritimos de roteamento
http://slidepdf.com/reader/full/algoritimos-de-roteamento 106/118
Capítulo 6 - Simulações e Análises 96
96
A heurística CSPT obteve o menor número de comutadores intermediários nos caminhos
formadores da árvore multicast , seguido de perto pela Híbrida, ressaltando a habilidade
destas em relação ao menor consumo de recursos da rede. Este mesmo resultado se repetiu
em relação ao número máximo de sessões multicast simultâneas. Nesta simulação, vale
lembrar que a heurística KPP não pôde ser avaliada devido ao seu elevado tempo de
execução.
8/4/2019 Algoritimos de roteamento
http://slidepdf.com/reader/full/algoritimos-de-roteamento 107/118
Capítulo 7 - Conclusões e Trabalhos Futuros 97
97
CCaappí í ttuulloo 77 -- CCoonncclluussõõeess ee TTrraabbaallhhooss FFuuttuurrooss
Este capítulo final consolidará as conclusões formuladas no decorrer desta dissertação. O
resultado desta dissertação foi o de apresentar ao leitor o panorama atual das soluções de
transmissão multicast para a comunicação multimídia, em termos de conceitos, algoritmos
e protocolos.
Nesta dissertação, foram estudadas as soluções de transmissão multicast existentes sobre
redes convencionais utilizando a pilha de protocolos TCP/IP, onde procurou-se ressaltar
sua falta de habilidade em tratar dos requisitos básicos das aplicações multimídia de tempo
real, em especial os requisitos temporais e de disponibilidade mínima de banda garantida.
Abordou-se tanto soluções para redes locais quanto redes de longa distância.
Em relação às redes de alta velocidade, o ATM foi a tecnologia explorada em função da
sua aceitação tanto no meio acadêmico quanto no industrial. As soluções de integração de
IP/ATM, importantes por manterem a compatibilidade com as aplicações atuais e
promoverem a disseminação desta tecnologia, foram enumeradas e analisadas visando seu
funcionamento, mecanismos de transmissão e aproveitamento dos recursos de QdS. Dado
que estas soluções não possuem recursos que otimizem a comunicação multicast IP sobre
redes ATM, as principais propostas que estendem estas soluções, implementando este
importante conceito, foram comparadas segundo seu desempenho, escalabilidade e
consumo de recursos da rede.
Por fim, foi formulado formalmente o problema de roteamento multicast com restrições de
QdS. Problema que esta dissertação procurou esclarecer e apontar as heurísticas existentes
desenvolvidas para a sua solução. Além disso, apresentou, através de simulações, um
8/4/2019 Algoritimos de roteamento
http://slidepdf.com/reader/full/algoritimos-de-roteamento 108/118
Capítulo 7 - Conclusões e Trabalhos Futuros 98
98
estudo comparativo envolvendo a qualidade dos resultados, o grau de complexidade e a
viabilidade de implementação das mesmas. A seguir serão apresentadas as principais
conclusões relativas a este estudo e os possíveis trabalhos futuros.
7.1. Conclusões
Com relação à análise teórica dos algoritmos estudados, todos os de menor caminho
apresentaram resultados semelhantes, mantendo sua ordem de complexidade em O(n2
). Aheurística KPP, que implementa a técnica de árvore mínima de Steiner, destacou-se pela
sua elevada complexidade: O(n3), já indicando a dificuldade de executá-la em redes com
um elevado número de nós. Esta análise possibilitou também, prever que a heurística KPP
teria elevados tempos de execução quando comparada com suas concorrentes.
O custo da árvore multicast gerada é um dos parâmetros mais importantes analisados, pois
reflete a habilidade do algoritmo em selecionar enlaces com menor utilização para a
formação da árvore multicast de distribuição. Neste sentido, a proposta da heurística
Híbrida alcançou seu objetivo principal, dado que, entre as heurísticas de menor caminho,
obteve os melhores resultados. Este fato foi mais visível em redes de até vinte nós onde seu
desempenho chegou a ser 20% superior à CCET e 5% superior à CSPT. É fato, entretanto,
que em todos os casos simulados, a heurística KPP obteve resultados superiores.
As análises referentes ao número médio de comutadores intermediários e número máximo
de sessões multicast simultâneas, demonstraram um comportamento muito próximo entre
as heurísticas Híbrida e CSPT, onde estas demonstram significativa vantagem sobre as
outras duas. No item atraso médio inserido pela árvore multicast houve uma inversão, onde
a heurística CCET aparece como a melhor qualificada.
8/4/2019 Algoritimos de roteamento
http://slidepdf.com/reader/full/algoritimos-de-roteamento 109/118
Capítulo 7 - Conclusões e Trabalhos Futuros 99
99
A análise do tempo de execução de cada algoritmo é de fundamental importância para o
estudo da viabilidade de implementação destes algoritmos em protocolos ou equipamentos.
Através desta, comprovou-se o que já era esperado: a heurística KPP obteve resultados que
inviabilizam sua utilização em redes com elevado número de nós, conforme fora previsto
na análise teórica da mesma.
Portanto, em função dos resultados observados, conclui-se que a heurística Híbrida,
demonstrou resultados iguais ou superiores às concorrentes na maioria dos parâmetros
avaliados, mantendo, porém, um tempo de execução que não inviabiliza sua utilização.
7.2. Trabalhos Futuros
Até a presente data, o ATM Forum não dispõe de nenhuma padronização referente ao
roteamento multicast com restrição de QdS. Este fato significa que existe nesta área, muito
espaço para pesquisas. Logo o estudo de novos algoritmos ou, como foi abordado nesta
dissertação, a integração de abordagens já estudadas, servirão para que, num futuro
próximo, seja possível especificar protocolos ou até mesmo equipamentos com
funcionalidades de roteamento multicast com QdS.
Os algoritmos analisados neste trabalho consideraram que os grupos multicast eram fixos,
ou seja, não houve a preocupação quanto às alterações de rotas necessárias quando da
inclusão ou exclusão de novos elementos do grupo multicast . Uma possível continuação
deste trabalho seria a análise dos algoritmos em relação a este problema.
Também foi assumido durante as simulações que as transmissões de vídeo utilizavam a
categoria de serviço VBR. Uma análise comparativa com o CBR ou o ABR em relação à
8/4/2019 Algoritimos de roteamento
http://slidepdf.com/reader/full/algoritimos-de-roteamento 110/118
Capítulo 7 - Conclusões e Trabalhos Futuros 100
100
alocação de banda nos enlaces poderia originar resultados sobre o comportamento dos
algoritmos quanto a diferentes políticas de reserva de recursos.
Por fim, foi visto que os algoritmos que implementam a técnica de árvore mínima de
Steiner possuem como grande desvantagem, o seu tempo de execução. Logo, poderia se
pensar em modificar estes algoritmos de forma que seu processamento pudesse ser feito de
forma distribuída ou paralela.
8/4/2019 Algoritimos de roteamento
http://slidepdf.com/reader/full/algoritimos-de-roteamento 111/118
Anexo A – O Gerador Aleatório de Enlaces 101
101
AAnneexxoo AA –– OO GGeerraaddoorr AAlleeaattóórriioo ddee EEnnllaacceess
Dado que o gerador aleatório é o ponto mais importante de um estudo baseado em
simulações, este anexo será dedicado inteiramente à sua explicação e aos parâmetros
utilizados para a representação das redes de computadores utilizadas nesta dissertação.
O gerador utilizado no simulador segue o modelo criado por Waxman [Waxman88], cuja
função probabilística para criar os enlaces é dada por:
Onde L representa a distância máxima entre quaisquer dois nós da rede e l(u,v) define a
distância entre u e v. O parâmetro α controla a taxa de existência de enlaces curtos e
compridos, enquanto o parâmetro β controla o grau médio dos nós da rede. Conforme
aumenta-se o valor de α, aumenta-se a probabilidade de existência de enlaces compridos.
O maior valor de β implica em nós de grau maior.
Seguindo o modelo original de Waxman, a sua função probabilística é aplicada para cada
par de nós. A rede resultante pode, porém, não ser conexa, o que não é desejável. Além
disso, fixando valores para α e β não garante que as redes resultantes, ao aplicar-se o
algoritmo várias vezes, conservará o mesmo grau médio dos nós. Logo para que se obtenha
uma rede com um certo grau médio de seus nós, pode ser necessária a execução do
algoritmo por algumas vezes, até que a rede seja criada. A execução do gerador aleatório
repetidamente para que se obtenha uma única rede formada por nós com um certo grau,
não parece ser uma solução eficiente, dado que centenas de redes derão ser geradas em
cada simulação.
αβ
L
vulvuPe
),(exp),(
−=
8/4/2019 Algoritimos de roteamento
http://slidepdf.com/reader/full/algoritimos-de-roteamento 112/118
Anexo A – O Gerador Aleatório de Enlaces 102
102
Tendo isto em vista, Salama [Salama96] desenvolveu um gerador aleatório baseado no
modelo de Waxman, porém que gera uma rede conectada em uma única execução e com a
média dos graus dos nós desejada garantida. O algoritmo proposto utiliza a mesma função
probabilística de Waxman. A seguir será explicado seu funcionamento.
O algoritmo começa selecionando um nó qualquer e interligando este a dois outros nós
quaisquer através de dois enlaces. O resultado deste operação é uma sub-rede formada por
três nós conectados por dois enlaces. O algoritmo repete, então, o seguinte passo para cada
nó da rede: se o grau do nó é menor ou igual a dois, o algoritmo cria enlaces aleatórios
onde uma das pontas é o próprio nó. Isto acontece até que o nó obtenha grau igual a dois.
Se este mesmo nó não estiver conectado à sub-rede existente, o algoritmo providencia que
pelo menos um dos enlaces gerados o conecte com a mesma. A rede resultante ao final
deste loop é conexa e com os graus de seus nós maior ou igual a dois. A partir deste ponto,
o gerador continua a criar novos enlaces até que a média dos graus dos nós desejada seja
atingida.
Esta técnica foi utilizada para gerar redes cujos nós possuiam em média grau igual a
quatro, conforme encontra-se hoje na Internet. Os valores de α foram ajustados de forma a
representar, com a maior proximidade possível, as redes reais de computadores. Já os
valores de β permaneceram fixos, uma vez que ficou a cargo do algoritmo gerenciar a
média dos graus dos nós.
8/4/2019 Algoritimos de roteamento
http://slidepdf.com/reader/full/algoritimos-de-roteamento 113/118
Anexo B – Interface do Simulador MCRSIM 103
103
AAnneexxoo BB –– IInntteerrf f aaccee ddoo SSiimmuullaaddoorr MMCCRRSSIIMM
A título de ilustração, apresentamos abaixo a interface do simulador MCRSIM, após sua
implementação no Linux.
Figura 42 – Interface gráfica do simulador MCRSIM
No exemplo acima, temos uma fonte de vídeo transmitindo, utilizando a categoria de
serviço VBR, a partir do nó de número 69, identificada por um quadrado ao seu redor. Os
membros do grupo multicast são identificados pelas circunferências de maior raio. A
árvore multicast gerada a partir da fonte, pode ser visualizada através de seus enlaces de
maior espessura enquanto seu custo é apresentado na parte superior da janela.
8/4/2019 Algoritimos de roteamento
http://slidepdf.com/reader/full/algoritimos-de-roteamento 114/118
Referências Bibliográficas 104
104
RReef f eerrêênncciiaass BBiibblliiooggrrááf f iiccaass
[Alles95] A. Alles, “ATM Internetworking”, Cisco Systems Inc, WhitePaper,Maio de 1995
[Black95] U. Black. “ATM Foundation for Broadband Networks”, Prentice Hall,New Jersey, 1995
[Cereda97] R. L. D. Cereda, M. A. C. Cruz, L. S. V. Dutra e R. R. Sewaybriquer,“ATM O Futuro das Redes”, BRISA – Sociedade Brasileira paraInterconexão de Sistemas Abertos, MAKRON, 1997
[Commer97] D. E. Commer, “Computer Networks and Internets”, Prentice Hall,New Jersey, 1997
[Crawford94] J. S. Crawford, “Multicast Routing: Evaluation of a New Heuristic”,dissertação de mestrado, Universidade de Kent, Inglaterra, 1994
[Deering92] S. Casner e S. Deering, “First IETF Internet AudioCast”, inProceedings of ACM SIGCOMM, Computer CommunicationsReview, vol. 22, no.3, Julho de 1992
[Gibbons89] Alan Gibbons, “Algorithmic Graph Theory”, Cambridge UniversityPress, 1989
[IGMP96] W. Fenner, “Internet Group Management Protocol, Version 2.”,Internet Draft, Maio de 1996
[Kadaba83] K. Barath-Kumar e J. Jaffe, “Routing to Multiple Destinations inComputer Networks”, IEEE Transactions on Communications, vol.COM-31, no.3, pp. 353-360, 1996
[Kiatake98] L.G.G. Kiatake, “Transmissão de fluxos MPEG-2 em soluções IP sobreATM”, dissertação de mestrado apresentada à Escola Politécnica daUniversidade de São Paulo, Junho de 1998
[Kompella93] V. Kompella, J. Pasquale e G. Polyzos, “ Multicast Routing forMultimedia Communications”, IEEE/ACM Transactions onNetworking, 1(3):286-292, 1993
[LANE1] “LAN Emulation over ATM,” The ATM Forum, version 1.0, Janeirode 1994
[LANE2] “LAN Emulation over ATM – LUNI Specification,” The ATM Forum,version 2.0, Julho de 1997
8/4/2019 Algoritimos de roteamento
http://slidepdf.com/reader/full/algoritimos-de-roteamento 115/118
Referências Bibliográficas 105
105
[Meylan98] F. Meylan, L. G. G. Kiatake, M. Z. Santos. “An experimental study fortransmmiting MPEG-2 streams over ATM networks”, 1st IEEEInternational Congress on ATM – ICATM’98, Colmar, France,
Junho de 1998
[NSAP94] Colella, Callon, Gardner e Rekhter, “Guidelines for OSI NSAPallocation in the Internet”, RFC 1629, IETF, Maio de 1994
[PIM96] S. Deering, D. Estrin, et al, “The PIM Architecture for Wide-AreaMulticast Routing”, IEEE/ACM Transactions on Networking, vol.4, no 2, pp 153-162, Abril de 1996
[RFC1075] D. Waitzman, C. Partridge e S. Deering, “Distance Vector MulticastRouting Protocol”, Internet RFC 1075, Novembro de 1988
[RFC1583] J. Moy, “OSPF Version 2”, Internet RFC 1583, Março 1994
[RFC1584] J. Moy, “Multicast Extension to OSPF”, Internet RFC 1584, Maio 1994
[RFC1577] M. Laubach, “Classical IP and ARP over ATM”, RFC 1577, HewlettPackard Laboratories, Janeiro de 1994
[RFC2022] G. Armitage, “Support for Multicast over UNI 3.0/3.1 based ATMNetworks”, RFC 2022, Bellcore, Novembro de 1996
[RFC2117] D. Estrin, D, Farinacci et al., “Protocol Independent Multicast-SparseMode (PIM-SM): Protocol Specification”, Internet RFC, Junho de1997
[RFC2149] R. Talpade e M. Ammar, “ Multicast Server Architectures for MARSbased ATM multicast ing”, RFC 2149, Georgia Institute of Technology, Maio de 1997
[Salama94] H. F. Salama, D. Reeves, Y. Viniotis e T. L. Sheu, “Comparison of Multicast Routing Algoritms for High Speed Networks”, Tech.
Rep. TR 29.1930, IBM, Setembro de 1994[Salama96] H. F. Salama, “ Multicast Routing for Real-Time Communication on
High-Speed Networks", Ph.D. dissertation , Department of Electrical and Computer Engineering, N. C. State University,Novembro de 1996
[Santos98] M. Z. Santos, “Simulação e Análise de Soluções de Comunicação entreSub-redes IP sobre ATM”, dissertação de mestrado apresentada àEscola Politécnica da Universidade de São Paulo, Julho de 1998
[Stevens97] W. R. Stevens, “TCP/IP Illustrated”, Vol.1, Addison-Wesley,Massachusetts, 1997
8/4/2019 Algoritimos de roteamento
http://slidepdf.com/reader/full/algoritimos-de-roteamento 116/118
Referências Bibliográficas 106
106
[Sun95] Q. Sun e H. Langendoerfer, “Eficient Multicast Routing for DelaySensitive Applications”, in Proceedings of the Second Workshopon Protocols for Multimedia Systems (PROMS ’95), pp. 452-458,
Outubro de 1995
[Talpade96] R. Talpade, M. Ammar e G. Armitage, “Experience with Architecturesfor Suporting IP Multicast over ATM”, Bellcore, Agosto de 1996
[Tanaka93] Y. Tanaka e P.Huang, “Multiple Destination Routing Algorithms”,IEICE Transactions on Communications, vol E76-B, no.5, pp. 544-552, Maio de 1993
[Tobagi94] C. Noronha e F. Tobagi, “Evaluation of Multicast Routing Algorithmsfor Multimedia Streams”, in Proceedings of the IEEE International
Telecommunications Symposium, Agosto de 1994
[Waters94] G. Waters, “A New Heuristic for ATM Multicast Routing”, in 2nd IFIPon performance Modelling and Evaluation of ATM Networks,pages 8/1-8/9, Julho 1994
[Waters97] G. Waters e J. Crawford, “A Hybrid Approach to Quality of Service Multicast Routing”, Fifth IFIP Workshop on PerformanceModelling and Evaluation of ATM Networks, 1997
[Waxman88] B. Waxman, “Routing of Multipoint Connections”, IEEE Journal onSelected Areas in Communications, vol 6, no. 9, pp. 1617-1622,Dezembro de 1988
[Wei94] L. Wei e D. Estrin, “The Trade-offs of Multicast Trees andAlgorithms”, in Proceedings of the Third International Conferenceon Computer Communications and Networking (IC3N ‘94), pp. 17-24,1994
[WinSock2] “Windows Sockets 2 Application Programming Interface”, TheWinSock Group, Maio de 1997
8/4/2019 Algoritimos de roteamento
http://slidepdf.com/reader/full/algoritimos-de-roteamento 117/118
Lista de Acrônimos 107
107
LLiissttaa ddee AAccrrôônniimmooss
AAL ATM Adaptation LayerABR Available Bit Rate
ANSI American National StandardsInstitute
ARP Address Resolution Protocol
AS Autonomous Systems
ATM Asynchronous Transfer Mode
B-ISDN Broadband Integrated ServicesDigital Network
BUS Broadcast and Unknown Server
CBR Constant Bit Rate
CBT Core Based Trees
CCET Constrained Cheapest EdgeTree
CLP Cell Loss Priority
CLIP Classical IP
CSPT Constrained Shortest Path Trees
DCC Data Country Code
DVMRP Distance Vector MulticastRouting Protocol
ELAN Emulated LAN
ESI End System IdentifierGFC Generic Flow Control
HEC Header Error Control
IANA Internet Assign NumberAuthority
ICD International Code Designator
IETF Internet Engineering TaskForce
IGMP Internet Group ManagementProtocol
ILMI Interim Local Management
InterfaceIP Internet Protocol
IPX Internetwork Packet Exchange
ISDN Integrated Services DigitalNetwork
ITU-T InternationalTelecommunication Union –TelecommunicationStandardization Sector
LANE LAN Emulation
LEC LAN Emulation Client
LECS LAN Emulation Configuration
ServerLES LAN Emulation Server
LIS Logical IP Subnetwork
LLC Logical Link ControlLNNI Lan Emulation Network to
Network Interface
LUNI Lan Emulation User to NetworkInterface
MAC Medium Access Control
MARS Multicast Address ResolutionServer
MBONE Multicast Backbone
MCS Multicast Server
MOSPF Multicast Extensions to OSPF
MPEG Moving Picture Experts GroupMPOA Multiprotocol over ATM
MTU Maximum Transmission Unit
NSAP Network Service Acess Point
NNI Network-to-Network Interface
OSI Open Systems Interconnection
OSPF Open Shortest Path First
PIM Protocol Independent Multicast
PTI Payload Type Identifier
PVC Permanent Virtual Circuit
QdS Qualidade de ServiçoRDSI Redes Digitais de Serviços
Integrados
RDSI-FL Redes Digitais de ServiçosIntegrados de Faixa Larga
RFC Request for Comments
RIP Routing Information Protocol
RPB Reverse Path Broadcasting
RPM Reverse Path Multicasting
SAAL Signaling ATM AdaptationLayer
SVC Switched Virtual Calls
TCP Transmission Control Protocol
TTL Time To Live
TRPB Truncated Reverse PathBroadcasting
UBR Unspecified Bit Rate
UNI User to Network Interface
VBR Variable Bit Rate
VC Virtual Channels
VCC Virtual Channel Connection
VCI Virtual Cannel IdentifierVP Virtual Path
VPI Virtual Path Identifier