Se você realmente quer entender, há um excelente white paper (bem escrito) aqui:
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.