Locked History Actions

Internet Control Message Protocol

Internet Control Message Protocol

ICMP

Interneto kontrolės žinučių protokolas


Apibrėžimas

Interneto kontrolės žinučių protokolas (ICMP) - tai protokolas skirtas naudoti kaip pagalba kitiems protokolams, bei sistemos administratoriams, tam kad patikrinti sistemos jungiamumą bei aptikti konfigūracijos klaidas tinkle.


Paaiškinimai

Skirtingai nuo UDP ar TCP protokolų ICMP nenaudojamas duomenų siuntimui tarp mazgų, o dažniausiai naudojamas perduoti klaidos informaciją duomenų siuntėjui. Tokia informacija dažniausiai perduodama tarp prie tinklo prijungto kompiuterio ir tinklinės įrangos. ICMP užklausos turi būti greitai atsakytos, tam kad užtikrinti gautų rezultatų konfidencialumą. Sistemos nenutrūkstamai priima šias užklausas. ICMP užklausose, informacija yra patalpinta paketuose kuri retai būna svarbi, taigi šios informacijos apdorojimas netik tampa per daug sudėtingas, bet taip pat ji dažnai pasirodo visiškai nenaudinga. Šis protokolas palaiko informacijos apie klaidas perdavimą ir valdo informaciją tarp tinklo šliuzų ir mazgų. ICMP pranešimai generuojami ir apdorojami Interneto programine įranga, o ne vartotojiškais procesais. ICMP taip pat gali būti naudojamas tam kad pasikeisti pagrindine informacija apie tinklą arba tam kad ištirti tam tikras tinklo charakteristikas. Pavyzdžiui daugelis PING programų naudoja būtent ICMP pranešimus tam kad ištirti bazinį jungiamumą tarp dviejų įrenginių.

ICMP klaidų pranešimai

ICMP klaidų pranešimai yra naudojami tada kai reikia pranešti apie problemą, kuri trukdo įvykti kažkokio tai paketo pristatymui. Paketai, nešantys ICMP pranešimą, neturi specialaus prioriteto – jie nukreipiami kaip ir bet kuris kitas paketas, su viena maža išimtimi. Jei paketas, nešantis ICMP klaidos pranešimą pats yra klaidos priežastimi, klaidos pranešimas yra nesiunčiamas.

5 ICMP klaidų pranešimai

  1. Šaltinio slopinimas (Source Quench). Maršruto parinkimo įrenginys siunčia šį pranešimą, kai tik gauna tiek daug paketų, kad nebeturi buferinės atminties jiems saugoti. Kai maršruto parinkimo įrenginys laikinai nebeturi laisvos atminties, jis turi trinti ateinančius paketus. Ištrynęs jis siunčia šaltinio slopinimo pranešimą pagrindiniam kompiuteriui, kuris sukūrė šį paketą. Gavęs tokį pranešimą, kompiuteris turi sumažinti perdavimo greitį.

  2. Laiko viršijimas(Time exceeded). Šis pranešimas yra siunčiamas dviem atvejais. Kai tik maršruto parinkimo įrenginys sumažina paketo lauko TIME TO LIVE reikšmę iki nulio, jis sunaikina paketą ir siunčia laiko viršijimo pranešimą. Be to, šį pranešimą siunčia pagrindinis kompiuteris, jei pakartotinio komponavimo laikmatis baigiasi iki visų duoto paketo fragmentų atėjimo.

  3. Paskirties punktas nepasiekiamas (Destination Unreachable). Kai tik maršruto parinkimo įrenginys nustato, kad paketas negali būti pristatytas į jo galutinį paskirties punktą, jis siunčia šį pranešimą pagrindiniam kompiuteriui, sukūrusiam paketą. Pranešimas nurodo, ar kuris nors pagrindinis kompiuteris yra nepasiekiamas, ar tinklas, prie kurio jis prijungtas, yra nepasiekiamas.

  4. Peradresavimas(Redirect). Kai pagrindinis kompiuteris kuria paketą nutolusiam tinklui, jis siunčia paketą maršruto parinkimo įrenginiui, kuris nukreipia jį į jo paskirties punktą. Jei maršruto parinkimo įrenginys nustato, kad pagrindinis kompiuteris neteisingai pasiuntė paketą, jis turėtu būti pasiųstas į kitą maršruto parinkimo įrenginį, pastarasis naudoja peradresavimo pranešimą ir nurodo pagrindiniam kompiuteriui pakeisti maršrutą.

  5. Reikalingas fragmentavimas (Needs to fragment). Pagrindinis kompiuteris, kuriantis paketą, gali nustatyti bitą antraštėje su nurodymu, kad fragmentavimas negalimas. Jei maršruto parinkimo įrenginys nustato, kad toks paketas yra didesnis, nei tinklo, kuriuo ji turės būti persiųsta MTU, jis siunčia fragmentavimo reikalingumo pranešimą atgal siuntėjui ir ištrina paketą.

Informaciniai ICMP užklausų pranešimai

ICMP informaciniai pranešimai (Query Messages) suteikia galimybę nustatyti pagrindines tinklo charakteristikas.

3 ICMP informaciniai pranešimai

  1. Echo reikalavimas/atsakymas (ECHO Request/Reply). Echo reikalavimo pranešimas gali būti pasiųstas ICMP programinei įrangai bet kuriame kompiuteryje. Pagal ateinantį echo reikalavimo pranešimą ICMP programa turi išsiųsti ICMP echo atsakymo pranešimą.

  2. Timestamp reikalavimas/atsakymas (Timestamp Request/Replay). Ši ICMP užklausų pora gali būti naudinga testuojant tinklą. Timestamp Request ir Timestamp Reply yra pranešimai, kurie leidžia siuntėjui nustatyti vėlinimo laiko dydį.

  3. Tinklo kaukės reikalavimas/atsakymas (Address Mask Request/Reply). Jis naudojama nustatyti tiesiogiai prijungto tinklo IP adreso potinklio kaukę.

ICMP antraštės formatas

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

Tipas

Kodas

Duomenų kontrolinė suma

  • ICMP žinutės tipui skiriami 8 bitai. Klaidos pranešimai, užklausos ir atsakymai turi skirtingus tipo numerius. ICMP žinutės kodui skiriami 8 bitai ir tai yra daug platesnė ICMP tipo specifikacija. (pvz.: klaidos pranešime apie nepasiekiamą gavėją nurodoma priežastis, kodėl gavėjas yra nepasiekiamas.) ICMP duomenų kontrolinei sumai skiriami 16 bitų. Ši suma naudojama patikrinti, ar gautos ICMP žinutės turinys yra nepakitęs.


Naudota literatūra

  1. http://en.wikipedia.org/wiki/Internet_Control_Message_Protocol

  2. http://lt.wikipedia.org/wiki/ICMP

  3. http://www.faqs.org/rfcs/rfc792.html


CategoryŽodis