Na Camada de Rede, a unidade fundamental de transferência de informações é denominada Datagrama (quando se trata de redes orientadas a pacotes sem conexão, como a arquitetura TCP/IP). O datagrama é a PDU (Protocol Data Unit) desta camada, análoga ao “quadro” na Camada de Enlace ou ao “segmento” na Camada de Transporte.
O conceito de datagrama é mais do que apenas um pacote de dados; ele define a atomicidade da informação que trafega pela internet. Ele representa a menor entidade de informação que a Camada de Rede entende, processa e roteia de forma independente.
1. Definição e Autossuficiência
Um datagrama IP é uma estrutura de dados autossuficiente. Isso significa que ele carrega consigo todas as informações necessárias para ser entregue ao seu destino, independentemente de qualquer outro datagrama.
- Cabeçalho Rico em Metadados: O datagrama é composto por um cabeçalho (header) e uma carga útil (payload). O cabeçalho contém metadados cruciais, como o endereço IP de origem e o endereço IP de destino.
- Endereçamento Global: Diferente de um quadro da Camada de Enlace, que contém endereços MAC que têm validade apenas localmente (saltos individuais), o datagrama contém endereços lógicos globais que permanecem constantes do início ao fim da jornada (exceto em casos específicos de NAT).
- Ausência de Contexto Externo: Quando um roteador recebe um datagrama, ele toma a decisão de encaminhamento baseando-se apenas no que está escrito dentro daquele datagrama específico. O roteador não precisa saber qual datagrama chegou antes nem qual chegará depois.
2. Independência de Pacotes
A característica mais distintiva do datagrama como unidade de transferência é a sua independência. No protocolo IP, não existe o conceito de um “fluxo” físico ou lógico de dados contínuo no nível da rede.
- Tratamento Individual: Cada datagrama é processado isoladamente. Se uma mensagem é grande e precisa ser dividida em 10 datagramas, a rede trata esses 10 datagramas como 10 mensagens distintas que, por coincidência, estão indo para o mesmo lugar.
- Roteamento Divergente: Devido a essa independência, o datagrama 1 pode tomar a Rota A, enquanto o datagrama 2 pode tomar a Rota B. Isso pode ocorrer devido a mudanças nas tabelas de roteamento, balanceamento de carga ou falhas temporárias em links.
- Chegada Desordenada: Como consequência da rota independente, os datagramas não garantem a ordem de chegada. A unidade básica de transferência não sequencia os dados; ela apenas os transporta. A ordenação é uma responsabilidade da Camada de Transporte (ex: o número de sequência no TCP).
3. Estrutura Variável e Fragmentação
O datagrama IP é uma unidade de tamanho variável. Diferente de células fixas (como em tecnologias ATM), o datagrama pode ter poucos bytes ou vários quilobytes, limitado apenas pela MTU (Maximum Transmission Unit) da rede subjacente e pela capacidade do cabeçalho.
- Encapsulamento: O datagrama encapsula o segmento da Camada de Transporte. Se o segmento for muito grande para a rede pela qual ele deve passar, o datagrama pode ser fragmentado.
- Fragmentos como Unidades: Quando um datagrama é fragmentado, cada fragmento torna-se, ele próprio, um datagrama independente (ou parte de um), com seu próprio cabeçalho IP. Eles são roteados independentemente e remontados apenas no destino final. Isso reforça que a “unidade de transferência” é flexível e adaptável às restrições físicas das redes intermediárias.
4. Ciclo de Vida da Unidade
Como unidade de transferência, o datagrama tem um ciclo de vida claro dentro da arquitetura de rede:
- Criação (Origem): A Camada de Rede do host origem recebe dados da Camada de Transporte, anexa o cabeçalho IP (endereçamento e controle) e cria o datagrama.
- Transmissão: O datagrama é passado para a Camada de Enlace para ser colocado no meio físico como um quadro.
- Roteamento (Intermediário): Em cada salto, o quadro é desencapsulado, expondo o datagrama. O roteador lê o cabeçalho do datagrama, decrementa o TTL e decide o próximo salto. O datagrama é então reencapsulado em um novo quadro para o próximo link.
- Destruição (Destino): O host de destino recebe o quadro, retira o datagrama, verifica o cabeçalho e, se o endereço de destino corresponder ao seu próprio, remove o cabeçalho IP e entrega o conteúdo (payload) para a Camada de Transporte, encerrando a vida útil daquele datagrama.