Estrutura do cabeçalho IPv4
O cabeçalho IPv4 opera na camada 3 do modelo OSI e contém as informações necessárias para rotear pacotes entre redes distintas. Entender cada campo é essencial para o exame CCNA 200-301.
Posição na encapsulação
Antes de detalhar os campos, revise a hierarquia de PDUs:
| Camada | PDU | Composição |
|---|---|---|
| 4 (Transporte) | Segmento | Dados + cabeçalho TCP/UDP |
| 3 (Rede) | Pacote | Segmento + cabeçalho IP |
| 2 (Enlace) | Quadro | Pacote + cabeçalho/trailer Ethernet |
Campos do cabeçalho IPv4
Version (4 bits)
Identifica a versão do protocolo IP. Para IPv4, o valor é sempre 4 (0100 em binário). Para IPv6, o valor é 6 (0110). O IPv5 existiu como protocolo experimental (Internet Stream Protocol) mas nunca foi adotado publicamente.
IHL — Internet Header Length (4 bits)
Indica o tamanho total do cabeçalho em incrementos de 4 bytes, pois o campo Options tem tamanho variável.
- Valor mínimo: 5 → 5 × 4 = 20 bytes (sem opções)
- Valor máximo: 15 → 15 × 4 = 60 bytes (opções ocupam até 40 bytes)
DSCP — Differentiated Services Code Point (6 bits)
Usado para QoS (Quality of Service). Define a prioridade do tráfego, especialmente para dados sensíveis à latência como voz e vídeo (VoIP, streaming). Tráfego marcado com DSCP mais alto recebe tratamento preferencial nos roteadores.
ECN — Explicit Congestion Notification (2 bits)
Sinaliza congestionamento de rede sem descartar pacotes. Requer suporte em ambos os endpoints e na infraestrutura intermediária. Campo opcional.
Total Length (16 bits)
Indica o tamanho total do pacote IP (cabeçalho + segmento encapsulado) em bytes — diferente do IHL, que usa incrementos de 4 bytes.
- Mínimo: 20 bytes
- Máximo: 65.535 bytes (2¹⁶ − 1)
Identification (16 bits)
Identifica fragmentos de um mesmo pacote original. Todos os fragmentos de um pacote compartilham o mesmo valor neste campo, permitindo a remontagem no destino.
Flags (3 bits)
Controla a fragmentação:
| Bit | Nome | Descrição |
|---|---|---|
| 0 | Reserved | Sempre 0 |
| 1 | DF (Don't Fragment) | Proíbe fragmentação |
| 2 | MF (More Fragments) | Indica que há mais fragmentos |
Fragment Offset (13 bits)
Indica a posição do fragmento dentro do pacote original, em incrementos de 8 bytes. Usado na remontagem.
TTL — Time to Live (8 bits)
Limita o número de saltos (hops) que o pacote pode percorrer. Cada roteador decrementa o TTL em 1. Quando chega a 0, o pacote é descartado e uma mensagem ICMP é enviada ao origem.
! Verificar TTL em ping estendido no IOS
R1# ping 192.168.1.1 repeat 5 Valores padrão de TTL por sistema operacional: Windows = 128, Linux/macOS = 64, Cisco IOS = 255.
Protocol (8 bits)
Identifica o protocolo da camada 4 encapsulado:
| Valor | Protocolo |
|---|---|
| 6 | TCP |
| 17 | UDP |
| 1 | ICMP |
| 89 | OSPF |
Header Checksum (16 bits)
Verifica a integridade apenas do cabeçalho IP (não dos dados). Recalculado a cada hop, pois o TTL é decrementado.
Source IP Address (32 bits)
Endereço IPv4 do dispositivo de origem.
Destination IP Address (32 bits)
Endereço IPv4 do dispositivo de destino.
Options (0–320 bits)
Campo opcional de comprimento variável. Raramente utilizado em redes modernas.
Verificação no Cisco IOS
! Capturar e inspecionar pacotes com debug
R1# debug ip packet detail
! Verificar informações de roteamento (usa campos do cabeçalho)
R1# show ip route
! Testar TTL e fragmentação
R1# ping 10.0.0.1 df-bit size 1500 Resumo para o exame
- Cabeçalho mínimo: 20 bytes (IHL = 5)
- Cabeçalho máximo: 60 bytes (IHL = 15)
- Pacote máximo: 65.535 bytes (Total Length)
- TTL impede loops infinitos de roteamento
- Campo Protocol vincula camada 3 à camada 4