Cambridge Analytica e como uma pequena empresa conseguiu dominar o mundo

A tempos, passando por uma das ruas de Luanda, decidi como quase sempre, dar mais uma vista de olhos na bancada de chão, dum desses rapazes que vendem livros antigos e que ficam nas diversas esquinas da baixa. Um deles em particular, cativou-me a atenção: O teste Sociométrico SOCIOGRAMAS. de Danny José Alves da Fundação Getúlio Vargas (FGV), Brasil.

Não fosse o facto de nunca ter antes ouvido falar de Sociometria, porventura ligaria nenhures ao livro. Abri, li uns excertos, achei interessante, dei o habitual ‘jajão’ negocial e obtive a preço de banana. O livro era de facto antigo. Estava assinado pelo antigo dono, como parecia ser hábito das gentes da era colonial e datava duns longínquos 10 de Maio de 1977, ora 41 anos portanto. É de notar, entretanto que o livro, está impecavelmente bem conservado.

Segundo o livro, parece que a Sociometria é uma ciência social desenvolvida pelo professor Norte-Americano Jacob L. Moreno nascido em 1892. No entanto, em 1974, data da publicação da segunda edição (a primeira foi publicada em 1964) do livro ela era ainda uma ciência bastante desconhecida.
Segundo Jacob Moreno, a Sociometria é um instrumento que estuda as estruturas sociais em função das escolhas e rejeições manifestadas no seio de um grupo.

O que a Sociometria pode fornecer?

Sendo uma ciência que estuda comportamentos individuais no contexto de grupos, ela pode fornecer:

  1. A posição que cada um dos componentes ocupa no grupo (popular, isolado, excluído, não-excluído), assim como a posição que cada individuo JULGA ocupar no grupo;
  2. As relações de afinidade (antipatia, rivalidade, etc.), assim como a neutralidade ou inexistência de relações (indiferença);
  3. A estrutura sociométrica do grupo: A trama de comunicações (escolhas reciprocas), os focos de tensão (rejeições reciprocas), os subgrupos, as barreiras étnicas religiosas, raciais, etc;
  4.  A dinâmica dos grupos: as modificações dos quadros e a evolução dos processos no seio dos grupos (reteste).
    A seguinte pergunta é que deixou-me realmente intrigado.

Que dados procura obter quem realiza um teste Sociométrico?

  1. Dados relativos a projeção de cada elemento do grupo para o grupo (preferências e rejeições que dirige a cada um dos componentes do grupo). Fornece as projeções de todos os componentes do grupo em relação a cada um dos componentes;
  2. Dados relativos a percepção que cada componente do grupo tem de si mesmo em relação ao grupo (preferências e rejeições que acredita receber dos componentes do grupo). Fornece indirectamente, a maneira pela qual um dos componentes do grupo é percebido pelos demais componentes.

Em suma: o teste de projeção sociométrica é a que fornece a projeção do individuo para o grupo e a projeção do grupo para o individuo. O teste de percepção sociométrica é a que fornece, em relação a cada individuo, a maneira pela qual o próprio individuo se percebe e é percebido pelo grupo.

Ora, depois de perceber minimamente o que isso significava, alvitrei a hipótese de escrever um software que pudesse servir de apoio psicológico a alunos de colégios privados vitimas de bullyng e detectar potenciais alunos vitimas de bullyng. Desisti depois de analisar o mercado, que não está ainda maduro o suficiente e nem tem concorrência que estimule a adoção de ferramentas de diferenciação no mercado.

Bom, sendo verdade que já la vão mais de um ano, foi com enorme interesse que presenciei a semana passada o depoimento de Christopher Wylie ex-consultor de analise de dados duma empresa até então desconhecida pela maior parte de nós, a Cambridge Analytica e também contra o Facebook.

chrys wylie

Wylie acusou a Cambridge Analytica de ter manipulado o sentido de voto de 50 a 60 milhões de norte-americanos e do Facebook ter sido conivente com esta pratica, ter tido conhecimento dela e nada ter feito para alterar a situação.
Rapidamente a revolta disparou. Acusações e apelos contra violação de privacidade pelo Facebook foram lançados por este mundo afora.

 

 

 

 

Mas vamos por partes.

A biografia de Wylie diz que teve uma infância difícil algo desinteressante, vitima de bullyng abandonou os estudos aos 16. Sofria de dislexia. Depois de abandonar os estudos começa a trabalhar no parlamento Canadiano ainda muito jovem. Era o rapaz da Internet e da Informática. Os parlamentares gostavam dele. Resolvia os problemas. Aos 19 aprende a programar algoritmos estudando sozinho e aos 20 inicia estudos de direito na prestigiada London School of Economics em Londres.

Enquanto isso, no centro de psicometria da Universidade de Cambridge, Michal Kosinski e David Stillwell, iniciaram pesquisas para encontrar novas formas de estudar a personalidade humana, mas desta vez, por procurar quantifica-la. Em 2007 Stillwell, enquanto estudante, inicia o desenvolvimento de diversas apps para o Facebook (numa época em que os smartphones ainda não eram o principal meio de acesso), uma das quais em formato de inquérito (quiz), chamada myPersonality que se tornou imediatamente bastante popular.
Os usuários depois de jogarem eram avaliados em cinco (5) grandes traços de personalidade: Abertura, Consciente, Extroversão, Originalidade e Neuroticismo. Em troca disso, 40% deles consentiram dar acesso aos seus perfis do Facebook. É óbvio que esse engodo permitiu que não só os seus traços de personalidade fossem estudados minuciosamente, mas muito mais grave, rapidamente Stillwell encontrou uma forma de correlacionar as avaliações de personalidade e os likes que esses usuários davam em determinado conteúdo.

Claro que essa género de correlação rapidamente despertou o apetite de agências de inteligência e dos militares. Um desses tipos de correlação descoberta era algo engraçada e versava o seguinte:

”Pessoas que deram like num conteúdo que diziam ‘Eu odeio Israel’ tendiam a gostar de sapatos Nike e de chocolates KitKats”.

Bom, mas que coisa engraçada, mas também preocupante, porque era a mais pura verdade.
Mas como chega Wylie, um licenciado em direito e programador freelancer a envolver-se nessa narrativa?

Bom, já mencionamos a pouco tempo que as agências de inteligência e militares começaram a interessar-se por este assunto. Se Stillwell estava envolvido em criar apps, Kosinski por outro lado recebeu patrocínio da Boeing e da sempre insuspeita agência de defesa Norte-Americana, a DARPA para um doutoramento nesse âmbito de pesquisa.

Respondendo a pergunta, é bom saber que Wylie por seu lado, já havia iniciado estudos de doutoramento em ‘Previsão de Moda’, um destes cursos estranhos, inovadores e fortíssimos que só existem nos EUA e que mistura estatística, probabilidades, psicologia e sociometria para determinar tendências de moda nas próximas mudanças de estação. Em suma, você consegue perceber que as grandes cadeias de moda já não lançam roupas só por lançar. Elas, analisando o perfil de consumo da população conseguem determinar o que elas tenderão a consumir mais na próxima ‘safra’, isto é, na mudança de estação.

Bom, Wylie dá de caras com um artigo de doutoramento de Kosinski e tem aquele momento EUREKA que, convém dizer, ele não foi o único a ‘despertar’ pra realidade vindoura, mas foi aquele que percebeu a efectividade do assunto numa área que ele dominava bem e estava por dentro como funcionário do parlamento Canadiano pelos Liberais Democratas. Wylie que andava sem ideias, rapidamente procurou encontrar uma resposta ao insucesso dos liberais nos sufrágios, ao olhar em dados demográficos dos votantes e perceber que não existia qualquer correlação entre a sua posição geográfica e as ideias por eles advogadas. Não havia uma grande concentração demográfica de liberais. Estavam demasiado dispersos geograficamente e não existia uma explicação porque isto assim era.
Segundo Wylie, baseado no artigo de Kosinski, um típico liberal, é uma pessoa com personalidade altamente aberta, com baixo grau de consciencialização. Ninguém espera dum Hippie um alto grau de desconfiança em relação a novas ideias. Wylie propõe uma solução aos liberais para melhores resultados em futuros sufrágios, por captar novos votantes usando analise de dados, mas rapidamente é desacreditado. Ninguém dá valor a sua ideia inovadora.

Foi então que alguém dos liberais apresenta Wylie e sua ideia a alguém da empresa SCL Group que mais tarde viria a dar origem a Cambridge Analytica, esta que tinha clientes que variavam de governos, agências e militares.

Alexander Nix apresentacao

Alexander Nix

É ai onde entra o polémico Alexander Nix CEO da Cambridge Analytica. Talhado para o sucesso, antes da Cambridge Analytica foi analista financeiro e na infância foi educado numa escola aristocrática no Reino Unido.

 

 

Nix, concede totais poderes a Wylie:

‘Experimente todas suas ideias malucas’ vocifera ele a Wylie!!!

Wylie é enquadrado na Cambridge Analytica como director de pesquisa, envolvido em operações psicológicas, algo como mudar a opinião das pessoas não através de coação ou persuasão mas por meio de domínio da informação, uma amalgama de técnicas que vão desde a disseminação de rumores a desinformação e fake news (noticias falsas).

Steve Bannon

É assim que Wylie conhece o controverso milionário da industria cinematográfica de Hollywood e líder da extrema-direita Steve Bannon (na foto acima). Bannon ouviu falar da Cambridge por meio dum militar. Wylie diz que Bannon amou sua ideia e decidiu então ‘estender’ o apoio por angariar financiamento. Foi então que Nix, Wylie e Bannon viajam a New York para um encontro em Manhattan com o sinistro pioneiro da Inteligência Artificial, cientista e multimilionário dos mercados financeiros Norte-Americanos, o Eng. Robert Mercer apoiante da extrema-direita e sua filha Rebeka, licenciada em matemática, executiva gestora de fundações da direita.

 

Mercer e sua filha Rebeka

Para Mercer a apresentação de Wylie foi ouro sobre azul. Ele entendeu rapidamente do que se tratava, era algo muito próximo a sua área, ele é um cientista da computação artificial, Wylie um especialista em interpretação de dados de enorme dimensão. Mas nem por isso foi tão fácil assim convencer Mercer de que aquilo funcionava. A apresentação de Wylie era baseada num artigo de Kosinski denominado “Computer-based personality judgments are more accurate than those made by humans”, algo como ‘As análises de personalidade feitas por computador são muito mais precisas que as determinadas por humanos’.

Mas era tudo muito teórico. Ao contrario do que geralmente acontece em reuniões de negócios do género, Mercer, sendo a pessoa mais rica na sala, não era propriamente a mais ingénua, pelo contrario. Pediu provas práticas. Queria vê-la funcionar. Dinheiro para investir não faltaria.

Portanto, para provar que sua ideia funcionava, Wylie precisava de coloca-la em teste e para isso precisava de perfis psicológicos de muitos, mas muitos usuários.

Como conseguir esses milhões de dados?

É aí onde entra a empresa GSR (Global Science Research) criada por um ambicioso génio Moldavo/Russo/Americano da Psicologia, o professor Alexandr Kogan da universidade de Cambridge (e também de St. Petersburgh).

Kogan em si, não criou nada de novo. Só chegou a um acordo com Wylie depois do segundo falhar negociações com Kosinski. Kogan também teve acesso a pesquisa de Kosinksi e propôs a Wylie ir um bocado mais longe: replicaria o trabalho de kosinski e Stillwell desde que estes fossem colocados a parte de qualquer acordo milionário com Kosinski. Para livrar-se de suspeitas de invasão de privacidade, ele promete a Wylie e ao Facebook que os dados dos usuários serão obtidos para futuros estudos no ramo da psicologia.

Com os milhões de Mercer na mão, Kogan parte para a ação. É inteligente e percebe que para ganhar tempo precisa aliciar pessoas. Recorre a plataforma de contratação da Amazon, a Amazon Turks onde paga a voluntários para realizarem testes de personalidade numa aplicação por ele desenhada chamada de thisismydigitallife. É claro que não era uma aplicação normal. Confiantes com o dinheiro no bolso estes voluntários concedem acesso a aplicação a sua conta do facebook. Nada anormal, aparentemente!!!

Kogan, sabia que o Facebook não era muito rígido na forma como as apps acediam a dados dos usuários e dos seus amigos. Teve a vida facilitada. Basicamente Kogan pagou com dinheiro a 320.000 voluntários que tinham uma média de 160 amigos. Isso dá uns absurdos 51 Milhões de pessoas captadas em apenas algumas semanas. É muito dado, e é muita informação para entregar a Cambridge Analytica. Kogan ri-se, e ri-se assim porque além dos bolsos cheios, o Facebook pouco ou nada fez para trava-lo, mesmo tendo sido alertado pelos seus poderosos algoritmos de segurança baseados em inteligência artificial. Kogan simula e diz que é para pesquisa científica. Matreiro!!!

E o que isso tem exactamente a ver com a Sociometria?

Bom, a Sociometria em si, é uma ciência derivada da sociologia e da psicologia que se concentra no estudo matemático dos caracteres e perfis psicológicos dos conjuntos sociais, não considerando o homem como um elemento individual no seio dum grupo, mas concluindo que enquanto participante dum grupo, o resultado das acções deste grupo não pode ser encarado como a soma das acções individuais de cada membro, mas sim que cada membro participa de quadros e processos, fenómenos psicossociais que analisados permitem percepcionar o comportamento de cada membro do grupo.

Kogan embora psicometrista, conhecia perfeitamente este fenómeno e percebeu claramente que se conseguisse perceber a estrutura psicológica duma determinada amostra social, mais facilmente conseguiria produzir conteúdo que pudesse espalhar o medo, o ceticismo, a dúvida e a solução. O Facebook faria o resto com a sua anterior politica de desleixo em relação as fake news. E foi isso que fez, usando a preço de banana uma plataforma que tem mais de 1 bilião de utilizadores cadastrados. Assim foi feito e a Cambridge Analytica produziu depois conteúdo relevante em formato de publicidade paga por meio dum competente trabalho de Search Engine Optimization (SEO).

Nao tenha medo. Este tipo vai baixar as armas em obediência a segunda emenda‘ – Mensagem subliminar que dá que pensar as ‘vitimas’

Imagens como esta a esquerda, eram difundidas na app de Kogan e serviam tão somente para iniciar o rastreio de perfil psicológico do típico Americano, receoso do efeito da liberalização das armas, mas também do alto índice criminalístico do país, um dos mais armados do mundo. O homem armado, encapuzado com balaklava, a cor preta e acinzentada realçada na colorimetria e a mensagem que sendo meia verdadeira, espalha uma semente de dúvidas e uma perspectiva sombria, foram estrategicamente bem posicionadas. Hillary e Obama defendiam abolição do porte de armas. Trump, não. O que a mensagem transmitia era sub-liminarmente entendida como estando Obama e Hillary ao lado dos criminosos. Pode parecer brincadeira, mas funciona na perfeição. Kogan sabia disso como ninguém.

Um analista experiente de marketing digital ou um bom técnico de tecnologias de informação, dificilmente cairia no goto de conteúdo desse tipo. Rapidamente detectaria fraude e fake, pelo formato do endereço, pelo site mal trabalhado, pela falta de conteúdo relacionado e contraditório, pela falta de ligação de fontes de informação etc. etc.

Mas não é assim que analisaram os milhões de Americanos e Britânicos, eles são apenas simples utilizadores, precisam de ser protegidos, não de serem máquinas de analise de formato de conteúdo pago.

Os resultados foram demasiados evidentes. Não só a Cambridge Analytica foi capaz de influenciar a saída do Reino Unido da União Europeia, como também conseguiu que o polémico empresário da hotelaria Donald Trump acedesse ao poder nos EUA.

200px-Cambridge_Analytica_logo.svg

A Cambridge Analytica tornou-se na mais sofisticada empresa de guerra psicológica

Presentemente, a Cambridge Analytica e seus executivos estão sob fogo, investigados pela justiça tanto Britânica como Americana. Nix foi apanhado praticamente com as calças na mão. Falou demais, já se achava o ‘cara’, revelou até práticas inesperadas para um executivo da industria da comunicação. Wylie abriu a boca, perturbado, pressionado ou preparado para faturar mais, com as consequências imprevisíveis e inenarráveis da máquina de guerra informativa que criou e que foi apelidada como o seu ‘Frankstein’.

Zuckerberg percebeu que tem poucos amigos

Mark Zuckerberg, CEO do Facebook descobriu depois de muitos anos, ironicamente pela sua própria ferramenta, o Facebook, que ele tem poucos amigos ao contrario do que talvez pensava porque tem milhoes de ‘friends’. Moralistas, falsos moralistas, uns mais sinceros do que outros, oportunistas e aproveitadores e uma corte infindável, rapidamente aproveitaram-se da situação para lançar mensagens de bota-abaixo contra o fundador da rede social que ficou por muitos dias sem saber como reagir, talvez percebendo pela primeira vez na vida que tinha uma ferramenta em mãos que é muito mais perigosa do que ele alguma vez imaginou e que se ele retrospectivou o seu inicio certamente que nunca imaginou que chegaria a esse ponto, um ponto que ele não deseja que seja de viragem.

EIGRP: Balanceamento de carga por métrica desigual

 

unequal cost load balancing

Loop de encaminhamento em R3 devolve o pacote a R1, porque o custo do link R3-R1 é menor que o cuso R3-R2.

 

Observe a figura acima: Suponha que R1 pretenda enviar pacotes para R2. Ele o poderá fazer pela rota de menor custo directamente por R1->R2. Poderá faze-lo também por R3, R1->R3->R2. Acontece que de R3->R2 o custo é de 100. E de R3->R1, o custo é de 20. Logo o pacote a caminho de R2 por R3, será devolvido a R1 que encaminhará novamente a R2 provavelmente por R3 . A esse acontecimento chamamos Routing Loop, ou laços de encaminhamento.

unequal cost load balancing 02
Observe a figura acima. Os custos para a chegada dos pacotes de E para A, pelas 03 rotas são os seguintes:

E->B->A=30
E->C->A=20
E->D->A=45

A rota com menor custo, conhecida como Feasible Distance (FD) é igual a 20 (E->C + C->A = 10+10 = 20). Se essa rota falha por qualquer motivo, uma rota alternativa, chamada de Feasible Sucessor Route, FS, é activada, e essa rota é E->B->A = 30, porque o custo anunciado pelo encaminhador B para alcançar A, ou seja a Reported Distance, RD = 10, é menor que a FD=20.

Redes sérias precisam necessariamente de ter algum bom esquema de balanceamento de carga. As vantagens são inúmeras. Por exemplo é sempre bom enviar pacotes por mais do que um caminho, desse modo pode-se diminuir a sobrecarga nos enlaces (desculpe mas não encontrei um termo mais PT-pt para link, diferente de ‘ligação’) de dados.

Outra vantagem é a rápida convergência em caso de quebra ou falha de um dos enlaces de dados. Nao é necessário esperar pelo processo de convergência, que pode ser moroso porque ja existe uma ou mais rotas alternativas na tabela de roteamento.

Configura-se o balanceamento de carga de rotas com desiguais métricas (deve ser assim que se pronuncia Unequal Metric Route Load Sharing) recorrendo ao comando Variance que multiplica o seu argumento que varia de 1 a 128 pelo valor da rota FD. Todas as rotas com custo menor a FD serão consideradas como rotas sucessoras FS.

Por exemplo. Configure-se uma variância de 02. O novo valor da métrica será FD = (10+10)*2 = 40. FS = (10*2) = 20 < FD.
Na linha de comando teríamos:

>router eigrp 33
>variance 2

O encaminhador irá adicionar todas rotas menores ou iguais a 40, valor de FD. E->D->A não é adicionado porque a RD de D = 25*2 = 50 > FD.

Abrangência IP e a sumarização de rotas

Existem motivos muito fortes pelos quais voce necessita sumarizar ou agregar rotas. Um factor é que o processo de encaminhamento, introduz uma grande sobrecarga no sistema. Tendo o encaminhador que calcular mais rotas, maior é a sobrecarga. Outro motivo para sumarizar rotas é que ela acelera o processo de convergência em protocolos IGP (Interior Gateway Protocol) como o protocolo EIGRP. Observe a figura abaixo:

Stuck in active

Se o encaminhador 1 perde uma rota ele envia uma mensagem de solicitação e aguarda por uma mensagem de resposta. Quanto maior o numero de encaminhadores a frente de 1, menor é a probabilidade dele receber uma mensagem de resposta em menor tempo e dessa forma convergir rapidamente. Ja ensinamos num artigo anterior como sumarizar rotas. O problema que se coloca aqui é quando estamos em presença de redes algo descontínuas. O gerente do projecto entrega a voce 4 (quatro) rotas e solicita a sua sumarização. Como proceder? O exemplo abaixo dá uma dica sobre o assunto:

An engineer plans to configure summary routes with the ip summary-address
eigrp asn prefix maskcommand. Which of the following, when added to such a
command, would create a summary that includes all four of the following subnets:
10.1.100.0/25, 10.1.101.96/27, 10.1.101.224/28, and 10.1.100.128 /25?
a.  10.1.0.0  255.255.192.0
b. 10.1.64.0  255.255.192.0
c.  10.1.100.0  255.255.255.0
d. 10.1.98.0  255.255.252.0

Como se observa, estamos perante 4 redes algo descontínuas. Qual das seguintes alíneas corresponde a uma rede que satisfaça a sumarização delas?

Uma forma fácil de verificar isso é por fazer uma analise de abrangência. Para isso voce deve lembrar para que serve uma mascara de sub-rede. Ela não apenas serve para indicar o endereço de rede fazendo a operação matemática de AND com um determinado e válido endereço IP, mas também para determinar os limites ou a abrangência da sub-rede.

Repare: Se voce tem uma rede com o endereço 10.0.0.0/8 qual é a sua abrangência? Eu que sou experiente neste calculo digo que é de 10.0.0.0/8 a 10.255.255.255. Como provar? Simples: subtraia a mascara de sub-rede pela mascara todos 1 (255.255.255.255). Fica assim:

255.255.255.255
– 255.  0  .   0. 0
________________
0    . 255 . 255 . 255

Somar (OR) o endereço IP (10.0.0.0) ao resultado da subtração do todos 1 com a mascara de sub-rede:

  10 . 0  . 0   . 0
+ 0 .255.255.255
________________
10 . 255.255.255

Ou seja a rede vai de 10.0.0.0/255.0.0.0 a 10.255.255.255/255.0.0.0.

Respondendo a pergunta destacada anteriormente, voce pode repetir os passos que fizemos agora nas quatro alíneas para obter a resposta. Observe as redes em análise:

10.1.100.0/25, 10.1.101.96/27, 10.1.101.224/28, and 10.1.100.128 /25

Nota-se que a rede mais a direita ou seja com o endereço IP maior é 10.1.101.224/28, logo temos de encontrar uma sub-rede que abranja este endereço. Analisando a alínea d) temos: 10.1.98.0  255.255.252.0. Qual é a sua abrangência?

255.255.255.255 – 255.255.252.0 = 0.0.3.255

Somando: 10.1.98.0 + 0.0.3.255 = 10.1.101.255

Ou seja a sua abrangência vai de 10.1.98.0 a 10.1.101.255.

O endereço 10.1.101.224 está dentro desse intervalo, logo a alínea d) está correcta.

 

 

 

 

 

 

 

 

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

 

 

Configurando serviço DHCPv6 Stateless

Similar ao protocolo DHCP, o protocolo DHCPv6 também faz uso do protocolo Internet Control Message Protocol, mas na sua versão 6, o ICMPv6, que por seu lado recorre a outro protocolo, o Neighbor Discovery (ND), que vem assim substituir o protocolo de descoberta e resolução ARP pertencente ao protocolo IP.

Ao contrario do serviço DHCPv6 Stateful, o serviço DHCPv6 Stateless não conserva o estado dos dispositivos a que ele atribui endereços. Geralmente o esquema é composto pela atribuição simples ao cliente do endereço DNSv6 e do Domain Name (DN) e do prefixo bem como seu tamanho.

O endereço IPv6 é obtido pela combinação do prefixo (64 bits) e do endereço MAC do dispositivo que sao 48 bits. Como o endereço IPv6 é composto por 128 bits isso significa que ainda restam (64-48)bits = 16 bits. Esses bits sao completados com a inserção da assinatura FFFE (onde o bit 70 é complementado) na metade dos 48 bits ou seja depois do bit 24 do MAC Address. A este tipo de técnica, denomina-se StateLess Address AutoConfiguration (SLAAC) e o formato do de endereço denomina-se EUI-64.

Os comandos ipv6 address autoconfig e ipv6 nd other-config-flag em modo de interface, habilitam a configuração automática do endereço IPv6 e a obtenção do outras configurações enviadas pelas mensagens RA (já falaremos disto parágrafo abaixo) dos servidores-encaminhadores (DHCPv6 Routers).

Aquando da obtenção da informação DHCPv6 o cliente e o servidor trocam mensagens ND. Geralmente um cliente envia uma mensagem Multicast Router Solicitation (RS) a todos agentes DHCPv6 que podem ser servidores-encaminhadores ou servidores de reencaminhamento (relay servers) ao endereço Multicast FF02::1:2 com escopo local, a solicitar uma mensagem Unicast Router Advertisement (RA) do servidor-encaminhador, que, por sua vez responde com o tal RA que também indica o seu tipo de configuração DHCPv6 (stateful ou stateless). O Default Router do cliente é o endereço de link local do servidor-encaminhador.

Geralmente configura-se o servidor-encaminhador para gerar e enviar Unicast RA’s com o comando ipv6 unicast-routing. Dessa forma, ele não irá proceder a geração e envio de mensagens RS.

A topologia abaixo é bastante elucidativa. Temos dois encaminhadores, nomeadamente R2, que faz o papel de servidor-encaminhador, e R3 que faz o papel de cliente. R2 é configurado como servidor DHCPv6 Stateless de modo que envia RA’s com informações sobre o seu prefixo, o seu tamanho, o endereco DNSv6 e o Domain Name.
o cliente R3 na sua interface fastethernet 0/0 por seu lado obtêm de R2 apenas o prefixo, de modo que estando configurado para autoconfiguração ela gera o seu endereço IPv6 por meio do método EUI-64 e obtêm de R2 apenas o DNSv6 e o Domain Name.

 

DHCPv6 Stateless
R2 Configuration

hostname R2

ipv6 unicast-routing

ipv6 dhcp pool SEQEUELE
address prefix 3111:1111:2222:3333::/64 lifetime infinite infinite
dns-server 2001:4860:4860::8888
domain-name http://www.snnangola.co.ao

interface FastEthernet0/0
no ip address
speed auto
duplex auto
ipv6 address 3111:1111:2222:3333::1/64
ipv6 dhcp server SEQEUELE rapid-commit
!
ip forward-protocol nd
!
no cdp advertise-v2

R3 Configuration

hostname Router

interface FastEthernet0/0
ipv6 address autoconfig
ipv6 nd other-config-flag
ipv6 dhcp client pd SEQEUELE rapid-commit

ip forward-protocol nd
!
no cdp log mismatch duplex

Testes

Interfaces associadas em R2

R2#sh ipv6 dhcp int
FastEthernet0/0 is in server mode
Using pool: SEQEUELE
Preference value: 0
Hint from client: ignored
Rapid-Commit: enabled

Confirmação da ausência de estado em R2

R2#sh ipv6 dhcp binding
R2#sh ipv6 dhcp database

Nao retorna qualquer informação de associação. Mas…

Interfaces associadas em R3

#sh ipv6 dhcp interface
FastEthernet0/0 is in client mode
State is SOLICIT
List of known servers:
Reachable via address: 3111:1111:2222:3333::1
DUID: 00030001CA0210EC0000
Preference: 0
Configuration parameters:
IA PD: IA ID 0x00040001, T1 60, T2 120
DNS server: 2001:4860:4860::8888
Domain name: http://www.snnangola.co.ao
Prefix name: SEQEUELE
Rapid-Commit: enabled

 

DHCPv6 um exemplo simples (I)

Nao quis terminar o ano 2015 sem publicar um artigo. O que era para ser um passeio tornou-se um pesadelo, próprio de quem andou algum tempo fora de assuntos técnicos. Entretanto a rapidez com que voltei a dominar os conceitos só provaram que afinal acabamos por não esquecer aquilo que bem aprendemos.

I Won’t finish the 2015 season without publish a post. The runawaylder was turned into a nightmare, because I wasn’t refreshed regarding to new Cisco IPv6 concepts. However after a self taught CCNP ROUTE lessons and packet tracer or GNS3 practises I’m sure that i never forgot the old concepts, so I’m feeling ready and confident now.

Como sabem o protocolo IPv6 está aos poucos a transformar-se no padrão the facto das transmissões em comutação de pacotes. Ja escrevi muitos artigos sobre IPv6, você pode consulta-los aqui e aqui. Quase a sete (7) anos atrás quando escrevi o primeiro artigo sobre IPv6 pensava-se sempre em implementações dual stack, ou seja hosts e servers com interfaces com endereços em IPv4 e IPv6. Ora, penso que isto deve ser de evitar no futuro. Em alguns casos, por questões de falta de interoperabilidade, obsolência, resistência a mudanças e segurança de aplicações, ainda se observa com alguma frequência este tipo de implementação.

As you know the IPv6 protocol is becoming bit by bit the the facto protocol for IP switching networks transmissions. I have wrote some articles about IPv6 standard, so you can check here and here. Almost a seven (7) years ago when i have wrote my first article about IPv6 we thought ever in dual stack implementations. Even thinking the public IPv4 numbers for AFRINic are exhausting we need to get ready for the changes that are becoming standard. There are cases where the IPv6 isn’t recommended such as those who insist to have hard control of some OSI or IP model layers. There are situations where we can face resistance for changes, lack of interoperability and some obsolency too.

O nosso exemplo é muito simples. Temos um encaminhador de pacotes (router) com duas sub-redes atras dele, que podem ser dois andares ou dois departamentos. Queremos que o nosso encaminhador Router0 seja o nosso servidor DHCPv6 e forneça os endereços IPv6, DNS e Domain Name:

The diagram below is quite simple. We have a Router with two (2) sub-networks behind them, who should be two floors or departments. We want Router0 to be our DHCPv6 server in order to supply the IPv6 address, DNS and Domain Name:

Sub-Redes tudo IPv6

Sub-Redes tudo IPv6

 

Temos duas sub-redes por detrás de Router0: Sub-Rede LUANDA  por detrás da interface Fa0/0 e Sub-Rede KILAMBA por detrás de Fa0/1. Um servidor DNS configurado como estático e um outro servidor também com endereçamento estático. Dois computadores pessoais. Um configurado para ser cliente (host) STATEFUL e outro para ser cliente (host) STATELESS. A razão porque fazemos isso é muito simples: verificar se mesmo com o server Router0 configurado para não enviar Router Advertisements (RA) com o comando ipv6 nd managed-config-flag , ou seja forçar os hosts a não obter endereçamento em autoconfiguration (SLAAC) e usar o DHCPv6 eles ainda assim procedem, gerando configuração IPv6 pelo método EUI-64 e obtendo de Router0 apenas o DNS e o Domain Name.

Endereçamento IPv6 (IPv6 Addressing):

Luanda Prefix -> 3111:1:2:4::/64
Router0, Fa0/0 -> 3111:1:2:4::1/64
Kilamba Prefix -> 3111:1:2:6::/64
Router0, Fa0/1 -> 3111:1:2:6::1/64
Luanda DNS Server -> 3111:1:2:4::3/64

Router0 Configuration:

Activar encaminhamento de pacotes IPv6 (Enable IPv6 packet forwarding between interfaces on Cisco Router)

ipv6 unicast-routing

 

Configurar duas pools de endereços para LUANDA e KILAMBA

ipv6 local pool STATEFUL-LUANDA 3111:1:2:4::/64 64
ipv6 local pool STATEFUL-KILAMBA 3111:1:2:6::/64 64

Configuração em modo global de DHCPv6 pool para LUANDA

ipv6 dhcp pool STATEFUL-LUANDA
prefix-delegation pool STATEFUL-LUANDA
dns-server 3111:1:2:4::2
domain-name http://www.snnangola.co.ao

Configuração em modo global de DHCPv6 pool para KILAMBA

ipv6 dhcp pool STATEFUL-KILAMBA
prefix-delegation pool STATEFUL-KILAMBA
dns-server 3111:1:2:4::2
domain-name http://www.snnangola.co.ao
!

Configuração de interface Fa0/0 como provedora de endereçamento a pool STATEFUL-LUANDA

interface FastEthernet0/0
no ip address
duplex auto
speed auto
ipv6 address 3111:1:2:4::1/64
ipv6 nd managed-config-flag
ipv6 dhcp server STATEFUL-LUANDA
!

Configuração de interface Fa0/1 como provedora de endereçamento a pool STATEFUL-KILAMBA

interface FastEthernet0/1

no ip address
duplex auto
speed auto
ipv6 address 3111:1:2:6::1/64
ipv6 nd managed-config-flag
ipv6 dhcp server STATEFUL-KILAMBA

PC1, configurado como autoconfig:

PC>ipv6config /all

FastEthernet0 Connection:(default port)

Physical Address…………….: 0090.0C7E.BD87
Link-local IPv6 Address………: FE80::290:CFF:FE7E:BD87
IPv6 Address………………..: 3111:1:2:4:290:CFF:FE7E:BD87/64
Default Gateway……………..: FE80::201:C9FF:FE09:E301
DNS Servers…………………: 3111:1:2:4::2
DHCPv6 IAID…………………: 249352694
DHCPv6 Client DUID…………..: 00-01-00-01-28-93-5C-6E-00-90-0C-7E-BD-87

PC2, configurado como DHCPv6 STATEFUL:

PC>ipv6config /all

FastEthernet0 Connection:(default port)

Physical Address…………….: 00E0.8FBE.4A06
Link-local IPv6 Address………: FE80::2E0:8FFF:FEBE:4A06
IPv6 Address………………..: 3111:1:2:4:2E0:8FFF:FEBE:4A06/64
Default Gateway……………..: FE80::201:C9FF:FE09:E301
DNS Servers…………………: 3111:1:2:4::2
DHCPv6 IAID…………………: 486531192
DHCPv6 Client DUID…………..: 00-01-00-01-27-86-D6-26-00-E0-8F-BE-4A-06

Verificando associação em Router0

RW0#sh ipv6 dhcp binding

Client: (FastEthernet0/0)
DUID: 00-01-00-01-27-86-D6-26-00-E0-8F-BE-4A-06
IA PD: IA ID 486531192, T1 0, T2 0
Prefix: 3111:1:2:4::/64
preferred lifetime 604800, valid lifetime 2592000
expires at janeiro 31 2016 2:44:3 am (2592000 seconds)

Client: (FastEthernet0/0)
DUID: 00-01-00-01-28-93-5C-6E-00-90-0C-7E-BD-87
IA PD: IA ID 249352694, T1 0, T2 0
Prefix: 3111:1:2:4::/64
preferred lifetime 604800, valid lifetime 2592000
expires at janeiro 31 2016 2:44:3 am (2592000 seconds)

Client: (FastEthernet0/1)
DUID: 00-01-00-01-E5-E7-A9-E6-00-05-5E-B8-5A-BD
IA PD: IA ID 825564713, T1 0, T2 0
Prefix: 3111:1:2:6::/64
preferred lifetime 604800, valid lifetime 2592000
expires at janeiro 31 2016 2:44:3 am (2592000 seconds)

Client: (FastEthernet0/1)
DUID: 00-01-00-01-A1-7C-76-89-00-D0-BC-02-4D-CE
IA PD: IA ID 774598856, T1 0, T2 0
Prefix: 3111:1:2:6::/64
preferred lifetime 604800, valid lifetime 2592000
expires at janeiro 31 2016 2:44:3 am (2592000 seconds)

Como podemos ver, houve associação. No próximo artigo vamos abordar aspectos mais profundos sobre DHCPv6.