como o comando 'ping' realmente funciona?

21

Como o comando ping realmente funciona? Especificamente onde entra o ARP (Protocolo de Resolução de Endereços)?

Fiz essa pergunta em uma entrevista e não consegui criar um cenário em que o ARP pudesse ser usado.

    
por liv2hak 03.05.2011 / 14:37

5 respostas

15

Se você realmente quer entender, há um excelente white paper (bem escrito) aqui:

link

Aqui está o resumo - >

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 não há nenhuma camada TCP no meio, o Ping (program) tem que monitorar todos os pacotes ICMP de entrada e filtrar apenas os dados do destino.

Espero que ajude.

    
por 04.05.2011 / 19:23
8

Supondo que o ping envolva um pacote sendo enviado por uma rede Ethernet ou Wi-Fi, o ARP é usado para localizar o endereço de hardware Ethernet do dispositivo que recebe o pacote de saída. Normalmente, esse será o roteador para a LAN em que a máquina que originou o ping está ativada.

O processo típico é:

  1. Você insere um comando para fazer ping em um destino.

  2. O DNS é usado para determinar o endereço IP (se necessário).

  3. A tabela de roteamento é consultada para encontrar o próximo salto em direção a esse destino.

  4. O ARP é usado para encontrar o endereço de hardware do próximo salto.

  5. O pacote IP é enviado para o próximo salto, encapsulado em um quadro Ethernet ou WiFi.

por 23.09.2013 / 19:27
1

Ping é na verdade dois pacotes ICMP (Internet Control Message Protocol) diferentes.

Para fazer ping em um host, primeiro você envia um ICMP Echo Request Packet, o host responderá com uma resposta de eco ICMP.

Para mais informações, consulte: link

    
por 03.05.2011 / 14:46
1

Ping e ARP são coisas diferentes localizadas em camadas diferentes na pilha de protocolo de rede.

O Ping está na camada de rede (ou na camada da Internet - Dê uma olhada no protocolo ICMP como apontado pelo @ServerMonkey) .

O protocolo Arp está no nível do link (um nível inferior). O protocolo Arp é projetado para permitir a conexão física entre o hardware da rede, que está diretamente conectado.

Na pilha de rede TCP / IP, cada camada usa a camada abaixo para encaminhar seus dados, encapsulando-os dentro do protocolo de baixo nível. Cada camada é independente da outra e possivelmente desconhece os detalhes específicos e implementações dos outros níveis (isso nem sempre é verdade: veja função cross-layer ).

    
por 03.05.2011 / 14:42
1

O ARP fornece um endereço MAC, mas às vezes, se não houver um endereço DMAC, o endereço de broadcast é usado.

Este quadro usando o DMAC de broadcast é chamado de quadro de broadcast ARP, com isso obtemos o endereço DMAC.

    
por 13.06.2012 / 08:54