quarta-feira, 17 de fevereiro de 2010

Como funcionam os roteadores

Como funcionam os roteadores
por Curt Franklin - traduzido por HowStuffWorks Brasil

Introdução

A Internet é um dos maiores avanços na comunicação do século 20. Ela permite que pessoas ao redor do mundo enviem e-mail a outras em questão de segundos, além de permitir que se leiam, entre outras coisas, os artigos do HowStuffWorks.com.br. Todos nós estamos habituados a ver vários componentes da Internet invadindo nossas casas e escritórios - as páginas da Web, mensagens de e-mail e arquivos baixados que tornam a Internet um valioso e dinâmico meio de comunicação. Mas nada seria possível sem um equipamento fundamental para o funcionamento de Internet, e que poucos conhecem: o roteador.


Cedida Newstream.com
Fujitsu GeoStream R980, vigoroso roteador industrial

Roteadores são equipamentos especializados que enviam suas mensagens aos seus destinos, por meio de milhares de caminhos. Neste artigo vamos ver como esses equipamentos ocultos fazem a Internet funcionar.

Mantendo as mensagens em movimento

Quando você envia um e-mail a um amigo do outro lado do país, como a mensagem chega ao computadordele em vez de chegar a outro dos milhões de computadores do mundo? Muito do trabalho de enviar uma mensagem de um computador a outro é feito pelos roteadores, porque eles são as peças fundamentais para que a mensagem trafegue entre redes em vez de dentro delas.

Vejamos o que um simples roteador pode fazer. Imaginemos uma pequena empresa que faz divertidosdesenhos em 3-D para uma estação de televisão regional. A empresa tem 10 funcionários, cada um com um computador. Quatro dos empregados são desenhistas de animações, ao passo que o restante trabalha em vendas, na contabilidade e no gerenciamento. Os desenhistas, quando engajados em um projeto, necessitarão enviar, de um para o outro, grandes lotes de arquivos. Para tanto, eles irão utilizar uma rede.

Quando um desenhista envia um arquivo para outro, os grandes arquivos usam a maior parte da capacidade da rede, fazendo que ela fique muito lenta para os demais usuários. A razão disso é que um único usuário pode afetar toda a rede em razão da forma que a rede Ethernet funciona. Cada pacote de informação enviado de um computador é visto por todos os outros computadores na rede local. Cada computador examina o pacote de dados e decide se ele foi destinado para aquele endereço. Isso mantém a configuração da rede simples, porém traz conseqüências ao desempenho, à medida que aumenta o tamanho ou o nível de atividade da rede. Para manter o trabalho dos desenhistas sem interferir no do restante das pessoas do escritório, a empresa cria duas redes separadas, uma para os desenhistas e outra para o restante da empresa. Um roteador une as duas redes e as conecta à Internet.

Direcionando o tráfego

O roteador é o único equipamento que visualiza todas as mensagens enviadas por qualquer computador de qualquer uma das redes da empresa. Quando o desenhista, em nosso exemplo, envia um grande arquivo para outro, o roteador olha para o recipiente de endereçamento e mantém o tráfego na rede dos desenhistas. De outro lado, quando o desenhista envia uma mensagem para o contador perguntando sobre o cheque de uma despesa, o roteador olha para o recipiente de endereçamento e despacha a mensagem entre as duas redes.

Uma das ferramentas que o roteador usa para decidir onde o pacote de dados deve ir é a tabela de configuração. Uma tabela de configuração é um conjunto de informações que incluem:

  • informação de quais conexões se ligam a um grupo de endereços em particular
  • prioridades a serem usadas nas conexões
  • regras para gerenciar tanto os casos de tráfego rotineiro quanto os de tráfego especial
A tabela de configurações pode ter meia dúzia de linhas, em roteadores pequenos, mas pode crescer consideravelmente em tamanho e complexidade em grandes roteadores que gerenciam enormes quantidades de mensagens da Internet.

Um roteador tem, então, duas tarefas distintas, porém relacionadas:

  • o roteador garante que a informação não vá para onde ela não é necessária. Isso é crucial para impedir que grandes volumes de dados venham a entupir as conexões de "meros espectadores"
  • o roteador garante que as informações cheguem ao destino desejado.

Ao executar esses dois serviços, o roteador é muito útil em negociar separadamente com as duas redes de computadores. O roteador liga as duas redes, passando informações de uma para a outra, e em alguns casos faz a tradução de vários protocolos entre elas. Ele também protege as redes uma da outra, prevenindo o desnecessário compartilhamento do tráfego entre elas. À medida que o número de redes anexadas umas às outras cresce, a tabela de configuração para o gerenciamento de tráfego entre elas cresce e o poder do roteador é ampliado. Não obstante a quantidade de redes agregadas ao conjunto, a operação e a funcionalidade do roteador permanecem as mesmas. Já que a Internet é uma imensa rede de milhares de pequenas redes, ela precisa dos roteadores como uma necessidade absoluta.

Transmitindo pacotes de dados

Quando você faz uma chamada telefônica para alguém do outro lado do país, o sistema de telefonia estabelece um circuito estável (em inglês) entre seu telefone e o telefone para o qual você está ligando. O circuito pode envolver meia dúzia ou mais de elementos, como cabos de cobre, comutadores, fibra óptica,microondas e satélites, mas uma vez estabelecidos eles permanecem constantes durante toda a a chamada. Esse circuito garante que a qualidade da linha entre você e a pessoa chamada seja consistente durante a chamada, mas problemas com qualquer parte do circuito - talvez um fio desencapado em uma das linhas usadas, ou uma queda de força em uma controladora - fazem que sua chamada termine precoce e repentinamente. Ao enviar um e-mail com anexos para o outro lado do país, um processo muito diferente é usado.

Dados de Internet, quer no formato de uma página da Web, quer um arquivo baixado em uma mensagem dee-mail, trafegam em uma sistema conhecido como rede de pacotes de dados comutados. Nesse sistema, os dados da mensagem ou arquivo são quebrados em pacotes com cerca de 1.500 bytes de tamanho. Cada um desses pacotes ganha uma moldura que inclui informações do endereço do remetente, o endereço do destinatário, o espaço ocupado pela mensagem no pacote e como o computador receptor pode estar certo de que o pacote de dados chegou intacto. Cada pacote de dados é então enviado para seu destino pela melhor via disponível - uma rota que pode ser pega por todos os outros pacotes na mensagem ou por nenhum outro. Isso parece ser muito complicado comparado com os elementos usados pelo sistema de telefonia, mas em uma rede designada para dados existem duas grandes vantagens para o plano de empacotamento comutado:

  • a rede pode balancear as cargas entre vários equipamentos em questão de milissegundos;
  • se houver um problema em um trecho da rede enquanto a mensagem está sendo transferida, pacotes podem ser direcionados contornando o problema, garantindo a entrega da totalidade da mensagem.

O caminho de um pacote de dados

Os roteadores, que compõem a principal parte da Internet, podem reconfigurar os caminhos que os pacotes tomam, pois eles pesquisam as informações com os roteadores adjacentes, trocando informações sobre as condições da linha, como atrasos no recebimento e no envio dos dados do tráfego em vários segmentos da rede. Nem todos os roteadores, entretanto, executam tantos serviços. Roteadores são apresentados em diferentes tamanhos. Por exemplo:

  • Caso você tenha habilitado uma conexão de Internet compartilhada entre dois computadores com Windows 98, você estará usando um dos computadores (aquele com a conexão com a Internet) como um roteador simples. Nesse caso, o roteador faz pouco - simplesmente pesquisa os dados para saber quando eles são dirigidos a um computador ou ao outro - e pode operar na retaguarda do sistema, sem afetar significativamente outros programas que você possa estar executando.
  • Roteadores um pouco maiores, do tipo utilizado para conectar uma pequena rede de escritório à Internet, farão um pouco mais. Esses roteadores freqüentemente reforçam as regras pertinentes à segurança da rede do escritório (tentando proteger a rede de certos ataques). Eles gerenciam tráfego suficiente para os tornar, geralmente, equipamentos de espera em vez de programas executados em um servidor.
  • Os grandes roteadores que costumam trabalhar os dados entre os principais pontos da Internet processam milhões de pacotes de dados por segundo, trabalhando para tornar a rede mais eficiente. Esses roteadores são grandes sistemas dedicados que têm muito mais em comum comsupercomputadores do que com o servidor de seu escritório.

Roteando pacotes de dados: um exemplo

Vamos dar uma espiada em um roteador de tamanho médio - o roteador usado em um escritório do HowStuffWorks. Em nosso caso, o roteador tem apenas duas redes para se preocupar: a rede do escritório, com cerca de 50 computadores e equipamentos, e a Internet. A rede do escritório é ligada ao roteador por uma conexão Ethernet, especificamente uma conexão 100 base-T (100 base-T significa uma conexão com tráfego de 100 megabits por segundo e usando um cabo de par trançado como as versões dos cabos de 8 fios que conectam seu telefone à tomada da parede). Existem duas conexões entre o roteador e nosso ISP (provedor de Internet). Uma é a conexão tipo T-1, que suporta 1,5 megabit por segundo. O outro é uma linha ISDN (em inglês) que suporta tráfego de 128 kilobits por segundo. A tabela de configuração do roteador informa que todos os pacotes de dados "fora de limites" (mais de 128 Kbits) devem usar a linha T-1, a menos que ela esteja indisponível por qualquer motivo (por exemplo, uma retroescavadeira desenterrando o cabo). Caso ela não possa ser usada, o tráfego "fora do limite" irá para a linha ISDN. Dessa forma, a linha ISDN age como um "seguro" contra os problemas com a rápida conexão T-1, e nenhuma ação dos operadores da rede é requerida para fazer o chaveamento em caso de problema. A tabela de configuração sabe o que fazer.

Complementando, para rotear pacotes de dados de um ponto para outro, o roteador do HowStuffWorks tem regras limitando a forma como computadores de fora da rede podem conectar computadores da rede, como a rede HowStuffWorks aparece para o mundo externo e outras funções de segurança. Muitas companhias têm também uma porção específica de equipamento ou de programa chamada firewall para reforçar a segurança, ao passo que as regras em uma tabela de configuração de roteador são importantes para manter uma rede da companhia (ou da família) segura.

Uma das atribuições decisivas de qualquer roteador é conhecida quando um pacote de informações pára em sua rede local. Para tanto, ela usa um mecanismo conhecido por máscara de sub-rede. A máscara de sub-rede parece um endereço IP e freqüentemente se registra "255.255.255.0". Isso informa ao roteador que todas as mensagens com os remetentes e recebedores possuem endereços compartilhando os três primeiros grupos na mesma rede e não devem ser transmitidos para outra rede. Aqui temos um exemplo: o computador no endereço 15.57.31.40 envia uma requisição para o computador no endereço 15.57.31.52. O roteador, que vê todos os pacotes de dados, confronta as três primeiras partes no endereço de ambos, o remetente e o recebedor (15.57.31), e mantém o pacote de dados na rede local (você irá aprender mais sobre como funciona o endereçamento na próxima seção).

Entre o momento em que estas palavras deixam o servidor howstuffworks.com e o momento em que elas são mostradas em seu monitor, elas passam por vários roteadores (é impossível saber de antemão quantos) que os ajudam pelo caminho. É muito semelhante ao processo que leva uma carta de sua caixa postal para a caixa postal de um amigo, com os roteadores tomando o lugar dos carteiros que distribuem essas cartas pelo caminho.

Sabendo para onde enviar os dados

Os roteadores são um dos muitos equipamentos que formam o "encanamento" de uma rede de computadores. Hubs, switches e roteadores, todos tomam os sinais dos computadores ou das redes e os passam para outros computadores e redes, mas o roteador é o único que examina cada pacote de dados e toma a decisão exata para onde ele deve ir. Para tomar essas decisões, os roteadores precisam primeiramente saber dois tipos de informações: endereços e estrutura da rede.

Quando um amigo envia um cartão de aniversário para ser entregue para você em sua casa, ele provavelmente usa um endereço parecido com este:

José da Silva
Rua do Rosário, 123
Lugar Qualquer, SP 45678

O endereço tem várias partes, e cada uma ajuda os funcionários do correio a transportar a carta até sua casa. O CEP pode agilizar o processo, mas mesmo sem ele a carta vai chegar até sua casa, contanto que seu amigo inclua seu Estado, cidade e rua no endereço. Você pode pensar nesse endereço como um endereço lógico, porque ele descreve o meio pelo qual alguém pode enviar uma mensagem para você. Esse endereço lógico é conectado a um endereço físico que você geralmente vê somente quando está comprando ou vendendo uma propriedade. O mapa cartográfico de um terreno ou planta de uma casa com latitude, longitude ou outros indicadores de limites dos terrenos dá a descrição legal ou localização de uma propriedade.

Endereços lógicos

Todo equipamento que se conecta a uma rede, desde uma rede de escritório até a Internet, tem um endereço físico. Esse é um endereço único para o equipamento que está agora conectado ao cabo de rede. Por exemplo, se sua estação de trabalho tem um cartão de interface de rede (NIC), esse cartão possui um endereço físico permanente gravado em um local especial de memória. Esse endereço físico, que é chamado endereço MAC (sigla em inglês de Controle de Acesso de Mídia), tem duas partes, cada uma com 3 bytes de comprimento. Os primeiros 3 bytes identificam a companhia que criou o NIC. Os 3 bytes seguintes são o número de série do NIC.

O interessante é que seu computador pode ter vários endereços lógicos ao mesmo tempo. Claro que você está acostumado a ter vários "endereços lógicos" trazendo mensagens para apenas um endereço físico. Seu endereço de correspondência, número telefônico (ou números) e endereço de e-mail, todos servem para trazer mensagens para você quando você está em casa. Eles são simplesmente usados por diferentes tipos de mensagens - diferentes redes, por assim dizer.

Endereços lógicos em redes de computadores funcionam exatamente da mesma forma. Você pode estar usando os esquemas de endereçamento, ou protocolos, de vários tipos de redes simultaneamente. Se você está conectado à Internet (e se você estiver nos lendo provavelmente estará), então tem um endereço que faz parte de um protocolo de rede TCP/IP (em inglês). Se você também tem uma rede caseira montada para a troca de arquivos entre vários computadores caseiros, pode estar usando um protocolo NetBEUI da Microsoft. Se você se conecta à rede de sua empresa a partir de casa, é provável que seu computador tenha um endereço que se guie pelos protocolos IPX/SPX da Novell. Tudo isso pode coexistir em seu computador. Como o programa que permite a seu computador se comunicar com cada rede usa recursos como memória e tempo de CPU, você não quer carregar protocolos que não usaria, mas não há problema em ter todos os protocolos que seu serviço requeira rodando ao mesmo tempo.

Na página seguinte, você vai aprender como encontrar o endereço MAC de seu computador.

Endereços MAC

São grandes as chances de você nunca ter visto o endereço MAC de qualquer de seus equipamentos, porque o programa que ajuda seu computador a se comunicar com a rede se encarrega de casar seu endereço MAC com um endereço lógico. O endereço lógico é aquele que a rede usa para passar adiante informações sobre seu computador.

Caso queira ver seus endereços MAC e lógicos usados pelo Protocolo Internet (IP) de seu computador com Windows, você pode rodar um pequeno programa disponibilizado pela Microsoft. Vá para o menu "Iniciar", clique em "Executar" e, na janela que aparecer, digite WINIPCFG (IPCONFIG/ALL para computadores com Windows 2000/XP). Quando a janela escura aparecer, clique em "Mais Info" para obter informações como:

Configuração de IP do Windows 98:

Nome do Host: NAMEHOWSTUFFWORKS
Servidor DNS: 208.153.64.20
                    208.153.0.5
Tipo de Nó: Radiodifusão
NetBIOS Scope ID:
Roteador IP ativado: Sim
WINS Proxy Ativado: Não
Resolução NetBIOS Usa DNS: Não

Adaptador de Ethernet:

Descrição: Adaptador PPP
Endereço Físico: 44-45-53-54-12-34
DHCP Ativado: Sim
Endereço IP: 227.78.86.288
Máscara de sub-rede: 255.255.255.0
Gateway Padrão: 227.78.86.288
Servidor DHCP: 255.255.255.255
Servidor WINS Primário:
Servidor WINS Secundário: Arrendamento Obtido: 01 01 80 12:00:00 AM
Arrendamento Expirou: 01 01 80 12:00:00 AM

Existem muitas informações aqui que vão variar dependendo de como sua conexão com a Internet foi estabelecida, mas o endereço físico é o endereço MAC do adaptador pesquisado pelo programa. O endereço IP é o endereço lógico designado para sua conexão por seu ISP ou administrador de rede. Você verá o endereço de outros servidores, incluindo o servidor DNS, que mantém uma lista de todos os nomes de sites da Internet (você pode digitar "www.hsw.com.br" em vez de "216.27.61.189") e o servidor gateway que você acessou para chegar à Internet. Quando você terminar de pesquisar a informação, clique OK.

Observação: por razões de segurança, algumas das informações sobre essa conexão com a Internet foram alteradas. Você deve ser muito cauteloso em fornecer informações sobre seu computador para outras pessoas - com seu endereço e com as regras certas, uma pessoa inescrupulosa, em algumas circunstâncias, pode obter informações pessoais e controlar seu sistema.

Entendendo os protocolos

O primeiro e mais básico serviço de um roteador é saber para onde enviar as informações endereçadas a seu computador. Assim como o funcionário do correio do outro lado do país sabe o suficiente para permitir que o cartão de aniversário chegue a você sem saber onde fica sua casa, a maioria dos roteadores que encaminham uma mensagem de e-mail para você não sabe o endereço MAC de seu computador, mas sabe o suficiente para fazer a mensagem prosseguir seu caminho.

Os roteadores estão programados para entender os mais comuns protocolos de rede. Isso significa que eles conhecem os formatos dos endereços, quantos bytes estão no pacote de dados enviado para fora da rede e como ter a certeza de que os pacotes de dados atinjam seu destino e sejam ali reorganizados em seu formato original. Para os roteadores que são parte principal da "espinha dorsal" da Internet isso significa gerenciar e fazer circular milhões de pacotes de informações a cada segundo. O simples movimento de pacotes de dados para seus destinos não é tudo que um roteador irá fazer. É importante, no atual mundo dos computadores, manter as mensagens seguindo seu caminho pela melhor rota possível.

Em uma rede moderna, todas as mensagens de e-mail são divididas em pequenos segmentos. Os segmentos são enviados individualmente e remontados quando recebidos em seu destino final. Como os segmentos individuais de informações são chamados pacotes, e cada um deles pode ser enviado por diferentes caminhos, como um trem percorrendo diversos desvios, esse tipo de rede é chamada rede de pacotes comutados. Com isso, não é necessário construir uma rede dedicada entre você e seu amigo do outro lado do país. Seu e-mail seguirá por qualquer um dos milhares de diferentes caminhos para chegar de um computador a outro.

Dependendo da hora do dia ou do dia da semana, algumas partes das enormes redes públicas de pacotes de dados comutados podem estar mais congestionadas do que outras. Quando isso ocorre, o roteador que compõe esse sistema irá se comunicar com outro, e o tráfego fora dos limites para a área congestionada pode ser enviado para outra rota da rede que esteja mais livre. Com isso, a rede funciona com capacidade máxima sem sobrecarregar as áreas já com filas. Você  verá como ataques DoS (descrito na próxima seção), nos quais pessoas enviam milhões e milhões de mensagens para um servidor em particular, irão afetar aquele servidor e os roteadores despachando mensagens para ele. Conforme as mensagens se empilham e partes da rede ficam congestionadas, mais e mais roteadores enviam o aviso de que eles estão ocupados, e toda a rede com todos seus usuários podem ser afetados.

Rastreando uma mensagem

Se você estiver usando o sistema Windows da Microsoft, pode ver perfeitamente quantos roteadores estão envolvidos em seu tráfego de Internet usando um programa de seu computador. O programa é chamadoTraceroute (segue-rota), e isso descreve o que ele faz. Ele rastreia a rota que o pacote de informações toma para seguir de seu computador para outro computador conectado à Internet. Para executar esse programa, clique em "Prompt de comando" no menu "Iniciar". No comando "C:WINDOWS>" digite "tracert www.hsw.com.br". Quando eu fiz isso de meu escritório na Flórida, o resultado foi parecido com isto:

A primeira coluna mostra quantos roteadores existem entre seu computador e o roteador mostrado. Nesse caso, havia 14 roteadores envolvidos no processo (o número 15 é o servidor de Web Howstuffworks.com). As próximas três colunas mostram quanto tempo um pacote de informação leva para ir de seu computador para o roteador mostrado e voltar. Em seguida, nesse exemplo, a partir da linha seis, vem o "nome " do roteador ou servidor. Isso é algo que ajuda as pessoas a olhar para essa lista, mas não é importante para os roteadores e computadores, assim como o tráfego ao longo da Internet. Por fim, você verá o endereço do Protocolo Internet (IP) de cada computador ou roteador. Os dados finais do diagnóstico de rotas mostram que existem 14 roteadores entre o servidor de Internet e eu e que leva, em média, pouco mais do que 2,5 segundos para a informação ir de meu computador ao servidor e voltar.

Podemos usar o programa Traceroute para ver quantos roteadores existem entre você e qualquer outro computador que você possa especificar ou cujo endereço IP você conheça. Pode ser interessante ver quantas fases são requeridas para ir de seu computador para fora do país. Como moro nos Estados Unidos, decidi ver quantos roteadores existiam entre meu computador e o servidor de Internet da BBC - British Brodcasting Corporation - na Inglaterra. No comando "C:WINDOWS>" prompt, digitei "tracert www.bbc.com". O resultado foi este:

Você pode ver que foi necessário apenas mais um passo para alcançar o servidor da Web do outro lado do Oceano Atlântico, em relação a outro servidor a apenas dois Estados de distância. 

Na seção seguinte, vamos entrar em detalhes sobre os ataques DoS.

Ataques DoS

No primeiro quadrimestre de 2000 aconteceram vários ataques a sites famosos. Muito desses ataques eram "Denial of Service", ou DoS - ataques a servidores para impedir leitores e consumidores desses sites de conseguir resposta para suas requisições. Como se conseguiu fazer isso? Inundando o servidor, e seus roteadores conectados, com pedidos de informações numerosos demais para que o sistema pudesse gerenciar.

Muitos roteadores têm regras em suas tabelas de configuração que não permitem milhões de requisições de um mesmo servidor. Se muitas requisições de um mesmo endereço são recebidas em um curto período, o roteador simplesmente os descarta, sem despachá-los. As pessoas responsáveis pelo ataque sabiam disso e introduziram ilicitamente esses programas em diferentes computadores. Esses programas, quando disparados, começavam a enviar milhares de requisições por minuto para um ou mais sites. Os programas "enganavam" o endereço IP do requerente, colocando um falso endereço IP em cada pacote de dados para que as regras de segurança dos roteadores não pudessem ser iniciadas.

Quando as sobrecargas de pacotes (packet floods) eram disparadas, milhões de requerimentos de informações começavam a atingir o site alvo. Enquanto os servidores eram pesadamente sobrecarregados pelos requerimentos, o impacto real era que os roteadores "navegavam contra a corrente" dos servidores. Repentinamente, esses roteadores, robustos, mas dimensionados para um tráfego normal, eram assolados por níveis de requisições normalmente associados a roteadores de Internet tipo backbone. Eles não conseguiam gerenciar o enorme número de pacotes de dados e começavam a descartá-los e a enviar mensagem para outros roteadores informando que a conexão estava cheia. Assim que essas mensagens eram empilhadas de uma parte a outra dos roteadores em direção aos servidores atacados, todos os caminhos para os servidores ficavam congestionados, pedidos verdadeiros não conseguiam entrar no tráfego - e os agressores conseguiam o que queriam.

Os provedores de Internet e as empresas de roteadores incluíram novas regras para prevenir os ataques nas tabelas de configuração, e as empresas e universidades cujos computadores foram usados para iniciar o ataque trabalharam para evitar que seus sistemas fossem usados irregularmente. O tempo dirá se suas defesas serão bem-sucedidas - ou se os novos ataques intencionais desfechados por criminosos vão dar certo.

Backbone da Internet

Para atender a todos os usuários de uma grande rede privada, milhões e milhões de pacotes de tráfego de dados precisam ser enviados ao mesmo tempo. Alguns dos maiores roteadores são feitos pela Cisco Systems, Inc. (em inglês), uma empresa especializada em equipamentos de rede. A série de roteadores Gigabit Switch 12000 da Cisco é o tipo de equipamento utilizado no backbone da Internet. Esses roteadores usam o mesmo tipo de projeto dos mais poderosos supercomputadores do mundo, um projeto que liga muitos processadores diferentes com uma série de comutadores extremamente rápidos. A série 12000 usa processador de 200 MHz MIPS R5000, o mesmo tipo de processador usado nas estações de trabalho que geraram muitas das animações de computadores e efeitos especiais usados nos filmes. O maior modelo da série 12000, o 12016, usa uma série de comutadores que podem gerenciar até 320 bilhões de bits de informações por segundo e, quando completamente carregado com placas, move tanto quanto 60 milhões de pacotes de dados a cada segundo. Além do poder dos processadores, esses roteadores podem gerenciar muitas informações porque são altamente especializados. Aliviados da carga de mostrar os desenhos 3-D e esperando por uma entrada de dados do mouse, os modernos processadores e programas podem lidar com surpreendentes quantidades de informação.

Mesmo levando em conta o enorme poder de processamento de um grande roteador, como ele sabe qual, entre as muitas possibilidades de conexão, um pacote particular de dados deve escolher? A resposta está na tabela de configuração. O roteador irá pesquisar o endereço de destino e casar o endereço IP frente às regras na tabela de configuração. As regras dirão quais pacotes de dados em um grupo particular de endereços (um grupo que pode ser grande ou pequeno, dependendo da precisão do roteador) devem ir em uma direção específica. Em seguida, o roteador irá verificar o desenvolvimento da conexão primária naquela direção frente a outro conjunto de regras. Se o desempenho da conexão é suficientemente bom, o pacote de dados é enviado, e o próximo pacote é tratado. Se a conexão não tem os parâmetros de desenvolvimento esperados, uma alternativa é escolhida e verificada. Finalmente, uma conexão é encontrada com o melhor desempenho em um dado momento, e o pacote de dados será enviado nessa rota. Tudo isso acontece em uma fração de segundo, e essa atividade acontece milhões de vezes em um segundo por todo o mundo, 24 horas por dia.

Saber onde e como enviar uma mensagem é a mais importante tarefa de um roteador. Alguns roteadores simples fazem isso e nada mais. Outros roteadores adicionam funções aos serviços executados. Regras sobre quais mensagens dentro de uma empresa podem ser enviadas e de quais empresas as mensagens podem ser aceitas podem ser aplicadas a alguns roteadores. Outros roteadores podem ter regras que ajudem a minimizar os dados dos ataques "denial of service". O principal é que redes modernas, incluindo a Internet, não poderiam existir sem os roteadores.

Como funcionam os switches LAN (rede de comunicação local)

Como funcionam os switches LAN (rede de comunicação local)
por Jeff Tyson - traduzido por HowStuffWorks Brasil


Introdução
Se você já leu outros artigos sobre redes ou Internet, já conhece o funcionamento básico de uma rede, que depende de:
  • nós (computadores)
  • um meio de conexão (com ou sem fios)
  • equipamento de rede especializado, como roteadores ou hubs.
Na Internet, todas estas peças trabalham conjuntamente para permitir que o seu computador envie informações para outros computadores que podem estar do outro lado do mundo!
Os switches, também conhecidos como comutadores, são peças fundamentais de muitas redes porque agilizam as coisas. Os switches permitem que diferentes nós (um ponto de conexão da rede, geralmente um computador) de uma rede se comuniquem diretamente uns com os outros de maneira simples e eficaz.
image
Imagem cedida Cisco Systems, Inc.
Ilustração de um switch Cisco Catalyst
Existem vários tipos diferentes de switches e redes. Os switches que fornecem uma conexão independente para cada nó em uma rede interna de uma empresa são chamados switches LAN. Um switch LAN cria uma série de redes instantâneas que contêm apenas 2 dispositivos se comunicando em um determinado momento. Neste artigo, vamos falar sobre as redes Ethernet que usam estes switches LAN. Você vai aprender o que é um switch LAN e como funcionam o aprendizado automático, as VLANs (redes locais virtuais), o trunking e spanning tree.

Básico sobre as redes
Abaixo veremos os componentes básicos de uma rede.

  • Rede - grupo de computadores conectados que trocam informações entre si.


  • Nó - qualquer coisa que está conectada à rede. Geralmente, um nó é um computador, mas também pode ser uma impressora ou uma torre de CD-ROM.


  • Segmento - qualquer porção da rede separada por um switch, ponte ou roteador.


  • Backbone - cabeamento principal de uma rede, sendo que todos os segmentos se conectam a ele. Geralmente, o backbone é capaz de carregar mais informações do que os segmentos individuais. Por exemplo, cada segmento pode ter uma taxa de transferência de 10 Mbps (megabits por segundo), enquanto o backbone opera a 100 Mbps.


  • Topologia - maneira como cada nó se conecta fisicamente à rede (mais informações na próxima seção).


  • Rede local (LAN) - rede de computadores que geralmente estão em um mesmo local, que pode ser um prédio ou um campus de universidade. Se os computadores estiverem muito distante um do outro (em bairros ou cidades diferentes), uma rede de longa distância (WAN) é utilizada.


  • Placa de interface de rede - cada computador (e a maioria dos outros dispositivos) se conecta à rede através de uma placa de rede. A maioria dos computadores de mesa utiliza uma placa Ethernet(normalmente de 10 ou 100 Mbps) conectada a um slot da placa-mãe do computador.


  • Endereço MAC (Media Access Control) - este é o endereço físico de qualquer dispositivo (como uma placa de rede em um computador) na rede. O endereço MAC, formado por 2 partes iguais, tem 6 bytes de comprimento. Os primeiros 3 bytes identificam a empresa que fabricou a placa de rede. Os 3 bytes seguintes representam o número de série da placa de rede.


  • Unicast - transmissão de um nó endereçado, especificamente, para outro nó.


  • Multicast - em multicast, um nó envia um pacote endereçado a um grupo especial de endereços. Os dispositivos interessados neste grupo podem se registrar para receber os pacotes endereçados ao grupo. Um exemplo pode ser um roteador Cisco (em inglês) que envia uma atualização para todos os outros roteadores Cisco.


  • Broadcast - em uma transmissão broadcast, um nó envia um pacote endereçado a todos os outros nós da rede.
Na próxima seção vamos discutir as topologias mais comuns das redes.
Topologias de rede
Veja abaixo algumas das topologias mais utilizadas.
  • Barramento - cada nó é ligado em "série" (um nó é conectado atrás do outro) em um mesmo backbone, de forma semelhante às luzinhas de natal. As informações enviadas por um nó trafegam pelo backbone até chegar ao nó de destino. Cada extremidade de uma rede de barramento deve serterminada por um resistor para evitar que o sinal enviado por um nó através da rede volte quando chegar ao fim do cabo.

Topologia da rede de barramento
  • Anel - como uma rede de barramento, os anéis também têm nós ligados em série. A diferença é que a extremidade da rede volta para o primeiro nó e cria um circuito completo. Em uma rede em anel, cada nó tem sus vez para enviar e receber informações através de um token (ficha). O token, junto com quaisquer informações, é enviado do primeiro para o segundo nó, que extrai as informações endereçadas a ele e adiciona quaisquer informações que deseja enviar. Depois, o segundo nó passa o token e as informações para o terceiro nó e assim por diante, até chegar novamente ao primeiro nó. Somente o nó com o token pode enviar informações. Todos os outros nós devem esperar o token chegar.

Topologia de rede em anel
  • Estrela - em uma rede em estrela, cada nó se conecta a um dispositivo central chamado hub. O hub obtém um sinal que vem de qualquer nó e o passa adiante para todos os outros nós da rede. Um hub não faz nenhum tipo de roteamento ou filtragem de dados. Ele simplesmente une os diferentes nós.

Topologia de rede em estrela
  • Barramento em estrela - provavelmente a topologia de rede mais utilizada hoje. A rede de barramento em estrela combina elementos da topologia em barramento e da topologia em estrela para criar um ambiente de rede versátil. Os nós em determinadas áreas se conectam aos hubs (criando estrelas) e os hubs se conectam uns aos outros ao longo do backbone da rede (como uma rede de barramento). É comum observar redes em estrela dentro de outras redes em estrela, como no exemplo abaixo:

Topologia de rede em estrela
O problema: tráfego
No tipo mais básico de rede encontrada hoje, os nós são conectados simplesmente através de hubs. À medida que a rede cresce, surgem alguns problemas com esta configuração.
  • Escalabilidade - em uma rede em hub, a largura de banda compartilhada limitada dificulta seu crescimento significativo sem sacrificar o desempenho. Os aplicativos modernos também precisam de mais banda do que nunca. Neste caso, a rede inteira precisa ser redesenhada, periodicamente, para acomodar o crescimento.


  • Latência - é a quantidade de tempo que um pacote leva para chegar ao destino. Já que cada nó de uma rede baseada em hub precisa esperar uma oportunidade para transmitir e evitar colisões, a latência aumenta significativamente quando você adiciona mais nós. Se alguém estiver enviando um arquivo grande pela rede, todos os outros nós terão de esperar uma oportunidade para enviar seus próprios pacotes. Você já deve ter vivenciado isso no trabalho. Você tenta acessar um servidor ou a Internet e, de repente, tudo fica muito lento.


  • Falha de rede - em uma rede típica, um dispositivo conectado a um hub pode causar problemas em outros dispositivos conectados a este mesmo hub devido a configurações incorretas de velocidade (por exemplo, 100 Mbps em um hub de 10 Mbps) ou excesso de transmissões broadcast. Os switches podem ser configurados para limitar os níveis de broadcast.


  • Colisões - a Ethernet utiliza um processo chamado CSMA/CD (Carrier Sense Multiple Access with Collision Detection - Múltiplo Acesso com Verificação de Presença de Portadora e Detecção de Colisão) para se comunicar através da rede. Sob o CSMA/CD, um nó só envia um pacote de dados quando não existe tráfego na rede. Se 2 nós enviarem pacotes ao mesmo tempo, uma colisão ocorre e os pacotes são perdidos. Quando isto acontece, os 2 nós esperam por um tempo aleatório e depois retransmitem os pacotes. Um domínio de colisão é uma parte da rede onde os pacotes de 2 ou mais nós podem colidir. Uma rede com mais nós em um mesmo segmento sempre vai ter uma grande quantidade de colisões e, portanto, um domínio de colisão maior.
Os hubs são uma maneira fácil de encurtar as distâncias percorridas pelos pacotes de um nó para o outro. Mas, não quebram a rede em segmentos menores. Esta é a função dos switches. Na próxima seção, você vai descobrir como os switches direcionam o tráfego da rede.
A solução: adicionando switches
Pense em um hub como um cruzamento em que todos têm de parar. Se mais de um carro chegar ao cruzamento ao mesmo tempo, ele vai ter de esperar a sua vez para poder seguir adiante.

Imagine que cada veículo é um pacote de dados que espera uma oportunidade para continuar sua viagem 
Imagine agora como deveria ser uma dezena ou até centenas de estradas cruzando em um único ponto. O tempo de espera e as possibilidades de colisão aumentariam significativamente. Mas não seria fantástico se você pudesse escolher uma rampa de saída de cada uma dessas estradas para o caminho que você deseja seguir? É exatamente isso que um switch faz para o tráfego da rede. Um switch funciona como um trevo. Cada carro pode pegar uma rampa de saída para chegar ao seu destino sem ter de esperar pelo trânsito.
A principal diferença entre um hub e um switch é que todos os nós conectados a um hub dividem a banda, enquanto um dispositivo conectado a um switch tem toda a disponibilidade da banda para si. Por exemplo, se 10 nós estão se comunicando através de um hub numa rede de 10 Mbps, cada nó pode usar somente uma porção desse 10 Mbps se os outros nós estiverem se comunicando também. Mas se fosse utilizado um switch, cada nó poderia se comunicar utilizando a velocidade máxima de 10 Mbps. Compare com a analogia da estrada. Se todo o tráfego vai para o mesmo cruzamento, então cada carro vai ter de dividir aquele mesmo cruzamento com todos os outros carros. Mas um trevo permite que todo o tráfego escoe facilmente de uma estrada para a outra.
Redes totalmente comutadas
Em uma rede totalmente comutada, os switches substituem todos os hubs numa rede ethernet por um segmento dedicado para cada nó. Estes segmentos se conectam a um switch que suporta múltiplos segmentos dedicados (às vezes, centenas destes segmentos). Como os únicos dispositivos em cada segmento são o switch e o nó, o switch intercepta todas as transmissões antes que elas cheguem ao próximo nó. O switch então encaminha o frame para o segmento apropriado. Como cada segmento contém um único nó, o frame só chega ao destinatário desejado. Este procedimento permite múltiplas conversações numa rede comutada.

Imagem cedida Cisco Networks
Um exemplo de rede que utiliza um switch
Ao utilizar switches, uma rede ethernet se torna full-duplex. Antes do switch, a ethernet era half-duplex. Isso significa que os dados só podiam ser transmitidos em uma direção de cada vez. Numa rede totalmente comutada, os nós só se comunicam com o switch e não diretamente com outros nós. As informações podem viajar de um nó para um switch e de um switch para um nó simultaneamente.
As redes comutadas utilizam cabeamento de par trançado ou de fibra ótica. Ambos utilizam condutores independentes para enviar e receber dados. Neste tipo de ambiente, os nós ethernet podem esquecer o processo de detecção de colisão e transmitir à vontade, já que são os únicos dispositivos que podem acessar o meio. Em outras palavras, o fluxo de tráfego tem uma pista para cada direção. Isto permite que os nós transmitam para o switch enquanto o switch transmite para eles. É um ambiente livre de colisões. A transmissão em ambas as direções pode dobrar a velocidade aparente da rede quando 2 nós estão trocando informações. Se a velocidade da rede for de 10 Mbps, então cada nó pode transmitir, simultaneamente, a 10 Mbps.
Redes mistas
A maioria das redes não é 100% comutada devido aos custos de substituição dos hubs pelos switches.

Uma rede mista com 2 switches e 3 hubs
Geralmente, uma combinação de switches e hubs é utilizada para criar uma rede eficiente e barata. Por exemplo, uma empresa pode ter hubs conectando os computadores em cada departamento e um switch conectando os hubs de cada departamento.
Roteadores e switches
Como você pode ver, um switch pode mudar radicalmente a maneira como os nós se comunicam uns com os outros. Mas qual a diferença do switch para o roteador? Os switches geralmente utilizam a Camada 2 (camada de enlace de dados) do modelo de referência OSI, utilizando endereços MAC, enquanto os roteadores trabalham na Camada 3 (Rede) com endereços da camada 3 - IP, IPX ou Appletalk, dependendo do protocolo da camada 3 (em inglês) utilizado. O algoritmo que os switches usam para decidir como encaminhar os pacotes é diferente dos algoritmos utilizados pelos roteadores.
Uma das diferenças destes algoritmos é a maneira como os endereços broadcast são tratados. Um pacote broadcast é vital para a operacionalidade de qualquer rede. Quando um dispositivo precisa enviar informações, mas não sabe para quem deve enviá-las, ele envia um broadcast. Por exemplo, toda vez que um novo computador ou outro dispositivo chega à rede, ele envia um pacote broadcast para anunciar sua presença. Os outros nós (como o servidor de nomes de domínio) podem adicionar o computador à sua lista de endereços e se comunicar diretamente com esse computador a partir deste momento. Os broadcasts são utilizados sempre que um dispositivo precisa fazer um comunicado para o resto da rede ou quando não tem certeza do destinatário das informações.

O modelo de referência OSI consiste em 7 camadas que vão do cabo (camada física) até o software (camada da aplicação)
Um hub ou switch, ao contrário de um roteador, deixa passar qualquer pacote broadcast que recebe para todos os outros segmentos do domínio broadcast. Pense novamente no exemplo do cruzamento. Todo o tráfego passa pelo cruzamento, não importa o destino. Agora imagine que este cruzamento está situado em uma fronteira. Para passar pelo cruzamento, você deve informar ao fiscal o endereço específico para onde está indo. Se você não souber o endereço específico, o fiscal não vai deixar você passar. Um roteador funciona desta maneira. Sem um endereço específico de outro dispositivo, ele não permite que o pacote de dados passe. Isso é bom para separar redes, mas não tão prático quando você quer que partes diferentes da mesma rede conversem. É aí que entram os switches.
Comutação de pacotes
Os switches LAN funcionam através da comutação de pacotes. O switch estabelece uma conexão entre dois segmentos por um tempo suficiente para enviar o pacote atual. Os pacotes recebidos (que são parte de umframe ethernet) são armazenados em uma memória temporária (buffer). O endereço MAC contido nocabeçalho do frame é lido e comparado com a lista de endereços mantida pelo switch. Em uma LAN Ethernet, um frame Ethernet contém um pacote normal que são os dados do frame e um cabeçalho especial que contém a informação do endereço MAC do remetente e do destinatário do pacote.
Switches de comutação de pacotes utilizam 1 dos 3 métodos a seguir para rotear o tráfego:
  • corte de caminho (cut-through)
  • armazena e passa adiante (store-and-foward)
  • livre de fragmentos(fragment-free)
Os switches cut-through lêem o endereço MAC assim que o pacote é detectado pelo switch. Após armazenar os 6 bytes que contêm as informações sobre o endereço, eles imediatamente começam a mandar o pacote para o nó de destino, mesmo se o restante do pacote ainda estiver chegando ao switch.
Um switch que utiliza o método store-and-forward salva o pacote completo em um buffer e verifica se existem erros CRC ou outros problemas antes de transmiti-lo. Se o pacote contiver um erro, ele é descartado. Se não existir erro, o switch verifica o endereço MAC e envia o pacote para o nó de destino. Muitos switches combinam os dois métodos. O método cut-through é utilizado até alcançar um certo nível de erro e depois o switch muda para store-and-forward. Poucos switches utilizam somente cut-through, já que este método não corrige erros.
Um método menos comum é o fragment-free. Ele funciona como um cut-through, mas armazena os primeiros 64 bytes do pacote antes de enviá-lo. O motivo é que a maioria dos erros e todas as colisões acontecem nos 64 bytes iniciais de um pacote.
Configurações de switches
Os switches LAN variam quanto ao seu projeto. Atualmente, existem três configurações populares.
  • Memória compartilhada - este tipo de switch armazena todos os pacotes recebidos em um buffer comum, compartilhado por todas as portas de switch (conexão de entrada/saída), e depois envia os pacotes pela porta correta para o nó de destino.
  • Matrix - este tipo de switch tem uma grade interna com as portas de entrada e saída que se cruzam entre si. Quando o pacote é detectado numa porta de entrada, o endereço MAC é comparado com a lista de endereços para localizar a porta de saída apropriada. O switch então faz uma conexão na grade onde estas duas portas se encontram.
  • Arquitetura de barramento - em vez de uma grade, um caminho interno de transmissão (barramento comum) é compartilhado por todas as portas utilizando o TDMA. Um switch com essa configuração tem um buffer dedicado para cada porta, assim como um ASIC para controlar o acesso ao barramento interno.
Pontes transparentes
Aprendizagem automática
A maioria dos switches LAN Ethernet utiliza um sistema muito interessante, chamado aprendizagem automática para criar as suas listas de endereços. Essa é uma tecnologia que permite que o switch aprenda tudo sobre a localização dos nós de uma rede sem que o administrador da rede tenha de fazer qualquer coisa. A aprendizagem automática está dividida em cinco partes:
  • aprendizado
  • flooding
  • filtragem
  • encaminhamento
  • envelhecimento
Veja como funciona: 
Clique  nos termos do menu para aprender mais sobre as pontes transparentes
Pontes transparentes: o processo
Aqui está uma descrição passo-a-passo das pontes transparentes.


  • O switch é adicionado à rede e vários segmentos são ligados às portas do switch.
  • Um computador (nó A) no primeiro segmento (segmento A) envia dados para um computador (nó B) em outro segmento (segmento C).
  • O switch pega o primeiro pacote de dados do nó A, seu endereço MAC e o salva na lista de endereços do segmento A. O switch agora sabe onde achar o nó A toda vez que um pacote de dados for endereçado para ele. Este processo é chamado de aprendizado (learning).
  • Já que o switch não sabe onde está o nó B, ele envia o pacote para todos os segmentos, com exceção do segmento A. O processo de enviar um pacote para todos os segmentos para encontrar um nó específico é conhecido como flooding.
  • O nó B pega o pacote e envia-o novamente para o nó A para avisá-lo que o pacote foi recebido.
  • O pacote do nó B chega ao switch. Agora o switch pode adicionar o endereço MAC do nó B à lista de endereços do segmento C. Como o switch já sabe o endereço do nó A, ele envia o pacote diretamente para ele. O nó A está num segmento diferente do nó B, por isso o switch deve conectar os dois segmentos para enviar o pacote. Isto é conhecido como encaminhamento (forwarding).
  • Um novo pacote do nó A para o nó B chega ao switch. O switch agora sabe onde está o nó B, então direciona o pacote diretamente para o nó B.
  • O nó C envia informação para que o switch localize o nó A. O switch consulta o endereço MAC do nó C e o adiciona à lista de endereços do segmento A. O switch já sabe o endereço do nó A e entende que os 2 nós estão no mesmo segmento. Então, ele não precisa conectar o segmento A a outro segmento para que os dados viajem do nó C para o nó A. Portanto, o switch vai ignorar os pacotes que viajam entres nós de um mesmo segmento. Isto é a filtragem (filtering).
  • Os processos de aprendizado e flooding continuam até que todos os nós estejam armazenados nas listas de endereços. A maioria dos switches tem muita memória disponível para administrar estas listas de endereços. Entretanto, para otimizar o uso da memória, eles removem informações antigas para que o switch não perca tempo com endereços obsoletos. Para fazer isso, eles utilizam uma técnica chamada envelhecimento. Quando uma nova informação é adicionada à lista de endereços, o switch atribui uma data e hora ao endereço. Toda vez que um pacote é enviado para um nó, a data e a hora são atualizadas. O switch tem um timer configurável que apaga o endereço depois de um certo tempo de inatividade daquele nó, que libera a memória para a inclusão de outros endereços. Como você pode ver, uma ponte transparente é uma maneira fácil e prática de adicionar e gerenciar todas as informações que um switch precisa para realizar o seu trabalho.
No nosso exemplo, 2 nós estavam no segmento A, enquanto o switch criava segmentos independentes para os nós B e D. Em uma rede comutada ideal, cada nó deve ter o seu próprio segmento. Isto eliminaria a possibilidade de colisões e também a necessidade da filtragem.

Redundância
Quando falamos anteriormente sobre as redes de barramento e as redes em anel, uma questão levantada foi a possibilidade de um ponto único de falha. Numa rede em estrela, o ponto de erro mais comum é o switch ou hub. Veja este exemplo:

Neste exemplo, se o switch A ou C falhar, os nós conectados a este switch são afetados, mas os nós nos outros dois switches ainda podem se comunicar. Entretanto, se o switch B falha, toda a rede cai. Mas e se adicionarmos outro segmento à rede que conecte os switches A e C?

Neste caso, mesmo que um dos switches falhe, a rede continuará funcionando. Isto gera redundância, o que efetivamente elimina o ponto único de falha.
Mas agora temos um novo problema.
Congestionamento broadcast
Na última seção, você descobriu como os switches aprendem a localizar os nós. Com todos os switches conectados em loop, um pacote vindo de um nó poderia passar por um switch através de 2 segmentos diferentes. Por exemplo, imagine que o nó B está conectado ao switch A e precisa se comunicar com o nó A no segmento B. O switch A não sabe onde o nó A está, então ele faz uma transmissão broadcast do pacote.
O pacote viaja pelo segmento A ou C para outros dois switches (B e C). O switch B vai adicionar o nó B à lista de endereços do segmento A, enquanto o switch C vai adicioná-lo à lista de endereços do segmento C. Se nenhum switch aprendeu o endereço do nó A, eles vão fazer uma varredura no segmento B procurando pelo nó A. Cada switch vai pegar o pacote enviado pelo outro switch e enviá-lo de volta imediatamente, já que eles não sabem onde está o nó A. O switch A vai receber o pacote de cada segmento e enviá-lo de volta para outro segmento. Isto gera um congestionamento broadcast. Os pacotes broadcast são recebidos e retransmitidos por cada switch, o que causa um congestionamento severo na rede.
Isto nos leva às spanning trees.
Spanning trees (árvores de abrangência)
Para prevenir os congestionamentos broadcast e outros efeitos colaterais indesejados das ligações em loop, a empresa Digital Equipment Corporation criou o protocolo spanning tree (STP), que foi padronizado como a especificação 802.1d pelo IEEE - Institute of Electrical and Electronic Engineers - Instituto dos Engenheiros Elétricos e Eletrônicos (em inglês). Um protocolo spanning tree utiliza um algoritmo spanning tree (STA), que percebe que o switch tem mais de uma maneira de se comunicar com um nó. Este protocolo determina o melhor caminho e bloqueia os outros. Outra vantagem é que ele memoriza os outros caminhos, caso o caminho principal esteja indisponível.
Veja abaixo de que maneira funciona o STP.
  • Cada switch administra um grupo de IDs, um para o próprio switch e um para cada porta do switch. O identificador do switch, chamado de ID de ponte (BID), tem 8 bytes que contêm a prioridade da ponte (2 bytes) junto com um dos endereços MAC do switch (6 bytes). Cada ID de porta tem 16 bits formados por duas partes: uma configuração de prioridade de 6 bits e um número de porta de 10 bits.


  • Um valor de custo de caminho é atribuído a cada porta. O custo é baseado num guia estabelecido pelo padrão 802.1d. De acordo com a especificação original, o custo é de 1 mil Mbps (1 gigabit por segundo) dividido pela largura de banda do segmento conectado à porta. Portanto, uma conexão de 10 Mbps teria um custo de (1.000/10) 100.


    Para compensar as velocidades de redes que ultrapassam a velocidade de um gigabit, o custo padrão foi levemente modificado. Os novos valores são:
    Largura de banda
    Custo do STP
    4 Mbps
    250
    10 Mbps
    100
    16 Mbps
    62
    45 Mbps
    39
    100 Mbps
    19
    155 Mbps
    14
    622 Mbps
    6
    1 Gbps
    4
    10 Gbps
    2
    Também é possível que o administrador da rede atribua um valor arbitrário ao custo de caminho, em vez de usar um dos valores padrão.
  • cada switch inicia um processo de exploração para descobrir qual caminho de rede ele deve usar para cada segmento. Essa informação é compartilhada com todos os switches através de uma rede especial de frames conhecida como BPDU (bridge protocol data units - unidades de dados de protocolo de ponte). 


    • BID raiz. Este é o BID da ponte raiz atual.
    • Custo de caminho para a ponte raiz. Determina o quão longe está a ponte raiz. Por exemplo, se os dados trafegam por três segmentos de 100 Mbps para chegar à ponte raiz, o custo é de (19 + 19 + 0) 38. O segmento conectado à ponte raiz normalmente tem um custo de caminho igual a zero.
    • BID remetente. Este é o BID que o switch envia para o BPDU.
    • ID de porta. Esta é a porta real no switch da qual as informações BPDU foram enviadas.
    Todos os switches estão constantemente enviando BPDUs uns para os outros, tentando determinar o melhor caminho entre os vários segmentos. Quando um switch recebe um BPDU (de outro switch) que é melhor do que ele está transmitindo na direção oposta, o switch pára de enviar BPDU para este segmento. Em vez disso, ele armazenará o BPDU do outro switch como referência e para fazer a difusão para segmentos inferiores, como aqueles que estão mais distantes da ponte raiz.
  • uma ponte raiz é escolhida com base nos resultados dos processos BPDU entre os switches. Inicialmente, cada switch se considera uma ponte raiz. Quando um switch é conectado à rede, ele envia um BPDU com o seu próprio BID com BID raiz. Quando os outros switches recebem o BPDU, eles comparam este BID com os outros BIDs armazenados como BID raiz. Se o novo BID raiz tiver um valor mais baixo, eles substituem o BID armazenado. Mas se o BID raiz armazenado for menor, um BPDU é enviado para o novo switch com o novo valor. Quando o novo switch recebe o BPDU, ele descobre que não é a ponte raiz e substitui o BID raiz na lista de endereços pelo BID raiz que acabou de receber. O resultado é que o switch que tem o menor BID é eleito pelos outros switches como ponte raiz;


  • de acordo com a localização da ponte raiz, os outros switches determinam as portas com o menor custo para a ponte raiz. Estas portas são chamadas portas raízes e cada switch (exceto a ponte raiz atual) deve ter uma;


  • os switches determinam quem terá as portas designadas. Uma porta designada é a conexão utilizada para enviar e receber pacotes em um segmento específico. Se existir somente uma porta designada para cada segmento, todos os problemas da ligação em loop estarão resolvidos;


    As portas designadas são selecionadas de acordo com o custo mais baixo para a ponte raiz em cada segmento. Como a ponte raiz tem custo "0", quaisquer de suas portas que estiverem conectadas a segmentos serão portas designadas. Para outros switches, o custo é comparado com o segmento em questão. Se uma porta tiver um custo menor, ela se torna uma porta designada para aquele segmento. Se duas ou mais portas tiverem o mesmo custo, o switch com o menor BID é escolhido.
  • uma vez que uma porta designada para o segmento é escolhida, todas as outras portas que se conectam àquele segmento se tornam portas não-designadas. Elas bloqueiam o tráfego naquele caminho e só acessam o segmento através da porta designada.
Cada switch tem uma tabela de BPDUs atualizada constantemente. A rede é configurada como uma única spanning tree. A ponte raiz se torna o tronco da árvore e os outros switches se tornam os galhos. Cada switch se comunica com a ponte raiz através das portas raízes e com cada segmento através das portas designadas. Assim, a rede fica livre de ligações em loop. Se a ponte raiz começar a falhar ou se a rede apresentar problema, o STP permite que outros switches reconfigurem a rede e designem outro switch como ponte raiz. Este processo incrível dá a uma empresa a possibilidade de ter uma rede complexa e tolerante a falhas, mas ainda assim,  fácil de gerenciar.
Roteadores e comutação da camada 3
  Enquanto a maioria dos switches opera na camada de enlace de dados (camada 2) do Modelo de referência OSI, alguns incorporam funções de um roteador e também operam na camada de rede (camada 3). Na verdade, um switch de camada 3 é muito parecido com um roteador.

Os switches da camada 3 operam na camada de rede
Quando um roteador recebe um pacote, ele observa os endereços da fonte e do destino da camada 3 para determinar o caminho que o pacote deve tomar. Um switch padrão utiliza os endereços MAC para determinar a fonte e o destino do pacote. Este procedimento é feito na camada 2 (enlace de dados) da rede.
A principal diferença entre um roteador e um switch de camada 3 é que os switches têm hardware otimizado para transmitir dados tão rapidamente quanto os switches de camada 2. Entretanto, eles ainda decidem como transmitir o tráfego na camada 3, exatamente como um roteador faria. Dentro de um ambiente LAN, um switch de camada 3 é geralmente mais rápido do que um roteador porque é construído para ser um hardware de comutação. Muitos switches de camada 3 da Cisco são, na verdade, roteadores que operam mais rapidamente porque são construídos com pastilhas personalizadas de comutação.
O reconhecimento de padrões (pattern matching) e a memória cache em switches de camada 3 funcionam de maneira semelhante a um roteador. Ambos utilizam um protocolo e uma tabela de roteamento para determinar o melhor caminho. Entretanto, um switch de camada 3 tem a capacidade de reprogramar dinamicamente um hardware com as informações atuais de roteamento da camada 3. Por isso o processamento dos pacotes é mais rápido.
Nos switches de camada 3 atuais, as informações recebidas pelos protocolos de roteamento são utilizadas para atualizar a memória cache das tabelas do hardware.
VLANs
Com o crescimento e aumento da complexidade das redes, muitas empresas adotaram as VLANs (redes locais virtuais) para tentar estruturar esse crescimento de maneira lógica. Uma VLAN é, basicamente, uma coleção de nós que são agrupados em um único domínio broadcast, baseado em outra coisa que não a localização física.
Já falamos sobre os broadcasts e sobre como um roteador não deixa o broadcast passar. Um domínio broadcast é uma rede (ou uma parte de uma rede) que vai receber um pacote broadcast de qualquer nó localizado dentro daquela rede. Numa rede comum, tudo que estiver de um mesmo lado do roteador faz parte do mesmo domínio broadcast. Um switch com uma VLAN implementada tem múltiplos domínios broadcast e funciona de maneira semelhante a um roteador. Mas você ainda precisa de um roteador (ou um mecanismo de roteamento de camada 3) para rotear uma VLAN para a outra. O switch não consegue fazer isto sozinho.
Abaixo veremos algumas das razões para uma empresa criar as VLANs.
  • Segurança. Separar os sistemas que contêm dados sigilosos do resto da rede reduz a possibilidade de acesso não autorizado.
  • Projetos/aplicativos especiais. As tarefas de gerenciar um projeto ou trabalhar com um aplicativo podem ser simplificadas pelo uso de uma VLAN que congrega todos os nós necessários.
  • Desempenho/Largura de banda. Um monitoramento cuidadoso da utilização da rede permite que o administrador crie VLANs que reduzam o número de saltos entre os roteadores e aumentem a largura de banda aparente para os usuário da rede.
  • Broadcasts/Fluxo de tráfego. A característica principal de uma VLAN é que ela não permite que o tráfego broadcast chegue aos nós que não fazem parte da VLAN. Isso ajuda a reduzir o tráfego de broadcasts. As listas de acesso permitem que o administrador da rede controle quem vê o tráfego da rede. Uma lista de acesso é uma tabela criada pelo administrador nomeando os endereços que têm acesso àquela rede.
  • Departamentos/Tipos específicos de cargos. As empresas podem configurar VLANs para os departamentos que utilizam muito a Internet (como os departamentos de multimídia e engenharia) ou VLANs que conectam categorias específicas de empregados de departamentos diferentes (gerentes ou pessoal de vendas).
Na maioria dos switches, você pode criar uma VLAN, simplesmentepor uma conexão através da Telnet (em inglês). Depois, basta configurar os parâmetros da VLAN (nome, domínio e configuração das portas). Depois que você criar a VLAN, qualquer segmento de rede conectado às portas designadas vai se tornar parte desta VLAN.
Você pode criar mais de uma VLAN em um switch, mas estas redes não podem se comunicar diretamente por ele. Se elas pudessem, não faria sentido ter uma VLAN. Afinal, o objetivo da VLAN é isolar uma parte da rede. A comunicação entre as VLANs requer o uso de um roteador.
As VLANs podem se expandir por múltiplos switches e você pode configurar mais de uma VLAN em cada switch. Para que múltiplas VLANs em múltiplos switches possam se comunicar através de um link entre os switches, você deve usar um processo chamado trunking. Trunking é a tecnologia que permite que as informações de múltiplas VLANs trafeguem em um único link.
Na próxima seção, você aprenderá mais sobre trunking.
VTP (VLAN Trunking Protocol)
O VLAN trunking protocol (VTP) é um protocolo que os switches usam para se comunicar uns com os outros e trocar informações sobre as configurações da VLAN.

Na imagem acima, cada switch tem 2 VLANs. No primeiro switch, a VLAN A e a VLAN B são enviadas através de uma única porta (trunked) para o roteador e através de outra porta para o segundo switch. A VLAN C e a VLAN D utilizam trunking do segundo para o primeiro switch e do primeiro switch para o roteador. Este processo de trunking pode carregar tráfego de todas as quatro VLANs. O link de trunking do primeiro switch para o roteador também pode carregar dados das quatro VLANs. Na verdade, esta conexão do roteador permite que este mesmo roteador apareça em todas as quatro VLANs, como se existissem quatro portas físicas diferentes conectadas ao switch.
As VLANs podem se comunicar entre si por meio da conexão trunking entre os dois switches utilizando o roteador. Por exemplo, dados do computador na VLAN A que precisam chegar a um computador na VLAN B (ou VLAN C ou VLAN D) devem trafegar do switch para o roteador e novamente para o switch. Devidoao aprendizado automático e ao trunking, os PCs e o roteador acham que eles estão no mesmo segmento físico.
Como você pode ver, os switches LAN representam uma tecnologia maravilhosa que pode fazer diferença na velocidade e qualidade de uma rede.