ICMP обезбеђује средство за трансмисију порука од рутера и осталих хостова до хостова. У суштини, ICMP обезбеђује повратну спрегу у вези проблема у комуникацији у окружењу. Пример употребе ICMP-а је када датаграм не може да стигне до одредишта, када рутер нема довољну величину бафера да би проследио датаграм и када рутер може да упути станицу да шаље пакете краћом рутом. У већини случајева, ICMP порука се шаље као одговор на датаграм, било од стране рутера који се налази на путу датаграма или од стране хоста који је одредиште датаграма. Иако је ICMP на истом слоју као и IP у TCP/P архитектури, он је уствари корисник IP-a. ICMP порука се прво направи па се онда предаје IP-у који спаја поруку са IP заглављем и онда преноси резултујући датаграм на већ уобичајени начин. Из разлога што се ICMP поруке шаљу као IP датаграми, њихова испорука није гарантована нити њихово коришћење поуздано.


Заглавље уреди

Слика приказује ICMP поруке. Једна ICMP порука почиње са 64-битним заглављем које се састоји од следећих поља:

  • Тип (8 bita): Означава тип ICMP поруке.
  • Kod (8 bita): Користи се да би се специфицирали параметари поруке која се може кодовати са једним или више бита.
  • Чексума (16 бита): Чексума ICMP поруке. Исти алгоритам се користи и у чексуми IP-а.
  • Параметри (32 бита): Служи да би се назначили параметри који следе.

Ова поља су углавном праћена допунским информацијоним пољима која даље описују садржај поруке. У оним случајевима у којима се ICMP порука одности на претходни датаграм, информациона поља садрже цело IP заглавље плус првих 64 бита поља података оригиналног датаграма. Ово омогућава изворишном хосту да упореди долазећу ICMP поруку са претходним датаграмом. Разлог за укључивање првих 64 бита поља података је тај што ће ово омогућити IP модулу у хосту да одреди који протокол или протоколи вишег слоја су били укључени. Првих 64 бита би укључилодео TCP заглавља или заглавља неког другог протокола транспортног слоја.

Параметри (типови порука) уреди

  • Одредиште недоступно

Порука покрива бројне случајеве. Рутер може да врати ову поруку ако не зна како да дође до одредишне мреже. У неким мрежама рутер може да процени да је неки хост недоступан и онда врати поруку о томе. Одредишни хост такође може да врати ову поруку ако је кориснички протокол или нека од приступних тачака сервиса виших слојева недоступана. Ово може да се деси ако је одговарајуће поље у IP заглављу неправилно подешено. Ако је у датаграму наведено изворишно рутирање које се не користи, порука ће бити враћена. На крају, када рутер треба да фрагментује датаграм, а флег Немој Фрагментовати је постављен, рутер одбацује датаграм, а изворишном хосту се шаље порука. Рутер ће вратити поруку о истеку времена ако животни век датаграма истекне. Хост ће послати ову поруку не заврши склапање датаграма у року. Синтаксичке или семантичке грешке у IP заглављу проузроковале би поруку о грашкама у параметрима која би била враћена од стране рутера или хоста. На пример, неправилни аргументи могу бити дати од стране поља опција. Поље параметара садржи показивач на октет у оригиналном датаграму у коме је детектована грешка.

  • Порука о стишавању протока из изворишта (source quench)

Обезбеђује основну форму о контроли протока. Рутери или одредиште шаљу ову поруку изворишном хосту, тражећи да смањи брзину слања пакета према одредишту. Када се прими порука о стишавању протока, изворишни хост би требало да смањи брзину којом шаље пакете ка одређеној дестинацији док не престане да добија поруке о стишавању протока. Ова порука може бити коришћена од стане рутера или хоста који мора да одбаци пакете због пуног бафера. У том случају ће рутер или хост објављивати поруку о смањењу протока за сваки датаграм који је одбачен. Систем ће упозорити да је дошло до нагомилавања овом поруком када се бафер приближи горњој граници капацитета. У том сличају, датаграм који припада поруци о стишавању протока ће бити успешно испоручен. Ипак, пријем поруке о стишавању протока не говори ништа о испоруци или неиспоруци одговарајућег датаграма. Рутер шаље поруку редирекције хосту који је прикачен на директно повезан рутер да би обавестио хост о бољој рути ка одређемом одредишту.

  • Ехо поруке и ехо одзив поруке

Обезбеђују механизам за тестирање да ли је могућа комуникација између два ентитета. Прималац ехо поруке је обавезан да врати поруку у облику поруке о ехо одзиву. Идентификатор и низ бројева се придружују ехо поруци да би се прилагодила поруци са ехо одзивом. Идентификатор се може користити као приступна тачка сервиса да би се идентификовала одређена сеанса, низ бројева се може инкрементирати сваки пут када се пошаље ехо захтев.

  • Порука са ознаком времена и порука са одговором са ознаком времена

Пошиљалац поруке са ознаком времена може да укључи и идентификатор и низ бројева у параметарским пољима и укључи време слања поруке (почетак ознаке времена). Прималац бележи време када је примио поруку и време када је послао поруку са одговором у поруци са одговором са ознаком времена. Ако је порука са ознаком времена послата коришћењем стриктног изворишног рутирања, онда могу бити мерене и карактеристике кашњења одређене руте.

  • Поруке са захтевом адресне маске и поруке са одговором са адресном маском

Корисне су у окружењу са подмрежама. Поруке са захтевом адресне маске и поруке са одговором омогућавају хосту да научи адресну маску за LAN за који је везан. Хост шаље broadcast са поруком са захтевом адресне маске на LAN. Рутер на LAN-у одговара са поруком са одговором са адресном маском која садржи адресну маску.