RFC 2004 Minimal Encapsulation within IP

Network Working Group                                         C. Perkins
Request for Comments: 2004                                           IBM
Category: Standards Track                                   October 1996

Minimal Encapsulation within IP

Минимальная инкапсуляция в IP

PDF

Статус документа

В этом документе содержится спецификация протокола, предложенного сообществу Internet. Документ служит приглашением к дискуссии в целях развития и совершенствования протокола. Текущее состояние стандартизации протокола вы можете узнать из документа Internet Official Protocol Standards (STD 1). Документ может распространяться без ограничений.

Аннотация

Этот документ задаёт метод для инкапсуляции (передачи в поле данных – payload) дейтаграммы IP в другую дейтаграмму IP с меньшими издержками, чем при «традиционной» инкапсуляции IP, где добавляется второй заголовок IP к каждой инкапсулируемой дейтаграмме. Инкапсуляция предлагается как средство изменения обычной маршрутизации IP для дейтаграмм путём их доставки промежуточному получателю, который иначе не был бы выбран по полю адреса получателя IP (сетевая часть) в исходном заголовке IP. Инкапсуляция может применяться для различных целей, таких как доставка дейтаграмм мобильному узлу с использованием Mobile IP.

1. Введение

Документ задаёт метод, с помощью которого дайтаграмма IP может инкапсулироваться (передаваться как данные) в дейтаграмму IP с меньшими издержками, нежели при «традиционной» инкапсуляции IP [4], где к каждой инкапсулируемой дейтаграмме добавляется второй заголовок IP. Инкапсуляция предлагается как средство изменения обычной маршрутизации IP для дейтаграмм путём их доставки промежуточному получателю, который иначе не был бы выбран по полю адреса получателя IP (сетевая часть) в исходном заголовке IP. Процесс инкапсуляции и декапсуляции дейтаграмм часто называют туннелированием, а инкапсулятор и декапсулятор – конечными точками туннеля. Инкапсулятор считается входом в туннель, декапсулятор – выходом из туннеля.

2. Мотивация

Рабочая группа Mobile IP определила применение инкапсуляции как способ доставки пакета из «домашней сети» мобильного узла агенту, который может локально доставлять дейтаграммы традиционным способом мобильному узлу, находящемуся «вне дома» [5]. Применение инкапсуляции может указываться всякий раз, когда источник (или промежуточный маршрутизатор) дейтаграммы IP должен влиять на маршрут доставки дейтаграммы конечному получателю. Другие возможные применения инкапсуляции включают групповую передачу, льготные цены (preferential billing), выбор маршрутов с определёнными атрибутами безопасности и маршрутизацию по общим правилам.

В [4] обсуждаются преимущества инкапсуляции по сравнению с использованием опции IP loose source routing (мягкое задание маршрута источником). Использование заголовков IP для инкапсуляции дейтаграмм IP требует ненужного дублирования нескольких полей из внутреннего заголовка IP и можно сократить эти издержки, задав новый механизм инкапсуляции без такого дублирования. Очерченная здесь схема создана рабочей группой Mobile IP (в более ранних Internet Draft) и аналогичная заданной в [2].

3. Минимальная инкапсуляция

Определяется минимальный заголовок пересылки для дейтаграмм, которые не были фрагментированы перед инкапсуляцией. Использование этого метода инкапсуляции не является обязательным. Минимальную инкапсуляцию недопустимо применять, если исходная дейтаграмма уже фрагментирована, поскольку в минимальном заголовке пересылки нет места для хранения сведений о фрагментации. Для использования минимальной инкапсуляции дейтаграммы IP в неё вставляется показанный ниже минимальный заголовок пересылки.

+---------------------------+       +---------------------------+
|                           |       |                           |
|       Заголовок IP        |       |  Измененный заголовок IP  |
|                           |       |                           |
+---------------------------+ ====> +---------------------------+
|                           |       |Минимал. заголов. пересылки|
|                           |       +---------------------------+
|         Данные IP         |       |                           |
|                           |       |                           |
|                           |       |         Данные IP         |
+---------------------------+       |                           |
                                    |                           |
                                    +---------------------------+


Заголовок IP исходной дейтаграммы изменяется и после него вставляется минимальный заголовок пересылки, за которым следуют данные IP (payload) из исходной дейтаграммы (например, транспортный заголовок и данные). В дейтаграмму не добавляется другой заголовок IP.

В инкапсулирующей дейтаграмме исходный заголовок IP [6] изменяется, как показано ниже.

  • В поле Protocol указывается значение 55 (протокол минимальной инкапсуляции).

  • Поле Destination Address заменяется IP-адресом выходной точки туннеля.

  • Если инкапсулятор не является исходным источником дейтаграммы, поле Source Address заменяется IP-адресом инкапсулятора.

  • Значение поля Total Length увеличивается на размер добавленного в дейтаграмму заголовка минимальной инкапсуляции. Это увеличение составляет 12 или 8 октетов в зависимости от значения бита S (наличие исходного адреса источника) в заголовке пересылки.

  • Поле Header Checksum рассчитывается заново [6] или обновляется с учётом описанных изменений в заголовке IP.

Отметим, что в отличие от инкапсуляции IP-in-IP [4], поле TTL в заголовке IP не меняется при этой инкапсуляции. Если инкапсулятор пересылает дейтаграмму, он декрементирует TTL в результате обычной пересылки IP. Поскольку исходное значение TTL остаётся в заголовке IP после инкапсуляции, узлы пересылки в туннели будут видимыми, например, для traceroute.

Формат заголовка минимальной инкапсуляции показан ниже.

 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|   Protocol    |S|  reserved   |        Header Checksum        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                 Original Destination Address                  |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
:            Original Source Address (при наличии)              :
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+


Protocol

Копируется из поля Protocol исходного заголовка fIP.

S (флаг присутствия исходного адреса источника)

0

Исходный адрес не присутствует и размер минимального заголовка туннелирования составляет 8 октетов.

1

Исходный адрес присутствует и размер минимального заголовка туннелирования составляет 12 октетов.

reserved

Устанавливается в 0 при передаче, игнорируется при получении.

Header Checksum

16-битовое дополнение до 1 суммы дополнений до 1 всех 16-битовых слов минимального заголовка пересылки. До расчёта контрольной суммы это поле принимается равным 0. Заголовок IP и данные (payload) после заголовка не учитываются в контрольной сумме.

Original Destination Address

Копируется из поля Destination Address в исходном заголовке IP.

Original Source Address

При установленном флаге S копируется из поля Source Address в исходном заголовке IP, иначе не присутствует.

Придекапсуляции дейтаграммы поля из минимального заголовка пересылки служат для восстановления заголовка IP, а сам заголовок пересылки удаляется из дейтаграммы. Значение поля Total Length в заголовке IP уменьшается на размер заголовка пересылки, а поле Header Checksum в заголовке IP рассчитывается заново [6] или обновляется с учётом внесённых при декапсуляции изменений.

Инкапсулято может использовать имеющиеся механизмы IP, подходящие для доставки инкапсулированного содержимого в выходную точку туннеля. В частности, разрешено использовать опции IP или фрагментацию (если в заголовке IP не установлен флаг Don’t Fragment). Ограничения на фрагментацию нужны для того, чтобы узлы, применяющие Path MTU Discovery [3], могли получить нужную информацию.

4. Отказы маршрутизации

Использование любого метода инкапсуляции для целей маршрутизации повышает восприимчивость к маршрутным петлям. Для снижения опасности маршрутизаторам следует соблюдать процедуры, указанные в [4].

5. Сообщения ICMP из туннеля

Сообщения ICMP обрабатываются в соответствии с [4], включая поддержку «мягкого» (soft state) состояния туннеля.

6. Вопросы безопасности

Вопросы безопасности не рассматриваются в этом документе, но в целом они аналогичны рассмотренным в [4].

7. Благодарности

Большая часть текста раздела 3 заимствована из предварительной версии Mobile IP draft [1]. Спасибо David Johnson за повышение согласованности и множество других улучшений этого документа.

Литература

[1] Perkins, C., Editor, “IPv4 Mobility Support”, Work in Progress1, May 1995.

[2] David B. Johnson. Scalable and Robust Internetwork Routing for Mobile Hosts. In Proceedings of the 14th International Conference on Distributed Computing Systems, pages 2–11, June 1994.

[3] Mogul, J., and S. Deering, “Path MTU Discovery”, RFC 1191, November 1990.

[4] Perkins, C., “IP Encapsulation within IP”, RFC 2003, October 1996.

[5] Perkins, C., Editor, “IP Mobility Support”, RFC 2002, October 1996.

[6] Postel, J., Editor, “Internet Protocol”, STD 5, RFC 791, September 1981.

Адрес автора

Вопросы, связанные с этим документом, можно направлять автору

Charles Perkins
Room H3-D34
T. J. Watson Research Center
IBM Corporation
30 Saw Mill River Rd.
Hawthorne, NY 10532
Work: +1-914-784-7350
Fax: +1-914-784-6205
EMail: perk@watson.ibm.com

С рабочей группой можно связаться через её руководителя

Jim Solomon
Motorola, Inc.
1301 E. Algonquin Rd.
Schaumburg, IL 60196
Work: +1-847-576-2753
EMail: solomon@comm.mot.com

Перевод на русский язык

Николай Малых

nmalykh@protokols.ru

1Опубликовано в RFC 3220. Прим. перев.

Запись опубликована в рубрике RFC. Добавьте в закладки постоянную ссылку.

Добавить комментарий