Principales protocolos de Internet

En esta entrada vamos a conocer con algo de detalle los principales protocolos con los que funciona Internet. Lógicamente, hay muchos más de los aquí descritos, por lo que esto es solo un resumen a muy alto nivel.

ARP (Address Resolution Protocol)

Este protocolo permite que un equipo conozca la dirección física (MAC) de una tarjeta de red relacionada a una dirección IP (dirección lógica).
Para que se relacionen las direcciones físicas con las lógicas, ARP pregunta a todos equipos de la red, mediante un broadcast (comunicación de uno a todos), sus direcciones físicas y crea una tabla de búsqueda entre las direcciones lógicas y físicas en una memoria caché.

RARP (Reverse Address Resolution Protocol)

Realiza el mapeo de direcciones MAC a direcciones IP; es decir, dada una dirección MAC, se encarga de obtener de manera dinámica la dirección IP; este protocolo se utiliza en terminales diskless (computadoras que no cuenta con disco duro) en donde pueda residir una dirección lógica. Esta computadora requiere obtener su dirección IP de algún servidor de RARP.

IP (Internet Protocol)

Es un protocolo que puede usarse tanto para el direccionamiento como para el enrutamiento de paquetes. El direccionamiento es cómo asignamos una dirección IP a un equipo que se conectará en red; el enrutamiento encuentra el mejor camino para hacer llegar a un paquete del origen a su destino final, pasando por equipos de telecomunicaciones como ruteadores.

No está orientado a la conexión, lo cual significa que no establece una sesión antes del intercambio de datos. No garantiza la entrega de paquetes, siempre hace su mejor esfuerzo, pero por el camino puede ser extraviado, fuera de secuencia o duplicado.

Si se necesita fiabilidad de la llegada de paquetes a su destino, ésta la proporcionan protocolos de la capa de transporte como TCP.

CampoFunción
Version4 bits son usados para indicar la versión de IP.
Header Length4 bits para indicar el número de 32 bits en el encabezado IP.
Type of service8 bits que son usados para indicar la calidad deseada del servicio por este datagrama en la entrega a través de los routers en la red.
Total Length13 bits usados para indicar el total de la longitud del datagrama.
Identification16 bits son usados como identificadores para este específico paquete. Si el paquete es fragmentado, todos los fragmentos tienen el mismo número de identificador.
Fragmentation Flags3 bits para las banderas del proceso o de fragmentación.
Fragmentation Offset13 bits para un contador que indica la posición del fragmento.
TTL8 bits para indicar los saltos, antes de ser descargado.
Protocol8 bits para identificar el protocolo IP del cliente.
Header Checksum16 bits usados como checksum.
Source Address32 bits para almacenar la IP del host origen.
Destination Address32 bits para la dirección destino.
Options and PaddingUn múltiple de 31 bits usado para almacenar las opciones de IP.

RARP (Reverse ICMP (Internet Control Message Protocol)

Envía mensajes y reportes de error de los paquetes. El protocolo de mensajes de control de Internet es un protocolo de mantenimiento. Los mensajes ICMP se encapsulan dentro de los datagramas de IP para que puedan encaminarse entre varias redes interconectadas. Se utiliza para:

Construir y mantener tablas de ruteo.
Diagnosticar problemas (ping y traceroute) que envían y reciben mensajes de petición de Echo ICMP, con lo que determinan si un host está encendido y conectado a la red.
Ajustar el control de flujo para prevenir la saturación de enlace de los ruteadores.

IGMP (Internet Group Management Protocol)

Este protocolo de red se utiliza para intercambiar información acerca del estado de pertenencia entre ruteadores IP que admiten la multidifusión, y miembros de grupos de multidifusión. Los hosts miembros individuales informan acerca de la pertenencia de los hosts al grupo de multidifusión; en tanto los ruteadores de multidifusión sondean periódicamente el estado de la pertenencia.
La última versión disponible de este protocolo es la IGMPv3 descrita en el RFC 3376.

Mediante el protocolo IGMP, el propio ruteador de multidifusión local de alguna organización puede encontrar máquinas vecinas con miembros activos de cualquier grupo de multidifusión que haya en Internet, en el escenario de la propia red de área local de la organización en cuestión.

El protocolo IGMP ocupa, al igual que el protocolo ICMP, un mismo subnivel de comunicaciones por encima de IP en el nivel de red o Internet. Además, y al igual que el protocolo ICMP, el protocolo IGMP está tan íntimamente ligado al protocolo IP que, de hecho, se puede ver como una parte integral de IP; es decir, un módulo más dentro del propio módulo o proceso IP.

UDP (User Datagram Protocol)

El protocolo de datagramas de usuarios suministra un servicio no orientado a la conexión (sin que se haya establecido anteriormente una conexión) y no fiable (no tiene confirmación ni control de flujo). Se utiliza frecuentemente en comunicaciones de datagramas IP de difusión. Puesto que no está garantizada la recepción de los datagramas UDP; los programas que lo utilizan deben elaborar sus propios mecanismos de fiabilidad.

Su uso principal es para protocolos como DHCP, BOOTP, DNS y otros protocolos donde se hace un intercambio de paquetes en los cuales no es necesario tener la confirmación de los paquetes entregados, por ejemplo, en la transmisión de un video por streaming, donde podemos llegar a perder paquetes en la transmisión y no es necesario su reenvío para verlos posteriormente, ya que esto dejaría de dar sentido a lo que se ve.

TCP (Transmission Control Protocol)

Es un protocolo de Internet orientado a conexión responsable de fragmentar los datos en paquetes que el protocolo IP envía a la red. Este protocolo proporciona un flujo de comunicación fiable y secuenciada para la comunicación de red.

El protocolo de control de transmisión suministra a los programas un servicio orientado a conexión fiable y de flujos de bytes. Los servicios de red se basan en el transporte TCP para iniciar la sesión, compartir archivos e impresión, duplicar la información entre controladores de dominio, transferencia de listas de examinadores y otras funciones comunes. Sólo puede utilizarse TCP para comunicaciones de uno a uno. TCP utiliza una suma de comprobación en ambas cabeceras y en los datos de cada segmento para reducir las probabilidades de corrupción que no se detecte en los datos.

Un mensaje de ACK (acknowledgment) es usado para verificar que los datos hayan sido recibidos por los otros hosts. Por cada segmento enviado, el host que recibe debe enviar un ACK. Cuando no se recibe el mensaje de ACK, la información es retransmitida; igualmente, cuando un segmento es dañado se vuelve a enviar.

Estructura del paquete de TCP2. Todos los paquetes de TCP tienen dos partes: datos y encabezado. Los campos que contiene el encabezado son los siguientes:

CampoFunción
Version4 bits son usados para indicar la versión de IP.
Source PortPuerto del host que envía 16 bits.
Destination PortPuerto del host destino: 16 bits.
Sequence NumberLa secuencia en bits transmitidos por segmento. El número de secuencia es usado para verificar que todos los bytes fueron recibidos: 32 bits.
Acknowledgment NumberEl número de secuencia de los bytes que host local espera recibir: 32 bits.
Data LengthLongitud del encabezado: 4 bits.
ReservedReservado para uso futuro: 6 bits.
FlagsEste campo especifica el contenido del segmento.
WindowsIndica qué espacio está disponible en la ventana TCP.
ChecksumVerifica que el encabezado no esté corrompido: 16 bits.
Urgent PointerCuando un dato urgente es enviado (se especifica en el campo Flag): 16 bits.

Espero que os guste.

Hasta la próxima.

Un saludo Sysadmins! 🙂

About: Miguel Carretas Perulero

Miguel Carretas Perulero ha escrito 76 artículos en este blog.

Deja un comentario