210 likes | 424 Views
Interneto valdymo pranešimų protokolas (ICMP). Aistė Mišinytė, IFK-3. Tikslai. ICMP – kas tai? Pranešimų formatas. Pranešimų rūšys. ICMP panaudojimas. ICMP ypatybės. Interneto protokolas (IP) sukurtas ne taip, kad būtų absoliučiai patikimas.
E N D
Interneto valdymo pranešimų protokolas (ICMP) Aistė Mišinytė, IFK-3
Tikslai • ICMP – kas tai? • Pranešimų formatas. • Pranešimų rūšys. • ICMP panaudojimas. • ICMP ypatybės.
Interneto protokolas (IP) sukurtas ne taip, kad būtų absoliučiai patikimas. • IP datagramos gali būti pametamos, užlaikomos, sugadinamos ir pan. be įspėjimo. • Pats IP nemėgina spręsti tokių problemų. Tam naudojami specialūs mechanizmai. • Pavyzdžiui, apie kylančias problemas pranešama specialiomis žinutėmis.
ICMP – kas tai? (1) • Pranešant apie darbo su datagramomis aspektus, naudojamas specialus protokolas – ICMP. • ICMP glaudžiai susijęs su IP. Iš pirmo žvilgsnio, tai aukštesnio lygio protokolas. Tačiau iš tiesų, jis yra integrali IP dalis. • IP naudoja ICMP, kad galėtų pranešti apie klaidas ir perduoti nurodymus. O ICMP naudoja IP, persiunčiant pranešimus. • ICMP nedidina IP patikimumo. Aukštesnio lygio protokolai patys turi turėti patikimumo užtikrinimo mechanizmus.
ICMP – kas tai? (2) • ICMP – pranešimų apie klaidas ir tinklo valdymo įrankis. Jis leidžia apdoroti įvairius nenumatytus atvejus tinkle. ICMP nenaudojamas pranešimams apie pranešimų klaidas, vengiant pranešimų griūties. • ICMP sukurtas tam, kad tinklas veiktų kiek įmanoma našiau. • Ir tam, kad spręstų tinkle kylančias problemas, nenagrinėjant atskirų paketų. Todėl pranešama tik apie pirmo datagramos fragmento klaidas. • ICMP aprašytas gana seniai. Jį apibūdina 1981 metų RFC 792 specifikacija.
ICMP antraštė ICMP duomenys Pranešimų formatas (1) ICMP pranešimai persiunčiami IP datagramose. Tokiu būdu enkapsuliacija vyksta keliais lygiais. IP antraštė IP duomenys Kadro antraštė Kadro duomenys
Pranešimų formatas (2) IP antraštėje įrašomos tokios reikšmės: • Versija – 4. • Serviso tipas – 0. • Protokolas – ICMP=1.
Pranešimų formatas (3) • IP paketo duomenys – tai ICMP pranešimas. • ICMP pranešimas irgi susideda iš antraštės ir duomenų.
Pranešimų formatas (4) • ICMP antraštei skirti pirmi aštuoni baitai. • Antraštės laukų reikšmė: • Tipas – nurodo pranešimo tipą. • Kodas – to tipo konkrečios klaidos kodas. • Apsaugos seka – CRC algoritmu paskaičiuota seka. • Identifikatorius – identifikuoja pranešimą (echo pranešimuose). • Sekos numeris – eilės numeris (echo pranešimuose). • Papildomi duomenys – priklauso nuo pranešimo tipo (IP adresai, atsitiktiniai duomenys). • Vidutinis siunčiamo pranešimo dydis – 70 baitų.
Pranešimų rūšys (2) • Tokiu būdu, nurodyti pranešimo tipą yra skirti skaičiai nuo 0 iki 255, tačiau ne visi jie panaudojami. Pavyzdžiui, 1,2,7 yra nepriskirti jokiam tipui, o 19-27 ir 37-255 – rezervuoti. • Be lentelėje nurodytų tipų, galima paminėti 33 ir 34, kurie skirti specialiai IPv6 reikmėms. Pats ICMP yra suderinamas su IPv6.
Pranešimų pavyzdžiai (1) • Gavėjas nepasiekiamas. Toks pranešimas gali atsirasti, kai nepavyksta pristatyti paketo adresatui, nes nepasiekiamas tinklas, įrenginys, portas, reikalinga negalima fragmentacija ar pan. Priežastis nustatoma iš kodo. Tarkime, kad reikiamas portas yra neaktyvus, tada hostas-gavėjas gali grąžinti siuntėjui pranešimą, jog nepasiekiamas gavėjas. • Laikas išseko. Pasibaigus paketo gyvavimo arba surinkimo iš fragmentų laikui, paketas sunaikinamas ir maršrutizatorius arba hostas siunčia pranešimą.
Pranešimų pavyzdžiai (2) • Siuntėjo pristabdymas. Kai ateina tiek datagramų, jog nebeužtenka buferinės atminties joms saugoti arba neįmanoma taip greitai jų apdoroti, siunčiamas šis pranešimas. Pranešimu prašoma siuntėjo sulėtinti siuntimą. • Nukreipimas. Siunčiamas pranešimas, nurodant, kad galima pasirinkti geresnį kelią. Pavyzdžiui, parinktu maršrutu paketas persiunčiamas iš vieno maršrutizatoriaus kitam tame pačiame tinkle, kai galima tiesiogiai nusiusti paketą.
Pranešimų pavyzdžiai (3) • Echo užklausos ir atsakymai. Gautas echo pranešimas turi būti grąžintas siuntėjui. Echo siuntėjas gali naudoti identifikatorių ir sekos numerį tam, kad susietų užklausimus su atsakymais. • Parametrų problemos. Pranešimas gali būti atsiųstas, jei antraštėje aptikta neleistina lauko reikšmė. Grąžinama nuoroda į baitą, kuriuo pradedant datagramos antraštėje aptikta klaida. • Šie pranešimai gali būti suskirstyti į dvi grupes: pranešimai apie klaidas ir informaciniai pranešimai. Pastarieji naudingi nustatant tinklo savybes.
ICMP panaudojimas (1) • Ping komanda. • Pranešimai siuntėjui apie paketus, kurių gyvavimo laikas pasibaigė. • Pranešimai apie paketus, kurie turi būti suskaidyti. • Geresnių maršrutų nurodymas. • Siuntimo spartos reguliavimas. • Pranešimai apie nepasiekiamą gavėją. Neveikiantį tinklą arba hostą. • Potinklio kaukės užklausimas.
ICMP panaudojimas (2) • Ping komanda naudojama patikrinti, ar pasiekiamas gavėjas. Pati ping komanda naudojasi echo užklausimais. Gavėjas grąžina echo atsakymą. Ping paskaičiuoja, kiek reikia laukti atsakymo, ir taip įvertina tinklo veikimą. • Tracerout nustato, kiek šuoliukų reikia atlikti, kad pasiektume gavėją. Tracerout siunčia IP paketus, kurių TTL prasideda vienu ir kiekviename žingsnyje didėja. Iš maršrutizatorių bus gaunami ICMP paketai – jie skaičiuojami. Kai bus pasiektas gavėjas, procesas nutrūks, nes gavėjo portas neaktyvus.
ICMP ypatybės • ICMP yra paprastas protokolas. Todėl nėra saugus. Pvz., tyčiniai klaidingi pranešimai gali sutrikdyti tinklo ar hosto darbą. • ICMP skiria tipai ir kodai, rodantys pranešimų paskirtį. • ICMP klaidų pranešimai neturi pristatymo garantijų. Jie vienkrypčiai. • ICMP klaidos nepranešamos siuntėjui. • Maršrutizatoriai naudoja ICMP kaip informacijos šaltinį. • Saugumo sumetimais, ICMP naudojamas ribotai.
Šaltiniai • RFC 792 - Internet Control Message Protocol. • V.Benetis. Interneto tinklų komutavimas. • S.Kalyanaraman. OAM Functions: Error Reporting, Configuration, Management(ICMP, DHCP, NAT, SNMP).