Conecte-se conosco

Infraestrutura

VPN: IPSec Mikrotik

Imagina que para atravessar de um canto a outro de uma cidade ou país , você tivesse a opção de driblar os engarrafamentos, trânsitos, sinais, ou paradas obrigatórias , estando em posse de algo que levaria você até o destino desejado eliminando lentidões no tráfego e aumentando a velocidade de ir e vir?

Caio Lucas

Publicado

em

Rede virtual privada (Virtual Private Network). VPN é uma conexão estabelecida sobre uma infraestrutura pública ou compartilhada, usando tecnologias de tunelamento e criptografia para manter seguros os dados trafegados.

VPNs seguras usam protocolos de criptografia por tunelamento que fornecem a confiabilidade, autenticação e integridade necessárias para garantir a privacidade das comunicações requeridas pelo usuário.

Protocolos de criptografia

Alguns desses protocolos que são normalmente aplicados em uma VPN são: L2TP, L2F, PPTP e o IPSec.

Quando adequadamente implantados , estes protocolos podem assegurar comunicações seguras através de redes inseguras.

Deve ser notado que a escolha, implantação e uso desses protocolos não é algo trivial, e várias soluções de VPN inseguras são distribuídas no mercado.

Por essa razão, adverte-se aos usuários para que investiguem com cuidado os produtos que fornecem VPNs.

Funcionamento da VPN

Quando uma rede quer enviar dados para a outra rede através da VPN, um protocolo por exemplo, IPSec, faz o encapsulamento do quadro normal com o cabeçalho atribuído ao Roteador, um cabeçalho do tipo AH, que é o cabeçalho de autenticação e o cabeçalho ESP, que é o cabeçalho que provê integridade, autenticação e criptografia à área de dados do pacote.

Quando esses dados encapsulados chegarem á outra extremidade, é feito o desencapsulamento do IPSec e os dados são encaminhados ao referido destino da rede local.

CISCO

Protovolo ARP – Address Resolution Protocol

Como você pergunta para alguém que acabou de conhecer, o seu nome?

Caio Lucas

Publicado

em

ARP é um protocolo de pergunta e resposta utilizado para mapear dinamicamente endereços da camada 3 (rede) com a camada 2 (enlace). Tipicamente, ele é utilizado para mapear endereços IPs (Internet Protocol) em endereços MAC (Media Access Control).

Para controlar esse mapeamento, o protocolo ARP mantém uma tabela chamada ARP Table. Sempre que um novo pacote com endereços MAC ou IP aparecem e ainda não estão na tabela ARP ou precisam se atualizar, o protocolo modifica a tabela com os novos dados.

O protocolo ARP foi originalmente definido pela RFC 826. Nesse artigo vamos abordar as características do protocolo, seu funcionamento com alguns exemplos de código escritos na linguagem C.

Tente entender o seu funcionamento

A imagem acima exemplifica o funcionamento básico do protocolo ARP. O computador da esquerda envia um pergunta ARP querendo saber qual o endereço MAC do computador cujo endereço IP é 10.0.0.5. Essa pergunta é enviada para rede na forma de broadcast.

O computador da direita então responde a pergunta ARP dizendo que endereço MAC do computador com ip 10.0.0.5 é 00:00:00:00:00:02. Cada computador armazena em sua tabela ARP os mapeamentos de endereços aprendidos. Essa informação é utilizada como cache em momentos futuros.

Seu cabeçalho

O protocolo ARP trafega em seus pacotes um conjunto pequeno de dados sobre máquinas de origem e destino. A imagem abaixo mostra cada campo dentro do cabeçalho ARP:

Vamos compreender cada campo do cabeçalho

Tipo de hardware

O Protocolo ARP não é exclusivo de um equipamento. Esse campo de 2 bytes permite guardar um número que define qual o tipo do equipamento daquele pacote. No caso mais comum, com equipamentos Ethernet, temos que o valor desse campo seria: 0x0001

Tipo de protocolo

    Assim como para o campo tipo de hardware o ARP permite mais de um endereço de protocolo. Para tal, esse campo também tem 2 bytes e armazena o tipo do protocolo ao qual será mapeado o endereço de equipamento (hardware). No caso comum, o protocolo IP é utilizado e seu valor para o campo seria: 0x0800

Tamanho endereço hardware

Como o tipo de hardware varia, o tamanho necessário para armazenar o endereço desse hardware também. No nosso exemplo, para colocar no pacote um endereço Ethernet (MAC address) são necessário 6 bytes, então o valor desse campo é 6.

Tamanho endereço protocolo

Com a variação do tipo de protocolo, variamos também o tamanho do endereço do protocolo. Para nosso exemplo utilizando o IP, temos um valor 4 para o campo.

Opções

Esse campo define o tipo do pacote ARP. Ele pode ser um pacote de requisição (request) ou de resposta (response). Para cada um desses tipos, teríamos os valores 0x0001 e 0x0002, respectivamente.

Endereço de hardware de origem

Esse campo recebe o endereço do equipamento de quem está enviando o pacote. Se o hardware for Ethernet, por exemplo, teríamos o seguinte valor: 00:00:00:00:00:01.

Endereço de protocolo de origem

Esse é o endereço do protocolo de origem. Se considerarmos o protocolo IP como exemplo, o valor poderia ser: 10.0.0.2.

Endereço de hardware de destino

Esse campo é reservado para receber o endereço do equipamento de destino. Se o hardware for Ethernet, por exemplo, teríamos o seguinte valor: 00:00:00:00:00:02.

Endereço de protocolo de destino

Esse é o endereço do protocolo de destino. Se considerarmos o protocolo IP como exemplo, o valor poderia ser: 10.0.0.5

Um exemplo de frame do protocolo ARP para o nosso exemplo de ARP reply mostrado na seção FUNCIONAMENTO seria:

SONDAGEM ARP (ARP PROBE)

A sondagem ARP acontece quando um computador recebe um endereço IP, manualmente ou via DHCP, para verificar se outra máquina na rede já possui esse IP. A RFC 5227 especifica essa sondagem.

Para enviar pacotes de sonda, é necessário montar um pacote ARP onde o IP de destino é o endereço desejado e o IP de origem deve ser composto por zeros. O zeros evitam que outros nós façam cache desse endereço. Quando recebe-se um reply confirmando o endereço, tem um conflito de endereços.

ARP INVERSO (INARP)

O ARP inverso ou Inverse Address Resolution Protocol (RFC 2390), é uma extensão do protocolo ARP que permite fazer o caminho inverso do ARP padrão. Ele descobre o endereço de protocolo (IP por exemplo) a partir do endereço de hardware (Ethernet por exemplo).

Para permitir isso, ele utiliza o mesmo frame ARP mas com novos códigos de operação: 8 e 9, InARP request e InARP response, respectivamente.

O ARP Inverso não utiliza broadcast, pois o endereço de hardware de destino já é conhecido. O campo Endereço de protocolo de destino é preenchido com zeros. Através dos códigos de operação (8 e 9), o pacote é encaminhado pela rede até o computador de destino.

ARP SPOOFING / ARP POISONING

Spoofing ou Poisoning de ARP é uma técnica de ataque utilizando protocolo ARP. O Poisoning (envenenamento) acontece quando um atacante dispara mensagens ARP na rede dizendo que o computador dele responde pelo endereço IP de alguma outra máquina na rede, o default gatewaypor exemplo. 

Se o ataque funcionar, o computador do atacante passa a receber os pacotes destinados ao computado atacado. Recebendo esses pacotes, ele pode modificá-los, não encaminhá-los, mandar para outros computadores e etc. 

ARP GRATUITO (GRATUITOUS ARP)

O ARP gratuito é uma forma de um computador se anunciar na rede. Esse pacote não é uma resposta a nenhuma requisição ARP.  O computador envia esse pacote na forma de broadcast de forma voluntária e gratuita.

Para construir um frame ARP gratuito é necessário colocar os Endereços de protocolo da origem e do destino como o endereço (IP por exemplo) do computador que irá enviar o ARP gratuito. Além disso, o Endereço de hardware de destino deve ser um endereço de broadcast, no caso do Ethernet, seria ff:ff:ff:ff:ff:ff. Essa requisição não necessita de nenhuma resposta. Os demais campos continuam normais a uma requisição ARP.

Um pacote de ARP gratuito para o nosso exemplo inicial a esse artigo poderia ser:

PROXY ARP

proxy ARP, ou aproximação ARP, é uma forma de fazer com que sub-redes diferentes consigam receber pacotes ARP uma da outra. Esse mecanismo é definido na RFC 1027

Uma forma de implementar o proxy é colocando o default gateway das duas redes apontando para o mesmo computador/gateway . Assim, esse computador sempre que receber pacotes ARP direcionados à uma sub-rede, ele  apenas encaminha para essa rede. A mesma coisa é feita para o caminho inverso.

Para possibilitar o encaminhamento, é necessário modificar os pacotes colocando os endereços do computador/gateway para que as redes locais consigam comunicar-se. Todos os pacotes de uma sub-rede externa à atual, contém como endereços de hardware o endereço do computador/gateway.

Continue lendo

CISCO

CISCO – CAM TCAM

Entenda as memorias de Switches e roteadores da cisco

Caio Lucas

Publicado

em

As vezes me pergunto como a tabela CAM e sua irmã mais avançada, a TCAM, são tão fascinantes porque funcionam de maneira diferente da RAM tradicional que conhecemos. E porque era difícil para mim entender isso. E realmente lendo muito encontrei uma forma de entender e vou explicar do meu jeito.

Memoria CAM e TCAM

Quando TCAM – Ternary Content Addressable Memory é usado em roteadores L3, ele é usado para realizar uma pesquisa de endereço mais rápida para permitir o roteamento rápido.

Em switches, CAM (Content Addressable Memory) é usado para construir e consultar a tabela de endereços MAC para tomar decisões de encaminhamento L2. Ao implementar a pesquisa de prefixo de roteador no TCAM, estamos movendo o processo de pesquisa da Base de Informações de Encaminhamento do software para o hardware.

CAM é um tipo especial de memória usado pelos switches Cisco. No caso da RAM, o IOS utiliza um endereço de memória para obter os dados armazenados neste local de memória, enquanto no CAM o IOS faz o contrário. Ele usa os dados e o CAM retorna o endereço onde os dados estão armazenados. O CAM também é considerado mais rápido que o RAM, pois o CAM pesquisa toda a memória em uma única operação.

No CAM é usada a representação binária exata de uma palavra, em um aplicativo de rede essa palavra provavelmente será um endereço IP, por exemplo 11000000.10101000.01110001.00000000 (192.168.1.0). Embora isso seja definitivamente útil, as redes operam com uma grande coleção de endereços IP, e armazenar cada um individualmente exigiria uma quantidade significativa de memória.

Na rede, essas palavras de dados sequenciais são prefixos IP. Portanto, para o exemplo acima, se quisermos armazenar a coleção desse endereço IP e os 254 IPs que o seguem, no TCAM ficaria assim: 11000000.10101000.01110001.XXXXXXXXXX (192.168.1.0/24).

Este método de armazenamento significa que podemos fazer perguntas ao ASIC como “para onde devo enviar pacotes com endereço IP de destino 192.168.1.19?”, para o qual o ASIC pode ter uma resposta pronta em um único ciclo de clock, pois não precisa percorre toda a memória, mas pode referenciar diretamente key(chave). Essa resposta geralmente é uma referência a um endereço de memória na RAM tradicional, onde mais dados podem ser armazenados, como a porta de saída.

Ao implementar o TCAM, permitimos que o processo de busca de endereços não dependa do número de entradas de prefixo, pois a principal característica do TCAM é que ele é capaz de buscar todas as suas entradas em paralelo. Isso significa que não importa quantos prefixos de endereço sejam armazenados no TCAM, o roteador encontrará a correspondência de prefixo mais longa em uma única operação. Um pouco confuso, então vamos ver a próxima foto.

A Fig 1 mostra como a pesquisa FIB funciona e aponta para uma entrada na tabela de adjacências. O processo de pesquisa passa por todas as entradas na tabela TCAM em uma única operação.

CAM VS TCAM

Os switches multicamadas encaminham quadros e pacotes em velocidade de fio através do uso de hardware ASIC (Application Specific Integrated Circuits). Componentes específicos da camada 2 e da camada 3, como tabelas de roteamento (para onde esse pacote vai), listas de controle de acesso (ACLs) (este pacote é permitido), são armazenados em cache no hardware. As tabelas de roteamento, comutação, ACL e QoS (qual prioridade deve ser dada a este pacote), são armazenadas na memória de tabela de alta velocidade para que decisões e restrições de encaminhamento possam ser feitas em hardware de alta velocidade. Os switches consultam essas tabelas para obter informações de resultados, como determinar se um pacote com um endereço IP de destino específico deve ser descartado com base em uma ACL. Como resultado do uso do TCAM, a aplicação de ACLs não afeta o desempenho do switch.

O Router

Em roteadores, como roteadores Cisco high-end, o TCAM é usado para habilitar o CEF – Cisco Express Forwarding em hardware. O CEF está construindo a tabela FIB da tabela RIB (tabela de roteamento) e a tabela de adjacência da tabela ARP para construir cabeçalhos L2 pré-preparados para cada próximo vizinho de salto.

O TCAM encontra, em uma tentativa, cada prefixo de destino dentro do FIB. Cada prefixo em FIB aponta para o cabeçalho L2 da tabela de adjacências previamente preparada para cada interface de saída. O roteador cola o cabeçalho do pacote em questão e o envia por essa interface. Parece rápido fazer assim? É tão rápido!

SWITCH

No mundo dos switches de camada 2, a memória CAM é mais comumente usada, pois permite que o switch construa e pesquise tabelas de endereços MAC. O endereço MAC é sempre exclusivo, portanto, a arquitetura CAM e o recurso de pesquisa têm apenas correspondências exatas e são perfeitos para pesquisa de endereços MAC. Isso dá ao switch a capacidade de verificar todos os endereços MAC de todos os hosts conectados a todas as portas em uma operação e descobrir para onde enviar os pacotes recebidos.

As tabelas CAM fornecem apenas dois resultados: 0 (verdadeiro) ou 1 (falso). O CAM é mais útil para construir tabelas que procuram correspondências exatas, como tabelas de endereços MAC. A tabela CAM é a tabela principal usada para tomar decisões de encaminhamento da camada 2. No caso das tabelas de encaminhamento da camada 2, o switch deve encontrar uma correspondência exata para um endereço MAC de destino ou o switch enviará o pacote para todos. a VLAN.

Quando um quadro chega ao switch com um endereço MAC de destino de uma entrada na tabela CAM, o quadro é encaminhado apenas para fora da porta associada a esse endereço MAC específico. As informações que um switch usa para realizar uma pesquisa em uma tabela CAM são chamadas de key (chave). Por exemplo, uma pesquisa de camada 2 usaria um endereço MAC de destino e um ID de VLAN como chave.

Para visualizar o conteúdo da tabela CAM, você pode usar o seguinte comando EXEC:

Switch# show mac address-table dynamic [address mac-address | interface type mod/num | vlan vlan-id]


Nota: O problema com a tabela CAM é que ela só pode fazer correspondências exatas em uns e zeros (CAM binário), e aqui vem o TCAM.

MAIS QUE UM SIMPLES ROTEAMENTO E COMUTAÇÃO

Além do mapeamento de prefixo mais longo, o TCAM nos roteadores multicamadas e dispositivos de comutação de hoje é usado para armazenar ACLs, QoS e outras coisas de processamento de camada superior. Dispositivos com esta capacidade geralmente têm mais módulos de memória TCAM para poder implementar Access-List em ambas as direções e QoS ao mesmo tempo na mesma porta sem qualquer impacto no desempenho do Roteador/Switch. Todas essas diferentes funções e seu processo de busca para uma decisão são feitos em paralelo.

Continue lendo

Infraestrutura

Projetando Redes Cabeadas

Hoje em dia, na época que alcançamos fica cada mais seletivo o uso de materiais passivos para a implementação ou montagem de um servidor, sistema de cabeamento estruturado ou mesmo montagem de uma infraestrutura, oque se espera é poder contar com transmissores físicos que deem agilidade e integridade no envio dos dados e o recebimento deles sem perca de conexão.

Caio Lucas

Publicado

em

Ao montar uma infraestrutura ou mesmo fazer um projeto de uma infraestrutura depois de adicionar ao carrinho todos os equipamentos ativos de rede no qual será utilizado dentro daquele determinado ambiente você se depara com o seguinte … Quem irá fazer a conexão física desses equipamentos de maneira que possam eficientemente se comunicar?

Então chega a hora de escolher o melhor cabo, escolhendo de repente o mais adequado e dentro da norma, para que tudo funcione conforme você projetou no inicio , mas fazer isso não é uma tarefa simples, afinal de contas você precisa levar em consideração não só oque será conectado como ativo de rede ( Roteadores, Switches, AP, Repetidores) mas quem irá se conectar nesses.

Essa dúvida se torna ainda mais constante devido as muitas intercorrências que surgem logo após um projeto não muito bem planejado.

Imagina que você foi chamado para montar uma infraestrutura de rede em uma empresa, chegando lá e olhando o ambiente você percebe que várias coisas podem melhorar , a sua preocupação imediata é deixar tudo melhor e cada vez mais compatível entre os equipamentos linha de frente da rede como Switches ou Roteadores, mas a pergunta que fica é…. ” Depois de ter pensado no melhor equipamento para viabilizar uma excelente conexão , você pensou nos clientes que irão usufruir 100% do tráfego?

Quando eu falo de tráfego me refiro no geral, desde clientes que irão se conectar via interface cabeada até mesmo os que vão utilizar frequências WI-FI para navegar .

A coluna sustentadora de uma rede cabeada é a sua infraestrutura.

Então como podemos planejar cada vez melhor projetos que vão beneficiar a todos?

Uma maneira de fazer isso (já que estamos falando de “Cabeamento”) seria por escolher bem que tipo de meio físico vamos utilizar.

Vou colocar alguns exemplos para que você possa raciocinar ..

O padrão do cabeamento se encontra em uma tabela que preparei.

Ethernet – 10Mbp/s

(U) Fast Ethernet – 100Mbp/s

(Z) Gigabit Ethernet – 1000Mpb/s

(AE) 10Gigabit Ethernet 10.000Mpb/s

Essas são as velocidades envolvidas , agora cada cabo (Meio Físico) também possui sua respectiva velocidade , algo que tem que se adequar com a Largura de Banda mencionada acima.

EX: Cat 5 10 Mbp/s

Cat 5e 100Mpb/s

Cat 6,6e & Cat 7 são cabos de 10.000Mbp/s

Não apenas o seu meio físico precisa está em equivalência com a Velocidade contratada de Rede mas também a sua placa de rede (NIC) precisa suportar esse trafego usando um dos meios físicos mencionados acima.

Imagina que uma empresa contrate um link de internet de 1.000Mbp/s

Esses são os equipamentos e suas respectivas configurações..

  • De 20 computadores 4 Possuem uma placa de rede com capacidade de tráfego de 250Mbp/s.
  • Também 6 computadores Possuem uma placa de rede (NIC) com uma capacidade de 300Mbp/s
  • E os outros 10 são tudo 802.3 U – 100Mbp/s

Tem também dentro dessa infra , 4 roteadores conectados em serie , esses são:

[Aqui entra uma imagem de roteadores com diferentes capacidades de banda]

  • R1 capacidade por porta RJ45 = 300Mbp/s

(Imagina que cada roteador possua suas 4 portas por padrão)

Ainda sobra o WIFI…

  • Ele então possui 2 frequências de conexão
  • 2.4Ghz Com capacidade de 250Mbp/s
  • 5Ghz Com capacidade de 300Mbp/s

E independente do celular que se conecte , nenhum usufruirá 100% da banda por incompatibilidade.

Os outros 3 Roteadores espalhados pelo ambiente , possuam a mesma capacidade que essa mencionada acima.

Então fica claro que se está funcionando mesmo da maneira errada como está , não seria passivo de configuração , nesse caso a grande questão é “O projeto” a maneira como essa infraestrutura foi mal projetada pesou mais tarde no funcionamento da rede e afeta o desempenho que todos os clientes podem ter.

O ideal nesse caso seria projetar novamente, porém agora de maneira correta, para isso acontecer é necessário saber escolher bem os equipamentos para que possam se adequar a sua rede como um todo.

Levando em consideração o ambiente acima, vamos projetar de maneira correta e totalmente dentro da norma agora..

Para ativos de rede (Como roteadores ou switches) vamos escolher um em que suas interfaces de conexão físicas sejam no padrão 802.3 u/z/ae, nesse caso eu agora estou escolhendo um equipamento acima da média , e que ao invés de ser desfalcado em relação a minha largura de banda contratada ele está acima dela , deixando assim o tráfego bem mais leve e de uma maneira em que os clientes possam trafegar os seus dados de maneira bem mais eficiente .

Para Switches , vamos ter em mente que se nossa rede até estiver em posse de um link de internet de 1Gbp/s será necessário comprar um switch onde a capacidade de tráfego por porta RJ-45 seja igual ou superior a nossa banda contratada.

Isso por si mesmo já é ultra importante para que não exista incompatibilidade de acesso ou banda limitada por parte de equipamentos incompatíveis com a velocidade de rede contratada.

E no mercado temos várias fabricantes de switches que empregam na placa do seu produto uma capacidade como essa já destacada, isso já facilita pois um switch compatível com a velocidade de internet rodando ao lado de outros ativos na mesma infraestrutura tais como (Roteadores, AP, Repetidores) isso causa um balanceamento em toda a infraestrutura de ativos , quer seja essa de uma empresa, de um mini escritório ou de uma corporação de porte maior.

Continue lendo

EM ALTA