Jean Carlos Cunha

.:: Diferente e eficiente::.

2ª parte aulado switches.

Para quem achava que a segunda parte  do material sobre switches não chegava aqui esta.

 

2-PARTE

 

1.      ALGUMAS DAS CARACTERÍSTICAS DESEJÁVEIS:

 

1.1.   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.

  1.2.   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.

 1.3.   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.

 A figura abaixo mostra uma rede contendo três sub-redes, separadas por 3 bridges/switches. Com esta configuração, cada segmento pode comunicar com os outros utilizando dois caminhos distintos. Sem o STP (“Spanning Tree Protocol”), esta configuração cria loops que provocarão uma sobrecarga na rede. O Spanning Tree possibilita esta configuração, porque seu algoritmo detecta caminhos duplicados, e bloqueará o repasse de pacotes em um deles.

Figura 1 – Spanning Tree

No diagrama abaixo, temos um exemplo do protocolo Spanning Tree decidindo que o tráfego entre o segmento 2 e o segmento 1 somente poderá ocorrer através dos switches C e A. Caso ocorra um problema neste link através dos switches C e A, o link entre B e A será automaticamente habilitado, e o tráfego entre os segmentos 1 e 2 fluirá través do switch B.

            Figura 2 – Spanning Tree

 O algoritmo de Spanning Tree determina qual é o caminho mais eficiente entre cada segmento separado por bridges ou switches. Caso ocorra um problema nesta 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.

 1.4.   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.

 1.5.   “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.

 

 

1.6.   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. 

 

 

1.7.   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.

 

 

 

1.8.   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”.

 

  • Implementação:

 

  • Um novo campo é inserido no pacote Ethernet, entre os campos Source Address e Lenght: É o Campo Tag Control Info (TCI) de 4 bytes:

 

Figura 4 – Formato do quadro Ethernet com o campo TCI definido pela norma IEEE 802.1p

 

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).

 

Tag Control Ïnfo Field Descrição
Tagged Frame Type Interpretation 8100h para frames Ethernet. Reservado para outros frames
3-bit priority field De “0” a “7” – 7 é a maior prioridade
Canonical Setado para “0”
12-bit 802.1Q VLAN Identifier Número de Identificação de VLAN

 

Tabela 2 – Campo “Tag Control Info

 

 

 

 

Figura 2 – Estrutura do campo “Tag Control Info”

 

  • 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.

 

 

2.      CONSIDERAÇÕES SOBRE A UTILIZAÇÃO DE SWITCHES:

 

Os Switches podem ser usados em nível de grupos de trabalho, departamentos e backbone. São especialmente recomendados nas situações de congestionamento de tráfego, que pode ocorrer no acesso a um servidor de uma rede departamental ou a um backbone corporativo de uma LAN compartilhada. A troca do hub por um switch irá expandir a largura de banda da LAN, enquanto segmenta o tráfego ponto-a-ponto entre clientes e servidores.

 

Para grupos de trabalho, configurações escaláveis podem ser as melhores soluções. À medida em que a demanda cresce, a largura de banda pode ser aumentada, dimuindo-se o número de usuários por hub e dedicando-se alguns portas do switch a estações individuais ou servidores. Cada estação conectada diretamente ao switch terá 10Mbps dedicados a ela.

 

A nível departamental, switches podem ser usados para segmentar a LAN, melhorando o acesso ao servidor, e interligando workgroups.

 

Gargalos podem ser aliviados economicamente instalando-se um switch dual-speed, com a porta high-speed conectada ao backbone e as lower-speeds conectadas aos desktops de usuários.

 

Pode ser interessante também implementar redes virtuais (VLAN’s) a fim de isolar tráfegos indesejáveis entre grupos de trabalho, proporcionando uma maior segurança no acesso às informações, e aliviando o tráfego na sub-rede.

 

No backbone corporativo, onde o tráfego vem de todos os segmentos de LAN, um switch pode aliviar a largura de banda substituindo um bridge/router utilizado para suportar um collapsed backbone, desde que políticas de roteamento e filtragem de pacotes não seja requeridas.

 

Nessas aplicações, switches tipicamente suportam características avançadas de bridges, que permitem aos administradores configurar parâmetros de filtragem de multicasts e limitar encaminhamentos de broadcasts, com a vantagem de  que as funções de comutação são inteiramente implementadas em hardware, ao contrário das bridges e roteadores, sendo, portanto, muito mais rápidas.

 

Originalmente projetados para conectar servidores e workstations em LANs, os roteadores atualmente são mais utilizados para prover conectividade com WAN’s, e links entre sites remotos e a LAN corporativa.

 

Eis aqui um post puro..

2 Respostas para “2ª parte aulado switches.

  1. corujone 20 de maio de 2009 às 1:36 pm

    muito fera, aprendi pra caramba com este post..

  2. Alexandre 25 de fevereiro de 2011 às 9:58 pm

    É muito interessante além de elucidativo as matérias postadas por Jean Carlos. Poucos atuam assim dessa forma.

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: