8. Объекты расширения ICMP
Каждый объект расширения содержит по крайней мере одно 32-битовое слово, представляющее заголовок и и данные объекта расширения. Все заголовки объектов используют общий формат. Рисунок 7 показывает формат заголовка и данных объекта.
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Length | Class-Num | C-Type | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | // (данные объекта) // | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Рисунок 7: Заголовок и данные объекта расширения
Заголовок объекта включает следующие поля:
- Length — размер (16 битов)
- Размер объекта в октетах с учетом заголовка и данных.
- Class-Num (8 битов)
- Идентификатор класса объекта.
- C-Type (8 битов)
- Идентификатор субтипа объекта.
9. Вопросы безопасности
При получении сообщения ICMP прикладная программа должна проверить его синтаксическую корректность. Должна проверяться также контрольная сумма расширения. Некорректно заданные атрибуты размера и другие синтаксические проблемы могут приводить к переполнению буфера.
В этом документе не задаются условия, при которых маршрутизаторы передают сообщения ICMP. Следовательно, не возникает возможностей для организации новых атак на службы (DoS). Маршрутизаторы могут ограничивать скорость передачи сообщения ICMP.