Como o Ping não pode usar um protocolo de transporte?

3

Acabei de saber que o Ping usa o ICMP diretamente, ou seja, ele ignora a camada de transporte. Como isso é possível? Um aplicativo (L5) não deveria usar UDP ou TCP na camada de transporte (L4)? A maneira que eu sei é que cada camada é cega para tudo o que é 2 camadas abaixo, ou seja, uma aplicação interage com L4 usando soquetes, mas é cega para L3 até L1.

    
por ToniAz 02.07.2018 / 14:06

1 resposta

3

Quando alguém diz "Ping", eles se referem ao ping ICMP, pois é isso que o ping original é. O ICMP realmente funciona em um nível inferior ao UDP & Protocolos de transporte TCP e não usam portas [ 1 ]:

ICMP, uses the basic support of IP as if it were a higher level protocol, however, ICMP is actually an integral part of IP, and must be implemented by every IP module.

Isso ocorre principalmente porque o ICMP é usado para relatar erros, pois o IP não é totalmente confiável por si só. Portanto, o ICMP é um protocolo de nível inferior que usa IP, não TCP / UDP. Ping é apenas uma ferramenta que usa ICMP (graças ao C de baixo nível), no entanto, o ICMP não é apenas ping ou traceroute, seu principal objetivo é completamente diferente, como eu notei.

E eu não sei como você aprendeu que as camadas são cegas para as camadas abaixo. Isso não é verdade, ou pelo menos para o meu conhecimento. O Ping pode usar qualquer protocolo que desejar, implementando-o em C.

Linguagens de baixo nível como C têm acesso direto a módulos baseados em IP do sistema, portanto, é possível usar qualquer um desses protocolos usando C (e praticamente qualquer outra linguagem escrita em C hoje em dia).

Para explicar mais explicitamente (tl; dr):

Ping é uma ferramenta baseada em ICMP, não usa TCP e UDP, portanto não funciona com portas (como um protocolo não precisa de portas, apenas serviços). Não requer a funcionalidade de protocolos de nível superior, como o TCP, por isso não os implementa. E apesar de ping ser um aplicativo, ele funciona no ICMP e não usa porta.

    
por 02.07.2018 / 14:22

Tags