RFC: 791
Оригинал: Internet Protocol
Предыдущие версии: RFC 760
Категория: Стандарт Интернета
Дата публикации:
Автор:
Перевод: Николай Малых
    • +--------+--------+--------+---------//--------+
      |00000111| length | pointer|     route data    |
      +--------+--------+--------+---------//--------+
        Type=7

      Опция записи маршрута обеспечивает способ записи пути передачи дейтаграммы IP.

      Опция начинается с поля типа (7), за которым следует поле длины, учитывающее полный размер опции (тип, размер, смещение, маршрутные данные). Третий октет содержит указатель на октет, с которого начинается следующая область записи маршрута. Смещение отсчитывается от начала опции, поэтому значение указателя не может быть меньше 4.

      Записываемый маршрут представляет собой последовательность адресов IP, каждый из которых имеет длину 32 бита (4 октета). Если значение указателя превышает размер опции, это говорит о завершении записи маршрута. Отправляющий дейтаграмму хост должен обеспечить достаточное пространство (размер опции) для записи адресов на пути к получателю. В исходной дейтаграмме поля адресов должны иметь нулевые значения.

      Когда модуль IP маршрутизирует дейтаграмму, он проверяет в ней наличие маршрутной записи. При наличии такой записи модуль помещает в нее свой адрес, известный в той среде, куда пересылается дейтаграмма, начиная со смещения, которое задано указателем, и увеличивая значение указателя на 4.

      Если поле маршрутных данных уже заполнено (значение указателя превышает размер опции), дейтаграмма пересылается без дальнейшей записи маршрута. Если оставшегося пространства для записи маршрутных данных недостаточно для включения адреса, дейтаграмма рассматривается как ошибочная и отбрасывается. В таких случаях отправителю дейтаграммы может быть передано сообщение ICMP об ошибке в параметрах [RFC792].

      Эта опция не копируется во фрагменты и не должна включаться в дейтаграмму более одного раза.

    • Stream Identifier
    • +--------+--------+--------+--------+
      |10001000|00000010|    Stream ID    |
      +--------+--------+--------+--------+
       Type=136 Length=4

      Эта опция позволяет передавать 16-битовые идентификаторы потоков SATNET через сети, которые не поддерживают концепцию потоков.

      Опция должна копироваться при фрагментации и появляется в дейтаграмме не более одного раза.

    • Internet Timestamp
    • +--------+--------+--------+--------+
      |01000100| length | pointer|oflw|flg|
      +--------+--------+--------+--------+
      |         internet address          |
      +--------+--------+--------+--------+
      |             timestamp             |
      +--------+--------+--------+--------+
      |                 .                 |
                        .
                        .
      Type = 68

      Поле длины опции содержит значение, указывающее число октетов в поле типа опции, ее длины, указателя, полей Overflow, флагов и временных меток (всего до 40 октетов).

      Поле указателя (Pointer) показывает смещение (в октетах) от начала опции до начала следующей временной метки. Таким образом, минимальное значение указателя равно 5. Область временных меток считается заполненной, когда значение указателя превышает размер опции.

      Поле Overflow (oflw, переполнение — 4 бита) показывает число модулей IP, которые не смогли включить свои временные метки в результате нехватки места в опции.

      Поле флагов (flg, 4 бита) может принимать следующие значения:

      • 0 — только временные метки, сохраняемые в последовательности 32-битовых слов;
      • 1 — перед каждой меткой помещается IP-адрес регистрирующего метку модуля;
      • 3 — поля адресов IP указываются заранее (prespecified) и модуль IP помещает временную метку только в том случае, когда адрес этого модуля указан следующим в списке адресов опции.

      Поля Timestamp (временная метка) выравниваются по правому краю и содержат число миллисекунд после полуночи по универсальному времени (UT).Если невозможно указать время в миллисекундах или нет привязки к универсальному времени, в поле метки может помещаться любое значение времени, а старший бит метки должен быть установлен (1), для индикации некорректности данной метки.

      Отправляющий дейтаграмму хост должен предусмотреть достаточно места для записи временных меток по пути доставки дейтаграммы. Размер опции не может увеличиваться по мере добавления меток. Исходная дейтаграмма содержит нулевые значения всех предусмотренных в опции полей временных меток (кроме заранее указанных адресов IP).

      Если область записи временных меток уже заполнена (значение указателя превышает размер опции), дейтаграмма пересылается без дальнейшей записи временных меток, но значение поля Overflow должно увеличиваться при каждой пересылке дейтаграммы.

      Если в поле записи временных меток еще остается свободное место, но полная метка не помещается, такая дейтаграмма трактуется как ошибочная и отбрасывается. Отправителю такой дейтаграммы может быть передано сообщение ICMP о некорректности параметров дейтаграммы [RFC792].

      Опция не копируется во фрагменты и передается только в первом фрагменте. Опция появляется в дейтаграмме только один раз

  • Padding — переменная длина
  • Поле заполнения служит для выравнивания размера заголовка IP по 32-битовой границе. Для заполнения используется значение 0.
2007 - 2017 © Русские переводы RFC, IETF, ISOC.