Vemos la necesidad de realizar esta entrada del blog, debido a que el 90% de las personas reprobaron el Quiz de 10 preguntas sobre el header IPv4 que lanzamos hace unos días. Así que vamos a explicar de manera breve e introductoria, el protocolo IPv4 y los campos de su header. Con esta explicación esperamos que puedan responder correctamente las preguntas del Quiz.
Capa de Red
Comencemos la explicación analizando la capa de Red. La tarea de esta capa, es proporcionar los caminos a través de los cuales debe viajar la información desde un dispositivo de origen hasta un dispositivo de destino. La capa de Red logra esta tarea a través de las funciones de encapsulación/desencapsulación, direccionamiento y enrutamiento. Para el enrutamiento se utilizan diferentes protocolos como OSPF, EIGRP y RIP. Para el direccionamiento se utilizan los protocolos IPv4 e IPv6.
Proceso de encapsulación

En la imagen 1 podemos ver el proceso de encapsulación con los respectivos PDUs. Los datos son generados en las capas superiores, en estas capas el PDU lleva la denominación de datos. Los datos son entregados a la capa de Transporte, la capa de Transporte añade su header encapsulando los datos recibidos, y ahora el PDU se denomina segmento. El segmento es entregado a la capa de Red donde es encapsulado con un header, en esta capa el PDU se denomina paquete. El paquete es enviado a la capa de Enlace de datos donde es encapsulado con un header y un trailer de algún protocolo de la capa 2, en esta capa el PDU se denomina trama. Finalmente la trama es enviada a la capa Física donde el PDU lleva la denominación de bits.
En cada capa del modelo de red, trabaja un protocolo diferente que realiza diversas tareas para el cumplimiento de la comunicación entre 2 dispositivos. Vamos a asumir en esta oportunidad, que en la capa de red se encuentra trabajando el protocolo IPv4.
Protocolo IPv4
El protocolo IPv4 se encuentra definido en el RFC 791. En ese documento pueden encontrar todo lo referente a IPv4.
La función principal del protocolo IPv4, es encargarse del direccionamiento de los dispositivos en una red de manera que pueda existir comunicación entre esos dispositivos.
Características generales
El protocolo IPv4 tiene 3 características generales:
El protocolo IPv4 no se encarga de establecer una conexión previa con el dispositivo al cual desea enviar los paquetes.

En la imagen 2, si el router R1 quiere enviar paquetes al router R2, simplemente los envía sin previo aviso, el protocolo que se encarga de establecer una conexión previa con el dispositivo de destino, es TCP en la capa de Transporte.
IPv4 no tienen mecanismos que le permitan garantizar que un paquete haya sido recibido de manera correcta por el dispositivo de destino. En la imagen 2, si un paquete que envía el router R1 al router R2 se pierde por cualquier motivo, al protocolo IPv4 no le interesa ni tampoco tiene los mecanismos para volver a enviar ese paquete.
Al protocolo IPv4 no le interesa si se envían sus paquetes a través de fibra óptica, a través de cables de cobre o a través de medios inalámbricos, esa es la tarea de la capa 2.
Header IPv4
Para el cumplimiento de sus tareas, el protocolo IPv4 necesita ciertos datos, esos datos son almacenados en su header. El header del protocolo IPv4 lo vemos en la imagen 3.

Tamaño header IPv4
Lo primero que debemos saber es que el header IPv4 tiene un tamaño mínimo de 20 bytes hasta un máximo de 60 bytes. El tamaño del header depende del campo llamado “OPTIONS” que es de tamaño variable, ese campo puede crecer hasta 40 bytes haciendo un total de 60 bytes para todo el header IPv4, sin contar los datos de Aplicación y Transporte. Cuando el campo Opciones no lleva datos, el header IPv4 se mantiene en el mínimo valor de 20 bytes.
Versión
Como su nombre indica, este campo nos proporciona la versión del protocolo IP al cual pertenece el paquete, tiene un tamaño de 4 bits. Si haríamos una captura de tráfico, veríamos en el campo versión, el valor decimal “4” haciendo referencia al protocolo IP versión 4.
Header Length/Tamaño del header
Tiene un tamaño de 4 bits y nos proporciona el tamaño del header IPv4 en palabras de 32 bits o 4 bytes, ya sabemos que suena complicado. Hagamos un par de ejemplos para explicar ese concepto. Supongamos que vemos el valor decimal de 5 en el campo «Tamaño del header», para encontrar el tamaño real del header, tenemos que aplicar la siguiente formula:
Tamaño header = Valor del contenido Header Length * 32 bits
En este caso tendríamos que el tamaño del header es igual 5 * 32 bits que nos daría un valor real del tamaño del header de 160 bits o lo que es igual a 20 bytes, 1 byte son 8 bits. Si se dan cuenta el valor de 20 bytes es el tamaño mínimo del header del paquete IP, lo que significa que no podemos ver en este campo header length un valor más pequeño que 5.
Ojo que este campo solo contempla el tamaño del header IP, sin contar los datos encapsulados como vemos en la imagen 4.

DSCP/ECN
Este campo se utiliza para calidad de servicio (QoS), originalmente se denominaba Type of Service, tiene un tamaño de 8 bits, de los cuales los primeros 6 bits son llamados DiffServ Code Point (DSCP) y los últimos 2 bits son llamados Explicit Congestion Notification (ECN).
Total Length o Packet Length
Este campo nos indica el tamaño total del paquete en bytes. Este tamaño considera el header IP más el header TCP mas los datos de la capa de aplicación como vemos en la imagen 7.

Este campo tiene un tamaño de 16 bits, por lo tanto, el máximo valor decimal que podemos obtener con 16 bits es de 65535, lo que quiere decir que el tamaño máximo de un paquete IP es de 65535 bytes.
Identification, Flags y Fragment Offset
Estos campos son utilizados en el proceso de Fragmentación que lo explicamos en esta otra entrada del blog.
Time To Live
Cuando estudien los protocolos de enrutamiento, se van a dar cuenta que una configuración errónea puede provocar que un paquete circule de manera infinita en una red sin llegar al dispositivo de destino, esto se llama loop. El objetivo de este campo Time To Live es detener los loops de enrutamiento. A este campo se introduce un valor, el valor recomendado es de 64, este número ira disminuyendo en una unidad, por cada router que atraviese, cuando el campo TTL del paquete llegue a «0», el router que disminuyo el valor a 0 elimina el paquete y envía un mensaje de error ICMP «time exceeded» al dispositivo que originó el paquete.
Protocol
Este campo nos indica el protocolo que se está utilizando en la capa superior. Tiene un tamaño de 8 bits. Los números más comunes que encontraremos en esta campo se pueden ver en la imagen 6.

Checksum
Tiene un tamaño de 16 bits y ayuda a verificar la integridad del header IP. Es decir que los datos que se encuentran en el header IP no hayan sido alterados o modificados en su viaje. El Checksum se calcula en cada salto hasta llegar al dispositivo de destino.
Destination Address/Source Address
Estos campos son los más importantes para el estudio de CCNA y tienen un tamaño de 32 bits. En el campo Source Address se introduce la dirección IPv4 del dispositivo que inicia la comunicación, y en el campo Destination Address se introduce la dirección IPv4 del dispositivo de destino con el cual se desea entablar la comunicación.
Options
Tiene tamaño variable, desde 0 hasta 40 bytes. El mayor uso que se le da a este campo es para realizar Loose Source Routing, Stric Source Routing, Timestamp y Record Route que son opciones que pueden ser invocadas con el comando PING.
Padding
Este campo es simplemente un relleno que aumenta bits para que el header termine en un límite de 32 bits. Recuerden que el campo «Header Length» nos proporciona un valor del tamaño del header en palabras de 32 bits, por lo cual el header no puede tener otros tamaños que no sean múltiplos de 32 bits o 4 bytes, y gracias a este padding se logra cumplir esa restricción.
NOTA: respecto a los protocolos que se encargan del direccionamiento, les tiene quedar claro que IPv4 y IPv6 no son los únicos, pero son los protocolos más usados, es muy difícil que hoy en día vean los otros protocolos en la vida real, sin embargo si quieren leer un poco acerca de un par de ellos, pueden investigar sobre el protocolo Connectionless-mode Network Service CLNS y IPX Internetwork packet Exchange.
Esperamos que el presente artículo haya sido de su agrado. Una vez terminen esta entrada, vayan al quiz de 10 preguntas y respondan correctamente =).
La información bastante detallada y de mucha ayuda , existe alguna forma de descárgala ? .
Dónde puedo tomar el Quiz ?
Gracias, el Quiz se encuentra en este enlace: https://netwgeeks.com/preguntas-ipv4/
Saludos!