NAME
icmp, IPPROTO_ICMP − Módulo do kernel linux para ICMP para IPv4
DESCRIÇÃO
Este módulo de protocolo do kernel implemente o ICMP (Internet Control Message Protocol - Protocolo de Mensagens de Controle de Internet) definido no RFC792. É usado para assinalar erros e para diagnóstico. O usuário não interage diretamente com este módulo, mas ele se comunica com os outros protocolos no kernel que passam os erros ICMP para as camadas de aplicativo. Este módulo responde ainda a requisições de ICMP.
Um protocolo do usuário pode receber pacotes ICMP em todos os sockets locais abrindo um socket raw com o protocolo IPPROTO_ICMP. Ver raw(7) para mais informações. Os tipos de pacotes ICMP passados para o socket são filtráveis usando a opção ICMP_FILTER do socket. Pacotes ICMP são sempre processados pelo kernel também, mesmo quando recebidos por um socket de usuário.
O linux limita a freqüência de pacotes de erro ICMP para cada destino. ICMP_REDIRECT e ICMP_DEST_UNREACH são também limitados pela rota de destino dos pacotes que chegam.
SYSCTLS
ICMP suporta
uma interface sysctl que configura alguns parâmetros
globais de IP. Os sysctls são acessáveis lendo
ou escrevendo /proc/sys/net/ipv4/* ou com a interface
sysctl(2) A maioria destes sysctls limita a
freqüência de pacotes ICMP específicos.
Linux 2.2 usa um filtro de acúmulo de tokens para
limitar os ICMPs. Este valor é o intervalo - em
segundos - para a limpeza do filtro após um surto.
icmp_destunreach_rate
Freqüência máxima de envio de pacotes ICMP ’destino inalcançável’. Isto limita a freqüência de envio dos pacotes a qualquer rota ou destino individual. Este valor não afeta o envio de pacotes ICMP_FRAG_NEEDED para sondar o MTU do caminho.
icmp_echo_ignore_all
Se este valor for diferente de zero, o linux ignorará todos as requisições ICMP_ECHO
icmp_echo_ignore_broadcasts
Se este valor for diferente de zero, o linux ignorará todos os pacotes ICMP_ECHO enviados a endereços de broadcast.
icmp_echoreply_rate
Freqüência máxima de envio dos pacotes ICMP_ECHOREPLY em resposta aos pacotes ICMP_ECHOREQUEST
icmp_paramprob_rate
Freqüência máxima de envio dos pacotes ICMP_PARAMETERPROB Estes pacotes são enviados quando chega um pacote com número IP inválido.
icmp_timeexceed_rate
Freqüência máxima de envio dos pacotes ICMP_TIME_EXCEEDED circulares quando um pacote atravessou muitos pontos.
NOTAS
Como muitas implementações não suportam sockets raw IPPROTO_ICMP , não se deve contar com este recurso em programas portáveis. Os pacotes ICMP_REDIRECT não são enviados quando o linux não está funcionando como roteador. Eles também só são aceitos quando partem do gateway antigo definido pela tabela de roteamento, e que as rotas de redirecionamento expiram após algum tempo.
O tempo no campo ICMP_TIMESTAMP é dado em milissegundos desde 1 de janeiro de 1970.
O ICMP linux usa um socket raw internamente para enviar os ICMPs. Este socket pode aparecer no netstat(8) com inode zero.
VERSÕES
O suporte para a requisição ICMP_ADDRESS foi removida no 2.2.
O suporte a ICMP_SOURCE_QUENCH foi removido do Linux 2.2.
VER TAMBÉM
RFC792 descreve o protocolo ICMP.
TRADUZIDO POR LDP-BR em 21/08/2000.
TRADUÇÃO PARA A LÍNGUA PORTUGUESA
Paulo César Mendes <drps [AT] ism.br> (tradução) André L. Fassone Canova <lonelywolf [AT] blv.br> (revisão)