Ответ
ICMP (Internet Control Message Protocol) не использует порты. Порты — это концепция транспортного уровня (L4) моделей OSI/TCP-IP, характерная для протоколов TCP и UDP.
ICMP работает на сетевом уровне (L3), непосредственно поверх IP. Для идентификации типа сообщения ICMP использует поля Type и Code в своем заголовке.
Распространенные типы ICMP-сообщений:
- Type 8, Code 0: Echo Request (запрос
ping) - Type 0, Code 0: Echo Reply (ответ на
ping) - Type 3: Destination Unreachable (с различными кодами, например, Code 3 — Port Unreachable)
- Type 11: Time Exceeded (используется
traceroute)
Практическое значение для DevOps: При настройке сетевых правил (фаерволы, security groups, сетевые политики Kubernetes) нужно помнить, что для разрешения ICMP-трафика (например, для мониторинга доступности) вы управляете не портами, а типами протоколов. Например, в AWS Security Group это правило "All ICMP - IPv4", а в iptables:
# Разрешить входящие ping-запросы (Echo Request)
iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT