¿Cómo funciona realmente el comando 'ping'?


24

¿Cómo funciona realmente el comando ping? Específicamente, ¿dónde aparece el ARP (Protocolo de resolución de direcciones)?

Me hicieron esta pregunta en una entrevista y no pude encontrar un escenario en el que se pudiera usar ARP.


Mira en ICMP.

3
ARP se utiliza para obtener la dirección MAC de una dirección IP específica. Cuando necesita enviar un paquete en Ethernet, necesita la dirección MAC del destino.

Respuestas:


16

Si realmente quiere entender, aquí hay un excelente libro blanco (muy bien escrito):

http://images.globalknowledge.com/wwwimages/whitepaperpdf/WP_Mays_Ping.pdf

Aquí está el resumen ->

Ping (Program on the application layer) ------->
Opens a 'raw' socket to IP Layer ------>
IP layer (Layer 2 on OSI) packages ICMP packet and sends it

Como no hay una capa TCP en el medio, Ping (program)tiene que monitorear todos los paquetes ICMP entrantes y filtrar solo los del destino.

Espero que ayude.


9

Suponiendo que el ping implica que un paquete se envíe a través de una red Ethernet o WiFi, ARP se utiliza para encontrar la dirección de hardware Ethernet del dispositivo que recibe el paquete saliente. Por lo general, este será el enrutador para la LAN en la que se encuentra la máquina que origina el ping.

El proceso típico es:

  1. Ingresa un comando para hacer ping a un destino.

  2. DNS se utiliza para determinar la dirección IP (si es necesario).

  3. La tabla de enrutamiento se consulta para encontrar el próximo salto hacia ese destino.

  4. ARP se utiliza para encontrar la dirección de hardware del próximo salto.

  5. El paquete IP se envía al siguiente salto, encapsulado en una trama Ethernet o WiFi.


3
¡La única respuesta aquí que realmente responde la pregunta!
jmiserez


1

Ping y ARP son cosas diferentes ubicadas en diferentes capas en la pila de protocolos de red.

Ping está en la capa de red (o en la capa de Internet: eche un vistazo al protocolo ICMP como señaló @ServerMonkey).

El protocolo Arp está en el nivel de enlace (un nivel inferior). El protocolo Arp está diseñado para permitir la conexión física entre el hardware de red, que está conectado directamente.

En la pila de red TCP / IP, cada capa usa la siguiente capa para reenviar sus datos, encapsulándolos dentro del protocolo de bajo nivel. Cada capa es independiente de la otra y posiblemente ignora los detalles e implementaciones específicas de los otros niveles (esto no siempre es cierto: vea la función de capa cruzada ).


yes.but aplicación de ping requeriría un cierto código en L2 viene ARP en juego en el nivel 2. (capa de enlace.).

@ liv2hak. no. la implementación de ping se encuentra en la capa de enlace a continuación.

A menudo se dice que @liv arp es la capa 2.5. A menudo se dice que ICMP es la capa 3.5. Las capas tienen más que ver con los campos que con el código. Y si quiere decir que la implementación de ping requiere código en la capa 2, bueno, con cualquier implementación de cualquier cosa, por definición, no puede tener una capa sin capas debajo de ella.
barlop

1

ARP proporciona una dirección MAC, pero a veces si no hay una dirección DMAC, se usa la dirección de difusión.

Este marco que usa la transmisión DMAC se llama marco de transmisión ARP, con esto obtenemos la dirección DMAC.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.