Protocolos de Red: ARP, ICMP y TCP/IP

Enviado por Comunidad Xuletas y clasificado en Informática y Telecomunicaciones

Escrito el en español con un tamaño de 6,04 KB
Actualizado el

Resumen

Este documento explica tres protocolos de la pila TCP/IP: ARP, que obtiene la dirección Ethernet a partir de la IP, e ICMP, en el que se basa traceroute. También describe los protocolos de transporte UDP y TCP, sus fases, sus flags y la numeración de secuencia de TCP.

Puntos clave

  • ARP obtiene la dirección Ethernet de una máquina a partir de su dirección IP, mediante una solicitud enviada en broadcast.
  • Si la dirección destino no está en la misma subred, la trama se envía al encaminador del siguiente salto.
  • ICMP comunica condiciones de error y funciones de diagnóstico, y se transmite encapsulado en datagramas IP.
  • Traceroute envía paquetes con TTL 1, 2, 3... y recoge los mensajes ICMP de cada encaminador para aproximar la ruta.
  • UDP es no orientado a conexión y no fiable, no tiene control de flujo y es más ligero que TCP.
  • TCP es orientado a conexión y fiable: usa números de secuencia, ACKs y retransmisiones.
  • En TCP, el número de secuencia tiene 32 bits y el checksum es obligatorio.

Resumen generado con IA a partir del documento. Ponte a prueba

ARP (Address Resolution Protocol)

El protocolo ARP permite descubrir la dirección Ethernet de una máquina conociendo su dirección IP. El proceso es el siguiente:

  1. El nivel IP envía un datagrama con una dirección IP destino.
  2. Si la dirección destino está en la misma subred, la trama Ethernet que contiene el datagrama se envía directamente a la máquina.
  3. Si no, se obtiene la dirección IP del siguiente salto (el encaminador) de la tabla de encaminamiento, y la trama Ethernet se envía a este.

En resumen, se conoce la dirección IP de la máquina adyacente, pero se necesita su dirección Ethernet.

Funcionamiento de ARP

Para conocer la dirección Ethernet, se realiza lo siguiente:

  1. Se envía una trama Ethernet de broadcast que contiene una solicitud ARP, incluyendo la dirección IP buscada.
  2. De entre todas las máquinas adyacentes, contestará aquella cuya IP coincida con la de la solicitud ARP. La respuesta será una trama Ethernet dirigida al solicitante, conteniendo una respuesta ARP que indica la dirección Ethernet.

Ejemplo A -> B

(A tiene un datagrama IP para enviar a B)

  1. A consulta su tabla de encaminamiento y necesita la dirección Ethernet de B.
  2. A envía una solicitud ARP (¿Dirección Ethernet de B?). La solicitud se envía a la dirección de broadcast Ethernet. La máquina B aprende la asociación entre la dirección Ethernet y la dirección IP de A.
  3. A envía la trama Ethernet a B.

ICMP (Internet Control Message Protocol)

ICMP se utiliza para comunicar condiciones de error entre máquinas y para realizar funciones de diagnóstico. Los mensajes ICMP se transmiten encapsulados dentro de datagramas IP.

Traceroute

Traceroute muestra una aproximación de la ruta que siguen los datagramas hasta un destino. El nodo origen envía paquetes con TTL (Time To Live) 1, 2, 3... El encaminador que descarta el paquete envía al origen un mensaje ICMP tipo 11, código 0. Esto permite a la máquina que ejecuta traceroute identificar la IP de dicho encaminador.

La máquina origen envía tres datagramas IP al destino con TTL=1. Cuando recibe la respuesta, envía otros tres datagramas con TTL=2, y así sucesivamente. Cada encaminador intermedio disminuye el valor del campo TTL. Si llega a 0, el encaminador intermedio envía un mensaje ICMP indicando que el TTL se ha excedido. Cuando los datagramas IP llegan al destino final, la máquina destino envía mensajes ICMP indicando "puerto inexistente", y el origen, al recibirlos, termina la ejecución de traceroute.

Protocolos de Transporte: TCP y UDP

Dos protocolos principales que ofrecen un servicio a nivel de transporte son:

  • UDP (User Datagram Protocol): No orientado a conexión y no fiable.
  • TCP (Transmission Control Protocol): Orientado a conexión y fiable.

Nivel de Transporte TCP/IP

  • Multiplexación: Multiplexa las unidades de datos que envían las aplicaciones a través de los puertos, encapsulándolas en unidades de datos UDP o TCP.
  • Demultiplexación: Demultiplexa las unidades de datos de UDP y TCP, pasando los datos a las aplicaciones.

UDP

  • Servicio de entrega de datagramas no fiable y no ordenado.
  • Proporciona multiplexación.
  • No proporciona control de flujo.
  • Los extremos se identifican mediante puertos.
  • Checksum opcional de todo el datagrama UDP. Si se utiliza y no se pasa la comprobación, se descarta el datagrama.
  • Los datagramas UDP se encapsulan dentro de la parte de datos de un datagrama IP.
  • Una aplicación que utilice UDP produce exactamente un datagrama UDP cada vez que envía datos. Este se encapsula en un datagrama IP. Si el datagrama excede el tamaño máximo, se fragmenta.
  • Es mucho más ligero que TCP.

Características de TCP

  • Orientado a conexión: Fases de establecimiento de conexión, intercambio de datos y cierre de conexión.
  • Envío de datos de forma fiable: El receptor recibe los datos sin pérdidas, duplicados ni desorden.
  • Envío de datos como flujo de bytes: El emisor escribe un flujo de bytes, TCP envía segmentos del tamaño adecuado, y el receptor lee un flujo de bytes.

Fases de TCP

  1. Establecimiento de la conexión.
  2. Intercambio de datos.
  3. Finalización de la conexión (la conexión funciona en ambos sentidos).

Idea básica: Los segmentos con datos llevan un número de secuencia. El receptor debe enviar asentimientos (ACKs). Para cada segmento con datos transmitido, se espera un plazo de tiempo a que llegue su ACK. Si termina el plazo y no se ha recibido, se retransmite el segmento. Para asentimientos y retransmisiones se utiliza un protocolo de ventana. El receptor reordena los segmentos y descarta los duplicados.

Puertos

TCP los asocia con la aplicación origen y destino del segmento.

  • Longitud de cabecera: Tamaño de la cabecera en palabras de 32 bits.
  • Checksum: Obligatorio, sobre todo el segmento TCP.

Flags

  • SYN: Establecimiento de conexión.
  • FIN: Finalización de conexión.
  • ACK: Hay información en el campo número de ACK.
  • RST: Situación de error.
  • PSH: Receptor debe entregar datos a la aplicación.
  • URG: Datos urgentes que el receptor debe pasar inmediatamente a la aplicación.

Número de secuencia

Cada segmento con datos lleva un número de secuencia de 32 bits, que numera los bytes. Al establecerse una conexión, se elige un número de secuencia inicial aleatorio para evitar confusiones con segmentos aún en tránsito de otras conexiones.

Preguntas frecuentes

¿Cómo funciona traceroute?

Envía paquetes con TTL 1, 2, 3... Cada encaminador que descarta un paquete responde con un mensaje ICMP tipo 11, código 0, que permite identificar su IP. Al llegar al destino, el mensaje de puerto inexistente termina la ejecución.

¿Qué diferencia hay entre UDP y TCP?

UDP no está orientado a conexión, no es fiable y no proporciona control de flujo. TCP está orientado a conexión, es fiable y envía los datos como un flujo de bytes.

Ponte a prueba

Tarjetas de repaso

Pulsa una tarjeta para ver la respuesta.

Test

1. ¿Qué conoce una máquina al usar ARP y qué busca?
2. ¿Qué tipo de envío usa la solicitud ARP?
3. ¿Qué mensaje ICMP envía el encaminador que descarta un paquete en traceroute?
4. ¿Qué protocolo es fiable y orientado a conexión?
5. ¿De cuántos bits es el número de secuencia de un segmento TCP?
6. ¿Qué flag TCP indica el establecimiento de una conexión?

Preguntas generadas con IA a partir del documento: comprueba las respuestas con el texto.