Protocolos

networking

Un protocolo de red es un conjunto de reglas y estándares que definen cómo los dispositivos se comunican en una red de computadoras. Estas reglas aseguran que los datos se transmitan de manera eficiente y coherente entre diferentes dispositivos. En otras palabras, es la "lengua" que usan las computadoras para entenderse entre sí en una red.

Se estima que existen más de 300 protocolos de red conocidos, pero si sumamos variantes, extensiones y protocolos especializados, el número puede fácilmente superar los 500.

Tipos de protocolos de red

Protocolos de Infraestructura de Red

  • ICMP: el Protocolo de Mensajes de Control de Internet (Internet Control Message Protocol), es un protocolo de red el cual opera dentro de IP encapsulando los mensajes en datagramas IP. ICMP es utilizado para enviar mensajes de diagnóstico y control entre dispositivos de red. Funciona en la capa de red del modelo TCP/IP y se utiliza principalmente para informar sobre errores de comunicación, verificar la conectividad, estado de los dispositivos en la red y para realizar pruebas de red. permite que los dispositivos notifiquen a otros sobre problemas en la transmisión de datos, como paquetes perdidos, errores de ruta o destinos inalcanzables. mensajes del proceso en ICMP:

    • Cuando se da la respuesta a un mensaje echo request (asociado al comando ping), estos mensajes preguntan el destinatario si esta ahí, osea que si es un host alcanzable: Echo Reply

    • cuando los anteriormente explicados echo requests son iniciados: Echo Request

    • Cuando el destino no es alcanzable mediante echo requests se da el mensaje: Destination Unreachable

    • utilizado por los enrutadores para informar a los hosts sobre rutas más eficientes para enviar paquetes a un destino, optimizando el rendimiento de la red: Redirect Message

    • Cuando el enrutador anuncia su presencia en un segmento especifico de la red o indica a un host como alcanzarlo: Router Advertisement

    • Enviado desde un host a cualquier enrutador en la red de área local (LAN) para solicitar que anuncien su presencia en la red: Router Solicitation

    • Indica que un paquete IP no pudo alcanzar su destino y ha expirado debido a que su Tiempo de vida (TTL) llego a cero o porque como paquete fragmentado no pudo re-armarse: Time exceeded TTL, que significa "Time To Live" (Tiempo de Vida), es un valor en la cabecera de un paquete de datos que indica cuánto tiempo o "saltos" puede existir un paquete en la red antes de ser descartado por un enrutador. En esencia, es un mecanismo para prevenir que los paquetes circulen indefinidamente en la red. el valor de TTL inicial se asigna a un paquete al enviarlo, por cada enrutador que pasa este paquete reduce su TTL en uno, si este llega a cero el enrutador descarta el paquete y envia un mensaje de error al origen. Esto es importante ya que esto evita que los paquetes enviados ocupen mucho ancho de banda y recursos de red innecesariamente

    • Cuando ocurre un error en el encabezado IP se lanza el siguiente error: Parameter Problem Un encabezado IP (IP header) es una sección de datos que se añade al inicio de cada paquete IP y contiene información esencial para el enrutamiento y la entrega de datos a través de redes IP. Es como el sobre de una carta, que incluye la dirección del remitente y el destinatario, así como otros detalles importantes para el envío.

      • Dirección IP de origen y destino: Identifican de dónde proviene el paquete y a dónde debe ser entregado.

      • Longitud del encabezado (IHL): El IHL (Internet Header Length) se refiere a la longitud del encabezado IP en palabras de 32 bits. Es un campo de 4 bits dentro de la cabecera IPv4 que indica la longitud del encabezado IP, incluyendo cualquier campo de opciones y relleno necesario para alinearlo en un límite de 32 bits

      • Longitud total: Especifica la longitud total del paquete IP, incluyendo el encabezado y los datos.

      • Versión del protocolo IP: Indica si se trata de IPv4 o IPv6.

      • Tipo de servicio (TOS): El campo "Tipo de Servicio" (ToS) en el encabezado IPv4, también conocido como campo de Servicios Diferenciados (DS), se utiliza para clasificar los paquetes IP y guiar a los enrutadores en la toma de decisiones sobre la Calidad de Servicio (QoS). Básicamente, permite la priorización y el manejo diferenciado del tráfico de red. Originalmente, el campo ToS tenía cinco categorías: Minimizar Retardo, Maximizar Rendimiento, Maximizar Confiabilidad, Minimizar Costo y Servicio Normal. Estas han sido reemplazadas por valores DSCP (Punto de Código de Servicios Diferenciados).

      • Suma de verificación: Se utiliza para verificar la integridad del encabezado IP.

      • Tiempo de vida (TTL): anteriormente explicado, pero en resumen son los saltos que un paquete puede dar antes de llegar a 0 y ser desechado.

      • Protocolo: Indica el protocolo de nivel superior (como TCP o UDP) que se encuentra dentro del paquete IP.

      • Opciones (opcional): Pueden incluir información adicional para propósitos especiales como depuración o seguridad. Representación de cabeceras IP, fuente: Cisco LN

    • cuando se quiere saber el timestamp (marca de tiempo en hora actual) del destino se envia un mensaje de Timestamp Request y se responde con Timestamp Reply

    • cuando se enviamos un paquete a un puerto UDP en un host destino pero no hay nada escuchando el puerto de destino especificado o esta cerrado se lanza el error Port Unreachable .

    Los códigos ICMP son números que indican el tipo de mensaje que se está enviando. Estos códigos son parte de los mensajes ICMP que se utilizan para comunicar errores y otras condiciones en una red IP. Actualmente existen 18 tipos de códigos ICMP, solo que el 1 no esta definido oficialmente por IANA (Autoridad de Números Asignados de Internet (en inglés, Internet Assigned Numbers Authority), es la entidad encargada de la gestión global de los recursos numéricos de Internet), el 2 esta reservado para usos futuros y el 6 esta completamente obsoleto pues nunca se implemento realmente. Tipos de códigos ICMP (disponibles actualmente):

    • Tipo 0: Respuesta de echo request (ping):

      • Código 0: respuesta de echo request (mensaje de tipo 8).

    • Tipo 3: Destino Inalcanzable (Destination Unreachable):

      • Código 0: Red inalcanzable.

      • Código 1: Host inalcanzable o no esta disponible.

      • Código 2: Protocolo inalcanzable, osea que no es soportado por el destino.

      • Código 3: Puerto inalcanzable sin uso.

      • Código 4: la fragmentación es necesaria pero el DF (Dont Fragment) o no fragmentar esta activado: se refiere a un bit en el encabezado de un paquete IP que indica que el paquete no debe ser fragmentado por los routers a lo largo de la ruta. Si un router encuentra un paquete con el bit DF activado y el paquete es demasiado grande para su enlace, debe descartar el paquete y enviar un mensaje de error ICMP al origen.

      • Código 5: Fallo de la ruta de origen, indica que una ruta especificada en el encabezado de un paquete IP no pudo ser alcanzada.

      • Código 6: red desconocida.

      • Código 7: host desconocido.

      • Código 9: La comunicación con el destino esta administrativamente prohibida, probablemente por un firewall o ACL (Access Control List), es un conjunto de reglas que se utilizan para controlar el acceso a recursos de red, sistemas informáticos o archivos. Estas reglas especifican qué usuarios o dispositivos tienen permiso para acceder a un recurso y qué acciones pueden realizar sobre él, como leer, escribir o ejecutar.

      • Código 10: Host de comunicación administrativamente prohibida.

      • Código 13: Comunicación administrativamente filtrada.

    • Tipo 4: Source Quench (obsoleto)

      • Código 0: reducía la velocidad de envió, pero obsoleto por TCP congestion protocol

    • Tipo 5: Redirección de mensajes (Redirect Message):

      • Código 0: Redireccionar datagrama a la red.

      • Código 1: Redireccionar datagrama al host.

      • Código 2: Redireccionar por red para servicio específico.

      • Código 3: Redireccionar por host para servicio específico.

    • Tipo 8: Solicitud de eco (ping Echo Request):

      • Código 0: solicita a un host que responda

    • Tipo 9: Router Advertisement:

      • Código 0: Anuncio de enrutadores activos en la red

    • Tipo 10: Router Solicitation:

      • Código 0: un host especifico solicita que los routers se anuncien

    • Tipo 11: Tiempo excedido:

      • Código 0: Tiempo excedido en tránsito.

      • Código 1: Tiempo excedido durante el reensamblaje.

    • Tipo 12: Problema de parámetro del IP header (encabezado IP):

      • Código 0: Puntero indica el error.

      • Código 1: Opción necesaria faltante.

      • Código 2: Longitud incorrecta.

    • Tipo 13: Timestamp Request:

      • Código 0: Solicita el timestamp del sistema remoto.

    • Tipo 14: Timestamp Reply:

      • Código 0: Responde un timestamp request con el timestamp actual.

    • Tipo 15: Information request (obsoleto):

      • Código 0: Solicitaba informacion de red.

    • Tipo 16: Information Reply (obsoleto):

      • Código 0: respondia con informacion a tipo 15.

    • Tipo 17: Address Mask Request:

      • Código 0: Solicita la mascara de subred de un sistema remoto

    • Tipo 18: Address Mask Reply:

      • Código 0: Responde con la mascara de subred a una Address Mask Request

Un datagrama IP es la unidad básica de datos que se envía a través de las redes IP. Es como un paquete de información que contiene la dirección del origen y destino, permitiendo que los datos viajen de forma independiente de un dispositivo a otro a través de internet. Se diferencia de otros métodos de transmisión por su naturaleza sin conexión (no establecen una conexión persistente entre los dispositivos de origen y destino), lo que significa que cada datagrama se maneja de forma individual, sin necesidad de establecer una conexión previa.

  • IGMP: El Protocolo de gestión de grupos de Internet (Internet Group Management Protocol) es un protocolo de red utilizado para gestionar la pertenencia a grupos de multidifusión (multicast) en redes IPv4. Permite que los dispositivos (nodos) notifiquen a los enrutadores sobre su interés en recibir tráfico de multidifusión específico. En esencia, IGMP facilita la comunicación eficiente entre un emisor y un grupo de receptores en una red, evitando enviar datos individuales a cada receptor y optimizando el uso del ancho de banda. Los enrutadores de multidifusión (llamados consultores IGMP) preguntan periódicamente a los dispositivos conectados a la red si están interesados en recibir datos de un grupo de multidifusión específico (a comparación de broadcast que lo envia a todos o uno solo como unicast), Los dispositivos interesados en recibir los datos se unen a un grupo multicast específico, identificados por una dirección IP multicast. proceso de multicast:

    • Unirse a un grupo: Un host envía un mensaje IGMP Membership Report al router para unirse, por ejemplo, al grupo 224.0.0.1. mensaje de la solicitud IGMP (IGMP Membership Query): Membership Query Quién está interesado en algún grupo?

    • Consulta periódica: El router envía IGMP General Query para preguntar: “¿Alguien sigue interesado en este grupo?”

    • Respuesta: Solo un host (aleatoriamente) responde para no saturar la red.

    • Salir de un grupo (IGMPv2 y v3): El host manda un Leave Group, y el router verifica si aún hay otros interesados. - respuesta de un host al intentar unirse a un multicast: Membership Report group

    • un host deja de estar interesado en un grupo: Leave Group

como ejemplo, Si tienes un servidor de video transmitiendo por 224.1.1.1, cualquier PC en la red puede hacer join al grupo IGMP para ver el stream, y los switches solo enviarán los paquetes a esos dispositivos. En resumen, IGMP permite que los dispositivos (hosts) de una red local indiquen si quieren unirse o salir de un grupo multicast específico, utilizando mensajes como el IGMP Membership Report. Los routers o switches con IGMP snooping consultan periódicamente a los dispositivos con IGMP Query para saber si aún están interesados en esos grupos.

El ancho de banda, en el contexto de redes, se refiere a la cantidad de datos que pueden transmitirse a través de una conexión en un período de tiempo determinado. Es una medida de la capacidad de transferencia de datos de una red, como la cantidad de información que puede viajar por internet en un instante dado. Se suele medir en bits por segundo (bps), o múltiplos como megabits por segundo (Mbps) o gigabits por segundo (Gbps).

Multicast es un método de comunicación en redes donde un emisor envía datos a un grupo específico de receptores, en lugar de a todos los dispositivos en la red (como en la difusión) o a un solo receptor (como en la unidifusión). Es una forma eficiente de enviar información a múltiples destinos simultáneamente, ideal para aplicaciones como streaming de video, videoconferencias o juegos en línea.

  • ARP: El Protocolo de Resolución de Direcciones (Address Resolution Protocol), es un protocolo de red que se encarga de asociar una dirección IP con una dirección MAC dentro de una misma subred. Básicamente, traduce la dirección lógica (IP) de un dispositivo en la dirección física (MAC) para que los dispositivos puedan comunicarse entre sí en una red local.

    proceso de ARP:

    • Consulta en la red: Cuando un dispositivo necesita comunicarse con otro en la misma red, pero solo conoce su dirección IP, envía una solicitud ARP (ARP request) a toda la red (broadcast). mensaje de la solicitud ARP: Who has 192.168.0.5? Tell 192.168.0.10 (EJEMPLO)

    • Respuesta de la red: El dispositivo con la dirección IP solicitada responde a la solicitud, enviando su dirección MAC al dispositivo que la solicitó por un destino unicast: 192.168.0.5 is at aa:bb:cc:dd:ee:ff (EJEMPLO)

    • Guardado en tablas ARP: El dispositivo que realizó la solicitud guarda la asociación entre la dirección IP y la dirección MAC en su tabla ARP (o caché).

    • Comunicación: A partir de ese momento, el dispositivo puede comunicarse directamente con el otro utilizando su dirección MAC hasta que algo cambie.

    en resumen, ARP se usa para obtener una dirección MAC a partir de una dirección IP dentro de una red local (LAN). para hacer la viceversa de lo que hace ARP (osea que en vez de solicitar la MAC de una IP solicitar)

Unicast es un tipo de comunicación en redes donde los datos se envían desde un único emisor a un único receptor. En otras palabras, es una comunicación "uno a uno". Por ejemplo, cuando envías un correo electrónico a un amigo, estás utilizando una comunicación unicast. fundamental para las redes peer-to-peer (P2P).

  • RARP: El Protocolo de Resolución de Dirección Inversa (Reverse Address Resolution Protocol), es un protocolo de red utilizado para determinar la dirección IP de un dispositivo a partir de su dirección MAC conocida. En esencia, es el opuesto del protocolo ARP, que hace lo contrario: determina la dirección MAC a partir de la dirección IP. RARP se utiliza principalmente en situaciones donde un dispositivo necesita conocer su propia dirección IP pero no tiene capacidad para almacenarla, como en computadoras sin disco duro. RARP se utilizaba comúnmente en estaciones de trabajo sin disco, que no podían almacenar su propia configuración IP. Hoy en día, RARP es obsoleto ha sido reemplazado en gran medida por protocolos más modernos como BOOTP y DHCP.

  • NDP: el Protocolo de Descubrimiento de Vecinos (Neighbor Discovery Protocol en inglés). Es un protocolo esencial en IPv6 que se utiliza para descubrir dispositivos vecinos en una red local y para la configuración automática de direcciones IPv6. NDP realiza funciones similares a las que ARP, ICMP Router Discovery y ICMP Redirect realizan en IPv4, pero con mejoras. resumidamente es ARP pero para operadores en IPv6. NDP utiliza ICMPv6 para enviar sus mensajes por la red mediante la comunicación entre nodos y la resolución de direcciones. NDP reemplaza funciones del ARP, ICMPv6 Router Discovery e ICMPv6 Redirect en IPv4. Opera en la capa de enlace y permite a los nodos descubrir vecinos, obtener direcciones MAC, detectar la inaccesibilidad de vecinos y facilitar la autoconfiguración de direcciones.

  • DHCP: El Protocolo de Configuración Dinámica de Host (Dynamic Host Configuration Protocol), es un protocolo de red que permite a los dispositivos de una red obtener automáticamente direcciones IP y otros parámetros de configuración necesarios para conectarse y comunicarse en la red. En lugar de asignar manualmente direcciones IP a cada dispositivo, DHCP automatiza este proceso, lo que facilita la administración de redes, especialmente en entornos con muchos dispositivos. Funcionamiento de DHCP: su funcionamiento es mediante El proceso DORA en DHCP (Dynamic Host Configuration Protocol) es un método de cuatro pasos que se utiliza para asignar direcciones IP dinámicamente a dispositivos en una red. DORA significa Descubrir, Ofrecer, Solicitar y Reconocer, y cada paso es esencial para la asignación de la dirección IP y otros parámetros de configuración de red.

    1. Descubrimiento (DHCPDISCOVER): Cuando un dispositivo se conecta a la red y necesita una dirección IP, envía un mensaje de difusión llamado DHCPDISCOVER para encontrar un servidor DHCP.

    2. Oferta (DHCPOFFER): Un servidor DHCP que recibe la solicitud responde con un mensaje DHCPOFFER, ofreciendo una dirección IP disponible y otros parámetros de configuración (como máscara de subred, puerta de enlace predeterminada, servidores DNS).

    3. Solicitud (DHCPREQUEST): El cliente elige la oferta que más le conviene (si hay varias) y envía un mensaje DHCPREQUEST al servidor, indicando la dirección IP que ha aceptado.

    4. Confirmación (DHCPACK) ( Acknowledgment (ACK) ):El servidor DHCP confirma la asignación de la dirección IP y envía un mensaje DHCPACK al cliente, completando el proceso de configuración. Existen otros mensajes DHCP que cumplen funciones y condiciones especificas:

      1. DHCP NAK: El servidor rechaza la solicitud del cliente.

      2. DHCP release: El cliente libera su IP voluntariamente.

      3. DHCP inform: El cliente ya cuenta con una IP pero pide parámetros extra.

  • BOOTP: El Protocolo Bootstrap, es un protocolo de red utilizado para asignar automáticamente direcciones IP a dispositivos de red durante el proceso de arranque, especialmente útil para estaciones de trabajo sin disco. este es un precursor de DHCP, BOOTP permite que un cliente obtenga su dirección IP, así como la ubicación de un archivo de arranque, desde un servidor en la red, sin intervención del usuario.

  • NAT/PAT: NAT (Network Address Translation) y PAT (Port Address Translation) son tecnologías que permiten a múltiples dispositivos en una red privada compartir una única dirección IP pública para acceder a Internet. NAT traduce direcciones IP privadas a direcciones IP públicas, mientras que PAT, también conocido como NAT overload, traduce tanto la dirección IP como el puerto asociado a cada conexión. NAT Puede ser estático, asignando una dirección IP pública a una dirección IP privada de forma permanente, o dinámico, asignando direcciones IP públicas disponibles de un grupo. por otro lado, PAT Es una forma de NAT que utiliza los números de puerto para permitir que múltiples dispositivos compartan una única dirección IP pública. Cada conexión desde un dispositivo interno se identifica con una combinación única de dirección IP privada y número de puerto, que se traduce a la dirección IP pública y un puerto único. Se considera NAT overload porque permite que muchos dispositivos internos utilicen una sola dirección IP pública.

    • Es la forma más común de NAT utilizada en redes domésticas y pequeñas empresas.

    Supongamos estos dispositivos internos:

    Dispositivo
    IP Privada
    Puerto origen

    PC A

    192.168.1.10

    12345

    PC B

    192.168.1.20

    12345

    Ambos quieren acceder a Google.

    El enrutador con IP pública 203.0.113.5 puede traducir así:

    Entrada en la tabla PAT

    192.168.1.10:12345 → 203.0.113.5:50001

    192.168.1.20:12345 → 203.0.113.5:50002

    Así, desde el exterior, todo parece venir de 203.0.113.5, pero con diferentes puertos, y el router puede redirigir correctamente las respuestas a cada PC.

    PAT (Port Address Translation) no acepta conexiones entrantes de forma arbitraria desde Internet. Es decir:

    • Solo permite tráfico de respuesta a conexiones iniciadas desde dentro de la red.

    • Para que un dispositivo externo pueda alcanzar un dispositivo interno a través de un puerto, se requiere una redirección explícita (port forwarding).

Solo si el administrador del router configura manualmente una redirección (port forwarding/NAT estático) como esta:

203.0.113.5:8080 → 192.168.1.100:80

se pueden redirigir peticiones hacia una maquina interna, sin esta redirección esto no ocurre

  • IPsec: El Protocolo de Seguridad de Internet (Internet Protocol security), es un conjunto de protocolos que se utilizan para asegurar las comunicaciones a través de redes IP. Funciona cifrando y autenticando los paquetes de datos, lo que ayuda a proteger la información confidencial durante la transmisión, especialmente en redes públicas como Internet. IPsec se utiliza comúnmente para establecer conexiones seguras como redes privadas virtuales (VPN).

    IPsec utiliza algoritmos de cifrado para convertir los datos en un formato ilegible para cualquier persona que no tenga la clave de cifrado correcta, protegiendo así la confidencialidad de la información, IPsec también autentica los datos, verificando que la información proviene de la fuente esperada y no ha sido modificada en tránsito, garantizando la integridad de la información. Una aplicación común de IPsec es la creación de VPNs, que permiten establecer conexiones seguras y privadas entre redes o dispositivos remotos, como cuando un empleado accede a la red de su empresa desde su casa.

Last updated