Publicado el 2 comentarios

INTRODUCCIÓN AL PROTOCOLO IPv4

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

MTU
Imagen 1. 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:

  • Protocolo Connectionless

  • El protocolo IPv4 no se encarga de establecer una conexión previa con el dispositivo al cual desea enviar los paquetes.

    MTU
    Imagen 2. Topología routers

    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.

  • Protocolo de mejor esfuerzo «Best Efford»

  • 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.

  • Protocolo independiente del medio físico

  • 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.


    MTU
    Imagen 3. Header IPv4

    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.

    MTU
    Imagen 4. Tamaño del header

    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.

    MTU
    Imagen 5. Tamaño del paquete

    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.

    MTU
    Imagen 6. Números de protocolos

    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 =).

    ¿QUIERES ESTAR AL TANTO DE NUESTAS PUBLICACIONES?

    Deja tu Email y enterate de los nuevos cursos, ofertas, tutoriales y todo sobre NetworkGeeks.

    2 comentarios en “INTRODUCCIÓN AL PROTOCOLO IPv4

    1. La información bastante detallada y de mucha ayuda , existe alguna forma de descárgala ? .
      Dónde puedo tomar el Quiz ?

      1. Gracias, el Quiz se encuentra en este enlace: https://netwgeeks.com/preguntas-ipv4/

        Saludos!

    Deja una respuesta

    Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *