Rede de computadores 101: Termos, ferramentas e introdução
Se você deseja se tornar um engenheiro de software, um arquiteto de nuvem ou um administrador de rede, uma sólida compreensão da arquitetura de rede de computadores é uma base essencial para desenvolver à medida que você aprende.
Hoje, vamos explorar as peças por trás das redes domésticas e comerciais, e colocá-lo um passo mais perto de alcançar o emprego dos sonhos!
Aqui está o que abordaremos hoje:
- Tipos de rede de computadores
- Padrões de Wi-Fi
- Protocolos de Internet
- Hubs e Switches
- Roteadores
- Firewalls
- Criptografia
- Continuando seu caminho
Saiba mais sobre redes de computadores para desenvolvedores
Conheça a infraestrutura de rede, redes de acesso e um detalhamento abrangente de cada camada de rede OSI.
Grokking Redes de Computadores para Engenheiros de Software
Tipos de rede de computadores
Independentemente da finalidade do seu sistema, ele precisará de um protocolo de conexão para vincular todos os dispositivos. Esse link pode ser via Ethernet (rede local), WLAN (Wi-Fi) ou WAN (rede de longa distância). Cada um tem riscos e benefícios a serem considerados ao decidir qual tipo de conexão você usará. Vamos comparar e discutir.
Ethernet (LAN com fio)
- Conexão cabeada centralizada entre dispositivos locais via cabos ethernet.
- Conexão mais rápida do que via wireless.
- Difícil/custo de atualizar a categoria de velocidade Ethernet uma vez instalada.
- Distância limitada devido ao requisito com fio.
WLAN (Wi-Fi)
- Conexão de rede sem fio local a um relé Ethernet com fio compartilhado.
- Os dispositivos podem ser móveis dentro da área de rede.
- Os dispositivos podem ser adicionados ou removidos da rede sem problemas.
- Não seguro; propenso a espionagem e ataques cibernéticos.
WAN (rede de longa distância)
- Semelhante à LAN, mas em uma escala mais ampla; conecta várias redes locais.
- Os dispositivos em uma rede LAN podem se comunicar com os de outras redes LAN conectadas por meio de roteadores pré-configurados.
- Altamente escalável.
- Maior latência com base na escala do sistema.
- Difícil de proteger, mais acessível por forças externas do sistema.
Rede em nuvem
Outro tipo de rede de computadores mais recente é o Cloud Networking, que permite que os desenvolvedores conectem muitos dispositivos em uma grande área geográfica usando sistemas de rede sem fio baseados em nuvem hospedados por provedores de serviços terceirizados. Esse tipo está rapidamente ganhando popularidade entre as empresas de tecnologia devido à sua execução barata e versatilidade.
- Versátil, adequado para qualquer tipo ou escala de negócios
- Velocidades mais rápidas do que os tipos de rede tradicionais devido ao número de servidores em nuvem
- Barato, custo mais baixo do que as empresas que constroem e gerenciam seu próprio hardware de rede
- Acessível apenas com conexão à internet
- Frequentemente alvo de ataques cibernéticos
Padrões de Wi-Fi
As empresas costumam usar redes Wi-Fi para conectar dispositivos em seus sistemas internos. Além disso, muitos produtos, sejam computadores ou celulares, devem ser projetados para funcionar em redes Wi-Fi domésticas. Se solicitado a projetar um sistema baseado em conexões Wi-Fi, é útil entender os diferentes padrões de Wi-Fi.
As conexões Wi-Fi estão todas na família de padrões 802.11, mas possuem vários subtipos: A , B , G , N ou AC . Cada um desses tipos tem uma frequência de canal diferente, limite de alcance e largura de banda de rede.
AC é o tipo mais moderno, com maior alcance, largura de banda de rede e menos interferência do que o resto. A partir daqui, a velocidade, o alcance e a confiabilidade da rede são reduzidos na lista (N é o segundo melhor, depois G e assim por diante).
No entanto, devido a uma combinação de custos e uso de equipamentos legados incompatíveis com conexões mais recentes, as empresas podem executar seu sistema em um padrão mais antigo.
Perguntar quais padrões de Wi-Fi uma empresa usa atualmente durante sua entrevista ou integração demonstrará atenção aos detalhes e poderá diferenciá-lo daqueles que simplesmente assumem acesso aos recursos mais recentes.
Preparar para erro de conexão
À medida que os dispositivos de rede se tornam cada vez mais móveis e os smartphones se tornam o padrão, a perda momentânea de conexão é um problema comum para seus aplicativos.
Leve isso em consideração ao projetar seu sistema; como reagirá se um ou mais dispositivos perderem a conexão?
Continue o aprendizado.
Domine os fundamentos da rede de computadores com prática prática. Aprenda com o grupo com conceitos como infraestrutura de rede, redes de acesso e uma extensa análise de cada camada de rede OSI.
Grokking Redes de Computadores para Engenheiros de Software
Protocolos de rede
Outra decisão a ser tomada ao construir um sistema é entre os protocolos de transmissão de dados, seja TCP/IP (Transmission Control Protocol) ou UDP (User Datagram Protocol).
Esses protocolos funcionam como regras de entrega de dados, afetando a velocidade de entrega, sequenciamento e recuperação de erros. O mais comumente usado em todo o mundo é o TCP/IP devido à sua confiabilidade de entrega de dados e mecanismos integrados de recuperação de perdas. Dito isto, ambos os protocolos têm aplicações que devem ser consideradas ao projetar um sistema.
TCP/IP (Protocolo de Controle de Transmissão):
Prós:
- Orientado à conexão, conecta-se ao dispositivo receptor antes de transmitir os dados.
- Confiável; garante a entrega ao dispositivo receptor.
- Verifica erros nos pacotes de dados.
- Sequenciados, os pacotes chegam em ordem ao dispositivo receptor.
- Contém protocolo de controle de fluxo, garante que o entregador não sobrecarregue o receptor com dados.
Contras:
- Mais lento que o UDP devido a tarefas extras.
- Não é possível executar tarefas de transmissão.
Usos comuns:
- World Wide Web (HTTP, HTTPS)
- Geralmente, aplicativos que exigem alta confiabilidade onde a velocidade é a principal preocupação.
UCP (Protocolo de Datagrama do Usuário)
Prós:
- Mais rápido que o TCP.
- Simples em sua transmissão, gerenciamento de dados limitado.
- Suporta tarefas de transmissão.
Contras:
- Não confiável, não pode garantir a entrega de pacotes por ser orientado a datagramas em vez de orientado a conexões.
- Sem retransmissão de pacotes de dados perdidos.
- Verificação de erros mínima.
- Sem sequenciamento, os pacotes podem chegar fora de ordem.
- Pode sobrecarregar o receptor, só para de enviar dados quando a tarefa é concluída.
Usos comuns:
- Transmissão de vídeo
- Jogo on line
- Geralmente, os aplicativos que contam com a velocidade de recepção de dados.
Outros protocolos importantes são o IP (Internet Protocol), que permite que os dispositivos sejam identificados e procurados por meio de endereços IP exclusivos, e o HTTP (HyperText Transfer Protocol), que permite que os dispositivos solicitem e transfiram dados entre dispositivos.
OSI (modelo de interconexão de sistemas abertos)
Protocolos como os acima funcionam graças ao modelo OSI, um modelo conceitual que garante que os sistemas sejam padronizados para se comunicarem da mesma maneira e sejam todos organizados em partições de sete camadas: Física, Enlace de Dados, Rede, Transporte, Sessão, Apresentação e Aplicação .
Hubs e Switches
Ambos os hubs e switches atuam como um ponto de conexão entre dispositivos em uma rede. Ambos geralmente usam uma conexão com fio, mas estão cada vez mais com conectividade sem fio. Onde eles diferem é como eles dispersam os dados pela rede depois que são recebidos de um dispositivo.
- Um Hub é rápido, mas indiscriminado; quando recebe um pacote de dados, ele o copia e o envia rapidamente para todos os dispositivos conectados a ele.
- Um Switch é mais lento, mas mais cuidadoso; quando recebe um pacote de dados, determina para qual(is) dispositivo(s) em seu sistema os dados se destinam e envia os dados para esses dispositivos selecionados.
Os hubs são melhor usados quando todos os dispositivos se beneficiariam do recebimento de todos os dados. Por outro lado, os switches devem ser usados quando muitos tipos diferentes de dispositivos estão na rede ou os dados são confidenciais e não devem ser encaminhados indiscriminadamente.
Roteadores
Se pensarmos em LANs como cidades e hubs/switches como nossas prefeituras, então os roteadores seriam as estradas que os conectam. Localizados nos gateways , ponto de interseção entre duas ou mais redes, esses dispositivos classificam e encaminham pacotes de dados para o destino correto entre duas ou mais redes separadas.
Esse conhecimento é essencial, pois a maioria dos sistemas exigirá não uma grande rede, mas sim um interfuncionamento suave entre várias redes separadas. A vantagem de dividir os sistemas dessa maneira é dupla: minimiza a carga do dispositivo em qualquer rede individual e também mantém todos os dados imediatamente acessíveis aos dispositivos onde são mais pertinentes.
Ao planejar uma rede ou posteriormente em uma entrevista de projeto de sistemas, é essencial definir:
- como seu sistema seria dividido em sub-redes
- que interconexão essas redes precisariam entre si e sistemas externos
- como os roteadores devem ser configurados para garantir a eficiência do sistema.
Custo de latência de roteadores
Conexões através de pontes de roteador entre redes terão maior latência do que conexões na rede; para melhorar a eficiência, coloque os dispositivos para trabalhar juntos com frequência ou exija transferências rápidas na mesma rede, em vez de passar os dados pelas pontes do roteador.
Agora que você já conhece as ferramentas necessárias para construir uma rede, pode pensar em como protegê-la. Este é o desafio central para os designers de rede, ao começar a considerá-lo, você está um passo mais perto de se tornar um especialista em rede!
Embora bloquear todas as conexões com sistemas externos seja uma maneira simples e eficaz de garantir, muitas vezes uma conexão com sistemas externos será essencial para que um sistema funcione de maneira eficaz. Nesses casos, alguns tipos de firewalls e criptografia são essenciais para minimizar o risco interno.
Firewalls
Uma das principais ferramentas de segurança de rede, os firewalls atuam como um ponto de verificação onde os dados passados de ou para redes privadas são revisados antes de serem aceitos ou rejeitados. Existem vários tipos de funções de segurança usadas por programas de firewall. A maioria usa duas ou mais funções para fornecer proteções de segurança variáveis.
Firewall de aplicativo da Web:
A função mais comum, esses aplicativos são configurados para bloquear tipos comuns de ataques, como Distributed Denial of Service (DDoS). Esses aplicativos são simples e baratos, mas suscetíveis a novas formas de ataque desconhecidas pelo programa.
Filtragem de Pacotes:
Esta função revisa cada pacote de dados que passa por ele, aceitando ou rejeitando com base em regras definidas pelo usuário. Eles são eficazes, mas podem ser difíceis de configurar para bloquear todas as ameaças possíveis.
Implementação de gateway em nível de circuito:
Esta função ativa as varreduras de segurança quando uma nova conexão TCP/IP ou UDP se conecta ao sistema. Depois que a verificação for concluída e a fonte for considerada segura, os dados podem passar livremente sem outras verificações.
Servidor proxy:
Esta função mascara o endereço de rede dos dispositivos conectados, direcionando todas as solicitações feitas por meio de um dispositivo de cobertura alternativo. Isso fornece um nível adicional de anonimato e filtragem, pois o dispositivo proxy atua como um buffer, enviando de volta apenas tipos de dados especificados para a origem.
Infelizmente, essa função diminuirá o desempenho da rede adicionando um nó de dados adicional para percorrer.
Criptografia
Independentemente da eficácia de seus firewalls iniciais, pode haver um momento em que eles falhem e os dados sejam roubados. Para antecipar isso, é útil ter uma segunda camada de segurança incorporada ao sistema, geralmente na forma de criptografia de dados.
A criptografia é o processo de conversão de dados (em trânsito e em repouso) em um formato legível apenas por outro sistema ou dispositivo autenticado. Se os dados forem interceptados em trânsito por um dispositivo sem as chaves de descriptografia adequadas, eles permanecerão ilegíveis e seguros.
Ao projetar seu sistema, considere os locais onde a criptografia será necessária. Se uma determinada área do sistema contiver dados confidenciais, como informações bancárias, pode ser aconselhável incluir vários níveis de criptografia para proteção adicional.
Embora seja desnecessário saber que tipo específico de protocolo de criptografia usar (já que a maioria das empresas possui políticas internas), você pode demonstrar cuidado completo com a segurança indicando quais conexões de rede precisarão ser criptografadas com base no tipo de dados que elas transmitem.
Continuando no seu caminho
Parabéns! Agora você está familiarizado com os fundamentos da rede de computadores e está pronto para passar para conceitos e aplicativos mais avançados. Para saber mais sobre os fundamentos da rede de computadores, confira o Grokking Computer Networking for Software Engineers da Educative . Ele orienta você por esses fundamentos e muito mais com exemplos e códigos do mundo real.
Como a rede de computadores é um campo tão vasto, existem caminhos diferentes e interessantes que você pode escolher para seguir à medida que aprende. Seu próximo passo depende de quais empregos lhe interessam no futuro:
- Se você estiver interessado em segurança de rede , convém examinar as ameaças modernas de segurança cibernética que atualmente enfrentam os desenvolvedores em campo.
- Se você estiver interessado em arquitetura de nuvem, considere AWS , o serviço de nuvem mais popular.
De qualquer forma, parabéns por dar seus primeiros passos em direção a uma grande nova carreira!
Fonte: https://www.educative.io/