Internet Control Message Protocol (ICMP) este un protocol al treilea strat (nivel de rețea) în modelul OSI cu șapte straturi. Protocolul diagnostichează problemele de conectivitate la rețea sau de transmisie de date între dispozitive. Ajută prin trimiterea, primirea și procesarea mesajelor ICMP pentru a raporta problemele de conectivitate la dispozitivul de rețea sursă.
Prin urmare, scopul principal al protocolului ICMP este de a raporta erori la nivelul rețelei. Cu toate acestea, actorii rău intenționați îi pot manipula funcționalitatea pentru a lansa atacuri precum atacurile Distributed Denial of Service (DDoS) și Ping of Death. Aici veți afla despre protocolul ICMP, despre cazul său de utilizare și despre parametrii importanți pentru înțelegerea mesajelor ICMP.
Cum funcționează ICMP?
Routerele folosesc protocolul ICMP pentru a efectua gestionarea rețelei și diagnosticarea problemelor. Acesta generează și trimite mesaje de eroare către dispozitivul expeditor atunci când rețeaua dezactivează livrarea pachetelor către dispozitivul de destinație. Aceste mesaje de eroare includ timp depășit, problemă cu parametrii, destinație inaccesabilă, congestie în rețea etc.
De exemplu, atunci când un expeditor trimite date de la un dispozitiv la dispozitivul de destinație sub forma unei datagrame IP, acesta călătorește prin mai multe routere sau dispozitive intermediare. Ocazional, poate exista o eroare la transmiterea acelei datagrame IPV4. Prin urmare, mesajele ICMP sunt împărțite în două categorii mari: mesaje de eroare și mesaje de interogare.
Mesaje de raportare a erorilor
Acestea sunt mesajele cu care se poate confrunta routerul sau gazda intermediară în procesarea datagramelor:
- Timp depășit: Pachetul ICMP are un parametru time-to-live care, atunci când ajunge la 0, routerul sau gazda renunță la datagrama și trimite un mesaj de eroare de depășire a timpului. Mesajul este trimis și atunci când destinația nu primește toate fragmentele de date.
- Destinație inaccesabilă: Dispozitivul de inițiere a conexiunii primește un mesaj de eroare a destinației inaccesibile atunci când routerul sau gazda intermediară nu îl livrează. În consecință, dispozitivele aruncă datagrama.
- stingere sursă: Atunci când dispozitivele nu reușesc să livreze datagrama din cauza congestionării rețelei, ele trimit un „mesaj de stingere sursă” ICMP expeditorului mesajului. Mesajul de raportare a erorilor adaugă controlul fluxului în stratul de rețea, informând dispozitivul sursă despre aglomerația din cale și încetinind procesul de trimitere a datelor.
- Redirecționare: Un router pe o cale non-optimă redirecționează pachetul către un router cu o cale optimă între sursă și destinație. Ca atare, actualizează sursa despre schimbarea traseului său.
- Problema parametrilor: Dispozitivul sursă primește acest mesaj atunci când lipsește orice valoare în antetul datagramei. De exemplu, diferența dintre suma de control calculată la destinație de la sursă generează acest mesaj de eroare ICMP.
Interogați mesaje
Mesajele de interogare apar în perechi și oferă informații specifice de la dispozitivele intermediare către dispozitivul sursă.
- Echo-Request și Echo-Reply Mesaj: Aceste mesaje ajută la rezolvarea problemelor de diagnosticare a rețelei.
- Solicitare și răspuns pentru marca temporală: Aceste solicitări de marcare temporală și mesaje de răspuns ajută la determinarea duratei de călătorie dus-întors între dispozitive.
Înțelegerea parametrilor ICMP
Datele mesajelor ICMP sunt încapsulate sub antetul IP, ceea ce înseamnă că antetul datagramei ICMP vine după informațiile IPv4/v6. Prima parte a antetului pachetului ICMP conține parametrii care ajută dispozitivele de rețea să determine mesajul de eroare sau de interogare.
Dintre primii 32 de biți, primii 8 biți determină tipul mesajului, următorii 8 biți determină codul mesajului, iar biții rămași conțin informații legate de integritatea datelor. Prin urmare, cele trei câmpuri informaționale sunt: tipuri ICMP, cod ICMP și Sumă de control.
Tipuri ICMP
Tipul determină scopul pachetului ICMP. Deoarece explică pe scurt de ce dispozitivul sursă primește acel mesaj. Există 0-255 de tipuri de mesaje ICMP, astfel încât fiecare tip oferă informații diferite. Câteva tipuri importante de ICMP sunt:
0: Solicitare ecou
3: Destinație inaccesabilă
4: Source Quench
5: Redirecționare
8: Echo Răspuns
11: Timp depășit
12: Problema parametrilor
30: Traceroute
Cod ICMP
Codul ICMP oferă informații suplimentare despre mesaje. De exemplu, ICMP tip 3 cu codul 0-15 specifică de ce destinația este inaccesibilă; adică dacă codul este 0, atunci este pentru că rețeaua nu este disponibilă. În mod similar, pentru codul 1 de tip 3, mesajul specifică faptul că gazda este inaccesibilă.
Mai mult, tastați 8 cod 0 și tip 0 cod 0 reprezintă mesaje de solicitare ecou și răspunsuri de eco. Prin urmare, fiecare tip de mesaj cu aceeași valoare de cod oferă informații de rețea diferite.
Sumă de control
Suma de control este un mecanism de detectare a erorilor care determină integritatea datelor. Valoarea sumei de control reprezintă biții din mesajul de transmisie. Expeditorul calculează și include suma de control a datelor, iar receptorul recalculează valoarea și îl compară cu cel original pentru a determina orice modificări aduse mesajului original în timpul transmisie.
A doua parte a antetului indică valoarea octetului care este cauza problemei din mesajul original. În cele din urmă, partea finală a pachetului ICMP este datagrama reală.
Caz de utilizare ICMP
Iată câteva exemple de lucru ale protocolului ICMP în diverse gestionarea rețelei și utilități administrative.
Ping
Ping este un utilitar de linie de comandă care se bazează pe mesajele ICMP de solicitare ecou și de răspuns pentru a testa disponibilitatea rețelei și latența dintre dispozitive. Utilitarul determină pur și simplu disponibilitatea serverului de destinație prin estimarea pachetului total trimis sau primit și a procentului de pierdere a pachetelor. De asemenea, ajută la determinarea dimensiunii totale a unității de transmisie maximă (MTU).
Utilizare ping pentru a determina disponibilitatea google.com:
Traceroute
Traceroute este un alt utilitar de linie de comandă care utilizează mesaje de solicitare ecou și răspuns cu ecou cu o variabilă TTL pentru a mapa calea dintre dispozitivele sursă și destinație. De asemenea, este util în determinarea întârzierilor de răspuns și asigură acuratețea interogând fiecare hop de mai multe ori.
Cum funcționează ICMP fără port?
Din explicația de mai sus, ICMP este un protocol fără conexiune care trimite date independent ca datagramă, iar antetul său apare după detaliile IPv4. Cu toate acestea, puteți observa și absența unui număr de port care ridică întrebarea cum dispozitivele primesc datele ICMP sau devin conștienți de vreo conexiune?
Răspunsul este destul de simplu. Protocolul ICMP a fost conceput pentru a funcționa la nivelul de rețea al modelului OSI și pentru a comunica între routere și gazde pentru a partaja informații. Numerele porturilor fac parte din stratul de transport, iar ICMP nu este nici un protocol TCP, nici un protocol UDP. În cele din urmă, tipul ICMP și combinația de cod ajută dispozitivele să determine mesajul și să obțină toate informațiile despre rețea.
Eroare și control al fluxului cu ICMP
Detaliile de mai sus despre protocolul ICMP arată modul în care acesta asigură controlul fluxului și controlul erorilor de date la nivelul trei al unui model OSI. Mesajele de protocol și parametrii din prima parte a antetului pachetului ICMP acoperă toate aspectele legate de managementul rețelei și problemele de diagnosticare.
Este important să știți că setările incorecte pentru firewall pot permite atacatorilor să parcurgă rețeaua organizației și să o facă predispusă la atacuri DDOS, ping of death și ICMP flood. Poți să folosești Wireshark pentru a captura pachete de pe internet și efectuați o analiză detaliată a pachetelor ICMP pentru o mai bună înțelegere.
5 moduri de a remedia eroarea „Unul sau mai multe protocoale de rețea lipsesc” în Windows 10
Citiți în continuare
Subiecte asemănătoare
- Tehnologia explicată
- Retele de calculatoare
Despre autor
Rumaisa este un scriitor independent la MUO. Ea a purtat multe pălării, de la un matematician la un pasionat de securitate a informațiilor, iar acum lucrează ca analist SOC. Interesele ei includ citirea și scrierea despre noile tehnologii, distribuțiile Linux și orice despre securitatea informațiilor.
Aboneaza-te la newsletter-ul nostru
Alăturați-vă buletinului nostru informativ pentru sfaturi tehnice, recenzii, cărți electronice gratuite și oferte exclusive!
Click aici pentru a te abona