ICMP

С Википедије, слободне енциклопедије

ICMP (енгл. Internet Control Messaging Protocol) је протокол слоја мреже који обезбеђује поједине механизме оглашавања. У суштини, ICMP обезбеђује повратну спрегу у вези проблема у комуникацији у окружењу. Примери употребе ICMP-а су када пакет не може да стигне до одредишта, рутер нема довољну величину бафера да би га проследио (корисник да би га примио) или када рутер може да упути поруку да постоји краћа рута. У већини случајева, ICMP порука се шаље као одговор на пакет, било да га шаље рутер који се налази на путу датаграма или хост који је одредиште.

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

Заглавље[уреди | уреди извор]

бит 0-7 8-15 16-31
Тип поруке код Сума за проверу (Провера битских грешака)
Параметри

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

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

Ова поља су углавном праћена допунским информацијоним пољима која даље описују садржај поруке.

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

Параметри (типови порука)[уреди | уреди извор]

ICMP порука оглашавања може бити послата у неком од следећих случајева:

  1. Конфирмација (потврда) корисника
  2. Недоступност дестинације или сервиса
  3. Обавештење о истеку живота поруке
  4. Промена руте (маршруте)
  5. Порука о стишавању протока из изворишта
  • Конфирмација (потврда) корисника - Ехо поруке и ехо одзив поруке

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

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

Кодови које користи порука у овом случају:

    • 0 за недоступну мрежу (net unreachable)
    • 1 за недоступног корисника (host unreachable)
    • 2 за недоступан протокол (protocol unreachable)
    • 3 за недоступан порт (port unreachable)

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

  • Обавештење о истеку живота поруке

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

  • Промена руте (маршруте)

Рутер шаље поруку редирекције хосту који је прикачен на директно повезан рутер да би обавестио хост о бољој рути ка одређемом одредишту.

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

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

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

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

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

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

Види још[уреди | уреди извор]

RFC[уреди | уреди извор]

  • RFC 792, Internet Control Message Protocol
  • RFC 950, Internet Standard Subnetting Procedure
  • RFC 1016, Something a Host Could Do with Source Quench: The Source Quench Introduced Delay (SQuID)
  • RFC 1122, Requirements for Internet Hosts – Communication Layers
  • RFC 1716, Towards Requirements for IP Routers
  • RFC 1812, Requirements for IP Version 4 Routers

Спољашње везе[уреди | уреди извор]