paint-brush
A folha de referências do design do sistema: redespor@gavr
10,116 leituras
10,116 leituras

A folha de referências do design do sistema: redes

por Aleksandr Gavrilenko10m2023/09/29
Read on Terminal Reader

Muito longo; Para ler

Compreender os fundamentos da rede, desde as complexidades das topologias até as nuances dos protocolos básicos, não é apenas um exercício acadêmico – é crucial para a criação de sistemas robustos e eficientes. Uma base sólida nos princípios de rede garante que os sistemas se comuniquem perfeitamente, se adaptem de forma resiliente e sejam dimensionados com eficiência.
featured image - A folha de referências do design do sistema: redes
Aleksandr Gavrilenko HackerNoon profile picture

Esta é a continuação de uma série de artigos nos quais abordo brevemente os principais pontos de um tópico específico no projeto de arquitetura de sistemas. O primeiro artigo pode ser lido aqui .


Qualquer sistema complexo é um mosaico de numerosos componentes, cada um com sua função específica. Esses componentes não funcionam isoladamente; eles interagem constantemente em uma rede, trocando dados e comandos. Compreender os fundamentos dessas interações é crucial.


É preciso entender como os componentes se comunicam pela rede para compreender verdadeiramente o desempenho geral e a resiliência do sistema.

Tipos

As redes podem ser divididas em quatro tipos com base no tamanho, arquitetura, alcance e função:


  • Rede de área pessoal (PAN) : projetada para uso pessoal, geralmente dentro do alcance de uma pessoa. Ele pode conectar dispositivos como computador, smartphone e smartwatch, geralmente Bluetooth.


  • Rede local (LAN ): conecta dispositivos em uma área limitada, como uma casa, um escritório ou uma escola. Normalmente é usado para conectar computadores e compartilhar recursos como impressoras ou conexões de Internet dentro de uma área geográfica confinada.


  • Metropolitan Area Network (MAN): cobre uma área maior que uma LAN, mas é menor que uma WAN, normalmente abrangendo uma cidade ou um grande campus. Os provedores de serviços locais costumam usá-lo para oferecer conexões com empresas e residências em uma cidade.


  • Wide Area Network (WAN) : Abrange uma área geográfica maior, geralmente conectando várias LANs. A Internet é o exemplo mais proeminente de WAN, conectando computadores e redes em todo o mundo.

Componentes


Construir e manter redes seria impossível sem dispositivos de hardware especializados:


  • Ponto de acesso a cabo e sem fio : cabos físicos (como Ethernet) fornecem uma conexão com fio entre dispositivos, enquanto os pontos de acesso sem fio permitem que os dispositivos se conectem à rede sem cabos físicos, usando Wi-Fi ou outras tecnologias sem fio.


  • Placa de interface de rede (NIC) : São componentes de hardware, geralmente placas inseridas em computadores ou outros dispositivos, que permitem a conexão a uma rede.


  • Repetidor : Um dispositivo de rede que amplifica ou regenera um sinal, permitindo que ele percorra distâncias maiores sem degradação. É usado principalmente em redes com e sem fio para ampliar o alcance da comunicação e garantir a integridade dos dados em longas distâncias.


  • Ponte: Uma ponte opera na camada de enlace de dados. Uma ponte é um repetidor, adicionando a funcionalidade de filtrar conteúdo lendo os endereços MAC da origem e do destino. Também é usado para interconectar duas LANs trabalhando no mesmo protocolo.


  • Hub : Esses dispositivos básicos de rede conectam vários dispositivos em uma LAN, agindo como um único segmento de rede. O hub não pode filtrar dados, portanto os pacotes de dados são enviados para todos os dispositivos conectados.


  • Switches : Dispositivos em uma rede que conectam outros dispositivos. Ao contrário dos hubs, que transmitem os mesmos dados para todos os dispositivos, os switches são mais inteligentes, direcionando os dados apenas para o dispositivo que deles necessita.


  • Roteadores : Dispositivos que encaminham pacotes de dados entre redes de computadores. Eles determinam o melhor caminho para transferência de dados. Os roteadores normalmente conectam LANs e WANs e possuem uma tabela de roteamento atualizada dinamicamente com base na qual tomam decisões sobre o roteamento dos pacotes de dados.

Topologias

A topologia de rede é um layout estrutural que determina como os diferentes dispositivos e componentes da rede são conectados e como os dados são transmitidos. A escolha da topologia impacta significativamente o desempenho, a escalabilidade e a tolerância a falhas da rede. É categorizado em dois tipos principais:


  • Físico : Descreve o layout físico de dispositivos, cabos e outros componentes de rede. Representa como os dispositivos de rede estão fisicamente conectados.


  • Lógico : Descreve o fluxo de dados dentro da rede, independentemente de seu design físico. Representa como os dados são transmitidos entre dispositivos de rede.


Os seguintes tipos de topologias são diferenciados:


Ponto a ponto

Uma conexão direta entre dois nós ou terminais. Esta é a forma mais simples de topologia de rede.



Vantagens :

  • O link direto e dedicado garante transferência de dados em alta velocidade.

  • Configuração e configuração simples.

  • Comunicação confiável, pois há apenas dois nós envolvidos.


Desvantagens :

  • Não é escalável para redes maiores, pois exigiria uma linha dedicada para cada par de dispositivos.
  • Pode ser mais caro em cenários onde são necessárias múltiplas conexões devido à necessidade de links individuais.


Ônibus

Todos os dispositivos compartilham uma única linha de comunicação. Os dados enviados por um dispositivo estão disponíveis para todos os outros dispositivos, mas apenas o destinatário pretendido aceita e processa esses dados.





Vantagens :

  • Fácil de implementar para redes pequenas.

  • Econômico devido ao cabeamento mínimo.


Desvantagens :

  • O desempenho diminui à medida que mais dispositivos são adicionados ou o tráfego de rede aumenta.
  • Uma falha em um único cabo pode derrubar toda a rede.


Anel


Cada dispositivo está conectado a outros dois dispositivos, formando um anel. Os dados viajam em uma ou às vezes em duas direções.






Vantagens :

  • Ele pode lidar com cargas de dados maiores que a topologia de barramento.


Desvantagens :

  • Uma falha em um cabo ou dispositivo pode derrubar toda a rede.
  • Mais difícil de instalar e reconfigurar.


Estrela



Todos os dispositivos estão conectados a um dispositivo central (por exemplo, um switch ou hub).







Vantagens :

  • Fácil de instalar e gerenciar.
  • A falha em um cabo não afeta outros dispositivos.


Desvantagens :

  • Se o dispositivo central falhar, toda a rede ficará inoperante.
  • Requer mais cabos do que topologia de barramento.

Árvore



Topologia híbrida que combina características de topologias estrela e barramento. Grupos de redes configuradas em estrela são conectados a um backbone de barramento linear.






Vantagens :

  • Hierárquico e escalável.

  • O agrupamento de dispositivos facilita o gerenciamento.


Desvantagens :

  • Falha no backbone causará divisão na rede.
  • É necessário mais cabeamento do que outras topologias.

Malha


Os dispositivos estão interligados. Cada dispositivo está conectado a todos os outros dispositivos.







Vantagens :

  • Fornece alta redundância e confiabilidade.

  • Os dados podem ser transmitidos de vários dispositivos simultaneamente.


Desvantagens :

  • Requer mais cabeamento, o que o torna caro.
  • Complexo para instalar e configurar.

Híbrido



Combinação de duas ou mais topologias.








Vantagens :

  • Flexível e confiável, pois herda as vantagens das topologias de seus componentes.

  • Escalável.


Desvantagens :

  • Projeto complexo.
  • Pode ser mais caro devido a múltiplas configurações.

Protocolos

Protocolos de rede são regras ou padrões que definem como os dados são transmitidos e recebidos em uma rede. Esses protocolos garantem que os dispositivos em uma rede (ou em diversas redes) possam se comunicar entre si de maneira padronizada.

Protocolos Comuns

  • TCP/IP : O conjunto fundamental de protocolos que alimenta a Internet. O TCP garante que os dados sejam enviados corretamente e o IP fornece que os dados sejam enviados para o local correto.
  • UDP : Um protocolo sem conexão que, diferentemente do TCP, não estabelece uma conexão antes de enviar os dados e não garante a ordem dos pacotes de dados.
  • HTTP, HTTPS: Protocolos usados para transferência de páginas da web na Internet. HTTPS inclui medidas de segurança para criptografar dados.
  • FTP : Um protocolo projetado para transferir arquivos em uma rede.
  • SMTP : Usado para transmissão de e-mail.
  • IMAP : Usado para recuperar e armazenar e-mails de um servidor de e-mail.
  • POP3 : Usado para recuperar e-mails de um servidor de e-mail.
  • ICMP : Usado para relatórios de erros e diagnósticos relacionados ao processamento de IP.
  • DNS : traduz nomes de domínio em endereços IP, permitindo que os usuários acessem sites usando nomes legíveis por humanos.
  • DHCP : Atribui endereços IP dinamicamente a dispositivos em uma rede.
  • SSL/TLS : Os protocolos criptográficos são projetados para fornecer comunicação segura em uma rede de computadores.
  • PPP : Protocolo Ponto a Ponto (PPP) é basicamente um conjunto de protocolos assimétricos para várias conexões ou links sem enquadramento.
  • Ethernet : Define como os dispositivos em uma rede local (LAN) se comunicam. Ele opera tanto na camada física quanto na camada de enlace de dados do modelo OSI.

Modelos OSI e TCP/IP

O OSI e o TCP/IP são dois modelos principais que servem como estruturas orientadoras que descrevem os processos envolvidos na comunicação de dados em uma rede.


Modelo OSI

Protocolo

Formato de dados

Modelo TCP/IP

7

Aplicativo

HTTP, DNS, SMTP, FTP

Dados

Aplicativo

6

Apresentação

TLS, SSL

Dados

Aplicativo

5

Sessão

tomadas

Dados

Aplicativo

4

Transporte

TCP, UDP

Segmento, Pacote

Transporte

3

Rede

IP, ICMP, IPsec

Datagrama IP

Internet

2

Link de dados

PPP, Ethernet

Quadro

Interface de rede

1

Físico

Fibra, sem fio

Pedaço

Interface de rede


O modelo OSI (Open Systems Interconnection) é uma estrutura conceitual para compreender as interações de rede em sete camadas. Cada camada tem uma função específica:


  1. Físico : trata da conexão física entre dispositivos. Ele define os elementos de hardware, como cabos, switches e NICs.


  2. Data Link : Responsável por criar um link confiável entre dois nós conectados diretamente, manipulando erros e regulando o fluxo de dados.


  3. Rede : determina o melhor caminho para transferir dados da origem ao destino através da rede.


  4. Transporte : Garante comunicação ponta a ponta, controle de fluxo de dados e correção de erros.


  5. Sessão : estabelece, mantém e encerra conexões de aplicativos em ambas as extremidades.


  6. Apresentação : traduz dados entre as camadas de aplicação e transporte, garantindo que os dados sejam legíveis.


  7. Aplicação : Interage diretamente com as aplicações do usuário final, garantindo uma comunicação eficaz entre o software e as camadas inferiores do modelo OSI.


O TCP/IP é um modelo mais conciso usado predominantemente na Internet moderna, que simplifica as camadas OSI em quatro categorias:


  1. Interface de Rede : Combina as funções das camadas Física e de Enlace de Dados do OSI, com foco em como os dados são enviados/recebidos em um meio de rede.


  2. Internet : Corresponde à camada de rede no OSI, lidando com roteamento de dados, endereçamento IP e encaminhamento de pacotes.


  3. Transporte : semelhante à camada de transporte do OSI, garantindo que os dados cheguem ao aplicativo correto e sejam transmitidos de forma confiável (TCP) ou rapidamente (UDP).


  4. Aplicação : Mescla as funções das camadas de Sessão, Apresentação e Aplicação do OSI, lidando com processos de aplicação do usuário final.

Segurança

No projeto do sistema, garantir uma segurança de rede robusta é fundamental para proteger dados confidenciais e manter a confiança dos usuários e das partes interessadas, garantir a continuidade dos negócios e atender aos requisitos regulatórios.

Ameaças e vulnerabilidades comuns

  1. Ataques DDoS : tentativas maliciosas de interromper o tráfego normal de um servidor, serviço ou rede visado, sobrecarregando-o com uma inundação de tráfego da Internet.


  2. Malware : Software projetado para interromper, danificar ou obter acesso não autorizado a um sistema de computador. Isso inclui vírus, worms, spyware e ransomware.


  3. Ataques Man-in-the-Middle : Os invasores interceptam e retransmitem secretamente a comunicação entre duas partes. Eles podem escutar ou se passar por uma das partes, enganando a outra.


  4. Ameaças internas : Ameaças originadas dentro da organização, como funcionários, ex-funcionários ou parceiros com informações privilegiadas sobre práticas de segurança.


  5. Falhas de software : Bugs ou pontos fracos no software podem ser explorados para obter acesso não autorizado ou interromper serviços. Os exemplos incluem buffer overflows e exceções não tratadas.


  6. Fraquezas de hardware : componentes físicos podem ter vulnerabilidades, como firmware que pode ser adulterado ou backdoors instalados pelos fabricantes.


  7. Dispositivos de rede mal configurados : dispositivos como roteadores, switches ou firewalls que não estão configurados corretamente podem expor a rede a diversas ameaças.


  8. Autenticação e autorização fracas : políticas de senha insuficientes, falta de autenticação multifatorial ou controles de acesso negligentes podem permitir acesso não autorizado.


  9. Dados não criptografados : dados que não são criptografados podem ser facilmente interceptados e lidos enquanto viajam pela rede.


  10. Sistemas desatualizados : sistemas que não são mais suportados ou que não foram atualizados podem ter vulnerabilidades conhecidas que são fáceis de explorar.


  11. Vulnerabilidades físicas : Refere-se a pontos de acesso físico onde um invasor pode se conectar à rede ou acessar servidores diretamente.

Melhores práticas para garantir a segurança da rede

  1. Firewalls : Implante firewalls de hardware e software para monitorar e controlar o tráfego de rede de entrada e saída com base em políticas de segurança.


  2. Criptografia : Use protocolos de criptografia, especialmente para dados confidenciais, tanto em trânsito (como SSL/TLS para tráfego da web) quanto em repouso (como criptografia de banco de dados).


  3. Atualizações regulares : mantenha todos os sistemas, software e aplicativos atualizados para corrigir vulnerabilidades.


  4. Autenticação multifator (MFA) : implemente MFA para adicionar uma camada de segurança, garantindo que os usuários forneçam dois ou mais fatores de verificação para obter acesso.


  5. Monitoramento de rede : Use ferramentas de monitoramento de rede para monitorar continuamente a rede em busca de atividades incomuns ou acesso não autorizado.


  6. Treinamento de conscientização sobre segurança : Eduque funcionários e usuários sobre a importância da segurança e como reconhecer ameaças potenciais.


  7. Segmentação de rede : Limita a propagação de ameaças na rede e fornece melhor controle sobre o acesso aos dados.


  8. Backup e recuperação de desastres : Garante a disponibilidade dos dados e a continuidade dos negócios em caso de violações ou falhas.


  9. Segurança Física : O acesso físico aos dispositivos de rede pode levar a violações.

Conclusão

Compreender os fundamentos da rede, desde as complexidades das topologias até as nuances dos protocolos básicos, não é apenas um exercício acadêmico – é crucial para a criação de sistemas robustos e eficientes.


Uma base sólida nos princípios de rede garante que os sistemas se comuniquem perfeitamente, se adaptem de forma resiliente e sejam dimensionados com eficiência.