A RFC 3330 declara:
127.0.0.0/8 - This block is assigned for use as the Internet host loopback address. A datagram sent by a higher level protocol to an address anywhere within this block should loop back inside the host. This is ordinarily implemented using only 127.0.0.1/32 for loopback, but no addresses within this block should ever appear on any network anywhere.
Ok, aqui está o que eu sei.
Os datagramas são UDP PDU (camada 3).
Os segmentos são de TCP PDU (camada 3).
Os pacotes são PDUs IP (camada 2).
Quadros são PDUs de camada 1.
(usando o modelo TCP / IP para referência)
Ping usa o ICMP que, pelo que entendi, é um protocolo da Camada 2 (Internet). De acordo com a RFC 3330, "Um datagrama enviado por um protocolo de nível mais alto para [um endereço de loopback] deve retornar ao host."
Agora, a RFC 3330 está usando "datagrama" de maneira geral, como uma PDU genérica, e não está se referindo especificamente a uma UDP PDU?
Se não, como é que ping, usando o protocolo ICMP, está enviando um datagrama (Layer 3 PDU) para o endereço de loopback quando, se não me engano, ele deve estar enviando um pacote (Layer 2 / Internet PDU)? O ping não ignora a camada de transporte (portanto, não precisa de portas TCP ou UDP, mas usa soquetes brutos)?