Большой архив статей, книг, документации по программированию, вебдизайну, компьютерной графике, сетям, операционным системам и многому другому
 
<Добавить в Избранное>    <Сделать стартовой>    <Реклама на сайте>    <Контакты>
  Главная Документация Новости ИТ Программы Книги Games   Обои   Экспорт RSS E-Books
 
Поиск по сайту

TOP-10 программ
Symantec Norton Ghost 9.0
Partition Magic 8.0.2 Pro
Xilisoft 3GP Video Converter v3.1.7.0616b
Norton AntiVirus 2005
Xilisoft 3GP Video Converter v2.1.52.831b
Антивирус Касперского Personal 5.0.303 beta 2
RAR Password Cracker 4.12
ABBYY PDF Transformer v1.00.820
MP3 To Ringtone Gold v3.02
Windows Movie Maker 2.6
 
Наши сервисы
Рассылка новостей. Подпишитесь на рассылку сейчас и вы всегда будете в курсе последних событий в мире информационных технологий.
Новостные информеры. Поставьте наши информеры к себе и у вас на сайте появится дополнительный постоянно обновляемый раздел.
Добавление статей. Если вы являетесь автором статьи или обзора на тему ИТ присылайте материал нам, мы с удовольствием опубликуем его у себя на сайте.
 
 

   Сети -> TCP/IP -> Протокол ICMP



FREEnet PBL-0006 RU 1.1 1995-09-08
---------------------------------------------------------------------------

Протокол ICMP

Радик Усманов
radik@binep.ac.ru

Январь, 1995 г.

     Реферат: Документ содержит русский перевод спецификации протокола
     ICMP (Internet Control Message Protocol) - протокола управляющих
     сообщений в стеке протоколов IP, применяемого в международной
     компьютерной сети Internet. Оригинальный документ известен, как
     RFC792.

Примечания редактора

Со временем в спецификацию протокола ICMP были введены еще два
дополнительных типа сообщений: Address Mask Request (код 17) и Address Mask
Reply (код 18). Данные типы сообщений описаны в документе RFC950 "Internet
Standard Subnetting Procedure".

Оригинальная версия документа RFC792 размещается на сервере ISI
(Information Sciences Institute):

 URL - http://info.internet.isi.edu/in-notes/rfc/files/rfc792.txt

---------------------------------------------------------------------------

Группа разработки сетей                                   J.Postel
Request for Comment                                      ISI
                                                     сентябрь 1981

              Протокол контрольных сообщений Internet
                     Программа DARPA Internet
                      Спецификация протокола

Введение
   Протокол Internet (IP) [1] используется для обработки датаграм-
мы, передаваемой между хост-компьютерами в системе объединенных
сетей, называемой Catenet [2]. Устройства, осуществляющие соедине-
ние различных сетей, называются шлюзами. Для обеспечения управле-
ния шлюзы общаются друг с другом посредством протокола Gateway to
Gateway Protocol (GGP) [3,4]. Порой шлюз или хост-компьютер, полу-
чающий данные, обменивается информацией с хост-компьютером, от-
правляющим эти данные. Именно для таких йелей используется данный
протокол - протокол контрольных сообщений Internet (ICMP). ICMP
использует основные свойства протокола Internet (IP), как если бы
ICMP являлся протоколом более высокого уровня. Однако фактически
ICMP является составной частью протокола Internet и должен являть-
ся составной частью каждого модуля IP.
   Сообщения ICMP должны отправляться в некоторых затруднительных
ситуациях. Например, когда датаграмма не может достичь своего
адресата, когда шлюз не имеет достаточно места в своем буфере для
передачи какой-либо датаграммы, или когда шдюз приказывает хост-
компьютеру отправлять информацию по более короткому маршруту.
   Протокол Internet не создан для того, чтобы обеспечивать абсо-
лютную надежность передачи информации. Целью же данных контрольных
сообщений является обеспечение обратной связи, оповещение отправи-
теля данных о проблемах, возникающих в комминикационном оборудова-
нии. Их целью не является придание надежности протоколу IP. Прото-
кол не дает гарантий, что датаграмма достигает своего адресата или
что контрольное сообщение будет возвращено компьтеру, отправившему
данные. Некоторые из датаграмм могут исчезнуть в сети, не вызвав
при этом ни каких оповещений. Протоколы более высокого уровня,
использующие протокол IP, должны применять свои собственные проце-
дуры для обеспечения надежности передачи данных, если таковая тре-
буется.
   Сообщения ICMP протокола, как правило, оповещают об ошибках,
возникающих при обработке датаграмм. Чтобы проблемы с передачей
сообщений не вызывали появление новых сообщений, чтобы это в свою
очередь не привело к лавинообразному росту количества сообщений,
циркулирующих в сети, констатируется, что нельзя посылать сообще-
ния о сообщениях. Также констатируется, что ICMP сообщения можно
посылать только о проблемах, возникающих при обработке нулевого
фрагмента в сегментированной датаграмме (нулевой фрагмент имеет
нуль в поле смещения фрагмента).

Форматы сообщений
   ICMP сообщения посылаются с помощью стандартного IP заголовка.
Первый октет в поле данных датаграммы - это поле типа ICMP сообще-
ния. Значение этого пля определяет формат всех остальных данных в
датаграмме. Любое поле, которое помечено "unused", зарегистрировано
для последующих разработок и должно при отправлении содержать нули.
Однако получатель не должен использовать значения этих полей (за
исключением процедуры вычисления контрольной суммы). Если обратное
особо не оговорено при описании отдельных фрагметов, Internet заго-
ловок должен иметь в своих полях следующие значения:
Версия
   4
IHL
   Длина Internet заголовка; единица измерения - 32-битное слово.
Тип сервиса
   0
Общая длина
   Длина Internet заголовка и поля данных в октетах.
Идентификация, флаги, смещение фрагмента
   Используются в случае фрагментации, см. [1].
Время жизни
   Время жизни в секундах. Поскольку значение этого поля уменьша-
   ется на единицу в каждой машине, на которой обрабатывается дан-
   ная датаграмма, то значение этого поля должно, по крайней мере,
   превышать количество шлюзов, через которые будет проходить дан-
   ная датаграмма.
Протокол
   ICMP=1
Контрольная сумма заголовка
   16-битное дополнение до единицы суммы дополнений до единицы
   всех 16-битных слов в заголовке. При вычислении данной суммы
   следует первоначально устанавливать значение этого поля в нуль.
   В дальнейшем этот алгоритм вычисления контрольной суммы должен
   быть изменен.
Адрес отправления
   Адрес шлюза или хост-компьютера, который составил данное ICMP
   сообщение. Если не оговорено обратное, в этом поле может нахо-
   диться любой из адресов шлюза.
Адрес получателя
   Адрес шлюза или хост-компьютера, которому следует послать
   данное сообщение.

   Сообщение о недостижимости порта
 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|     Тип       |      Код      |    Контрольная сумма          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                      не используется                          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Internet заголовок + 64 бита данных из исходной датаграммы    |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Поля Internet протокола:
   Адрес получателя
      Локальная сеть и адрес компьютера, отправившего исходную
      датаграмму
Поля ICMP протокола
   Тип
      3
   Код
      0 - невозможно передать датаграмму на локальную сеть, где
          находится адресат
      1 - невозможно передать датаграмму на хост-компьютер,
          являющийся адресатом
      2 - нельзя воспользоваться указанным протоколом
      3 - нельзя передать данные на указанный порт
      4 - для передачи датаграммы по сети требуется фрагментация,
          однако выставлен флаг DF.
      5 - сбой в маршрутизации при отправлении
   Контрольная сумма
      Контрольная сумма является 16-битным дополнением до единицы
      суммы дополнений октетов в полях ICMP сообщения, начиная с
      поля типа ICMP. Для вычисления контрольной суммы первона-
      чально значение этого поля обнуляется. В будущем процедура
      вычисления контрольной суммы может быть изменена.
   Internet заголовок + 64 бита данных из исходной датаграммы
      Данное поле содержит Internet заголовок и первые 64 бита дан-
      ных из исходной датаграммы для выработки сообщения для соот-
      ветствующего процесса. Если протокол более высокого уровня
      использует номера портов, то предполагается, что эти номера
      находятся в первых 64 битах поля данных.
Описание
      Если, согласно информации в таблицах маршрутизации шлюза,
   локальная сеть, указанная в Internet заголовке датаграммы в поле
   адресата, является недостижимой, например, из-за ее чрезмерной
   удаленности, то шлюз может послать хост-компьютеру, отправившему
   датаграмму по Internet сети, сообщение о недостижимости адреса-
   та.
      Кроме этого, в некоторых сетях шлюз может иметь возможность
   определять доступность отдельного хост-компьютера. Шлюз в такой
   сети может послать данное сообщение, если хост-компьютер, являю-
   щийся адресатом, недоступен.
      Иная ситуация возникает, когда для достижения адресата дата-
   грамма должна быть разбита шлюзом на отдельные фрагменты, но
   установлен флаг запрета фрагментации. О этом случае шлюз обязан
   ликвидировать датаграмму и можен при этом послать сообщение о
   недостижимости адресата.
      Шлюз может послать сообщения с кодами 0, 1, 4 и 5. Хост-
   компьютер может послать сообщения с кодами 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|     Тип       |      Код      |    Контрольная сумма          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                      не используется                          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Internet заголовок + 64 бита данных из исходной датаграммы    |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Поля IP заголовка
   Заимствованы сеть и адрес отправителя из мсходной датаграммы с
   данными.
Поля ICMP сообщения
   Тип
      11
   Код
      0 - при передаче превышено время жизни
      1 - превышено контрольное время при сборке фрагментов дата-
          граммы
   Контрольная сумма
      Контрольная сумма является 16-битным дополнением до единицы
      суммы дополнений в ICMP сообщении, начиная с поля типа ICMP.
      При вычислениии суммы следует сперва обнулить поле
      контрольной суммы. В будущем алгоритм контрольной суммы может
      быть изменен.
   Internet заголовок + 64 бита данных из исходной датаграммы
      Internet заголовок плюс первые 64 бита данных из исходной
      датаграммы. Эти биты данных используются хост-компьютером для
      привязки сообщения к соответствующему процессу. Если протокол
      более высокого уровня использует номера портов, то предпола-
      гается, что эти номера входят в первые 64 бита данных в ис-
      ходной датаграмме.
Описание
      Если фрагмент нулевого размера превысил контрольное время, то
   сообщение в этом не посылается вовсе.
      Шлюз может послать сообщение с кодом 0б а хост - с кодом 1.

   Сообщение о проблемах с параметром
 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|     Тип       |      Код      |    Контрольная сумма          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|   указатель   |      не используется                          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Internet заголовок + 64 бита данных из исходной датаграммы    |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Поля IP заголовка
   Заимствованы сеть и адрес отправителя из мсходной датаграммы с
   данными.
Поля ICMP сообщения
   Тип
      12
   Код
      0 - указатель показывает ошибку
   Контрольная сумма
      Контрольная сумма является 16-битным дополнением до единицы
      суммы дополнений в ICMP сообщении, начиная с поля типа ICMP.
      При вычислении суммы следует сперва обнулить поле контрольной
      суммы. В будущем алгоритм вычисления контрольной суммы может
      быть изменен.
   Указатель
      Если код = 0, то он указывает на октет, где была обнаружена
      ошибка.
   Internet заголовок + 64 бита данных из исходной датаграммы
      Эти биты данных используются хост-компьютером для привязки
      сообщения к соответствующему процессу. Если протокол более
      высокого уровня использует номера портов, то предполагается,
      что эти номера входят в вервые 64 бита данных в исходной да-
      таграмме.
Описание
      Если шлюз или хост-компьютер, обрабатывающий датаграмму,
   обнаруживает проблему с обработкой параметров заголовка, и это
   не позволяет завершить ее обработку, то он должен ликвидировать
   рассматриваемую датаграмму. Одной из потенциальных причин такой
   неприятности могут бить неправильные аргументы в опции. Шлюз или
   хост-компьютер в сообщении о проблеме с параметрами может также
   упомянуть хост-компьютер, породивший датаграмму с ошибкой. Сооб-
   щения такого типа посылаются лишь в том случае, если ошибка при-
   водит к ликвидации этой датаграммы.
      Указатель определяет октет в заголовке исходной датаграммы,
   где была обнаружена ошибка (этот ошибочный октет может находить-
   ся даже посередине опции). Например, 1 указывает на то, что име-
   ется какая-то ошибка в поле типа сервиса, а (если имеются опции)
   20 определяет, что имеется ошибка в коде типа для первой опции.
      Код 0 сообщения может приходить как от шлюза, так и от хост-
   компьютера.

   Сообщение для приостановки отправителя
 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|     Тип       |      Код      |    Контрольная сумма          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                      не используется                          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Internet заголовок + 64 бита данных из исходной датаграммы    |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Поля IP заголовка
   Заимствованы сеть и адрес отправителя из исходной датаграммы с
   данными.
Поля ICMP сообщения
   Тип
      4
   Код
      0
   Контрольная сумма
      Контрольная сумма является 16-битным допонением до единицы
      суммы дополнений в ICMP сообщении, начиная с поля типа ICMP.
      При вычислении контрольной суммы следует сперва обнулить поле
      контрольной суммы. В будущем алгоритм вычисления контрольной
      суммы может быть изменен.
   Internet заголовок + 64 бита данных из исходной датаграммы
      Internet заголовок плюс первые 64 бита данных из исходной
      датаграммы. Эти данные используются хост-компьютером для
      привязки сообщения к соответствующему процессу. Если протокол
      более высокого уровня использует номера портов, то предпола-
      гается, что эти номера входят в первые 64 бита данных ис-
      ходной датаграммы.
Описание
      Шлюз может ликвидировать Internet датаграммы, если у него нет
   места в буфере для постановки этих датаграмм в очередь на от-
   правление в очередную сеть по маршруту следования к адресату.
   Если шлюз ликвидирует датаграмму, то он должен послать сообщение
   для приостановки хост-компьютеру в Internet системе, отправивше-
   му данную датаграмму. Сообщение о приостановке может послать
   также сам адресат, если датаграммы приходят слишком быстро, что-
   бы успеть их обработать. Сообщение о приостановке является за-
   просом для хост-компьютера уменьшить скорость посылки данных на
   этот конкретный адрес. Шлюз может посылать сообщение для при-
   остановки отправителя в каждом случае ликвидации. При получении
   такого сообщения хост-компьютер, отправивший данные, должен
   уменьшить скорость посылки данных по этому адресу до тех пор,
   пока не перестанут приходить запросы на приостановку с данного
   шлюза. После этого хост-компьютер, отправляющий данные, может
   постепенно увеличивать скорость посылки данных по этому адресу,
   пока вновь не станут приходить сообщения о приостановке.
      Шлюз или хост-компьютер может посылать сообщение о приоста-
   новке еще до достижения предельной пропускной способности, и не
   ждать, пока этот предел будет пройден. Это означает, что дата-
   грамма с данными, вызвавшая появление сообщения о приостановке,
   все же может достичь своего адресата.
      И шлюз и хост-компьютер могут отправить сообщение с кодом 0.

   Сообщение о переадресации
 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|     Тип       |      Код      |    Контрольная сумма          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               Internet адрес шлюза                            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Internet заголовок + 64 бита данных из исходной датаграммы    |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Поля IP заголовка
   Заимствованы сеть и адрес отправителя из исходной датаграммы с
   данными.
Поля ICMP сообщения
   Тип
      5
   Код
      0 - переадресация датаграмм для сети
      1 - переадресация датаграмм для хост-компьютера
      2 - переадресация датаграмм для типа услуг и сети
      3 - переадресация датаграмм для типа услуг и хост-компьютера
   Контрольная сумма
      Контрольная сумма - это 16-битное допонение до единицы суммы
      дополнений в ICMP сообщении, начиная с поля типа ICMP. При
      вычислении контрольной суммы следует сперва обнулить поле
      контрольной суммы. В будущем алгоритм вычисления контрольной
      суммы может быть изменен.
   Internet адрес шлюза
      Адрес шлюза, на который должен быть проложен маршрут к сети,
      указанной в поле адреса в исходной датаграмме с данными.
   Internet заголовок + 64 бита данных из исходной датаграммы
      Internet заголовок плюс первые 64 бита данных из исходной
      датаграммы. Эти данные используются хост-компьютером для при-
      вязки сообщения к соответствующему процессу. Если протокол
      более высокого уровня использует номера портов, то предпола-
      гается, что эти номера входят в первые 64 бита данных исход-
      ной датаграммы.
Описание
      Шлюз посылает сообщение на хост-компьютер о переадресации в
   следующей ситуации: Шлюз G1 получает Internet датаграмму от
   хост-компьютера в сети, где он расположен. Шлюз G1 проверяет
   таблицу маршрутизации и находит адрес слеудющего шлюза G2 в ка-
   честве маршрута для датаграммы по пути в сеть X, где расположен
   ее адресат. Если G2 и исходный хост-компьютер идентифицируются
   Internet адресом как находящиеся в одной и той же сети, то на
   хост-компьютер следует послать сообщение о переадресации. Сооб-
   щение о переадресации заставляет хост-компьютер посылать дата-
   граммы для сети X прямо на шлюз G2, поскольку это более короткий
   путь, нежели привлекать еще шлюз G1. Шлюз передает данные исход-
   ной датаграммы их адресату в системе Internet.
      Для датаграмм с опциями IP маршрутизации отправления и адре-
   сом шлюза в поле получателя сообщение не посылается, даже если и
   существует более оптимальный маршрут к конечному адресату, чем
   следующий адрес, указанный в такой опции маршрута.
      Шлюзом могут быть переданы сообщения с кодами 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|     Тип       |      Код      |    Контрольная сумма          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|           Идентификатор       |     Номер очереди             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|   Данные .....
+-+-+-+-+-+-+-

Поля IP заголовка
   Адреса
      Адрес отправителя в эхо-сообщении будет адресом получателя в
      ответном сообщении. Чтобы сформировать сообщение ответа, сле-
      дует просто переставить местами адреса отправителя и получа-
      теля, код типа изменить на 0 и пересчитать контрольную сумму.
Поля ICMP сообщения
   Тип
      8 - эхо-сообщение
      0 - сообщение в ответ на эхо
   Код
      0
   Контрольная сумма
      Контрольная сумма - это 16-битное допонение до единицы суммы
      дополнений для ICMP сообщения, начиная с поля типа ICMP. При
      вычислении контрольной суммы это поле должно быть сперва об-
      нулено. Если общая длина сообщения нечетная, то для вычисле-
      ния контрольной суммы поле данных дополняется еще одним нуле-
      вым октетом. В будущем алгоритм вычисления контрольной суммы
      может быть изменен.
   Идентификатор
      Если код = 0, то идентификатор для соотнесения эхо-сообщений
      и ответов на них, должен быть обнулен.
   Номер очереди
      Если код = 0, то номер очереди, служащий для соотнесения
      эхо-сообщений и ответов на них, должен быть обнулен.
Описание
      Данные из эхо-сообщения должны быть переданы в ответе на это
   сообщение.
      Идентификатор и номер очереди может использоваться отправите-
   лем эхо-сообщения с целью идентификации приходящих пакетов. На-
   пример, идентификатор может использоваться в качестве порта по-
   добно протоколам TCP и UDP для идентификации сеанса. Номер оче-
   реди может увеличиваться на единицу припосылке каждого эхо-
   сообщения (запроса). Компьютер, отозвавшийся на это сообщение,
   возвращает в своем ответе те же значения для идентификатора и
   номера очереди, что были в исходном эхо-сообщении.
      Как шлюз, так и хост-компьютер могут возвращать сообщение с
   кодом 0.

   Сообщение со штампом времени и сообщение с ответом на штамп
   времени
 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|     Тип       |      Код      |    Контрольная сумма          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|           Идентификатор       |     Номер очереди             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                   Штамп времени отправления                   |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                   Штамп времени получения                     |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                   Штамп времени передачи                      |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Поля IP заголовка
   Адреса
      Адрес отправителя в сообщении со штампом времени будет адре-
      сом получателя в сообщении с ответом. Чтобы сформировать от-
      вет на сообщение, следует просто поменять местами адреса от-
      правителя и получателя, выбрать код типа 14, а также пересчи-
      тать контрольную сумму.
Поля ICMP сообщения
   Тип
      13 для сообщения со штампом времени
      14 для ответа на сообщение со штампом времени
   Код
      0
   Контрольная сумма
      Контрольная сумма - это 16-битное допонение до единицы суммы
      дополнений для ICMP сообщения, начиная с поля типа ICMP. При
      вычислении контрольной суммы это поле должно быть сперва об-
      нулено. В будущем алгоритм вычисления контрольной суммы
      может быть изменен.
   Идентификатор
      Если код = 0, то идентификатор, служащий для соотнесения
      сообщений со штампом времени и ответов на них, должен быть
      обнулен.
   Номер очереди
      Если код = 0, то номер очереди, служащий для соотнесения
      сообщений со штампом времени и ответов на них, должен быть
      обнулен.
Описание
      Данные из сообщения (штамп времени) возвращаются вместе с
   ответом, при этом в них добавляется еще один штамп времени.
   Штамп времени - это 32 бита, где записано время в миллисекундах,
   прошедшее после полуночи по единому времени (UT). Один из приме-
   ров использования таких временных штампов приведен в документе
   [5].
      Штамп времени отправления - это время, которое отправитель
   фиксировал последний раз перед посылкой сообщения. Штамп времени
   получения - это время, когда исходное сообщение впервые увидел
   получатель первоначального сообщения. Штамп времени передачи -
   это время, которое фиксировал в последний раз компьютер, отправ-
   ляющий ответное сообщение.
      Если нет возможности измерять время в миллисекундах или нель-
   зя определить единое время (UT), то в штамп все же можно занести
   имющееся время, снабдив его единицей в старшем бите. Последнее
   также указывает на запись нестандартного значения в этом поле.
      Идентификатор и номер очереди могут использоваться отправите-
   лем для соотнесения сообщений (запросов) и ответов на них. На-
   пример, идентификатор может использоваться в качестве порта,
   аналогично протоколам TCP и UDP, для идентификации сессии. Номер
   очереди может увеличиваться на единицу при каждой посылке сооб-
   щения (запроса). Адресат возвращает для этих параметров те зна-
   чения, которые были обнаружены в запросе.
      И шлюз и хост-компьютер могут возвращать сообщения с кодом 0.

   Запрос информации и ответное сообщение с информацией
 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|     Тип       |      Код      |    Контрольная сумма          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|           Идентификатор       |     Номер очереди             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Поля IP заголовка
   Адреса
      Адрес отправителя в сообщении с запросом информации окажется
      адресом получателя в ответном сообщении с информацией. Чтобы
      сформировать ответное сообщение, следует просто поменять мес-
      тами адреса отправителя и получателя, код типа сменить на 16,
      пересчитать контрольную сумму.
Поля ICMP сообщения
   Тип
      15 - сообщение с запросом информации
      16 - ответное сообщение с информацией
   Код
      0
   Контрольная сумма
      Контрольная сумма - это 16-битное допонение до единицы суммы
      дополнений для ICMP сообщения, начиная с поля типа ICMP. При
      вычислении контрольной суммы следует предварительно обнулить
      поле самой контрольной суммы. В будущем алгоритм вычисления
      контрольной суммы может быть изменен.
   Идентификатор
      Если код = 0, то идентификатор, служащий для соотнесения за-
      просов и ответов, может быть обнулен.
   Номер очереди
      Если код = 0, то номер очереди, служащий для соотнесения за-
      просов и ответов, может быть обнулен.
Описание
      Данное сообщение может быть послано, когда в IP заголовке в
   полях отправителя и получателя записаны нули (это означает
   "именно эту" локальную сеть). В ответ должен быть послан IP мо-
   дуль с полностью заданными адресами. Данное сообщение является
   способом, с помощью которого хост-компьютер сможет определить
   номер сети, куда он подключен.
      Отправитель сообщений может использовать идентификатор и но-
   мер очереди для соотнесения запросов и пришедших ответов. Напри-
   мер, идентификатор может использоваться как порт в протоколах
   TCP и UDP для идентификации сеанса. Номер очереди может увеличи-
   ваться на единицу всякий раз, когда посылается запрос. Адресат
   возвращает в ответе те же значения этих параметров, которые были
   обнаружены в запросе.
      И хост-компьютер и шлюз могут возвращать сообщения с кодом 0.

                        Список типов сообщений
   0    ответ на запрос эхо
   3    адресат недостижим
   4    приостановка отправителя
   5    переадресация
   8    эхо-запрос
   11   превышение контрольного времени
   12   проблемы с параметрами
   13   штамп времени
   14   ответ на запрос штампа времени
   15   запрос информации
   16   ответ на запрос информации

                               Ссылки
[1]  Postel, J. (ed.), "Internet Protocol - DARPA Internet Program
     Protocol Specification," RFC 791, USC/Information Sciences
     Institute, September 1981.
[2]  Cerf, V., "The Catenet Model for Internetworking," IEN 48,
     Information Processing Techniques Office, Defense Advanced
     Research Project Agency, July 1978.
[3]  Strazisar, V., "Gateway Routing: An Implementation
     Specification", IEN 30, Bolt Beranek and Newman, April 1979.
[4]  Strazisar, V., "How to Build a Gateway", IEN 109, Bolt Beranek
     and Newman, August 1979.
[5]  Mills, D., "DCNET Internet Clock Service," RFC 778, COMSAT
     Laboratories, April 1981.

---------------------------------------------------------------------------



 
Популярные книги

Photoshop CS2 для пользователя

Подробнее

Системное администрирование на 100 % (+CD)

Подробнее

Обработка цифровых фотографий (+CD)

Подробнее


 
Новости ИТ
08.01.2009  FreeBSD 7.1-RELEASE -- обновление операционной системы
08.01.2009  Появилась сборка Om 2008.12 для Neo FreeRunner от bytestore
08.01.2009  На T-Mobile G1 (Android) установили интерпретатор Python
08.01.2009  Apple опубликовала видеозапись доклада Филипа Шиллера на Macworld
08.01.2009  Mac Box Set - iLife, iWork и Leopard «в одном флаконе»
08.01.2009  DivX 7
08.01.2009  FileZilla 3.2.0
08.01.2009  Ноутбук HP Pavilion dv2, первый на базе Athlon Neo
08.01.2009  Замена несъемной батареи MacBook pro 17’’ обойдется в $179
08.01.2009  Подсчитали - прослезились: Intel закончила квартал даже хуже, чем ожидалось
08.01.2009  G.Skill TITAN - два быстрых SSD-накопителя типоразмера 2,5" с SATA-интерфейсом
08.01.2009  Serial ATA в этом году серьезно ускорится?
08.01.2009  Microsoft обеспечит Entourage поддержкой Exchange Web Services
08.01.2009  SanDisk Mobile Ultra 16 ГБ microSDHC и Memory Stick Micro (M2)
07.01.2009  2 ТБ данных на внешнем накопителе - LaCie Hard Disk MAX
07.01.2009  Почти официальные спецификации игровых ПК компании BFG на Core i7
07.01.2009  Apple выпустила новый MacBook Pro 17’’
07.01.2009  ASUS S121 - первый в мире нетбук с 512-ГБ накопителем SSD
07.01.2009  В iWork ’09 дебютирует онлайновый сервис iWork.com
07.01.2009  Apple объявила о выпуске iLife ’09
 
Полезно

 
Copyright © CompDoc.Ru
При цитировании и перепечатке ссылка на www.compdoc.ru обязательна. Карта сайта.
 
Rambler's Top100