> For the complete documentation index, see [llms.txt](https://stacked-rwx.gitbook.io/public/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://stacked-rwx.gitbook.io/public/computer-networks/base-de-redes-fundamentos.md).

# Base de Redes - Fundamentos

👉 **Se você quiser apoiar este projeto com alguma doação, sua contribuição pode ajudar na aquisição de um novo domínio para o blog ou até mesmo na contratação de uma hospedagem, possibilitando a criação de um site com mais recursos e um espaço de aprendizado ainda melhor.**\
\
\- Doação: [Vakinha](https://www.vakinha.com.br/5708714?utm_campaign=share_show_link\&utm_medium=website\&utm_content=4\&utm_source=social-shares)\
\- LinkedIn: [Rafael Romão](https://www.linkedin.com/in/rafael-rom%C3%A3o/)\
\- YouTube: [N1njasec](https://www.youtube.com/@n1njasec)\
\- Instagram: [Underground Hacking](https://instagram.com/undergroundhacking)

## Introdução

**A internet é formada por um conjunto de dispositivos interconectados** — ou seja, conectados entre si. Embora muitas vezes pareça algo "invisível", por trás dela existe uma infraestrutura complexa composta por cabos, servidores, protocolos de comunicação e diversos dispositivos que trabalham em conjunto para possibilitar ações cotidianas, como enviar mensagens, assistir a vídeos e até mesmo ler artigos como este.

Essa conexão entre dispositivos acontece em escala global, permitindo que computadores, celulares e outros aparelhos se comuniquem entre si independentemente da localização geográfica. Grande parte dessa comunicação internacional ocorre por meio dos **cabos submarinos**, que atravessam oceanos para conectar continentes inteiros com velocidades impressionantes e baixa latência.

Esses cabos são responsáveis por transmitir mais de 95% do tráfego internacional de dados — e você pode visualizar essa impressionante rede no mapa abaixo:

<figure><img src="/files/ZtqhWFg7hjldD5bQ7rpR" alt=""><figcaption></figcaption></figure>

Para entender como a internet funciona, é fundamental compreender primeiro o conceito de **rede de computadores** e como ela é distribuída.

#### LAN (Local Area Network)

Uma **Rede Local** conecta dispositivos dentro de um espaço físico limitado, como uma casa, escola ou empresa. Nela, os dispositivos compartilham recursos, como arquivos, impressoras e conexão com a internet, de forma rápida e eficiente.

#### WAN (Wide Area Network)

A **internet** é, na verdade, a união de milhares (ou milhões) de redes locais interligadas entre si — o que chamamos de **WAN**, ou **Rede de Longa Distância**. Essa interligação é feita por meio de cabos de fibra óptica (inclusive submarinos), satélites, torres de transmissão e outros meios físicos e virtuais.

#### Mas como funciona, por exemplo, quando você acessa um site que está hospedado em um servidor do outro lado do mundo?

É aí que entra o papel do seu **ISP** (Internet Service Provider), ou **provedor de serviços de internet**.

### Internet Service Provider (ISP)

Quando você digita o endereço de um site no navegador, o seu dispositivo envia uma solicitação através da sua rede local (LAN), que é então encaminhada ao seu ISP. O provedor é responsável por conectar a sua rede doméstica à internet global (WAN), roteando sua solicitação pelos caminhos mais eficientes disponíveis — o que pode incluir conexões via cabos submarinos, data centers intermediários, ou redes de distribuição de conteúdo (CDNs), dependendo da localização do servidor do site.

<figure><img src="/files/tCDbr6UB1g4vcutIKgNT" alt=""><figcaption></figcaption></figure>

O **ISP** (Provedor de Serviços de Internet) é o responsável por entregar o meio físico que conecta sua rede doméstica ou corporativa à internet. Essa conexão pode ser feita por diferentes tecnologias, como **fibra óptica, cabo coaxial, rádio, DSL** ou até mesmo **via satélite**, dependendo da infraestrutura disponível na sua região.

Para que essa conexão funcione corretamente, o ISP atribui à sua rede um **endereço IP público**, que serve como identificação única para que outros dispositivos e servidores ao redor do mundo possam se comunicar com você.

Na maioria das vezes, esse IP é **dinâmico** — ou seja, muda a cada nova conexão ou em intervalos de tempo. Em muitos casos, o IP também pode ser **compartilhado via NAT** (Network Address Translation), quando vários clientes do provedor utilizam o mesmo IP público e são diferenciados internamente por suas portas de origem. Essa prática é comum e ajuda a contornar a limitação de endereços IPv4 disponíveis.

Durante esse processo, o ISP é responsável por **rotear os pacotes de dados** que saem da sua rede e garantir que eles encontrem o caminho mais eficiente até o destino final (como um site ou serviço online). Isso envolve a comunicação com outros ISPs e a passagem por **grandes pontos de troca de tráfego**, conhecidos como **IXPs (Internet Exchange Points)**, que ajudam a otimizar rotas, reduzir a latência e melhorar a velocidade da conexão.

Você pode **visualizar esse caminho** usando uma ferramenta chamada **traceroute** (ou `tracert`, no Windows). Ela mostra todos os **nós intermediários** — os endereços IP por onde os pacotes passaram — até chegar ao destino final. Essa análise ajuda a entender como os dados trafegam pela internet e identificar possíveis gargalos ou falhas no caminho.

<figure><img src="/files/HFEFjHvo4AvwUeg1TiDW" alt=""><figcaption></figcaption></figure>

Cada linha exibida pelo **traceroute** representa um **salto (hop)** — ou seja, um roteador intermediário pelo qual os pacotes passam no caminho até o destino final.

O funcionamento do traceroute se baseia no envio de pacotes com um valor de **TTL (Time To Live)**, que começa em 1 e vai aumentando progressivamente a cada novo envio. Cada roteador que recebe o pacote **reduz o TTL em 1**. Quando o TTL chega a zero, o roteador interrompe o encaminhamento do pacote e responde com uma mensagem do tipo **"Time Exceeded"**, revelando sua presença. Com isso, conseguimos mapear o trajeto que os dados percorrem até o destino.

Se o traceroute retornar uma linha com **\* \* \***, isso significa que **nenhum dos roteadores respondeu dentro do tempo limite** (timeout). Isso pode acontecer por diferentes motivos:

* O roteador recebeu o pacote, mas está configurado para **não enviar respostas ICMP** (comuns em redes mais seguras);
* Houve **perda de pacotes** no caminho;
* O tempo de resposta do roteador foi maior que o limite definido pela ferramenta.

Ainda assim, mesmo quando um ou mais hops não respondem, os pacotes reais (como os de uma conexão web) **podem continuar sendo encaminhados normalmente**. O traceroute serve apenas como uma ferramenta de diagnóstico e visualização do caminho dos pacotes.

## Endereçamento IP e Máscara de Rede

O funcionamento da internet e das redes de computadores depende de um conceito fundamental: o **endereçamento IP**. Sem ele, não seria possível identificar, localizar e estabelecer comunicação entre dispositivos conectados em escala global.

Junto com o endereço IP, entra um elemento essencial para a organização e funcionamento das redes: a **máscara de rede**. É ela que permite a divisão correta do espaço de endereços e possibilita o roteamento eficiente dos pacotes de dados.

### O que é um endereço IP?

O **endereço IP (Internet Protocol)** é um identificador numérico, **lógico e hierárquico**, atribuído a cada dispositivo em uma rede TCP/IP. Ele funciona como um **CEP digital**, permitindo que pacotes de dados sejam corretamente roteados entre diferentes redes.

Existem duas versões principais de endereços IP:

* **IPv4** (32 bits) — o mais utilizado atualmente;
* **IPv6** (128 bits) — criado para suprir a escassez de endereços IPv4.

#### Estrutura do IPv4

Um endereço IPv4 é composto por **32 bits**, representados em **quatro octetos** separados por pontos, como em: `192.168.1.1`. Cada octeto contém 8 bits e é convertido para decimal, resultando em valores de **0 a 255**.

#### Estrutura do IPv6

O **IPv6** foi desenvolvido para substituir o IPv4 e resolver a limitação no número de endereços disponíveis. Ele é composto por **128 bits**, representados em **oito blocos de 16 bits**, escritos em **hexadecimal** e separados por dois-pontos (`:`). Exemplo: `2001:0db8:85a3::8a2e:0370:7334`

O IPv6 permite um número praticamente **ilimitado de endereços**, sendo essencial para o futuro da internet com o crescimento de dispositivos conectados (IoT, por exemplo).

Todo endereço IP é logicamente dividido em duas partes:

* **Parte da rede**: identifica a rede à qual o dispositivo pertence.
* **Parte do host**: identifica o dispositivo específico (host) dentro daquela rede.

Essa separação é **fundamental para o roteamento**, pois permite que os roteadores saibam **para onde enviar os pacotes** com base na parte da rede.

## Máscara de Rede

A **máscara de rede** é o mecanismo que define **onde termina a parte da rede** e **onde começa a parte do host** em um endereço IP. Ela é representada no mesmo formato de um endereço IPv4 (decimal pontuado), como `255.255.255.0`, ou na notação CIDR (Classless Inter-Domain Routing), como `/24` — sobre a qual falaremos com mais detalhes em breve.

#### Exemplo:

* **Endereço IP:** `192.168.1.10`
* **Máscara de rede:** `255.255.255.0` (ou `/24`)

Neste caso:

* Os **primeiros 24 bits** (ou seja, `255.255.255`) indicam a **parte da rede**, que seria `192.168.1.0`.
* Os **8 bits restantes** representam os **hosts**, ou seja, os dispositivos dentro dessa rede.

Isso gera um intervalo de **254 endereços IP válidos**, de `192.168.1.1` a `192.168.1.254`.\
O endereço `192.168.1.0` representa a **identificação da rede**, e `192.168.1.255` é reservado para **broadcast** — usado para enviar pacotes para todos os dispositivos da rede simultaneamente.

> Durante um **pentest em uma rede interna**, é muito comum encontrarmos outros dispositivos conectados à mesma rede.
>
> Um exemplo clássico é quando um atacante consegue acesso inicial a um **servidor Linux** e, a partir dele, executa técnicas de **enumeração de rede**. Utilizando ferramentas como `nmap`, `arp-scan` ou até analisando tabelas ARP, é possível identificar **outros hosts ativos**, como:
>
> * Controladores de domínio (AD);
> * Outras máquinas Linux ou Windows;
> * Dispositivos de rede e IoT mal configurados.
>
> Esse tipo de reconhecimento só é possível porque o atacante está na **mesma faixa de rede**, identificada justamente pela **máscara de sub-rede**.

Internamente, a máscara funciona por meio de uma **operação lógica AND bit a bit** (bitwise AND) com o endereço IP. Essa operação permite **extrair o Network ID**, que é usado pelos roteadores para saber **a qual rede aquele IP pertence**.

**Exemplo em binário:**

* Máscara: `255.255.255.0` → `11111111.11111111.11111111.00000000`

Como podemos ver, a máscara é composta por uma **sequência contínua de bits 1**, que representam a **parte da rede (prefixo)**, seguidos por **bits 0**, que representam a **parte do host (sufixo)**.

## Classes de Rede (Classful Networking)

Para entender as **classes de rede**, precisamos voltar aos **primórdios da internet**, nos anos 1980. Nessa época, o sistema de endereçamento IP (IPv4) utilizava um modelo chamado de **arquitetura classful** (ou rede com classes), em que os **32 bits do endereço IP eram divididos em faixas fixas**.

Esse modelo foi usado até o início dos anos 1990 e servia para facilitar a atribuição e o roteamento de endereços IP.

Cada **classe de rede** tinha uma quantidade predefinida de bits reservados para identificar a **rede** e o restante para os **hosts** (dispositivos) dentro dessa rede. A seguir, um resumo das classes mais relevantes:

Classe A

* **Intervalo de endereços:** `0.0.0.0` a `127.255.255.255`
* **Máscara padrão:** `255.0.0.0` (ou `/8`)
* **Divisão:** 8 bits para a rede / 24 bits para os hosts
* **Capacidade:** Suportava cerca de **16 milhões de hosts por rede** (`2^24 - 2`)
* **Uso comum:** Grandes empresas e organizações governamentais

***

Classe B

* **Intervalo de endereços:** `128.0.0.0` a `191.255.255.255`
* **Máscara padrão:** `255.255.0.0` (ou `/16`)
* **Divisão:** 16 bits para a rede / 16 bits para os hosts
* **Capacidade:** Aproximadamente **65 mil hosts por rede** (`2^16 - 2`)
* **Uso comum:** Universidades, empresas de médio porte e instituições públicas

***

Classe C

* **Intervalo de endereços:** `192.0.0.0` a `223.255.255.255`
* **Máscara padrão:** `255.255.255.0` (ou `/24`)
* **Divisão:** 24 bits para a rede / 8 bits para os hosts
* **Capacidade:** Até **254 hosts por rede** (`2^8 - 2`)
* **Uso comum:** Pequenas empresas, redes locais e residenciais

***

Classe D (Multicast)

* **Intervalo:** `224.0.0.0` a `239.255.255.255`
* **Uso:** Reservada para **comunicação multicast**, utilizada em aplicações como streaming de vídeo e protocolos de roteamento dinâmico.
* **Não é usada para atribuição a hosts.**

***

Classe E (Experimental)

* **Intervalo:** `240.0.0.0` a `255.255.255.255`
* **Uso:** Reservada para **fins experimentais e pesquisa futura**.
* **Não é utilizada em redes públicas.**

### Problemas do modelo classful

Com o tempo, o uso do sistema baseado em classes revelou várias **limitações graves**:

**Desperdício de endereços**

* Se uma organização precisava de, por exemplo, **300 hosts**, ela não podia usar uma rede Classe C (que suportava apenas 254 hosts).
* Teria que solicitar uma rede Classe B, desperdiçando **dezenas de milhares de endereços IP**.

**Tabelas de roteamento infladas**

* Cada rede classful exigia **uma entrada específica nas tabelas de roteamento**.
* Com o crescimento da internet, essas tabelas ficaram grandes demais, dificultando o processamento eficiente nos roteadores.

**Escalabilidade limitada**

* O crescimento explosivo da internet nos anos 90 **expôs as limitações** do modelo classful.
* A arquitetura não tinha **flexibilidade** para atender redes com tamanhos variados.
* Além disso, o esgotamento iminente dos endereços IPv4 tornou urgente a criação de um novo modelo de alocação.

Para resolver esses problemas, surgiu o **modelo classless** com o uso do **CIDR (Classless Inter-Domain Routing)** — um sistema **mais flexível** e eficiente para definir redes de tamanhos variados, economizar IPs e otimizar o roteamento.

## CIDR e a Superação das Classes Históricas

Originalmente, os endereços IP eram divididos em faixas rígidas de classes (A, B e C), conforme vimos anteriormente. No entanto, esse modelo provou-se **ineficiente**, inflexível e rapidamente se tornou insustentável com o crescimento da internet.

Para resolver essas limitações, foi criado o **CIDR (Classless Inter-Domain Routing)**, um sistema que **eliminou a necessidade de classes fixas** e permitiu uma abordagem **muito mais flexível e escalável** no uso de endereços IP.

A principal inovação do CIDR foi permitir que **a quantidade de bits usada para identificar a rede (prefixo)** fosse **variável**, em vez de fixada em 8, 16 ou 24 bits como no modelo classful.

O CIDR introduziu a notação com barra (`/`), conhecida como **notação CIDR**:

**Exemplo:** `192.168.1.0/24`\
Isso indica que os **24 primeiros bits** representam a **rede**, e os **8 bits restantes** são destinados aos **hosts**.

Essa abordagem permite a **criação de blocos de IP sob medida**, com qualquer número de endereços necessários, reduzindo drasticamente o desperdício de IPs.

### Por que o CIDR era necessário?

Como mencionado anteriormente, no modelo classful, empresas com necessidade de **apenas 300 hosts** eram forçadas a utilizar uma rede **Classe B**, que suportava cerca de 65 mil hosts — resultando em um desperdício gigantesco de endereços IP.

Com o CIDR, é possível **atribuir apenas a quantidade necessária de IPs**, otimizando o uso do espaço de endereçamento IPv4 e **adiando seu esgotamento**.

### CIDR e VLSM

O CIDR também viabilizou o uso do conceito de **VLSM (Variable Length Subnet Mask)**, ou **máscaras de sub-rede de tamanho variável**.

Com o VLSM, é possível **dividir um mesmo bloco de rede em várias sub-redes menores**, de tamanhos diferentes, conforme a necessidade. Isso é especialmente útil em ambientes corporativos onde diferentes setores precisam de diferentes quantidades de IPs.

**Exemplo de aplicação:**\
Uma empresa pode utilizar:

* `192.168.1.0/26` → 64 endereços (62 hosts utilizáveis)
* `192.168.1.64/28` → 16 endereços (14 hosts utilizáveis)

Ambas sub-redes fazem parte do mesmo bloco maior (`192.168.1.0/24`), mas são segmentadas de acordo com a **demanda real** de cada departamento ou setor da rede.

## Diferença entre IP Público e IP Privado

Como vimos anteriormente, um **endereço IP** é um identificador numérico que permite que dispositivos se comuniquem dentro de uma rede. Esse endereço pode ser classificado como **IP público** ou **IP privado**, e entender essa distinção é fundamental para compreender como ocorrem as conexões **dentro** e **fora** da sua rede local.

### IP Público

O **IP público** é aquele atribuído ao seu roteador pelo **provedor de internet (ISP)**. Ele é **único na internet global** e funciona como um **endereço postal visível ao mundo exterior**.

Sempre que você acessa um site, envia uma requisição ou utiliza qualquer serviço online, é o **seu IP público** que aparece como origem da comunicação.

Por ser **globalmente roteável**, os IPs públicos precisam ser **registrados e gerenciados** por autoridades como:

* **IANA (Internet Assigned Numbers Authority)**
* **RIRs (Regional Internet Registries)**, como LACNIC, ARIN, RIPE, entre outras

### IP Privado

O **IP privado** é usado **dentro de redes locais** (LANs). Ele **não é roteável na internet** e serve para identificar dispositivos internos como computadores, celulares, impressoras e servidores.

Esses IPs são **reservados por padrão** e podem ser usados livremente, desde que permaneçam dentro de suas respectivas redes privadas.

**Faixas reservadas de IP privado em IPv4:**

* `10.0.0.0/8` → 10.0.0.0 a 10.255.255.255
* `172.16.0.0/12` → 172.16.0.0 a 172.31.255.255
* `192.168.0.0/16` → 192.168.0.0 a 192.168.255.255

**Faixa reservada em IPv6:**

* `fc00::/7` → Para uso local (ULA - Unique Local Address)

Como esses endereços **não são únicos globalmente**, eles **podem se repetir** em diferentes redes privadas **sem causar conflitos**.

### Como IPs privados acessam a internet?

Dispositivos com IP privado **não podem se comunicar diretamente com a internet**. Para isso, existe um mecanismo chamado **NAT (Network Address Translation)**, normalmente configurado no **roteador/gateway** da rede.

O NAT atua como **um tradutor de endereços**: ele substitui o endereço IP privado do dispositivo por um IP público na saída para a internet, mantendo uma **tabela de mapeamento** para garantir que as respostas cheguem ao dispositivo correto.

Existem três principais variações de NAT:

* **NAT Estático (1:1):**
  * Cada IP privado é mapeado para **um IP público fixo**.
  * Comum em servidores que precisam estar acessíveis da internet.
* **NAT Dinâmico:**
  * Um grupo (pool) de IPs públicos é usado para atender múltiplos IPs privados, sem relação fixa.
  * Quando um IP público do pool está livre, ele é atribuído temporariamente.
* **PAT (Port Address Translation), também conhecido como NAT Overload:**
  * Permite que **vários IPs privados compartilhem um único IP público**, diferenciando as conexões com base nas **portas de origem e destino**.
  * É o método mais comum em redes domésticas e corporativas.

**Exemplo de PAT:**

* IP Privado: `192.168.0.10:58743`
* NAT converte para → IP Público: `187.45.23.10:31200`

A resposta volta para o IP público e a porta, e o NAT sabe exatamente para qual IP privado deve encaminhar.

<figure><img src="/files/N6cN9MbQNNXDmetGjqpo" alt=""><figcaption></figcaption></figure>

## Gateway de Rede

O **gateway de rede** é um **dispositivo intermediário** que atua como **ponto de entrada e saída** entre **duas redes diferentes** — geralmente, entre a **rede local (LAN)** e a **internet (WAN)**. Ele é essencial para permitir que dispositivos internos consigam **se comunicar com dispositivos externos**.

> Na maioria dos casos, o **roteador da sua casa** ou da empresa **atua como o gateway padrão** (default gateway).

Quando um dispositivo (host) da sua rede local precisa enviar um pacote para um endereço **fora da sua sub-rede**, ele **encaminha esse pacote para o gateway padrão**.

Então o gateway verifica **a tabela de roteamento**, para saber para onde encaminhar aquele pacote e e**ncaminha o pacote** para o próximo salto (próximo roteador, firewall ou a própria internet).

**Exemplo:**

* Sua máquina: `192.168.1.10/24`
* Gateway da rede: `192.168.1.1`

Se você tentar acessar `8.8.8.8`, o sistema percebe que esse IP **não está na mesma rede local (192.168.1.0/24)** e envia o pacote ao **gateway**, que encaminha para fora (internet).

O gateway opera na **Camada 3 (Rede)**, pois trabalha com **endereçamento IP** e **roteamento de pacotes** entre redes diferentes.

## Broadcast

O **broadcast** é um tipo de comunicação onde **um pacote é enviado para todos os dispositivos** dentro de uma mesma rede local. Ele é usado quando o emissor **não conhece ainda o destino exato**, ou quando quer que **todos recebam a informação**.

> Em termos simples: é como gritar em uma sala cheia — todos os presentes vão ouvir.

Em uma rede, um pacote de broadcast é enviado para o **endereço mais alto da sub-rede**, onde **todos os dispositivos escutam**.

**Exemplo:**

* Sub-rede: `192.168.1.0/24`
* Endereço de broadcast: `192.168.1.255`

Se um pacote for enviado para `192.168.1.255`, **todos os hosts da rede 192.168.1.0/24** vão receber.

O broadcast é usado para descobrir o MAC address de um IP na mesma rede ou quando um dispositivo recém-conectado procura um servidor DHCP para obter IP.

Um ponto importante: **pacotes de broadcast nunca atravessam o gateway**.

Ou seja, um broadcast enviado para `192.168.1.255` **nunca será roteado para fora da rede local**. Apenas **pacotes direcionados (unicast)** ou **multicast específicos** podem passar para outras redes, via gateway.

## Final

Neste primeiro capítulo, exploramos os **pilares essenciais das redes de computadores** — conhecimentos fundamentais para qualquer pessoa que deseja atuar com infraestrutura, segurança da informação, administração de sistemas ou até mesmo desenvolvimento com foco em aplicações distribuídas.

Com esses fundamentos, agora você tem base suficiente para **entender como os dispositivos se comunicam entre si**, como **as redes são segmentadas e protegidas**, e como **ocorre o tráfego entre redes privadas e a internet**.

E claro: mais do que decorar termos técnicos, o objetivo aqui é que você **entenda o porquê das coisas funcionarem dessa forma**, porque esse raciocínio será essencial para analisar, diagnosticar e até proteger redes reais.

Espero você no próximo capítulo dessa grande série!
