# Camada 3

### *A Camada que Decide o Caminho*

Camada 3 é responsável por **endereçamento lógico**, **roteamento**, **encapsulamento de pacotes**, **controle de congestionamento**, **fragmentação** e **interconexão entre redes**.

Se a camada 2 é “quem está na sala comigo”, a camada 3 responde: **"Como chego até alguém em outro país?"**

***

## 🎯 **Funções Fundamentais da Camada 3**

| Função                         | Descrição                                  |
| ------------------------------ | ------------------------------------------ |
| **Endereçamento Lógico**       | IPs identificam redes e hosts              |
| **Roteamento**                 | Escolher o melhor caminho entre redes      |
| **Encapsulamento de Pacotes**  | Criação da unidade de dados: **Pacote IP** |
| **Fragmentação/Reassemblagem** | Ajuste ao MTU dos diferentes enlaces       |
| **Detecção de Erros Limitada** | Checksum do cabeçalho IP                   |
| **Controle de Tráfego**        | TTL, QoS, política de roteamento           |

***

## 📦 **Unidade de Dados: PACOTE (IP Packet)**

Estrutura básica (IPv4):

```
0                   1                   2                   3  
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Version| IHL   | DSCP | ECN |        Total Length              |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Identification |Flags| Fragment Offset                         |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| TTL |Protocol | Header Checksum                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               Source IP Address                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               Destination IP Address                          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|   Options (optional)                                          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|   Payload (Layer 4 data: TCP/UDP/ICMP/etc)                    |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
```

***

## 🔥 **IP NÃO GARANTE ENTREGA**

* Não retransmite
* Não confirma recebimento
* Não corrige erro de payload
* Não negocia congestionamento

Ele **apenas entrega da melhor forma possível** (best-effort).

> A confiabilidade é responsabilidade do **TCP** (camada 4), não do IP.

***

## 🗺️ **Endereçamento Lógico**

### IPv4 – Formato:

```
32 bits → Ex.: 192.168.10.15/24
```

Dividido em:

* **ID da Rede**
* **ID do Host**

### IPv6 – Formato:

```
128 bits → Ex.: 2001:db8::14a:2f/64
```

Muito mais espaço, autoconfiguração, segurança embutida.

***

## 🧭 **Roteadores – Como Eles Tomam Decisões**

### Tabela de Roteamento (RIB – Routing Information Base)

| Destino   | Máscara | Gateway      | Interface | Métrica |
| --------- | ------- | ------------ | --------- | ------- |
| 10.10.0.0 | /16     | 192.168.1.1  | Gi0/0     | 10      |
| 0.0.0.0   | /0      | 200.143.23.1 | Gi0/1     | 1       |

### Algoritmo principal:

**Longest Prefix Match** Quanto mais específica a rota → mais prioridade.

***

## 🛰️ **Protocolos de Roteamento**

### **Classificação**

| Tipo               | Protocolos              | Função                                   |
| ------------------ | ----------------------- | ---------------------------------------- |
| **Interior (IGP)** | OSPF, IS-IS, EIGRP, RIP | Roteamento dentro de uma organização     |
| **Exterior (EGP)** | BGP                     | Roteamento entre organizações (Internet) |

#### OSPF (Link-State)

* Constrói mapa completo da topologia
* Algoritmo Dijkstra
* Convergência rápida
* Utilizado em redes corporativas

#### BGP (Path Vector)

* Sustenta **a Internet**.
* Roteia **entre AS (Autonomous Systems)**
* Política > Velocidade
* Escala global

***

## 🧱 **Fragmentação e MTU**

Quando um pacote é maior que a capacidade do enlace (MTU), ele é fragmentado.

Exemplo:

* MTU Ethernet = **1500 bytes**
* MTU PPPoE = **1492 bytes**
* MTU VPN (IPSec) pode cair para \~1400 bytes

Se DF (Don't Fragment) estiver **ativo**: → Pacote é **DROPADO** → ICMP *Fragmentation Needed* é retornado

Isso é **comumente ignorado** → causa lentidão misteriosa.

***

## 🛰️ **ARP – A Ponte entre Camada 3 e 2**

* Camada 3 sabe o **IP de destino**
* Precisa descobrir **MAC de destino**
* Pergunta:

```
Quem tem 192.168.1.10? Responda ao 192.168.1.1
```

* Resposta:

```
192.168.1.10 está no MAC A4:C1:55:90:44:19
```

Sem ARP: → Ethernet **não funciona**.

***

## 🌪️ **Domínios de Broadcast vs. Roteamento**

| Item        | Camada 2 (Switch) | Camada 3 (Roteador) |
| ----------- | ----------------- | ------------------- |
| Domínio     | Broadcast         | Rede independente   |
| Identidade  | MAC               | IP                  |
| Comunicação | Local             | Global              |
| Limites     | VLAN              | Subnet              |

**Cada sub-rede é um novo domínio de camada 3.**

***

## 🧩 **Analogia com Correios**

| Elemento     | Significa             | Exemplo                            |
| ------------ | --------------------- | ---------------------------------- |
| Endereço IP  | Cidade + Rua + Número | “Av. Brasil, 321”                  |
| Endereço MAC | Pessoa dentro da casa | “Fulano da Silva”                  |
| Switch       | Porteiro do prédio    | conhece quem está em qual porta    |
| Roteador     | Central de Correios   | decide rotas entre bairros/cidades |

***

## ⚙️ **Exemplo Real – Fluxo de um Ping entre Redes**

PC A (192.168.1.10) → PC B (10.0.0.15)

1. PC A vê que destino **não está na sua rede**
2. Envia pacote para **Gateway Padrão**
3. Switch entrega ao roteador
4. Roteador encaminha segundo tabela de roteamento
5. No destino, ARP resolve MAC
6. Resposta volta pelo caminho inverso

***

## 🧠 **Resumo Matador**

```
Camada 3 = IP, rotas, roteadores.
Roteia entre sub-redes e entre redes globais.
Usa algoritmos para decidir o melhor caminho.
ARPs amarram camada 3 → camada 2.
Sem camada 3 → não existe Internet.
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://0xmorte.gitbook.io/bibliadopentestbr/conceitos/redes/modelo-osi/camada-3.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
