1

Я только что прочитал это в Википедии:

Хотя сообщения ICMP содержатся в стандартных дейтаграммах IP, сообщения ICMP обычно обрабатываются как особый случай, в отличие от обычной обработки IP, а не как обычный подпроток IP.

Чем ICMP уникален? Я пытался выяснить, используется ли он в TCP-пакете или UDP-пакете при запуске ping , но я продолжал читать, что это "уникальный" протокол, и не смог найти для этого однозначного ответа.

Кроме того, я видел этот вопрос и ответ в Wireshark Lab о ICMP - ping:

Если ICMP вместо этого отправляет UDP-пакеты (как в Unix/Linux), будет ли номер IP-протокола по-прежнему 01 для тестовых пакетов? Если нет, что бы это было?

Нет. Если вместо этого ICMP отправляет UDP-пакеты, номер протокола IP должен быть 0x11.

Почему номер протокола IP будет другим, если ICMP отправляет UDP-пакеты?
Кроме того, ICMP не использует UDP в любом случае? Как это работает?

1 ответ1

6

Чем ICMP уникален? Я пытался выяснить, используется ли он в TCP-пакете или UDP-пакете при запуске ping, но я продолжал читать, что это "уникальный" протокол, и не смог найти определенный ответ для этого.

Он не используется ни в дейтаграмме TCP, ни в UDP.

Вместо этого посмотрите на это так:

IP это конверт. Передача происходит, когда кто-то вручает мне бумагу и говорит, куда она должна идти. Я кладу бумагу в конверт, пишу на ней место назначения и отправляю по почте. Получение - это наоборот. Конверт приходит в почтовом отделении, я достаю его из конверта и передаю следующему человеку.

Обратите внимание, что мне все равно, как работает почтовая часть. Там может быть какой-то парень в почтовой форме. Это могут быть выделенные водители. Кто-то может взять конверты и привязать их к кареткам. Все, о чем я забочусь, - это доставать бумагу в конверты и из них.


Эти документы бывают нескольких форматов.

  • Один из них - просто обычная бумага с текстом. (UDP).
  • Один из них - тип бумаги с номерами отслеживания (подумайте: в отношении вашего запроса, здесь часть 2 из .... и т.д.) (TCP)
  • Одним из них является не письмо с текстом, а с сообщениями о состоянии (ICMP)

Каждая бумага имеет небольшую маркировку в углу. Эти маркировки различны для всех трех видов (это, вероятно, ваш уникальный)

Если это помеченный UDP (17 или 0x11), документ будет размечен так:

UDP

Если маркировка в углу имеет знак / значение TCP (0x06), то я знаю, что документ будет выложен так:

TCP

Если у меня есть датаграмма ICMP (0x01), я знаю, что расположение будет немного другим.

Но во всех случаях я могу проверить одно конкретное место (одно и то же место на всех листах бумаги) и прочитать одно значение. Исходя из этого я знаю, как макет остальной части бумаги.

Все эти значения уникальны для макета бумаги

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .