Conecte-se conosco

VLAN

VLAN: Como funcionam ?

VLAN é um protocolo usado para organizar vários dispositivos dentro de uma rede física única sem precisar fazer mudanças físicas na infraestrutura, oque normalmente é caro e muito demorado.

Caio Lucas

Publicado

em

Você conhece ilhas? Então guarde esse conceito e vem aprender sobre oque são “Ilhas” (Vlan) dentro de uma rede.

VLAN é um protocolo usado para organizar vários dispositivos dentro de uma rede física única sem precisar fazer mudanças físicas na infraestrutura, oque normalmente é caro e muito demorado.

O termo VLAN significa “Virtual LAN”, sendo que LAN se refere a “Local Area Network” (“rede local”, em tradução livre). O “virtual” indica que a organização da rede não é feita de acordo com a forma pela qual os dispositivos estão conectados fisicamente, e sim definidos pelo administrador de acordo com a necessidade.

Outro benefício de Vlan’s para uma rede cabeada , é a possibilidade de “particionar”ou melhor… de designar onde cada grupo de computadores pode atuar , em que canto da rede ficam um determinado grupo de computadores, então você pode usar VLAN para determinar que certos computadores(Clientes) trabalhem até sem se enxergar , coisas que apenas acontece se os mesmos estiverem no mesmo grupo.

EX: Em uma empresa os computadores do financeiro ficam “isolados” da rede dos “clientes”, O RH pode ficar separado da rede dos “Alunos” e por aí vai.

É um excelente maneira de separar todo mundo e não deixar que todo mundo fique acumulado “se escutando”.

“Escutar” uma rede , é um termo empregado a prática (quando feito sem autorização ) ilegal de visualizar o tráfego entre alguns computadores , ação que pode vir facilmente de alguém mal intencionado de fora da empresa!

  • Então combinando um “esquema de Vlan com um Firewall bem configurado e implantado, você adiciona uma boa faixa de segurança em toda a sua infraestrutura .

Graças à tecnologia, o administrador pode classificar um dispositivo – como um notebook ou smartphone – como pertencente a uma determinada rede, independente do local físico em que ele esteja conectado.

Mas como?

Um provedor pode, por exemplo, querer adquirir um link externo de telefonia IP. Asim, ele terá saídas diferentes para direcionar o tráfego a destinos diferentes de acordo com o perfil e as necessidades do cliente final.

Hoje, usa-se muito link dedicado a jogos de video game, por exemplo, atendendo as necessidades de alguns clientes gamers. Para entregar o melhor plano a esse cliente, o provedor pode utilizar a VLAN para direcionar internamente seu tráfego ao link externo que o atenda melhor. Existem outras maneiras de fazer isso, mas a VLAN é a mais barata para o provedor.

Mas há pontos negativos também?

VLAN possui limitações, como o uso de um máximo de 4.096 dispositivos por domínio, embora isso só seja um problema para redes de entidades muito grandes. O seu uso também necessita de switches de rede que ofereçam suporte ao protocolo.

EX: Você pode definir que em um switch com suporte a VLAN de por exemplo 24 interfaces (Portas), Das portas 1-4 eu tenho um domínio de VLAN – então eu posso conectar qualquer computador e ele fica fazendo parte desse domínio que fica separado de qualquer computador que se conecte das portas 5-24.

Mas lembre…

Toda vez que eu seleciono determinadas portas do meu switch com objetivo de criar um grupo de computadores isolados (VLAN) eu automaticamente tenho um “Domínio de VLAN”

Acima eu mencionei que VLAN isola computadores clientes de outros computadores clientes, isso quer dizer então que eles não podem se comunicar ? Será que há alguma forma de eles se comunicarem mesmo estando isolados?

Para que um grupo de computadores dentro de uma VLAN consigam ou possam trocar informações é muito necessário entender o conceito de dois tipos de switches …

Switch L2 – Tipo de switch que te possibilita a criação de grupos isolados de computadores, porém não te dá a opção de fazer com que eles se comuniquem ou troquem informações – Não te dá o roteamento entre grupos de computadores.

Switch L3 – Tipo de switch que te possibilita a criação de grupos isolados de computadores , porém diferente do primeiro , esse tipo de switch também possibilita a troca de informações entre computadores que possam pertencer a grupos isolados no mesmo switch.

Há também serviços que precisam de prioridade de entrega até o terminal do cliente, como telefones com VoIP. Quando isso acontece, também é preciso que os roteadores do cliente do provedor tenham a capacidade de entender as VLANs destes serviços para que os mesmos alcancem o dispositivo final.

Tipos de VLANs

Existem três tipos diferentes de VLAN: a VLAN de protocolo; a VLAN estática e a VLAN dinâmica.

A VLAN de protocolo gerencia o tráfego de acordo com o protocolo. É necessário o uso de um switch de rede para isso. Ele será o responsável por encaminhar ou interromper o tráfego de acordo com suas configurações.

Enquanto isso, uma VLAN estática precisa de um administrador de rede para fornecer as portas de acordo com o switch da rede. Por ser mais simples, este também é o tipo mais usado em roteadores fornecidos por provedores para os clientes finais.

Isto é o contrário de uma VLAN dinâmica, na qual o administrador torna um dispositivo membro de uma rede virtual a partir de suas características, não de sua localização física ou do switch de rede no qual ela está conectada.

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

EM ALTA