Протоколы ICMP и IGMP
ICMP — это протокол управления сообщениями в Интернете, используется IP-устройствами, чтобы информировать другие IP-устройства о действиях и ошибках в сети. Без TCP IP не является надежным протоколом: он не отправляет подтверждения, не проверяет данные на ошибки (только контрольную сумму заголовка) и не повторяет передачу.
Об ошибках можно информировать с помощью сообщений ICMP. Сообщения ICMP используются для отправки ответной реакции о состоянии сети. Например, маршрутизатор, не найдя подходящего элемента для сети в таблице маршрутизации, отправляет сообщение ICMP «недостижимый пункт назначения». Найдя лучший путь, маршрутизатор может послать сообщение ICMP «перенаправить».
ICMP не располагается поверх IP, как могло бы показаться, напротив, сообщения ICMP отправляются внутри заголовка IP. Следовательно, протокол ICMP должен быть реализован модулем IP стека сети. Эти поля сообщения ICMP ставятся в начале заголовка IP:
Длина | Поле | Описание |
---|---|---|
1 байт | Тип | В этом поле задается тип сообщения ICMP. Например, значение типа, равное 3, означает, что пункт назначения недостижим, 11 определяет, что время истекло, 12 — обнаружены некорректные параметры заголовка. |
1 байт | Код | Код предоставляет дополнительную информацию о типе сообщения. Для типа «недостижимый пункт назначения» код указывает, что именно недостижимо: сеть (0), хост (1), протокол (2) или порт (3). |
2 байта | Контрольная сумма | Контрольная сумма сообщения ICMP. |
4 байта | Зависит от типа | В последних 4 байтах заголовка ICMP может предоставляться дополнительная информация, зависящая от типа сообщения. |
Команда ping
Утилита ping командной строки Windows отправляет ICMP-сообщение «эхо» целевому устройству, указанному именем хоста или IP-адресом в команде ping. Если устройство достижимо, обратно отправляется сообщение «отклик на эхо».
Эта команда очень полезна, когда нужно проверить, можно ли достичь данного устройства, есть ли проблемы на пути к нему (команда PING -t продолжает посылать сообщения, пока не будет остановлена) и как быстро сообщение доходит до устройства.
Если вы не можете достичь какого-либо хоста с использованием команды ping, то это не означает, что его нельзя достичь с помощью других протоколов. ICMP-сообщения «эхо»могут блокироваться маршрутизаторами или брандмауэрами.
На следующем снимке экрана показан вывод, создаваемый командой ping для хоста с IP-адресом 212.183.100.193. По умолчанию ping посылает узлу назначения четыре ICMP-сообщения и ждет откликов. На снимке показано, что были отправлены 32 байта данных и время, при этом не было получено отклика, поэтому все 4 пакета были потеряны:
IGMP — Internet Group Management Protocol
Как и ICMP, IGMP представляет расширение протокола IP и должен быть реализован модулем IP. IGMP используется приложениями групповой рассылки. При отправке широковещательного сообщения в локальной сети каждый узел этой сети анализирует сообщение вплоть до транспортного уровня, чтобы проверить, хочет ли какое-либо приложение получать сообщения от порта широковещательной передачи. Если ожидающие приложения отсутствуют, сообщение уничтожается и не передается выше транспортного уровня. Это означает, что каждому хосту нужно затратить несколько циклов центрального процессора (ЦП) независимо от того, интересует его широковещательное сообщение или нет.
При групповой рассылке этот момент учитывается, и сообщения отправляются не всем узлам локальной сети, а только группе узлов. Сетевая интерфейсная плата может определить, интересуется ли система данным сообщением, анализируя широковещательный МАС-адрес и не прибегая к помощи ЦП.
Заинтересованность в сообщениях групповой рассылки регистрируется отправкой запроса на членство в группе через IGMP-сообщение. Аналогично можно использовать IGMP, чтобы отказаться от членства.
Difference between ICMP and IGMP
ICMP stands for Internet Control Message Protocol and IGMP stands for Internet Group Message Protocol. Both are the most important thing or term in networking. ICMP (Internet Control Message Protocol) is employed to envision reachability to a network or host associated it’s additionally wont to PING an information science address to envision if there’s property or not. Whereas IGMP (Internet Group Message Protocol) is employed for cluster packet transfer wherever client watch TV through satellite association. The major distinction between ICMP(Internet Control Message Protocol) and IGMP(Internet Group Message Protocol) is that, IGMP is employed to form cluster of hosts, whereas ICMP is employed to send error messages and operational data indicating by hosts.
Let’s see that the difference between ICMP and IGMP:
S.NO | ICMP | IGMP |
---|---|---|
1. | ICMP stands for Internet Control Message Protocol. | While IGMP stands for Internet Group Message Protocol. |
2. | ICMP has PING features. | While it has the Multicast feature. |
3. | Internet control message protocol is unicasting. | While internet group message protocol is multicasting. |
4. | ICMP can be operate between host to host or host to router or router to router. | While IGMP can be used between client to multicast router. |
5. | ICMP is a layer3 protocol. | IGMP is also a network layer or layer3 protocol. |
6. | It controls the unicast communication and used for reporting error. | It controls the multicast communication. |
7. | ICMP could be a mechanism employed by hosts and gateway to send notification of datagram downside back to sender. | While IGMP is employed to facilitate the synchronal transmission of a message to a bunch of recipients. |
8. | ICMP is used to test reachability to a host or network. | While IGMP is used in group packet transmission like DTS service. |
9. | ICMP is primarily used for diagnostic and error reporting purposes. | IGMP is primarily used for multicasting purposes. |
10. | ICMP messages are typically sent in response to errors or diagnostic requests. | IGMP messages are sent by hosts to multicast routers to join or leave multicast groups. |