A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Modelagem da G.798 no OMNeT++ Felipe Pedroni Favoreto Rodrigo Stange Tessinari.

Apresentações semelhantes


Apresentação em tema: "Modelagem da G.798 no OMNeT++ Felipe Pedroni Favoreto Rodrigo Stange Tessinari."— Transcrição da apresentação:

1 http://www.labtel.ele.ufes.br Modelagem da G.798 no OMNeT++ Felipe Pedroni Favoreto Rodrigo Stange Tessinari

2 http://www.labtel.ele.ufes.br Sumário Simulação de Eventos Discretos Ferramentas de Simulação 3 simuladores - comparação OMNeT++ Caracteristicas – Estrutura Geral – lig NED – Passos de um projeto Redes OTN no OMNeT++ Canal óptico - Modelagem da G.798

3 http://www.labtel.ele.ufes.br SIMULAÇÃO DE EVENTOS DISCRETOS

4 http://www.labtel.ele.ufes.br Em computação, simulação consiste em empregar técnicas matemáticas em computadores com o propósito de imitar um processo ou operação do mundo real. Quando usar simulação? –Para descrever ou validar o comportamento de um sistema: → como funciona x como pensam que funciona. –Quando experimentar é dispendioso. Modelagem Analítica x Simulação –Complexidade do sistema em análise. –Qualidade das análises ↔ qualidade do modelo. Simulação

5 http://www.labtel.ele.ufes.br Simulação Discreta: Implica na mudança de estado em tempos discretos. Conceitos Básicos: –Entidades ou Objetos –Parâmetros e estados do objeto –Tempo Simulado –Lista de Eventos passos saltos Simulação de Eventos Discretos

6 http://www.labtel.ele.ufes.br FERRAMENTAS DE SIMULAÇÃO

7 http://www.labtel.ele.ufes.br Ferramentas livres mais utilizadas atualmente: –OMNeT++ –NS2 (NS3) –GLASS/SSFNet Ferramentas pagas: –OPNET OMNeT++ 4.0 –Melhorias nas linguagem de descrição da rede; –Conceito de herança; –Portabilidade de códigos anteriores a versão 4.0 e INET; –Nova IDE. Ferramentas de Simulação

8 http://www.labtel.ele.ufes.br Usado por empresas como: Lucent Bell Labs (análise de protocolos) e Siemens (projetos internos de pesquisa). –Fonte:http://www.omnetpp.org/index.php?topic=Companies Porque não utilizar o NS2/NS3/OPNET? –NS3 não é compatível com código fonte do NS2; –Poucas bibliotecas de rede foram convertidas para o NS3. –OPNET é um simulador pago, cujos código fonte não é OMNeT++ –Excelente desempenho: escrito em C++; –Uso de uma linguagem de descrição de topologia própria; –Software Livre com 100% de seu código-fonte disponível. Ferramentas de Simulação (2)

9 http://www.labtel.ele.ufes.br OMNeT++

10 http://www.labtel.ele.ufes.br OMNeT++:Principais elementos Módulos, parâmetros, gates, conexões Canal de transmissão Mensagens e Eventos NED (Network DEscriptor) → conexão entre os objetos Executável gerado/ Bibliotecas Modos de execução (gráfico ou não-gráfico) OMNET e INET

11 http://www.labtel.ele.ufes.br Módulos Um módulo é o principal componente de uma simulação, representa uma entidade a ser simulada, por exemplo, um roteador, uma placa Ethernet. Módulo simples –Indivisível –Descrição: linguagem NED (NEtwork Description) Parâmetros, Gates –Comportamento: Código C++

12 http://www.labtel.ele.ufes.br Módulo Simples Descrição: Linguagem.NED

13 http://www.labtel.ele.ufes.br Módulo Composto Composto internamente por um ou mais módulos Simples ou outros módulos compostos. –Não possui código C++ para descrever o comportamento

14 http://www.labtel.ele.ufes.br Criando uma rede Uma Network é um composta de módulos simples ou compostos, conectados entre si através da ligação de seus gates por um canal (channel) Instância os módulos simples ou compostos: tic/toc = objeto, Txc1=classe

15 http://www.labtel.ele.ufes.br Mensagens Todos os eventos do OMNET++ são baseados em mensagens e no seu escalonamento As mensagens são usualmente trocadas entre as portas de input e output dos módulos simples e compostos. Quando a porta está conectada a um canal, a mensagem pode sofrer atrasos, caso o canal não seja ideal como no exemplo anterior.

16 http://www.labtel.ele.ufes.br Exemplo: Tictoc (1) Modelar um sistema formado por dois nós enviando a mesma mensagem que receberam Primeiro: Definição do módulo simples no arquivo Tictoc1.ned Segundo: Definição do código C++ do módulo simples Txc1

17 http://www.labtel.ele.ufes.br

18 Principais funções do código C++ Initialize() permite a execução de qualquer código antes de iniciar a simulação. NÃO é o construtor do objeto. HandleMessage() é a função responsável por realizar o tratamento de qualquer mensagem que chega ao módulo simples, independente de qual seja a porta de entrada. No exemplo, todas mensagens chegam pela porta “in”, definida no tictoc1.ned, e é automaticamente retransmitida para a porta “out”.

19 http://www.labtel.ele.ufes.br Obs.:Orientação a objetos Observe que todos os componentes do OMNET++ são uma classe no código C++. Embora na utilização apenas se reescreva o código do módulo simples, outros objetos como gates, o módulo composto, os canais, todos possuem um código C++ na API do OMNET.

20 http://www.labtel.ele.ufes.br Arquivo de configuração Ultimo Passo: arquivo omnet.ini. –Possui as opções de execução da simulação –Pode ser usado apenas um para o projeto inteiro, independente de quantas redes estão sendo simuladas

21 http://www.labtel.ele.ufes.br Compilação e Execução Para compilar, basta clicar em cima do projeto com o botão direito e selecionar Build Project. Para executar, basta deixar o arquivo de configuração aberto na IDE e clicar em “run”, que uma configuração de execução será automaticamente criada para aquela pasta. A IDE então chama a interface gráfica do OMNET.

22 http://www.labtel.ele.ufes.br

23

24 REDES OTN NO OMNeT++

25 http://www.labtel.ele.ufes.br Primeiro desafio: O Canal Óptico Tipos de canais do OMNeT++ IdealChannel DelayChannel DatarateChannel

26 http://www.labtel.ele.ufes.br Suponha que o módulo d1 deseja enviar uma mensagem. Ao executar a linha de código send (msg, “out”);, o módulo simples envia a mensagem para o cGate de nome out, que por sua vez envia para o canal. Até esse ponto a mensagem não está escalonada. O Canal calcula então o tempo que a mensagem vai demorar para ser entregue ao módulo de destino (ou seja, no outro lado do canal). Como acontece uma transmissão?

27 http://www.labtel.ele.ufes.br No exemplo Titoc1, com um delaychannel, esse tempo era de 0,1 ms. O parametro arrivalTime é então modificado para: sendingTime+delay A msg é por fim colocada em uma fila de escalonamento de acordo e o parametro: isScheduled = true Como acontece uma transmissão?

28 http://www.labtel.ele.ufes.br Exemplo de uso dos canais Sem nenhum parâmetro, o OMNeT++ interpreta como um IdealChannel, a mensagem chegará instantaneamente ao outro módulo. Isso vale tanto ao ligar módulos dentro de uma uma rede ou dentro de um módulo composto

29 http://www.labtel.ele.ufes.br Exemplo de uso dos canais No caso do ned. DatarateChannel, é possível especificar –datarate, delay, BER (Bit Error Rate)

30 http://www.labtel.ele.ufes.br Herança Na nova versão do OMNeT++ existe o conceito de herança É possíve criar módulos e canais apartir de um canal pré- existente Exemplo: canal com calculo do atraso com base no tamanho e na (obs.: só altera no NED, e não o código C++ da classe, que está no Kernel do OMNeT++). elocidade de propagação Fonte: http://omnetpp.org/doc/omnetpp40/manual/usman.html#sec126

31 http://www.labtel.ele.ufes.br Não existe canal óptico no OMNET++. Implementações de rede ópticas simplificadas ou mal formuladas: Ex: implementações de um canal WDM formado por um conjunto de DatarateChannel Solução Encontrada: Extender o DatarateChannel O Canal Óptico

32 http://www.labtel.ele.ufes.br Requisitos e Implementação do canal óptico Requisito 1: poder enviar diferentes sinais ao mesmo tempo quando eles estiverem em diferentes comprimentos de onda. Requisito 2: Modelar o comportamento para esses canais em termos atraso, taxa de erro, queda de potência do Sinal, etc. Implementação –Herdar diretamente do DatarateChannel -> NÃO seria possível implementar o envio de vários sinais independentes, pois só é possível enviar uma mensagem, com tamanho diferente de zero, por vez.

33 http://www.labtel.ele.ufes.br Solução Utilizar o código C++ do Kernel do OMNET da classe DatarateChannel para criar um novo tipo de canal.

34 http://www.labtel.ele.ufes.br Modelagem de uma fibra WDM OMNET: mensagem = eventos e transmissões. Nova classe OpticalChannel: –Permite envio de mais de uma mensagem ao mesmo tempo (desde que ambas possuam comprimentos de onda distintos). –Cada mensagem representa a transmissão de um sinal óptico em um determinado comprimento de onda. –Implementação: idem módulo simples, porém herda da classe. Arquivo.ned; Código C++: implementa o código.

35 http://www.labtel.ele.ufes.br Descrição da classe (OpticalChannel.ned) channel OpticalChannel { parameters: @class(OpticalChannel); int wavelengths= default(0); double distance = default(0); double powerdecrease = default(0); double datarate @unit(bps)=default(0); double ber = default(0); double per = default(0); bool disabled = default(false); }

36 http://www.labtel.ele.ufes.br Cópia do código de cDatarateChannel.h e cDatarateChannel.cc. Objetivo: diz “o que fazer” quando receber uma mensagem de um cGate. A principal mudança é que não bloqueia mensagens simultâneas com comprimentos de onda diferentes. É necessário, assim como os módulos simples, dizer para a API do OMNeT++ que aquela classe existe. Em OpticalChannel.cc executa-se o comando: Register_Class(OpticalChannel); Código C++ da classe

37 http://www.labtel.ele.ufes.br Mensagem óptica packet OTNMsg{ int wavelength=0;//the first free wavelength in the fiber bool isOSC=false;//true if this represente a traffic in a supervisor channel double power=-1; //POTENCIA DO SINAL (inicializar com o valor de saída de um equipamento) double SNR=1; //RELACAO SINAL RUIDO //parametros utilizados internamento no equipamento int fiber=-1;//identifica a parta de chegada de um sinal } Classe filho de cPacket –Tamanho > 0 -> tempo de transmissão Velocidade de propagação: depende do parâmetro datarate do OpticalChannel

38 http://www.labtel.ele.ufes.br

39 Apenas mensagens OTNMsg podem trafegar no OpticalChannel. Em cada mensagem precisa ser configurado o comprimento de onda que indica o canal em que ela será transferida. Uma mensagem OTNMsg, por ser filha da classe cPacket, herda o parâmetro tamanho (numero de bits). Com esse parametro é possível calcular o tempo de transmissão. Assim, uma OTNMsg representa um fluxo óptico durante o tempo de transmissão de todo a OTNMsg. Parametros de potencia, comprimento de onda Operação

40 http://www.labtel.ele.ufes.br OpticalChannel em mais detalhes //New optical parameters -> OpticalChannel.h double distanceparam;// in meter double powerdecreaseparam;// power decrease percentage per meter simtime_t *delayparamp;// propagation delay per wavelength (not from.ned or.ini. it must be calculated based on distance and light speed) double *datarateparamp;// data rate double *berparamp; // bit error rate per wavelength double *perparamp; // OTN frame error rate per wavelength bool *disabledparamp;// indicate if the wavelength at position 'i' of the vector are disabled // BUT to disable all channels it's used the flags variable, inherited from cNamedObject int wavelengthsparam;// number of wavelengths in the channel

41 http://www.labtel.ele.ufes.br MODELAGEM DA RECOMENDAÇÃO ITU-T G.798

42 http://www.labtel.ele.ufes.br Análise dos blocos funcionais G.798 a serem modelados: –Criação dos Módulos Simples; –Criação das Classes em C++. Criação das mensagens necessárias. Modelagem dos equipamentos: –Criação de Módulos Compostos. Criação da rede OTN: –Definição da topologia; –Simulação. Metodologia

43 http://www.labtel.ele.ufes.br Componentes implementados: –Blocos funcionais: OTSn_TT_Sk, OTSn_TT_So; OTSn_OMSn_A_Sk, OTSn_OMSn_A_So; OMSn_TT_Sk, OMSn_TT_So; OMSn_OCh_A_Sk, OMSn_OCh_A_So. –Módulo auxiliar: Host_OCh. –Mensagens: OTNMsg, OTNMsgOH, SIGNALMsg. –Equipamentos: Amplificadores de linha (unidirecional e bidirecional); Host OTN com cinco comprimentos de onda. Simulação: –Rede com 2 hosts e um amplificador bidirecional. Modelagem

44 http://www.labtel.ele.ufes.br Blocos Funcionais

45 http://www.labtel.ele.ufes.br OTSn_TT_Sk Metodologia

46 http://www.labtel.ele.ufes.br Terminação Digital X terminação Óptica: D1, D2 e D3 => nós digitais / o1, o2 e o3 => nós ópticos. t1 => tempo de propagação / t2 => tempo de transmissão. Em um nó óptico não há armazenamento do sinal sendo transmitido, portanto não é necessário esperar pela transmissão de toda a mensagem OTN. OTSn_TT_Sk (2)

47 http://www.labtel.ele.ufes.br OTSn_TT_So Metodologia

48 http://www.labtel.ele.ufes.br OTSn_OMSn_A_Sk Metodologia

49 http://www.labtel.ele.ufes.br OTSn_OMSn_A_So Metodologia

50 http://www.labtel.ele.ufes.br OMSn_TT_Sk Metodologia

51 http://www.labtel.ele.ufes.br OMSn_TT_So

52 http://www.labtel.ele.ufes.br OMSn_OCh_A_Sk

53 http://www.labtel.ele.ufes.br OMSn_OCh_A_So Metodologia

54 http://www.labtel.ele.ufes.br Mensagem utilizada pelo canal de serviço; Herda todos os parâmentros da classe OTNMsg; Transporta as informações relativas aos alarmes das camadas OTS, OMS e OCh. Mensagens – OTNMsgOH

55 http://www.labtel.ele.ufes.br Mensagens – SIGNALMsg Mensagem utilizada na comunicação dos alarmes entre blocos funcionais. Contém apenas um valor booleano, indicando o valor do alarme em questão.

56 http://www.labtel.ele.ufes.br Mensagens – SIGNALMsg (2) Exemplo de uso: Entre as funções de terminação de trilha e funções de adaptação no lado sink da camada OMS.

57 http://www.labtel.ele.ufes.br Módulo Auxiliar – Host_OCh Módulo Simples responsável por gerar mensagens OTN. Gera mensagens de payload coloridas (não moduladas) e mensagens de cabeçalho (elétrico). Simula um cliente da rede.

58 http://www.labtel.ele.ufes.br Amplificador de Linha Unidirecional

59 http://www.labtel.ele.ufes.br Amplificador de Linha Bidirecional

60 http://www.labtel.ele.ufes.br Host OTN com 5 Comprimentos de Onda

61 http://www.labtel.ele.ufes.br Simulação da Rede

62 http://www.labtel.ele.ufes.br Muito Obrigado


Carregar ppt "Modelagem da G.798 no OMNeT++ Felipe Pedroni Favoreto Rodrigo Stange Tessinari."

Apresentações semelhantes


Anúncios Google