Протокол ICMP (Internet Control Message Protocol)
За обмен на служебни съобщения в Internet се използва протокола ICMP. Това е дефиниран набор от служебни съобщения, които възлите в Internet си обменят помежду си, с цел улесняване управлението на обмена на потребителски данни. Най-общо се разделят на две групи съобщения:
Информационни съобщения – най-често обслужват диагностични процедури или информация за дадено събитие. Могат да бъдат:
Процедури ping – за определяне достижимостта на даден възел. При стартирането й, съответните компютри изпращат съобщение, наречено ECHO Request по ICMP протокола. Отдалечената система изпраща ECHO Reply. Мери се времето за заявката и отговора, и се разбира има или няма съобщение.
За регулиране на дебита на обменяните данни – ако някоя система изпрати към друга дейтаграма с много висока честота, информационният поток може да превиши възможността за обработка в приеманата страна на крайния получател или на междинните възли по маршрута. Всяка система следи информационният поток и при достигане на критичното ниво на натоварване, изпраща съобщение – ICMP Source quench – забави темпото.
За поддържане и конструиране на таблицата за маршрутизация – ако даден маршрутизатор получи дейтаграма, за която вече е открил по-добър маршрут, той я препраща по стария маршрут, но същевременно уведомява предходния възел за новия маршрут със съобщение ICMP Redirect (в него указва новия маршрут).
Съобщения за грешки – изпращат се при отхвърляне на дадена дейтаграма, поради следните причини:
Изтекло време на живот (поле TTL = 0) – ICMP Time Exceed.
При невъзможност за набиране на път.
При невъзможност за фрагментация на дадена дейтаграма, ако такава е необходима – случва се, когато полето Flags в IP header-а е вдигнато – това означава забрана за фрагментация. В такъв случай, източникът на дейтаграмата ще бъде уведомен със съобщение ICMP Fragmentation Required.
Приложение на някои съобщения:
Time Exceed – при диагностичната процедура tracert.
Fragmentation Required – за диагностична процедура, определяща MTU на зададен маршрут. Системата инициатор изпраща към крайния получател съобщение с дължина равна на собственото си MTU и вдигнат флаг за фрагментация. Ако някъде по трасето изпратената дейтаграма трябва да премине през мрежа с по-малко MTU, дейтаграмата ще бъде отстранена поради невъзможност за фрагментация, като съответния маршрутизатор ще върне съобщение, съдържащо като параметър локалното MTU. Системата инициатор изпраща ново съобщение с дължина равна на тази стойност и така процеса се повтаря до успешното получаване до крайния получател.
I CMP генерира съобщения във формат ICMP header и data:
Сподели с приятели: |