Resumen
- Un Fragment Offset de 32 coloca los datos en el byte 256 del datagrama original, no en el byte 32.
- Todo fragmento con MF=1 debe llevar una cantidad de datos divisible por ocho; el último no tiene esa obligación.
El campo no cuenta bytes directamente
RFC 791 define el Fragment Offset como un campo de 13 bits medido en unidades de ocho octetos. Para obtener el inicio en bytes, el receptor multiplica el valor por ocho. Por eso 32 representa la posición 256.
Hay una razón aritmética. Trece bits producen 8192 valores. Al multiplicarlos por ocho, la coordenada alcanza 65 536 octetos, una escala compatible con el campo Total Length de 16 bits. Los tres bits inferiores quedan implícitos en lugar de ocupar espacio en cada encabezado.
La unidad impone una frontera
La posición del fragmento siguiente debe poder expresarse con esa misma unidad. Por ello, cuando MF=1, la parte de datos del fragmento debe tener una longitud divisible por ocho. La regla se aplica a los datos, no a la longitud total del fragmento, que también incluye su encabezado IPv4.
El fragmento final es distinto. Como no habrá otro comienzo que codificar después de él, puede contener una cantidad de datos no divisible por ocho. La afirmación correcta no es que todos los fragmentos tengan múltiplos de ocho, sino que los no finales sí deben tenerlos.
Posición y final no son la misma evidencia
El offset dice dónde comienza este fragmento. MF dice si queda más información. Un datagrama sin fragmentar tiene offset cero y MF=0. El primer fragmento también puede empezar en cero, pero con MF=1. El último puede comenzar en una posición distinta de cero y llevar MF=0.
Para reensamblar, el receptor combina el inicio calculado con la longitud de datos y obtiene un intervalo de bytes. RFC 815 describe ese proceso mediante intervalos recibidos y huecos pendientes: un fragmento puede llenar, recortar o dividir un hueco. MF=0 comunica el extremo final, pero aún deben estar presentes todos los intervalos anteriores.
La coordenada sobrevive a otra fragmentación
Si un fragmento vuelve a dividirse, sus nuevas posiciones siguen siendo relativas al datagrama original. No aparece una numeración local. Así, distintos equipos pueden producir cortes sucesivos dentro de un mismo espacio de coordenadas.
El diseño muestra el precio de una representación compacta: los bits omitidos se recuperan al decodificar, pero el emisor debe conservarlos mediante fronteras alineadas.
Fuentes
Informe para miembros
Contexto ampliado del perfil
Inicia sesión con el nivel de membresía adecuado para desbloquear el informe completo y las notas de las fuentes.
Solo para Strategic Circle
Strategic Circle
Abierto a todos los lectores. Desbloquea informes de perfil después de unirte e iniciar sesión.
Únete a Strategic CircleSolo para Leadership Alliance
Leadership Alliance
Para propietarios y directivos cualificados de activos de propiedad intelectual; inicia sesión para desbloquear los informes de la alianza.
Unirse a Leadership Alliance
