Um switch, Scherer que em gíria aportuguesada foi traduzido para comutador, é um dispositivo utilizado em redes de computadores para reencaminhar quadros (ou tramas em Portugual, e 'frames' em inglês) entre os diversos nós. Possuem diversas portas, assim como os hubs, e operam na camada acima dos hubs. A diferença entre o switch e o hub é que o switch ão haverá colisões entre pacotes de segmentos diferentes — ao contrário dos hubs, cujas portas partilham o mesmo domínio de colisão.

Funcionamento

Os computadores operam semelhantemente a um sistema telefônico com linhas privadas. Nesse sistema, quando uma pessoa liga pra ônica as conectará em uma linha dedicada, possibilitando um maior número de conversações simultâneas. Um comutador opera na camada 2 (camada de enlaçe) encaminhando os pacotes de acordo com o endereço MAC de destino e é destinado a redes locais para segmentação. Porém, existem actualmente comutadores que operam juntamente na camada 3 (camada de rede), herdando algumas propriedades dos roteadores (routers). Fonte WIKIPEDIA

Características de Switches

Capacidade do backplane

A capacidade de repasse de pacotes do backplane de um switch deverá ser de pelo menos a metade da soma das taxas máximas de transmissão de todas as portas do switch, se estas forem half duplex. Se as portas do switch puderem operar em full fuplex, a capacidade de repasse dos pacotes deverá ser igual ou maior à soma das taxas máximas de transmissão das portas do switch. Por exemplo, um switch de 12 portas fast ethernet half duplex deverá possuir um backplane com a capacidade de efetuar o repasse dos quadros a uma velocidade mínima de 600 Mbps, o que corresponde à situação crítica de haver 6 portas recebendo quadros, e estes sendo redirecionados às outras 6 portas. Se o backplane não suporta o fluxo agregado de 600 Mbps está recebendo, terá que guardar em memória alguns dos quadros, a fim de evitar o seu descarte. Neste caso o backplane torna-se o gargalo da rede. Um switch que, por maior que seja o tráfego recebido, o backplane nunca será o gargalo da rede é chamado Non Blocking.

Capacidade da aprendizagem dos endereços MAC:

Os switches possuem tabelas onde armazenam os endereços MAC “conhecidos” da rede, e sua correspondente porta de origem, chamadas de source address tables (SAT). Estes endereços MAC são das estações de trabalhos, hubs “inteligentes”, outros switches, bridges ou roteadores. Os switches implementam o repasse dos quadros de acordo com a informação do endereço de destino nos mesmos e na porta de saída correspondente ao endereço MAC nas tabelas. Toda vez que chega um quadro cujo endereço MAC não consta nas tabelas, é necessário que o quadro seja enviado a todas as portas do switch, como se fosse um broadcast. Esta ação acentua drasticamente o tráfego na rede, e pode provocar um número considerável de colisões. Uma vez que a estação de destino responde à transmissão, seu endereço MAC é “aprendido” e armazenado nas SAT.

Porém, se as tabelas dos switches possuírem uma capacidade de aprendizagem de endereços MAC inferior ao número de dispositivos da rede, é possível que estas já estejam cheias. Neste caso uma das entradas da SAT deverá ser descartada para a armazenagem do novo endereço aprendido. O critério para descarte do endereço na tabela varia de fabricante ou modelo, sendo mais comuns o uso de uma fila FIFO, onde se descarta o que não se anuncia a mais tempo, ou um critério estatístico em que se descarta aqueles que em uma média temporal geraram um menor tráfego. De qualquer modo, a necessidade de se descartar entradas na tabela acabará por acarretar no aumento do tráfego “broadcast” da rede, o que é altamente indesejável. Por esta razão, ao se escolher um switch para sua rede, recomenda-se dimensionar o tamanho da rede e escolher um modelo cuja capacidade de armazenagem de endereços seja igual ao maior ao número de dispositivos da mesma.

Protocolo IEEE 802.1D Spanning Tree

O Spanning Tree é um protocolo para sistemas baseados em bridges/switches, que permite a implementação de caminhos paralelos para o tráfego de rede, e utiliza um processo de detecção de “loops” para: · Encontrar e desabilitar os caminhos menos eficientes (os com menores largura de banda); · Habilitar um dos caminhos menos eficientes, se o mais eficiente falhar. O algoritmo de Spanning Tree determina qual é o caminho mais eficiente entre cada segmento separado por bridges ou switches. Caso ocorra um problema nesse caminho, o algoritmo irá recalcular, entre os existentes, o novo caminho mais eficiente, habilitando-o automaticamente. As especificações do protocolo Spanning Tree são padronizadas pelo IEEE, dentro do conjunto das normas IEEE 802.1D.

Links Resilientes

Além da redundância automática implementada pelo protocolo Spanning Tree, totalmente padronizado pelo IEEE, os fabricantes de switches costumam implementar um nível de redundância de links, chamado de resiliência. Cada implementação é proprietária, não sendo garantida a interoperabilidade entre switches de fabricantes diferentes, quando se aplica a resiliência.

Ao contrário do Spanning Tree, em que a definição do link ativo e dos links de standbye é feita por algoritmo próprio, através da determinação do melhor caminho, a escolha do par de links resilientes é a cargo do administrador da rede, desta forma é possível “forçar” um determinado link a ficar ativo, mesmo que este não seja o caminho que proporcione a maior largura de banda. Ao se definir duas portas de um switch como resiliente, isto é, uma sendo ativa e outra standbye, é necessário que se utilize a mesma configuração nas outras pontas definindo uma porta como ativa e a outra standbye. As aplicações do protocolo Spanning Tree e da definição de Links Resilientes não podem ser aplicadas conjuntamente em um switch, ou seja, se for desejo do administrador da rede configurar links resilientes, a função de spanning tree deverá estar desabilitada no equipamento.

“Link Agregation” (IEEE 802.3ad)

Link Agregation é um tipo de conexão especial que possibilita aos dispositivos comunicarem-se utilizando mais de um link em paralelo. Estes links em paralelo produzem os seguintes benefícios: · podem multiplicar a largura de banda da conexão, dependendo da quantidade de links que comporão o “tronco” de portas ( “Port Trunk”) · podem prover um nível de redundância. Se um link quebrar, os outros links dividirão entre si o tráfego que se destinaria ao link defeituoso.

Observações:

· As portas nos dois lados da conexão deverão estar configuradas como “port trunk”; · Uma porta não pode pertencer ao mesmo tempo a mais de um “tronco”; · Não é possível mesclar portas de mais de um switch em um mesmo “tronco”; · É possível haver portas de mídia diferentes, como fibra e par trançado, em um mesmo “tronco”. · É possível haver portas de velocidades diferentes, como 10 e 100 Mbps, em um mesmo “tronco”. Neste caso somente as portas de maior velocidade ficarão ativas. As de menor velocidade ficarão em standbye; · As estatísticas em um port trunk são medidas em separado para cada link, e depois somadas. Não é possível coletar estatísticas do “tronco”, de outra maneira. · Antes de se desabilitar um port trunk, é recomendável desconectar todos os links, ou desabilitar todas as portas, senão poderá ser criado um loop, caso o protocolo spanning tree não estiver habilitado.

Espelhamento de Tráfego

Esta característica é desejável se o administrador da rede pretende conectar um analisador de protocolo diretamente à uma porta do switch, e monitorar o tráfego de outras portas do equipamento. Deve-se definir uma porta que será monitorada, e o seu “espelho”, a porta em que o analisador de protocolo será conectado. Uma vez que esta funcionalidade for ativada, todo o tráfego oriundo ou destinado à porta monitorada será espelhado na porta “espelho” O Espelhamento de Tráfego torna-se necessário se o administrador de rede não quiser monitorar o tráfego de um determinado segmento, sem modificar as características físicas do segmento monitorado, ao se conectar um analisador de protocolo ao segmento.

Controle de Fluxo (IEEE 802.3x)

O padrão IEEE 802.3x – Full Duplex e Controle de Fluxo – foi completado em 1997. O padrão Full Duplex já foi apresentado e bastante estudado. Vamos, portanto, enfocar a capacidade de controle de fluxo em switches: Quando se trabalha com duas ou mais tecnologias de comunicação com diferentes taxas de transmissão, Poderá ocorrer um gargalo devido aos pacotes que chegam dos links de maior capacidade, e ainda não conseguiram ser retransmitidos nos links de menor capacidade. Eventualmente, se um servidor a 100 Mbps, por exemplo, estiver se comunicando simultaneamente com um número grande de estações a 10 Mbps, o gargalo pode ocorrer no link de maior velocidade (100 Mbps). Nos dois casos, o switch deverá possuir capacidade de bufferização dos pacotes que não puderam ser reenviados no momento em que chegaram ao equipamento, devido ao gargalo. O problema é que a capacidade de bufferização será limitada pela quantidade de memória disponível no equipamento, que, por maior que seja , sempre poderá ocorrer um “estouro” nos buffers, com o conseqüente descarte de pacotes. Para que seja evitada a situação crítica em que os buffers fiquem cheios, é desejável que os switches implementem a capacidade de controle de fluxo, padronizada pela norma IEEE 802.3x.

Existem dois tipos básicos de controle de fluxo: o “Controle de Fluxo Half Duplex” e o Controle de Fluxo Full Duplex”:

· Controle de Fluxo Half Duplex (“Backpressure”): Em conexões Half Duplex, os switches utilizam um método chamado “Backpressure”. Por exemplo, consideremos um servidor a 100 Mbps enviando pacotes a uma estação de trabalho a 10 Mbps. Será necessário bufferizar os pacotes no switch que não puderem ser transmitidos imediatamente pelo link de 10 Mbps. Caso os buffers do switch fiquem cheios, o switch necessita sinalizar ao servidor que pare temporariamente de transmitir. Isto é feito através do envio de um pacote gerado pela camada MAC do switch, forçando uma colisão no link de 100 Mbps. Serão geradas tantas colisões quanto forem necessárias para que se esvazie os buffers dos switches. · Controle de Fluxo Full Duplex:Para conexões Full Duplex, não é possível conter uma transmissão forçando colisões, uma vez que neste tipo de tecnologia é possível a transmissão de pacotes nos dois sentidos, sem que ocorra colisão.

O padrão IEEE 802.3x define um esquema diferente de controle de fluxo para ambientes full duplex, utilizando um quadro especial conhecido como quadro “PAUSE”. O quadro PAUSE utiliza um endereço de destino de multicast especial, que não é repassado pelos switches, não gerando desta forma tráfego adicional desnecessário, nem interferindo com funções de controle de fluxo em outras partes da rede. Se um cliente a 10 Mbps estiver recebendo um tráfego muito intenso de um servidor, por exemplo, o cliente enviará quadros PAUSE ao switch, reduzindo o throughput pelo link. Isto não é comum acontecer, pois a interface do cliente está preparada para suportar tráfego intenso a 10 Mbps. Porém pode ocorrer, por exemplo, uma situação em que o cliente temporariamente não pode receber dados devido ao seu disco rígido estar cheio. O cliente enviará quadros PAUSE ao switch até que se apague arquivos e obtenha espaço no disco rígido, e a transmissão do switch irá ser reiniciada.

Da mesma forma, se um switch estiver recebendo quadros por um link e os buffers ficarem cheios, o switch passará a enviar quadros PAUSE pelo link, e a estação transmissora interromperá temporariamente a transmissão de pacotes. A maioria dos switches e placas Fast Ethernet e Gigabit Ethernet fabricados atualmente já suportam IEEE 802.3x. Os equipamentos mais antigos que implementam Full Duplex, lançados antes do padrão muitas vezes utilizam métodos para controle de fluxo em links Full Duplex.

Classes de Serviço – IEEE 802.1p

· Recentemente ratificado pelo IEEE; · Norma que visa estabelecer priorização de tráfego, de acordo com a definição de classes de serviço. A priorização de tráfego permite respostas quase instantâneas para aplicações críticas. · Define oito níveis de prioridade, em que os quadros da rede carregarão a informação de prioridade do pacote, desde o nível 7 (maior prioridade) até o nível 0 (menor prioridade). · Os equipamentos de infra-estrutura de rede, como switches e roteadores, construídos para serem compatíveis com o protocolo IEEE 802.1p, devem priorizar a entrega dos pacotes de acordo com a configuração de prioridade, dando maior preferência aos quadros de mais alta prioridade. · Pode-se desta forma dar um tratamento preferencial a “dados críticos”, e aplicações que necessitam tempo de resposta imediato, como sistemas em “real time”.

Os 3 bits de prioridade são lidos pelos dispositivos de infra-estrutura de rede suportam IEEE 802.1p, e o frame é roteado para um buffer interno (com estruturas em fila - FIFO). Sua posição de entrada será correspondente à prioridade do pacote. Os quadros de maior prioridade serão entregues antes dos quadros de mais baixa prioridade. Quadros sem prioridade e quadros setados com prioridade 0 ficarão na fila de mais baixa prioridade. Como a estrutura (e o tamanho máximo do pacote, que neste caso é de 1522 bytes, 4 bytes maior do que o Ethernet tradicional) mudou, Além dos switches e roteadores, as placas de rede deverão ser também compatíveis com a priorização de classes de serviço IEEE 802.1p. Os hubs, switches e roteadores que não suportam 802.1p poderão descartar o pacote caso ele esteja no seu tamanho máximo (1522 bytes), pois está com um tamanho maior que eles reconhecem como o tamanho do frame Ethernet. Mesmo que não ocorra o descarte de pacote, este será tratado como um pacote Ethernet tradicional (sem prioridade). · Atribuição de Prioridades: Os fabricantes de hardware compatível (placas de rede) implementam “filtros” de prioridade, em que o usuário, por software, pode atribuir determinada prioridade a um serviço, endereço ou protocolo.

Por exemplo pode-se atribuir determinada prioridade a SNMP, SMTP, HTTP, TCP/UDP, endereços IP ou MAC, Sockets IPX, endereços IPX. A atribuição de prioridade pode ser realizada por software, na montagem das informações de camada MAC do pacote (driver MAC da placa de rede). É importante que seja feito um planejamento antes de atribuir um grau de prioridade a determinado serviço. Se todos os serviços da rede possuem o mais alto grau de prioridade, por exemplo, então a rede se comportará como uma rede em que não se aplicam níveis de prioridade. A aplicação deste recurso demanda então uma definição de políticas de priorização de tráfego.

Fonte MALIMA