Endereçamento, datagrama e roteamento na Internet — RFC 791 (1981)
O Internet Protocol versão 4 é o protocolo da camada de rede responsável por endereçar e encaminhar pacotes entre redes distintas.
Um endereço IPv4 tem 32 bits, escritos em notação decimal pontuada: quatro octetos (0–255) separados por pontos.
232 = 4.294.967.296 endereços possíveis (~4,3 bilhões). Parece muito, mas foi insuficiente para a Internet atual.
Todo endereço divide-se em parte de rede (identifica a rede) e parte de host (identifica o dispositivo dentro dela). A fronteira é dada pela máscara.
| Classe | 1º octeto | Prefixo | Uso |
|---|---|---|---|
| A | 0–127 | /8 | Redes enormes |
| B | 128–191 | /16 | Redes médias |
| C | 192–223 | /24 | Redes pequenas |
| D | 224–239 | — | Multicast |
| E | 240–255 | — | Reservada/experimental |
Desde 1993 (RFC 1518/1519), a fronteira rede/host é flexível e indicada pelo prefixo /n — o número de bits de rede. Acaba o desperdício do modelo classful e melhora a agregação de rotas.
Com um prefixo /n, restam 32 − n bits para hosts. O número de endereços e de hosts utilizáveis por sub-rede é:
| Faixa / endereço | Nome | Função |
|---|---|---|
| 10.0.0.0/8 · 172.16.0.0/12 · 192.168.0.0/16 | Privados (RFC 1918) | Uso interno; não roteáveis na Internet pública (dependem de NAT). |
| 127.0.0.0/8 | Loopback | O próprio host (127.0.0.1 = localhost). |
| 169.254.0.0/16 | Link-local / APIPA | Autoconfiguração quando não há DHCP (RFC 3927). |
| 0.0.0.0 | Indefinido / rota padrão | "Este host" ou qualquer destino, conforme o contexto. |
| 255.255.255.255 | Broadcast limitado | Envia a todos os hosts da rede local. |
| 224.0.0.0/4 | Multicast (Classe D) | Entrega a um grupo de hosts assinantes. |
O cabeçalho tem 20 bytes (sem opções) e até 60 bytes. Cada linha abaixo representa 32 bits:
Os 20 bytes obrigatórios vão da Versão ao Endereço de Destino; as Opções são raras.
| Campo | Bits | Para que serve |
|---|---|---|
| Versão | 4 | Vale 4 no IPv4. |
| IHL | 4 | Tamanho do cabeçalho em palavras de 32 bits (mín. 5 = 20 bytes; máx. 15 = 60 bytes). |
| DSCP + ECN | 8 | Qualidade de serviço (priorização) e notificação de congestionamento. |
| Comprimento Total | 16 | Cabeçalho + dados, em bytes (até 65.535). |
| Identificação | 16 | Identifica os fragmentos de um mesmo datagrama original. |
| Flags | 3 | DF (não fragmentar) e MF (há mais fragmentos). |
| Deslocamento do Fragmento | 13 | Posição deste fragmento (em unidades de 8 bytes) no datagrama original. |
| TTL | 8 | Limite de saltos; evita pacotes em loop eterno. |
| Protocolo | 8 | O que vem na carga: 1=ICMP, 6=TCP, 17=UDP. |
| Checksum do Cabeçalho | 16 | Detecção de erro apenas no cabeçalho (recalculado a cada salto). |
| Origem / Destino | 32 + 32 | Endereços IP do remetente e do destinatário. |
Cada enlace tem uma MTU (unidade máxima de transmissão; na Ethernet, 1500 bytes). Se um datagrama é maior que a MTU do próximo enlace, o IPv4 o fragmenta.
O TTL (Time To Live) é um contador de saltos. Cada roteador o decrementa em 1; ao chegar a zero, o pacote é descartado.
Envia pacotes com TTL = 1, 2, 3, … Cada roteador que zera o TTL responde com ICMP Time Exceeded, revelando, salto a salto, o caminho até o destino.
O IPv4 protege apenas o cabeçalho contra erros, com um checksum de complemento de um sobre as palavras de 16 bits do cabeçalho.
Cada camada "embrulha" os dados da camada superior, adicionando seu próprio cabeçalho.
O ICMP (Internet Control Message Protocol) acompanha o IP para reportar erros e diagnosticar a rede. Ele viaja dentro de datagramas IP (protocolo nº 1).
O ping mede se um host responde e o tempo de ida e volta (RTT), enviando Echo Requests e aguardando os Replies.
~4,3 bilhões de endereços não bastam. O pool central da IANA esgotou em 2011, e as regiões esgotaram nos anos seguintes.
CIDR (uso eficiente de blocos), endereços privados (RFC 1918) e NAT, que faz muitos hosts internos compartilharem um IP público.
O IPv6, com 128 bits (3,4 × 1038 endereços), elimina a escassez e simplifica o cabeçalho.
| Aspecto | IPv4 | IPv6 |
|---|---|---|
| Tamanho do endereço | 32 bits (~4,3 bilhões) | 128 bits (~3,4 × 10³⁸) |
| Notação | Decimal pontuada | Hexadecimal com dois-pontos |
| Cabeçalho | 20–60 bytes, com checksum | 40 bytes fixos, sem checksum |
| Fragmentação | Roteadores e origem | Apenas a origem |
| Configuração | Manual / DHCP | Autoconfiguração (SLAAC) / DHCPv6 |
| NAT | Onipresente | Em geral desnecessário |
O IPv4 endereça e encaminha pacotes na Internet com 32 bits, em modelo não orientado a conexão e de melhor esforço. Seu datagrama carrega campos essenciais — endereços, TTL, protocolo, flags de fragmentação e checksum do cabeçalho. CIDR, endereços privados e NAT prolongaram sua vida diante da escassez, mas o futuro do crescimento é o IPv6.
Voltar aos Tópicos