Fragmentação e remontagem
Um datagrama IP pode ter um tamanho de até 65535 bytes.
Por outro lado, o IP é um protocolo da camada de rede, que
deve ser transportado por protocolos das camadas inferiores. O problema
é que estes protocolos inferiores podem não suportar
o transporte de datagramas deste tamanho. Um exemplo muito conhecido
é o caso do IP sobre ethernet cujo quadro tem um tamanho
máximo (MTU - Maximum Transmission Unit) de 1500 bytes.
Neste caso, um recurso usado pelo IP (e por várias outros
protocolos) é o da fragmentação
(segmentação) e remontagem. O roteador negocia com os
periféricos de rede e com o próximo roteador o tamanho
máximo que pode ser usado naquela sub-rede. Datagramas com
tamanhos maiores deverão ser então fragmentados.
A operação de fragmentação consiste em
quebrar os dados do datagrama em unidades transportáveis, copiar
o cabeçalho para cada uma delas e finalmente enviar. Para que
o receptor possa remontar o datagrama original, os campos
Identification,
Flags e
Fragment Offset são usados.
- Cada datagrama IP enviado por uma máquina possui um
Identification diferente. Quando o datagrama
deve ser fragmentado,
o valor deste campo se mantém o mesmo em cada fragmento.
- O campo Flags possui, em especial, 2 bits:
- Do not Fragment, que informa que o datagrama não deve
ser fragmentado. Se não for possível transportar sem
essa operação, deve ser descartado pelo roteador.
- Essa opção pode ser usada para se determinar o
tamanho máximo que pode ser transportado por uma rede.
- Caso o roteador resolva descartar o datagrama, deve informar
o emissor através de ICMP.
- More Fragments, que indica a existência de mais
fragmentos após a posição deste. Ou seja, se este
bit não estiver setado, este é o último fragmento
da cadeia.
- O campo Offset determina a posição
relativa deste fragmento em relação ao datagrama original.
Como o campo Flags consumiu 3 bits (um é reservado), este
campo é utilizado sempre em múltiplos de 8.
Com estes dados, é possível, sempre que necessário,
se fragmentar um datagrama de tamanho excessivo em pedaços menores,
suportados pela rede, e remontá-lo completamente no seu destino.
Cabe lembrar que, por motivos de desempenho dos roteadores, é
função única e exclusiva do receptor a
reconstrução do datagrama.
Copyright © 1995 by Jonny