ICMP

sigla

redes

Significa: Internet Control Message Protocol

O protocolo que o IP usa para mensagens de erro e diagnóstico, como o ping.

O Internet Control Message Protocol (RFC 792) transporta erros de entrega e diagnósticos em vez de dados de usuário. O ping e o traceroute são construídos sobre ele, e o tratamento que um firewall dá ao ICMP define como uma rede relata problemas.

A RFC 792 (setembro de 1981) o torna parte integrante do IP, que todo módulo IP precisa implementar, transportado como protocolo 1; o ICMPv6 cumpre o mesmo papel no IPv6. Toda mensagem começa com type, code e checksum. Erros como Destination Unreachable (tipo 3) e Time Exceeded (11) citam o header IP e pelo menos 8 bytes do pacote que os causou, para que quem enviou consiga associá-los; entre as consultas estão Echo Request (8) e Echo Reply (0), o par que o ping usa.

O traceroute lê o Time Exceeded que cada roteador devolve quando o TTL de uma sonda acaba. O Path MTU Discovery depende do Destination Unreachable código 4, Fragmentation Needed, que traz o MTU do próximo hop (Packet Too Big no ICMPv6); se ele nunca chega, quem envia nunca reduz os pacotes e as conexões travam quando dados grandes começam a passar.

A RFC 2979 (outubro de 2000) observa que firewalls costumam bloquear ICMP pela percepção de que ele é fonte de vulnerabilidades, criando esses buracos negros, e diz que um firewall que deixa sair pacotes com o bit Don't Fragment ligado não pode bloquear os erros Fragmentation Needed que respondem a eles, enquanto bloquear Echo e Echo Reply é correto, embora pouco amigável. Para o ICMPv6, a RFC 4890 lista o que não pode ser descartado: Destination Unreachable, Packet Too Big, Time Exceeded código 0 e Parameter Problem códigos 1 e 2. A RFC 8900 (BCP 230) exige que operadores mantenham o Path MTU Discovery funcionando, embora permita rate limit no ICMP gerado.

Também conhecido como: icmp

← Todos os verbetes do glossário