| icmp | |||
Nomicmp, IPPROTO_ICMP - Module ICMP IPv4 du noyau Linux.DescriptionCe module du noyau implémente le protocole ICMP (Internet Control Message Protocol) défini dans la RFC 792. Il sert pour diagnostiquer et indiquer des conditions d'erreurs. L'utilisateur n'interragit pas directement avec ce module, à la place il communique avec les autres protocoles dans le noyau, et ceux-ci transmettent les erreurs ICMP aux couches applicatives. Ce module répond également aux requêtes ICMP.Un protocole utilisateur peut recevir des paquets ICMP pour toutes les sockets locales en utilisant une socket raw avec le protocole IPPROTO_ICMP. Voir la page raw(7) pour plus de détails. Les types de paquets ICMP transmis à la socket peuvent être filtrés en utilisant l'option ICMP_FILTER de la soket. Les paquets ICMP sont toujours traités par le noyau aussi, même lorsqu'ils sont transmis à une socket utilisateur. Linux limite le débit des paquets d'erreurs ICMP pour chaque destination. ICMP_REDIRECT et ICMP_DEST_UNREACH sont aussi limité par la route de destination des paquets entrants.
SysctlsICMP dispose d'une interface sysctl pour configurer certains paramètres IP globaux. Cette interface est accessible en lisant ou écrivant les fichiers /proc/sys/net/ipv4/* ou à l'aide de l'appel-système sysctl(2) . La plupart de ces sysctls sont des limitations de débit pour des types ICMP spécifiques. Linux 2.2 utilise un filtre à jeton pour limiter les ICMPs. On peut configurer le délai en seconde avant que le filtre soit vidé après une émission.
NotesComme beaucoup d'autres implémentation ne supportent pas les socket raw IPPROTO_ICMP, on ne doit pas se reposer sur cette fonctionnalité dans les programmes portables.Les paquets ICMP_REDIRECT ne sont pas envoyés quand Linux ne fonctionne pas en routeur. Ils ne sont également acceptés que d'une passerelle précédemment définie dans la table de routage, et les routes de redirection expirent après un certain délai. L'horodatage 64 bits renvoyés par ICMP_TIMESTAMP est en millisecondes depuis le 1er Janvier 1970. En interne, l'ICMP Linux utilise une socket raw pour envoyer les ICMPs. Cette socket peut apparaitre dans la sortie de netstat(8) avec un i-noeud nul.
VersionsLe support pour les requêtes ICMP_ADDRESS a été supprimé dans le noyau 2.2.Le support pour ICMP_SOURCE_QUENCH a été supprimé dans Linux 2.2. Voir Aussiip(7)RFC 792 pour une description du protocole ICMP. TraductionChristophe Blaess, 2000.
|