Causas de la fragmentación
A veces los paquetes cuando viajan se les impone un tamaño máximo por lo que tienen que fragmentarse. Estos límites en el tamaño se pueden deber a diversas causas, por ejemplo:
la imposición de algún estándar o la definición de un protocolo que impone un limite al tamaño de los datos que transporta
limitaciones de los buffers
limitaciones en las ranuras de tiempo de transmisión (por ejemplo, en la técnicas de división de tiempo)
disminuir las retransmisiones debidas a errores
evitar que un paquete ocupa el canal durante bastante tiempo
Los protocolos de enlace juegan un papel importante en las limitacionbes en el tamaño de los paquetes. Cada protocolo de enlace tiene una unidad máxima de transmisión, MTU (Maximum Transmission Unit). Esta trama se encapsula dentro del paquete de la capa de red, por ejemplo, dentro del datagrama IP. Dado que un paquete puede pasar por diversas redes que tienen protocolos del nivel de enlace distintos, por ejemplo, una trama Ethernet puede transportar tramas de hasta 1500 bytes y otros protocolos tienen un límite de 576 bytes. Por lo que se hace necesario fragmentar un paquete que en el origen tienen un tamaño definido cuando pase por una red con una MTU más pequeña.
Por último, hay que tener en cuenta que a nivel de red es difícil poner restricciones para evitar que los paquetes pasen por redes que se puedan adaptar al tamaño del paquete, ya que puede haber redes que sean de paso obligado, por ejemplo, el último salto.
Por ello, la única solución en muchos casos es permitir que los paquetes se puedan fragmentar con respecto al paquete original y, por tanto, será necesario su posterior reensamblado.