icmp(7)

NUME
icmp - modul ICMP IPv4 al nucleului Linux

DESCRIERE
Acest modul de protocol al nucleului implementează protocolul Internet Control Message Protocol definit în RFC 792. Este utilizat pentru a semnala condițiile de eroare și pentru diagnosticare. Utilizatorul nu interacționează direct cu acest modul; în schimb, acesta comunică cu celelalte protocoale din nucleu, iar acestea transmit erorile ICMP către straturile de aplicații. De asemenea, modulul ICMP din nucleu răspunde la cererile ICMP.

Un protocol de utilizator poate primi pachete ICMP pentru toate soclurile locale deschizând un soclu brut cu protocolul IPPROTO_ICMP. A se vedea raw(7) pentru mai multe informații. Tipurile de pachete ICMP transmise către soclu pot fi filtrate cu ajutorul opțiunii de soclu ICMP_FILTER. Pachetele ICMP sunt întotdeauna procesate de asemenea de către nucleu, chiar și atunci când sunt transmise către un soclu de utilizator.

Linux limitează rata pachetelor de erori ICMP către fiecare destinație. ICMP_REDIRECT și ICMP_DEST_UNREACH sunt, de asemenea, limitate de ruta de destinație a pachetelor primite.

  Interfețe „/proc”
ICMP acceptă un set de interfețe /proc pentru a configura anumiți parametri IP globali. Parametrii pot fi accesați prin citirea sau scrierea fișierelor din directorul /proc/sys/net/ipv4/. Majoritatea acestor parametri sunt limitări de viteză pentru anumite tipuri ICMP. Linux 2.2 utilizează un filtru „token bucket” pentru a limita ICMP-urile. Valoarea este timpul de așteptare în „jiffies” (clipite) până când filtrul „token bucket” este eliminat după o rafală. O clipită „jiffy” este o unitate care depinde de sistem, de obicei 10ms pe i386 și aproximativ 1ms pe alpha și ia64.

icmp_destunreach_rate (de la Linux 2.2 până la Linux 2.4.9)
    Rata maximă de trimitere a pachetelor ICMP de „destinație inaccesibilă”. Aceasta limitează rata la care pachetele sunt trimise către orice rută sau destinație individuală. Limita nu afectează trimiterea pachetelor ICMP_FRAG_NEEDED necesare pentru descoperirea MTU a rutei.

icmp_echo_ignore_all (începând cu Linux 2.2)
    Dacă această valoare este diferită de zero, Linux va ignora toate cererile ICMP_ECHO.

icmp_echo_ignore_broadcasts (începând cu Linux 2.2)
    Dacă această valoare este diferită de zero, Linux va ignora toate pachetele ICMP_ECHO trimise la adresele de difuzare.

icmp_echoreply_rate (de la Linux 2.2 până la Linux 2.4.9)
    Rata maximă de trimitere a pachetelor ICMP_ECHOREPLY ca răspuns la pachetele ICMP_ECHOREQUEST.

icmp_errors_use_inbound_ifaddr (Boolean; implicit: disabled (dezactivată); începând cu Linux 2.6.12)
    Dacă este dezactivată, mesajele de eroare ICMP sunt trimise cu adresa primară a interfeței de ieșire.

    Dacă este activă, mesajul va fi trimis cu adresa primară a interfeței care a primit pachetul care a cauzat eroarea ICMP. Acesta este comportamentul pe care mulți administratori de rețea îl așteaptă de la un router. Și poate face depanarea unor configurații de rețea complicate mult mai ușoară.

    Rețineți că, dacă nu există o adresă primară pentru interfața selectată, atunci se va utiliza adresa primară a primei interfețe non-loopback care are una, indiferent de această configurare.

icmp_ignore_bogus_error_responses (boolean; implicit: dezactivată; începând cu Linux 2.2)
    Unele routere încalcă RFC1122 prin trimiterea de răspunsuri false la cadrele de difuzare. Astfel de încălcări sunt înregistrate în mod normal printr-un avertisment al nucleului. Dacă acest parametru este activat, nucleul nu va emite astfel de avertismente, ceea ce va evita aglomerarea fișierelor de jurnal.

icmp_paramprob_rate (de la Linux 2.2 până la Linux 2.4.9)
    Rata maximă de trimitere a pachetelor ICMP_PARAMETERPROB. Aceste pachete sunt trimise atunci când sosește un pachet cu un antet IP nevalid.

icmp_ratelimit (număr întreg; implicit: 1000; începând cu Linux 2.4.10)
    Limitează ratele maxime pentru trimiterea pachetelor ICMP al căror tip se potrivește cu icmp_ratemask (a se vedea mai jos) către anumite ținte. 0 pentru a dezactiva orice limitare, în caz contrar, spațiul minim între răspunsuri în milisecunde.

icmp_ratemask (număr întreg; implicilt: a se vedea mai jos; începând cu Linux 2.4.10)
    Mască alcătuită din tipurile ICMP pentru care se limitează ratele.

    Biti semnificativi: IHGFEDCBA9876543210
    Masca implicită: 0000001100000011000 (0x1818)

    Definiții de biți (a se vedea fișierul sursă al nucleului Linux include/linux/icmp.h):
    0 Răspuns Ecou
    3 Destinație inaccesibilă *
    4 Reducerea vitezei de transfer „source quench” *
    5 Redirecționare
    8 Cerere de Ecou
    B Timp depășit *
    C Problemă de parametri *
    D Cerere de marcaj temporal
    E Răspuns de marcaj temporal
    F Solicitare de informații
    G Răspuns la solicitarea de informații
    H Cerere de mască de adresă
    I Răspuns de mască de adresă

Biții marcați cu un asterisc sunt limitați implicit la rată (a se vedea masca implicită de mai sus).

icmp_timeexceed_rate (de la Linux 2.2 până la Linux 2.4.9)
    Rata maximă de trimitere a pachetelor ICMP_TIME_EXCECEEDED. Aceste pachete sunt trimise pentru a preveni buclele atunci când un pachet a efectuat prea multe salturi.

ping_group_range (două numere întregi; implicit: a se vedea mai jos; începând cu  Linux 2.6.39)
    Intervalul ID-urilor de grup (ID-urile de grup minime și maxime, inclusiv) care sunt permise pentru a crea socluri ICMP Echo. Valoarea implicită este „1 0”, ceea ce înseamnă că niciun grup nu are voie să creeze socluri ICMP Echo.

VERSIUNI
Suportul pentru solicitarea ICMP_ADDRESS a fost eliminat în Linux 2.2.

Support for ICMP_SOURCE_QUENCH was removed in Linux 2.2.

NOTE
Având în vedere că multe alte implementări nu acceptă socluri brute IPPROTO_ICMP, această caracteristică nu ar trebui să fie utilizată în programele portabile.

Pachetele ICMP_REDIRECT nu sunt trimise atunci când Linux nu acționează ca un router. De asemenea, acestea sunt acceptate numai de la vechea poartă de acces definită în tabelul de direcționare, iar rutele de redirecționare expiră după un anumit timp.

Marca temporală pe 64 de biți returnată de ICMP_TIMESTAMP este în milisecunde de la Epocă, 1970-01-01 00:00:00 +0000 (UTC).

Linux ICMP utilizează în mod intern un soclu brut pentru a trimite ICMP-uri. Acest soclu brut poate apărea în rezultatul netstat(8) cu un nod-i zero.

CONSULTAȚI ȘI
ip(7), rdisc(8)

RFC 792 pentru o descriere a protocolului ICMP.

TRADUCERE
Traducerea în limba română a acestui manual a fost făcută de Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>

Această traducere este documentație gratuită; citiți Licența publică generală GNU Versiunea 3 (https://www.gnu.org/licenses/gpl-3.0.html) sau o versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă NICIO RESPONSABILITATE.

Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la translation-team-ro@lists.sourceforge.net.