Switches em Redes Locais
As camadas de enlace e de rede do modelo OSI estão se fundindo e está cada vez mais difícil distinguir entre dispositivos tradicionais de camada 2, como os switches e os dispositivos para camada 3, como os roteadores nas redes locais de computadores atuais.
em 03/04/2008 00:00
Switches na camada de enlace
Essencialmente os switches usados em redes locais de computadores são pontes multiportas modificadas, que operam na camada de enlace de dados (modelo OSI) e que examinam e usam endereços da subcamada de controle de acesso ao meio (endereços MAC) para transmitir ou filtrar o tráfego e permitir a interconexão entre máquinas diretamente, ou seja, simulando uma conexão ponto a ponto.
Figura 1 - Comunicação entre estações de trabalho via switch
Como operam na camada de enlace, os switches devem ser transparentes aos protocolos que operam em níveis mais altos. Isto significa que, independentemente do protocolo, eles transmitem ou descartam quadros independentemente do protocolo usado na rede.
A tecnologia dos switches agrega avanços tecnológicos capazes aumentar o throughput (a vazão) da rede. Eles conseguem chavear com velocidade, disponibilizando uma banda maior para quem envia ou recebe um pacote de dados. Alguns fornecedores de switches incorporam funcionalidades de roteadores aos seus produtos de forma que eles possam examinar também as informações contidas nos cabeçalhos ao nível de rede (camada 3).
Um switch permite a troca de mensagens entre várias estações ao mesmo tempo e não apenas o compartilhamento de um meio para isso, como acontece com os hubs. Desta forma as estações da rede podem obter para si taxas efetivas de transmissão bem maiores do que as observadas em uma rede utilizando apenas hubs.
Existem dois tipos básicos de switches que podem ser usados em redes locais de computadores: os gerenciáveis e os não-gerenciáveis. Enquanto os switches não-gerenciáveis são dispositivos indicados para o uso em redes pequenas no lugar dos hubs, os switches gerenciáveis oferecem um conjunto de características avançadas com maiores funcionalidades, sendo imprescindíveis em redes de maior porte.
Cada porta de um switch recebe um endereço MAC específico, com caminhos fixos para os dados entre as portas do dispositivo. Um switch reconhece o endereço físico (endereço MAC) dos dispositivos a ele conectado para regular o fluxo de tráfego através da rede. Quando uma mensagem alcança um switch, o mesmo checa o endereço de destino no frame de dados e o compara com sua tabela de endereços. Se o endereço corresponder a um dos dispositivos conectados em uma de suas portas, ele retransmite a mensagem somente para aquela porta. Assim, a transmissão de dados em um switch é baseada em uma associação estática entre porta e endereço MAC.
Algumas características comuns aos switches incluem a comunicação full duplex e autonegociação. Outra característica é a auto MDI-MDIX ou autocrossing. Essa característica elimina a necessidade do uso de cabos cruzados (crossover) para interconectar os switches. Essa facilidade permite a uniformidade do cabeamento, permitindo o uso apenas de cabos diretos em toda a rede.
Os switches gerenciáveis permitem ainda aos administradores da rede determinar a velocidade de operação para uma porta específica, no sentido de otimizar a banda de passagem e o desempenho global da rede. Como uma rede de computadores normalmente sofre alterações ao longo do tempo, esse recurso se torna muito útil ao monitorar e verificar o status dos segmentos em tempo real.
Um switch proporciona alta taxa de transferência com baixa latência (atraso que o dispositivo de rede introduz quando quadros de dados passam por ele). A latência é um ponto importante para aplicações sensíveis ao tempo, como as transmissões de voz e vídeo. Nesse sentido, existem duas formas de operação do switch para transmitir os pacotes na rede: Store and Forward switching e Cut-Through switching.
Na operação Store and Forward o switch armazena todo o pacote de nível 2, analisa o CRC, e envia o pacote ao outro segmento somente se tudo correu bem. Essa técnica é mais lenta devido ao tempo que leva para analisar o pacote recebido. Normalmente é necessário a fim de converter um pacote entre tipos diferentes de redes. Essa técnica também é obrigatória quando se utilizam switches de nível 3, pois os switches devem analisar o pacote para fazer funções de roteamento.
Na operação Cut-Through o switch envia o pacote ao outro segmento da rede assim que examina o endereço MAC de destino. Essa técnica é mais rápida, e o controle de erros é deixado para tratamento nas estações finais.
RMON e Espelhamento
Além do monitoramento, os switches gerenciáveis permitem outras formas para regular o fluxo de tráfego e otimizar a utilização de banda da rede. Com a utilização de RMON (Remote Monitoring) é possível monitorar o fluxo de tráfego específico em cada porta evitando possíveis gargalos na rede.
Uma outra forma para monitorar pacotes de dados específicos de uma porta é possível graças a uma característica encontrada em alguns switches gerenciáveis chamada de "port mirroring" ou espelhamento de porta. Essa característica permite espelhar o tráfego de uma determinada porta para outra sem interromper o fluxo de tráfego na porta original.
Outra característica que podemos encontrar nos switches gerenciáveis e que ajuda a eliminar o congestionamento de tráfego multicast em uma rede é o que chamamos de Internet Group Management Protocol ou IGMP snooping. Quando um switch recebe uma mensagem multicast, ele tipicamente distribui essa informação para todas suas portas.
Se o switch suporta IGMP snooping, o mesmo é capaz de determinar quais são os dispositivos conectados a ele que fazem parte do grupo multicast, ou seja, o switch direciona a informação para a porta específica e não haverá desperdício de banda com um tráfego de multicast desnecessário.
Quando um switch recebe duas ou mais comunicações para um mesmo endereço MAC (mesma porta) a solução é manter um buffer interno para cada porta existente. Dessa forma é possível armazenar temporariamente o quadro até poder transmiti-lo.
A diferença entre os switches do mercado está na forma com que eles gerenciam essa memória disponível para cada porta. No caso de se ter várias comunicações para uma porta específica, pode acontecer do buffer dessa porta se esgotar, fazendo com que sejam perdidas informações (mesmo que os buffers das outras portas estejam livres). A solução adotada neste caso por alguns fabricantes é utilizar uma gerência para a memória.
Figura 2 - Gerenciamento de memória no switch
Assim, tem-se uma memória para cada porta do switch e uma memória global para o dispositivo. Caso o buffer da porta estoure, automaticamente os quadros passam a ser armazenados na memória global. Desta forma, com um mesmo tamanho de memória por porta (adicionando-se apenas uma memória extra), consegue-se um melhor aproveitamento e menor perda de informação.
Em resumo, os switches tornaram-se necessários nas redes de computadores devido às demandas por maiores taxas de transmissão e melhor utilização dos meios físicos. No switch, a largura de banda é dedicada entre as estações, eliminando as colisões e possibilitando uma melhoria substancial no desempenho da rede. Além deste fato, pode-se definir níveis de prioridade nas portas e reduzir o tráfego desnecessário nos segmentos da rede.