Что за протокол ICMP, какого уровня

«Что за протокол ICMP, какого уровня» — вопрос из категории Сети, который задают на 31% собеседований Devops Инженер. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

ICMP (Internet Control Message Protocol) работает на сетевом уровне (L3) модели OSI. Он используется для диагностики и управления сетевыми соединениями. Например, утилита ping использует ICMP-запросы (Echo Request) и ответы (Echo Reply) для проверки доступности узла.

Пример кода для отправки ICMP-пакета (Python с библиотекой scapy):

from scapy.all import *
packet = IP(dst="8.8.8.8")/ICMP()
response = sr1(packet, timeout=2)
if response:
    print(f"Ответ от {response.src}")

Основные типы ICMP-сообщений:

  • 0 (Echo Reply)
  • 8 (Echo Request)
  • 3 (Destination Unreachable)
  • 11 (Time Exceeded)