modelamento e simulação de redes de telecomunicações
DESCRIPTION
TRANSCRIPT
© Antônio M. Alberti 2005
XIII Seminário de Engenharia Elétrica
Princípios de Simulação em Telecomunicações
© Antônio M. Alberti 2005
Simulação de Redes de Comunicações
Prof. Antônio M. AlbertiInatel, Santa Rita do Sapucaí, MG, Brasil.
© Antônio M. Alberti 2005
Modelamento e Simulação de Redes Por que simular? Modelamento Tipos de Ferramentas Técnicas de Simulação Os Desafios de Simular Redes de Comunicações Características Desejáveis de um Simulador O que Simular? Como Configurar os Modelos? O que Medir?
Sim
ulaç
ão d
e R
edes
de
Com
unic
açõe
s
© Antônio M. Alberti 2005
Por que simular? A análise de desempenho de redes de comunicações
pode ser feita através de três formas principais: Redes Experimentais Métodos Analíticos Simulação Computacional
Sim
ulaç
ão d
e R
edes
de
Com
unic
açõe
s
© Antônio M. Alberti 2005
Por que simular? Redes Experimentais
São utilizadas principalmente em operadoras, para testar e validar novas tecnologias.
Possuem alto custo e demandam pelo conhecimento dos detalhes de implementação de cada fabricante.
Produzem excelentes resultados, pois o teste é feito na rede real.
Si
mul
ação
de
Red
es d
e C
omun
icaç
ões
© Antônio M. Alberti 2005
Por que simular? Métodos Analíticos
Possuem baixo custo, entretanto, são complexos, inflexíveis e muitas vezes intratáveis.
Dentre os principais métodos analíticos estão: Teoria de Filas Processos Estocásticos Otimização Monte Carlo Amostragem por Importância
Sim
ulaç
ão d
e R
edes
de
Com
unic
açõe
s
© Antônio M. Alberti 2005
Por que simular? Simulação Computacional
É a mais flexível e prática das soluções mencionadas. Possui custo intermediário, entretanto, muitas vezes fica
distante do problema do mundo real. Pode incorporar métodos analíticos e características de
sistemas reais.
Possibilita o modelamento realista de fontes de tráfego.
Facilita o projeto e a comparação de algoritmos e protocolos.
Possibilita a análise de desempenho com diferentes níveis de detalhe e escalas de tempo de observação.
Demanda por uma série de cuidados especiais a fim de não se tornar pouco eficiente e ou até mesmo inviável.
Sim
ulaç
ão d
e R
edes
de
Com
unic
açõe
s
© Antônio M. Alberti 2005
Modelamento Definição
Modelamento é o processo de construir modelos de sistemas reais para um determinado ambiente de simulação, de forma que estes modelos representem o mais fiel possível o funcionamento desses sistemas diante de um certo conjunto de situações.
Modelamento x Simulação Simulação é o ato de reproduzir em partes o
comportamento de um sistema ou rede real utilizando um conjunto de modelos deste sistema.
O ideal é que os modelos sejam independentes do simulador.
Sim
ulaç
ão d
e R
edes
de
Com
unic
açõe
s
© Antônio M. Alberti 2005
Modelamento Simulação x Emulação
Na emulação, o propósito é imitar completamente a rede ou uma função original, representando na totalidade os detalhes envolvidos.
Em contraste, na simulação o propósito é modelar somente os aspectos importantes para obter resultados estatísticos que descrevam a operação destas redes ou funções.
Então, uma questão chave é: o que deve ser mantido de emulação nos modelos de simulação?
Sim
ulaç
ão d
e R
edes
de
Com
unic
açõe
s
© Antônio M. Alberti 2005
Modelamento Precisão dos Modelos x Custo Computacional
É necessário otimizar a relação entre a precisão atingida no modelamento e o custo computacional requerido para simular os modelos desenvolvidos.
Pré-requisitos O modelamento de redes de comunicações exige não
apenas o conhecimento do ambiente de simulação para o qual os modelos serão desenvolvidos, mas também o conhecimento de toda a teoria das tecnologias de interesse, dos detalhes dos componentes a serem modelados e uma idéia dos resultados a serem obtidos.
Sim
ulaç
ão d
e R
edes
de
Com
unic
açõe
s
© Antônio M. Alberti 2005
Modelamento Fases Típicas do Desenvolvimento de Modelos
Sim
ulaç
ão d
e R
edes
de
Com
unic
açõe
s
Tecnologiasde Interesse
Modelamento
Ferramenta
Linguagem de Programação
Primeira Fase: Estudar as Tecnologias de Interesse
Segunda Fase:Modelar Estrutura e Principais Componentes destas Tecnologias
Terceira Fase:Estudar a Ferramenta e a Linguagem de Programação Necessária para Implementar os Modelos
Quarta Fase:Implementar protótipo do modelo.
Quinta Fase:Identificar pontos fracos e ajustar modelo.
Sexta Fase:Validar o modelo.
© Antônio M. Alberti 2005
Modelamento Técnicas de Modelamento
Dentre as técnicas de modelamento para simulação computacional estão: Modelamento no Nível de PDUs Modelamento no Nível de Conexões Modelamento Estatístico Modelamento Fluído
Muitas vezes são independentes da ferramenta de simulação.
Si
mul
ação
de
Red
es d
e C
omun
icaç
ões
© Antônio M. Alberti 2005
Modelamento Modelamento no Nível de PDUs
Características É a solução mais simples e a mais usada. Os modelos preocupam-se com o transporte, armazenamento, serviço
e processamento individual de PDUs (Packet Data Units). Modela o funcionamento dos protocolos.
Vantagens A principal vantagem é o alto nível de detalhamento que pode ser
obtido, dado que este é o nível natural de funcionamento das redes de comutação de pacotes.
Desvantagens É extremamente oneroso do ponto de vista computacional.
Sim
ulaç
ão d
e R
edes
de
Com
unic
açõe
s
© Antônio M. Alberti 2005
Modelamento Modelamento no Nível de Conexões
Características Os modelos preocupam-se com a dinâmica do estabelecimento,
manutenção e término de conexões.
Vantagens Viabiliza a análise de problemas orientados à rede, tais como
protocolos de roteamento, escalabilidade, etc.
Desvantagens Consiste de uma aproximação para a simulação no nível de PDUs, e
portanto pode levar a simplificações que tornem os resultados não conclusivos.
Sim
ulaç
ão d
e R
edes
de
Com
unic
açõe
s
© Antônio M. Alberti 2005
Modelamento Modelamento Estatístico
Características Os modelos capturam estatisticamente o comportamento da rede,
seus protocolos e algoritmos.
Vantagens Acelera a simulação, uma vez que trabalha com momentos
estatísticos.
Desvantagens Consiste de uma aproximação para a simulação no nível de PDUs, e
portanto pode levar a simplificações que tornem os resultados não conclusivos.
É complexo e inflexível.
Sim
ulaç
ão d
e R
edes
de
Com
unic
açõe
s
© Antônio M. Alberti 2005
Modelamento Modelamento Fluído
Características Os modelos são fontes ou processadores de fluxos contínuos de
informações, que apresentam uma taxa de transmissão em bits por segundo.
Vantagens A principal vantagem é a aceleração da simulação, uma vez que no
nível de taxas os eventos ocorrem em escalas de tempo muito menores quando comparadas com as escalas de ocorrência de eventos em simulações no nível de PDUs.
Desvantagens Também é uma aproximação para o comportamento no nível de
PDUs, e portanto pode levar a simplificações que tornem os resultados não conclusivos.
É complexo e inflexível.
Sim
ulaç
ão d
e R
edes
de
Com
unic
açõe
s
© Antônio M. Alberti 2005
Tipos de Ferramentas Existem quatro tipos de ferramentas para apoiar na
análise de desempenho e projeto de telecomunicações: Ferramentas de Projeto de Sistemas de Comunicações
Projetam a camada física de uma rede de comunicações. Ex.: CelLink, Optiwave OptiAmplifier, Matlab.
Ferramentas de Projeto de Redes de Comunicações Projetam a rede de comunicação como um todo. Ex.: CelPlaner,
OPNET Guru, VPI Transport Maker, Optiwave Optiplanner.
Ferramentas de Simulação de Sistemas de Comunicações Simulam a camada física de um sistema de comunicações. Ex.: VPI
Transmission Maker, Optiwave Optisystem.
Ferramentas de Simulação de Redes de Comunicações Simulam a rede de comunicação como um todo. Ex.: OPNET Modeler,
NS-2.
Sim
ulaç
ão d
e R
edes
de
Com
unic
açõe
s
© Antônio M. Alberti 2005
Tipos de Ferramentas Linguagens Gerais de Simulação de Redes de
Comunicações Podem em princípio ser utilizadas para simular qualquer
sistema, independente da sua complexidade e das suas singularidades.
Entretanto, nem sempre é possível atingir o grau de detalhamento desejado quando se utiliza este tipo de ferramenta.
Algumas incluem conjuntos de modelos especialmente desenvolvidos para a simulação de redes de comunicações.
Exemplos são: MODSIM III , SIMSCRIPT II.5 e Parsec.
Sim
ulaç
ão d
e R
edes
de
Com
unic
açõe
s
© Antônio M. Alberti 2005
Tipos de Ferramentas Linguagens de Simulação Orientadas às Redes de
Comunicações Direcionadas especificamente para a simulação de redes
de comunicação. Dentre as vantagens deste tipo de software pode-se
destacar a facilidade e a flexibilidade de desenvolvimento de modelos.
Exemplos são: OPNET Modeler , TeD/GTW, NS-2 e COMNET III.
Sim
ulaç
ão d
e R
edes
de
Com
unic
açõe
s
© Antônio M. Alberti 2005
Tipos de Ferramentas Simuladores Orientados à Tecnologias Específicas de
Redes de Comunicações Permitem simular apenas uma classe específica de redes
de comunicações. Dentre as vantagens deste tipo de software estão a
facilidade de uso e a redução do tempo e da complexidade de desenvolvimento de modelos.
Nem todos os softwares deste tipo permitem o desenvolvimento de novos modelos.
Exemplos são: NIST, QUARTS-II, SimATM, qualquer simulador para uma tecnologia específica.
Sim
ulaç
ão d
e R
edes
de
Com
unic
açõe
s
© Antônio M. Alberti 2005
Técnicas de Simulação Uma técnica de simulação para ser adotada em um
software de simulação deve: Ser eficiente. Permitir a troca flexível de informações entre os modelos
de simulação. Possibilitar o modelamento do fluxo assíncrono bidirecional
de informações presente nos enlaces das redes de comunicações.
Permitir o modelamento flexível da arquitetura e dos componentes destas redes.
Sim
ulaç
ão d
e R
edes
de
Com
unic
açõe
s
© Antônio M. Alberti 2005
Técnicas de Simulação Três técnicas tem sido utilizadas para desenvolver
softwares de simulação: Técnica orientada por eventos discretos (event-driven). Técnica orientada pelo tempo (time-driven). Técnica orientada pelo dados (data-driven).
A técnica event-driven é mais eficiente do ponto de vista computacional do que a técnica time-driven devido a sua natureza assíncrona.
Si
mul
ação
de
Red
es d
e C
omun
icaç
ões
© Antônio M. Alberti 2005
Os Desafios de Simular Redes de Comunicações Possibilitar a simulação de grandes redes
O desafio é permitir o estudo de problemas orientados à rede, tais como: escalabilidade, estabilidade de protocolos, perda de pacotes, qualidade de serviço, gerência, etc.
Possibilitar a simulação de redes multiprotocoladas A convergência de redes está cada vez mais fazendo com
que redes de diferentes tecnologias sejam interconectadas.
Possibilitar a simulação de eventos raros Estes eventos são importantes medidas de desempenho.
Sim
ulaç
ão d
e R
edes
de
Com
unic
açõe
s
© Antônio M. Alberti 2005
Os Desafios de Simular Redes de Comunicações Possibilitar a simulação por longas escalas de tempo
Permitir a estimação precisa de probabilidades de ocorrência de eventos raros e identifcar os efeitos causados por processo auto-similares de longa duração.
Desenvolver modelos corretos Como ter certeza de que o modelo desenvolvido não
possui bugs?
Desenvolver modelos realistas Os modelos desenvolvidos capturam o comportamento da
rede no mundo real? O modelo de tráfego representa adequadamente o
comportamento dos clientes da rede no mundo real?
Sim
ulaç
ão d
e R
edes
de
Com
unic
açõe
s
© Antônio M. Alberti 2005
Os Desafios de Simular Redes de Comunicações Obter resultados confiáveis
Os resultados obtidos podem ser usados para tomar decisões no mundo real?
A rede simulada é grande o suficiente para que o resultado possa ser estendido para a Internet?
Eliminar detalhes sem importância Os modelos desenvolvidos possuem detalhes em
importância?
Validar os modelos e os resultados Os modelos desenvolvidos foram validados? Os resultados foram comparados com outros trabalhos?
Sim
ulaç
ão d
e R
edes
de
Com
unic
açõe
s
© Antônio M. Alberti 2005
Características Desejáveis de um Simulador Utilizar uma técnica de simulação eficiente
Somente a utilização de uma técnica de simulação eficiente possibilitará a simulação por longas escalas de tempo de grandes redes hierárquicas que carregam tráfego de dezenas de pilhas de protocolos.
Utilizar processamento paralelo ou distribuído Pela mesma razão, é altamente recomendável a utilização
de processamento paralelo ou distribuído no kernel ou núcleo do simulador.
Mostrar o desempenho da simulação Métricas de desempenho, tais como uso de memória, tempo
estimado de simulação, desempenho de simulação em pacotes/segundo, são desejáveis.
Sim
ulaç
ão d
e R
edes
de
Com
unic
açõe
s
© Antônio M. Alberti 2005
Características Desejáveis de um Simulador Utilizar uma linguagem de programação que suporte
programação orientada à objetos Dentre as linguagens de programação que suportam OOP
(Object Oriented Programming), a linguagem C++ talvez seja a mais indicada. A linguagem Java ainda está em desvantagem.
Possuir uma biblioteca de modelos expansível e independente do núcleo do simulador É fundamental que o software de simulação permita o
desenvolvimento e a integração de novos modelos a biblioteca de modelos existentes.
Isto deve ser feito de forma transparente, sem que o núcleo do software de simulação precise ser modificado.
Sim
ulaç
ão d
e R
edes
de
Com
unic
açõe
s
© Antônio M. Alberti 2005
Características Desejáveis de um Simulador Facilitar o desenvolvimento de modelos
Nem sempre os modelos disponíveis na biblioteca satisfazem as necessidades de simulação.
Portanto, é fundamental que o software de simulação facilite o desenvolvimento de novos modelos.
Permitir a flexibilidade de modelamento
Em princípio, todas as estratégias existentes de modelamento devem ser suportadas.
Também é interessante que o simulador disponibilize um ou mais conjuntos básicos de modelos desenvolvidos com diferentes estratégias de modelamento.
Sim
ulaç
ão d
e R
edes
de
Com
unic
açõe
s
© Antônio M. Alberti 2005
Características Desejáveis de um Simulador Possuir conjuntos de modelos eficientes
É fundamental que os conjuntos de modelos disponibilizados no simulador sejam otimizados para o tempo de execução.
Permitir o modelamento hierárquico
É desejável que novos modelos possam ser construídos a partir de modelos já existentes.
Esta característica facilita bastante o desenvolvimento de modelos em redes de comunicações, dada a hierarquia lógica de blocos existente em protocolos, equipamentos, aplicativos e outros componentes destas redes.
Sim
ulaç
ão d
e R
edes
de
Com
unic
açõe
s
© Antônio M. Alberti 2005
Características Desejáveis de um Simulador Possibilitar o cálculo e a coleta detalhada de estatísticas
Esta característica é bastante importante uma vez que na simulação de redes as fontes de tráfego geralmente possuem comportamento aleatório ou auto-similar.
Possibilitar a validação dos modelos
Mecanismos para ajudar na validação dos modelos são fundamentais.
Verificar a confiabilidade dos resultados
Mecanismos para avaliar a confiabilidade dos resultados também são fundamentais.
Sim
ulaç
ão d
e R
edes
de
Com
unic
açõe
s
© Antônio M. Alberti 2005
Características Desejáveis de um Simulador Salvar simulações em andamento
Esta característica é muito difícil de ser implementada, entretanto de fundamental importância para longas simulações.
Oferecer uma boa interface gráfica com recursos de animação
Nada melhor que uma boa interface para facilitar o uso da ferramenta.
Facilitar o debug dos modelos e a geração de relatórios
Mecanismos para verificar o correto funcionamento dos modelos devem ser oferecidos.
Sim
ulaç
ão d
e R
edes
de
Com
unic
açõe
s
© Antônio M. Alberti 2005
O que Simular? Uma vez disponível o simulador e os modelos, resta agora
identificar o que pode ser estudado com eles e em que nível de confiabilidade.
Como vimos, os modelos capturam somente os detalhes mais relevantes das tecnologias.
Portanto, é preciso saber se os modelos utilizados capturam o comportamento necessário para a análise de um determinado problema.
No caso de não capturarem, é necessário aprimorar os modelos ou simplificar o problema.
Sim
ulaç
ão d
e R
edes
de
Com
unic
açõe
s
© Antônio M. Alberti 2005
Como Configurar os Modelos? Também é preciso selecionar quais são os modelos
necessários para o estudo proposto, bem como configurar os seus parâmetros.
As fontes de tráfego da rede e seus parâmetros devem ser escolhidos de forma a representar adequadamente o comportamento do tráfego real.
Modelos de fonte de tráfego podem ser determinísticos, estatísticos ou baseados em dados reais.
Sim
ulaç
ão d
e R
edes
de
Com
unic
açõe
s
© Antônio M. Alberti 2005
O que Medir? É preciso entender e selecionar os resultados que podem
ser coletados, estudando o significado de cada um deles.
Outro aspecto importante, diz respeito a duração das simulações: quanto tempo é necessário para que os resultados sejam confiáveis?
Por fim, é preciso verificar se os resultados obtidos refletem o comportamento esperado em uma rede real.
Sim
ulaç
ão d
e R
edes
de
Com
unic
açõe
s