Diferenças entre Hubs e Switches

Diferenças entre Hubs e Switches
Yuri Matheus
Yuri Matheus

Compartilhe

Mesmo com um plano de internet rápido, a rede está instável e cai constantemente.

O que pode estar deixando a rede assim?

Bem, vamos dar uma olhada na rede para tentar identificar o problema:

Como podemos observar, existem dois departamentos, Financeiro e Vendas. Cada um está ligado a um dispositivo que centraliza todos os computadores e também está conectado ao roteador.

Esse concentrador faz um papel parecido com um de carteiro. Quando queremos enviar uma carta para outra pessoa, essa mensagem passa pelos correios que entregam para o destinatário.

Esse concentrador trabalha de uma forma parecida e recebe o nome de hub.

Entendendo os Hubs

Os hubs trabalham de uma forma parecida com o exemplo do carteiro. A diferença é que ele nunca sabe para quem enviar a mensagem.

Vamos imaginar que você é novo em uma empresa e precisa entregar um memorando de uma reunião que a Maria escreveu para o João. Pode ser que você não conheça todo mundo na empresa, então como vai entregar a mensagem?

O jeito mais simples é tentar entregar para todos a mensagem, e aquele que for o João ficará com ela.

O hub funciona desta mesma forma, quando um pacote (mensagem) chega a ele, este tenta entregá-lo para todos os dispositivos conectados a ele.

Aquele que for o destinatário fica com a mensagem, porém quem não for recebe a mensagem da mesma maneira, apenas não responde:

Mas e se a mensagem conter senhas, dados bancários, ou outras informações sigilosas, os outros computadores conseguirão vê-la?

Quando essas informações passam pelo hub, elas são encaminhadas a todos os computadores que estão conectados, logo todos na rede têm acesso a elas.

Caso exista alguém com más intenções na rede, ele conseguirá capturar essas informações e ver seu conteúdo. Isso torna os dados que trafegam na rede vulneráveis:

Neste caso, uma parte da informação está criptografada, porém ainda conseguimos obter, por exemplo, o nome do site que a pessoa acessou.

Tudo bem, você entregou a mensagem para o João e ele pede para você entregar uma resposta para a Maria.

Você sabe quem é a Maria, então você vai e entrega essa mensagem somente para ela, não precisa perguntar a todos sobre quem é Maria, correto?

Bem, isso seria o ideal, mas o hub não trabalha dessa maneira. Ele nunca conhece o destinatário, logo sempre encaminha o pacote para todos:

Isso significa que se qualquer pessoa precisa enviar três cartas, uma para cada pessoa em sua rede, mesmo se somente uma for o destinatário.

Com as cartas, isso causa um desperdício de papel, no caso de uma rede real, mais pacotes transitam pela rede, o que superlota seus meios de transmissão.

Neste exemplo das cartas, nós temos apenas quatro máquinas, mas e se tivéssemos dez hosts na rede e cada uma tendo que enviar dez mensagens?

Cada mensagem seria enviada para todos os computadores na rede, e isso deixaria a "congestionada", o que pode deixá-la lenta. Esse fenômeno recebe o nome de broadcast storm.

Vamos voltar ao exemplo da empresa: Maria está ditando uma mensagem para você enviar ao João, e na mesma hora Joaquim começa a falar para você uma mensagem para enviar à Lívia.

É provável que a informação se perca nesse processo e você não consiga entender a mensagem nem de um nem de outro.

No hub o processo é o mesmo, se duas informações chegam nele ao mesmo instante, ele não consegue entendê-las e os pacotes ficam com falhas, e como ele não sabe para quem enviar os pacotes ele envia esse pacote defeituoso para todos computadores conectados a ele.

E como esses pacotes defeituosos são encaminhados para toda a rede, caso outro computador queira se comunicar com outro, ele corre o risco de perder sua informação também.

Como no hub esse problema é frequente, principalmente em redes com muitos hosts, ele é um dos principais motivos da lentidão nas redes.

Será que existe algum dispositivo que sabe quem é quem? Assim não seria necessário entregar para todas as máquinas, evitando esses problemas.

Bem, existe algo assim e seu nome é switch.

Banner da Escola de DevOps: Matricula-se na escola de DevOps. Junte-se a uma comunidade de mais de 500 mil estudantes. Na Alura você tem acesso a todos os cursos em uma única assinatura; tem novos lançamentos a cada semana; desafios práticos. Clique e saiba mais!

Entendendo os Switches

Com o switch nós também conseguimos concentrar a rede em um único ponto. Porém suas semelhanças com os hubs acabam aí.

Quando você foi entregar uma carta de João para Maria, você já sabia quem era o destinatário, então pode entregar direto a ele. Isso é justamente o que o switch faz:

Bem e se ele não conhecesse a Maria? Como entregaria a mensagem?

O que fazemos quando nós não conhecemos uma pessoa? Nós perguntamos o seu nome, correto?

O switch faz a mesma coisa, quando ele não conhece o destino do pacote, ele encaminha um pacote para todos os hosts na rede para descobrir quem deve receber a mensagem:

O computador que responder, o switch identifica como o destinatário da mensagem e grava seu endereço em sua memória.

Tudo bem, o switch faz com que os pacotes não sejam encaminhados para todos os hosts na rede, mas e se dois pacotes chegarem ao mesmo tempo nele também são danificados?

Caso isso aconteça, o switch cria uma lista de espera para enviar os pacotes assim ele consegue evitar que os pacotes sejam danificados.

Por essas razões, os hubs estão caindo em desuso. Em redes corporativas raramente existe algum, porém em algumas redes domésticas ainda são usados, já que não existem muitos hosts.

Ótimo! O uso de um hub deve ser um dos, senão o principal, motivo da lentidão da rede… Mas existe algum outro motivo para que a rede fique lenta?

Uma rede pode ficar lenta por vários outros motivos. Vamos ver alguns deles?

Outros motivos para a rede lenta

O tempo que demora para a carta de Maria chegar a João e, caso necessário, a resposta dele voltar pode causar uma demora na comunicação. Nas redes de computadores esse problema também ocorre e recebe o nome de latência.

A latência nada mais é do que o tempo que o pacote demora para chegar ao seu destino, quando muito alta, essa latência causa um delay na comunicação.

Uma das causas da latência são os ativos de rede (switches e roteadores, por exemplo).

Quando dois pacotes chegam ao switch ele forma uma fila de pacotes. Esse tempo que o pacote espera na fila, causa atraso na sua entrega e, por consequência, a rede fica mais lenta.

Outro motivo que causa problemas na rede é a quantidade de dados que conseguem passar por segundo em um meio de transmissão.

Se em uma rede com uma internet de 10 Mbps algumas pessoas estiverem assistindo um curso da Alura em HD, outra estiver ouvindo um podcast do hipsters.tech e outra conversando via Skype. A rede ficaria mais lenta do que se tivessem 50 Mbps de internet, não?

Vamos entender o motivo disso ocorrer:

Pensemos o seguinte, uma pista com quatro faixas e outra com duas faixa.

Se nas duas passarem a mesma quantidade de carros, dez por exemplo, com a mesma velocidade, a pista com quatro faixas seria mais rápida, pois mais carros conseguiriam passar, melhorando o fluxo da via.

Em redes, o tamanho das pistas recebe o nome de largura de banda , ou bandwidth em inglês. A pista seria o meio de transmissão, enquanto os carros seriam os pacotes.

No caso da internet de 10 Mbps, o tamanho da "pista" seria mais estreito para passar esses dados, enquanto que em 50 Mbps, teríamos cinco vezes mais largura de banda para os dados trafegarem. O que deixa a rede mais fluída

Para saber mais

Esses são alguns motivos que deixam a rede lenta, porém existem outros como:

  • Interferência de sinal em redes sem fio;

  • O cabeamento interno e a impedância;

  • Hardware de rede desatualizado;

  • Tempo de resposta de outros hosts, como servidores.

Existem também outras diferenças entre os hubs e os switches. O primeiro trabalha na camada 1 (física) do modelo OSI, enquanto o segundo funciona na camada 2 (enlace), alguns na camada 3 (rede), ou seja trabalham com alguns protocolos dos roteadores.

O switch, ao contrário do hub, pode ser configurado da forma que melhor atender a rede. Uma configuração muito utilizada é a VLan, já que garante segurança e performance na rede, entre outras coisas.

Conclusão

Nós tínhamos o problema da instabilidade da rede. Percebemos que os hubs causavam isso já que sempre encaminham os pacotes a todos os hosts na rede, além dos dados sofrerem danos.

Ao substituí-los por switches, notamos uma melhoria no desempenho na rede, já que os pacotes não sofrem tantos danos e não existe a necessidade de muitos broadcasts na rede.

Vimos também que alguns problemas nas redes estão associados a seus ativos, porém esse não é o único motivo. Tamanhos de pacotes, cabeamento, tempo de resposta, entre outros podem fazer com que a rede fique mais lenta e, ou, apresente instabilidade.

Curtiu essa parte de redes? Essa é apenas uma pequena introdução sobre o assunto. Aqui na Alura, temos uma formação em redes para você que quer se aventurar nesse vasto mundo.

Nesta formação, você aprenderá sobre os conceitos, como montar uma rede até um provedor de acesso, sobre lista de acessos, IPv6 e sobre segurança para defender sua rede de possíveis ameaças.

Yuri Matheus
Yuri Matheus

Yuri é desenvolvedor e instrutor. É estudante de Sistemas de Informação na FIAP e formado como Técnico em Informática no Senac SP. O seu foco é nas plataformas Java e Python e em outras áreas como Arquitetura de Software e Machine Learning. Yuri também atua como editor de conteúdo no blog da Alura, onde escreve, principalmente, sobre Redes, Docker, Linux, Java e Python.

Veja outros artigos sobre DevOps