Simuladores para engenharia de telecomunicações.

Simulação é o processo de modelagem de sistemas via um modelo lógico-matemático no qual são conduzidos experimentos que permitem fazer inferências sobre tal sistema. Em outras palavras, simulação é a construção de modelos computacionais que imitam processos ou operações do mundo real.[1]

Que definição!!! Bom, a verdade é que Simulação não é coisa de hoje. Os nazistas já haviam percebido que era importante simular o comportamento mecânico dos seus caças-bombardeiros perante situações de adversa turbulência aerodinâmica:

nazi aerodinamics

Engenheiros Nazistas testam avião em túnel de vento

 

E nós aqui no século 21 espantados com tuneis de vento do ArrivaBene da Ferrari.

Voltando a batata quente. A tecnologia electro-mecânica desenvolveu-se. Surgiu um artefato bem interessante chamado computador, que nada mais é que uma portentosa maquina de multi-calculo. E depois existe essa maravilhosa criação de Deus, Jeová que é o Homem, enquanto ser mais complexo do universo. O ser humano sabe que perturbações climatéricas são difíceis de serem preditas, as probabilidades são pequenas. Contudo, ele sabe que consegue descrever o comportamento de certos tipos dessas perturbações por meio de expressões matemáticas. Ora, se ele pode fazer isso com fenômenos absolutamente aleatórios, seria ainda mais fácil descrever matematicamente o comportamento dum avião e correlaciona-lo com as expressões matemáticas de fenômenos climatéricos. E como são cálculos complexos e que precisam receber entradas e originar saídas do sistema processual, nada mais logico que usar um computador para executar esses cálculos. O ser humano ainda é o melhor calculador, mas o computador é mais rápido.

Ora, isso vem provar que a maior parte dos processos em engenharia podem ser descritos por expressões matemáticas das mais complexas possíveis, e eu não sou matemático digo já. Um exemplo simples: o desvanecimento rápido e/ou lento dum sinal dum receptor radio-GSM pode ser descrito por certas funções probabilísticas apropriadas a cada caso. Mais outro: Os modelos de enfileiramento e buffering da memoria de circuitos electrónicos podem ser simulados em programas escritos em linguagem de computador de alto nível.

No ramos das telecomunicações existe uma amalgama de simuladores. Infelizmente durante nosso tempo na universidade não nos foram introduzidos a maior parte desses. Simuladores de circuitos eléctricos, de antenas, planeamento radio, GSM, comutação de pacotes e circuitos, IP Routing, etc etc.

No vídeo abaixo um funcionário da Riverbed explica como o OPNet Modeler pode ser utilizado para simular o desempenho de Aplicações:

 

Este artigo da Faculdade de Engenharia da Universidade do Porto, que descobri em mero ocaso, faz menção de inúmeras dessas ferramentas. Ficamos feliz pelo facto do artigo ter o nosso blog como fonte de informação, já que mencionou uma matéria que havíamos publicado sobre o simulador OPNet, este que serviu como ferramenta de estudo de caso da minha Monografia a 5 anos atrás.

Fontes

[1]http://blogdaengenharia.com/por-que-e-importante-que-engenheiro-de-producao-aprenda-simulacao/

 

GNS3 e o problema da escalabilidade

Das melhores ferramentas de estudo, design e projecto de redes o GNS3 ocupa uma posição primordial, porque passamos do processo da simples simulação de redes para a emulação dos próprios encaminhadores (routers) em si. Ou seja você roda em cima do seu computador pessoal versões robustas de encaminhadores Cisco. Ferramentas de simulação como o Cisco Packet Tracer ou outras ajudam muito pouco quando você sobe de nível nas carreiras Cisco. Os comandos são limitados, os serviços são limitados, algumas configurações assumem um carácter básico, quando não são, etc, etc.

Eu não tenho nada contra ferramentas de simulação, pelo contrario, o meu Trabalho de Conclusão de Curso (TCC) foi baseado numa ferramenta desse gênero, ou seja se eu quisesse projectar uma rede metropolitana de Fibra Óptica eu recorreria ao OPNet, poderoso simulador, agora adquirido pela Riverbed.

O bom do GNS3 é que você pode ir adicionando maquinas virtuais e conectar a sua topologia a elas. O mau dele é que isso requer demasiado espaço em Memoria de Acesso Aleatório (RAM). Com 4 (quatro) encaminhadores a 512 MBytes você tem no minimo 2048 GBytes de RAM, e isso é muito para um computador pessoal meu caro. Situação: Você usa o GNS3 e não usa mais nada. Se apertar muito você pode nem o GNS3 conseguir usar mais.

Solução? Ter uma boa maquina com uns bons MB de RAM. Essa maquina pode ser um servidor, uma workstation ou mesmo um portentoso laptop. Depois disso você instala um gerenciador de maquinas visuais, ou seja, um Hypervisor que nada mais nada é, um servidor de maquinas virtuais. Depois de instalado, você pode acessar as suas maquinas virtuais a rodarem imagens de roteadores Cisco, via rede. Tao simples quanto isso, ou seja, você tem um Servidor/Hypervisor que roda os seus laboratórios Cisco, o que o deixa sem necessidade de se preocupar com a memoria RAM do seu computador pessoal. Se quiser escalar, aumenta a memoria RAM do Hypervisor e ponto final. Quer ‘brincar ‘mais? Experimente utilizar Drives de Estado Solido (SSD), placas de rede Gigabit Ethernet, mini clusters etc etc. Se quiser ‘piorar’ a brincadeira ‘ alugue um endereço IP fixo e mesmo quando você se viajar ou se ausentar você ainda poderá usar seu laboratório.

vmware esxi

Existem algumas dicas de como fazer isso disponíveis na net, não são muitas. A maior parte delas de pessoal com grau CCIE, porque a esse nível é exigível determinada topologia que ou está disponível fisicamente ou você emula ela por meio de computador, o que não é fácil dada a parca disponibilidade de memoria RAM. Deixo com vocês 3 (três) links bem interessantes de como configurar um laboratório Hypervisor de encaminhadores Cisco.

The “Perfect” virtual Lab (será?)
How to build CCIE v5 Lab with Cisco CSR 1000v Routers
VMs Running In My ESXi Networking Lab as of 23-Dec-2014

 

 

Lab VPN: Tunel GRE sobre IPSec

Um dos grandes problemas do Framework IPSec é sua incapacidade em lidar com tráfego não unicast por exemplo tráfego multicast (muito útil para protocolos de transmissão de vídeo e protocolos de roteamento). Por outro lado também não pode encapsular protocolos de roteamento como RIP, OSPF, EIGRP. O GRE por outro lado pode fazer isto. Suporta tráfego multicast e encapsula protocolos de roteamento. So que nao suporta encriptacao de trafego, coisa qe IPSec suporta.

Para solucionar isto o segredo passa por criar um tunelamento GRE sobre IPSec. No nosso exemplo abaixo o tráfego tunelado passa pela subrede 172.18.3.0/24 configurados nos roteadores LUANDA E MALANJE (CAPANDA). O túnel IPSec foi criado nas interfaces publicas 193.0.0.10 (LUANDA) e 193.0.0.6 MALANJE (CAPANDA). O protocolo de roteamento é o EIGRP.

Configuracoes:

PROVEDOR INTERNET – CLOUD

PROVEDOR(CLOUD)#sh run
Building configuration...

Current configuration : 690 bytes
!
version 12.4
no service timestamps log datetime msec
no service timestamps debug datetime msec
no service password-encryption
!
hostname PROVEDOR(CLOUD)
!
!
interface FastEthernet0/0
no ip address
duplex auto
speed auto
shutdown
!
interface FastEthernet0/1
ip address 193.0.0.9 255.255.255.248
duplex auto
speed auto
!
interface Serial0/0/0
ip address 193.0.0.5 255.255.255.252
clock rate 64000
!
interface Serial0/0/1
no ip address
shutdown
!
interface Vlan1
no ip address
shutdown
!
router eigrp 10
network 193.0.0.4 0.0.0.3
network 193.0.0.8 0.0.0.7
no auto-summary
!
ip classless
!
!
!
!
line con 0
line vty 0 4
login
!
!
!
end

LUANDA

LUANDA#sh run
Building configuration...

Current configuration : 1373 bytes
!
version 12.4
no service timestamps log datetime msec
no service timestamps debug datetime msec
no service password-encryption
!
hostname LUANDA
!
!
crypto isakmp policy 100
encr aes 256
authentication pre-share
group 2
lifetime 3600
!
crypto isakmp key ciscoK3y address 193.0.0.6
!
!
crypto ipsec transform-set strong esp-aes 256 esp-sha-hmac
!
crypto map vpn 10 ipsec-isakmp
set peer 193.0.0.6
set pfs group2
set transform-set strong
match address 101
!
!
!
!
interface Tunnel0
ip address 172.18.3.1 255.255.255.0
tunnel source FastEthernet0/1
tunnel destination 193.0.0.6
!
!
interface FastEthernet0/0
ip address 172.18.1.1 255.255.255.0
duplex auto
speed auto
!
interface FastEthernet0/1
ip address 193.0.0.10 255.255.255.248
ip access-group 101 out
duplex auto
speed auto
crypto map vpn
!
interface Serial0/0/0
no ip address
shutdown
!
interface Serial0/0/1
no ip address
shutdown
!
interface Vlan1
no ip address
shutdown
!
router eigrp 10
network 193.0.0.8 0.0.0.7
no auto-summary
!
router eigrp 20
network 172.18.1.0 0.0.0.255
network 172.18.3.0 0.0.0.255
no auto-summary
!
ip classless
ip route 0.0.0.0 0.0.0.0 FastEthernet0/1
!
!
access-list 101 permit gre host 193.0.0.10 host 193.0.0.6
access-list 101 permit ip 172.18.1.0 0.0.0.255 172.18.2.0 0.0.0.255
!
!
!
line con 0
line vty 0 4
login
!
!
!
end

MALANJE (CAPANDA)

MALANJE(CAPANDA)#sh run
Building configuration...

Current configuration : 1377 bytes
!
version 12.4
no service timestamps log datetime msec
no service timestamps debug datetime msec
no service password-encryption
!
hostname MALANJE(CAPANDA)
!
!
!
crypto isakmp policy 100
encr aes 256
authentication pre-share
group 2
lifetime 3600
!
crypto isakmp key ciscoK3y address 193.0.0.10
!
!
crypto ipsec transform-set strong esp-aes 256 esp-sha-hmac
!
crypto map vpn 10 ipsec-isakmp
set peer 193.0.0.10
set pfs group2
set transform-set strong
match address 101
!
!
!
interface Tunnel0
ip address 172.18.3.2 255.255.255.0
tunnel source Serial0/0/0
tunnel destination 193.0.0.10
!
!
interface FastEthernet0/0
ip address 172.18.2.1 255.255.255.0
duplex auto
speed auto
!
interface FastEthernet0/1
no ip address
duplex auto
speed auto
shutdown
!
interface Serial0/0/0
ip address 193.0.0.6 255.255.255.252
ip access-group 101 out
crypto map vpn
!
interface Serial0/0/1
no ip address
shutdown
!
interface Vlan1
no ip address
shutdown
!
router eigrp 10
network 193.0.0.4 0.0.0.3
no auto-summary
!
router eigrp 20
network 172.18.2.0 0.0.0.255
network 172.18.3.0 0.0.0.255
no auto-summary
!
ip classless
ip route 0.0.0.0 0.0.0.0 Serial0/0/0
!
!
access-list 101 permit ip 172.18.2.0 0.0.0.255 172.18.1.0 0.0.0.255
access-list 101 permit gre host 193.0.0.6 host 193.0.0.10
!
!
!
line con 0
line vty 0 4
login
!
!
!
end

Implementando Vlans em um Roteador com subinterfaces

Existem 2 formas conhecidas de se implementar comunicacao entre vlans diferentes: Com um switch de camada 3 ou com um roteador.

O cenario mais economico e’ implementando em router com subinterfaces por causa da falta de interfaces fisicas. O nosso exemplo e’ um cenario de exemplo basico com 2 vlans 10 e 20 (gestao e administracao) que necessitam de se comunicar entre si. Por questoes de seguranca trocou-se a interface vlan de gestao para uma diferente da 1 no nosso caso a 90.

Um exemplo similar a este saiu numa empresa onde ja testei. Como foi testado no Packet Tracer 5.3 o exemplo tem por base o mesmo.

Para download deste cenario criado em Packet Tracer 5.3, siga este link.