9.3.2. Посылка пакетов мобильному узлу
Перед посылкой любого пакета узел-отправитель должен (SHOULD) проверить свой кэш привязок на наличие элемента для адреса места назначения, на который этот пакет посылается. Если узел-отправитель имеет элемент кэша привязок для этого адреса, он должен (SHOULD) использовать заголовок маршрутизации типа 2 для пересылки пакета этому мобильному узлу (узлу места назначения) по пути его временного адреса. Однако узел-отправитель не должен (MUST) делать этого в следующих случаях:
- При посылке пакета IPv6 Neighbor Discovery [12].
- При условии, отмеченном в разд. 6.1.
При вычислении аутентификационных данных в пакете, который содержит заголовок маршрутизации типа 2, узел-корреспондент должен (MUST) вычислить аутентификационные данные AH, как если бы было истинным следующее: заголовок маршрутизации содержит временный адрес, поле IPv6-адреса места назначения заголовка IPv6 содержит домашний адрес, и поле Segments Left равно нулю. Поиск в базе данных политики безопасности IPsec должен (MUST) базироваться на домашнем адресе мобильного узла.
Например, предполагая, что в данном пакете отсутствуют дополнительные заголовки маршрутизации, помимо необходимых для протокола мобильного IPv6, узел-корреспондент может установить поля в IPv6-заголовке пакета и заголовке маршрутизации следующим образом:
- Поле Destination Address в IPv6-заголовке пакета устанавливается равным домашнему адресу мобильного узла (первоначальный адрес места назначения, на который посылался пакет).
- Заголовок маршрутизации инициализируется так, чтобы он включал один маршрутный сегмент, содержащий временный адрес мобильного узла, скопированный из элемента кэша привязок. Однако поле Segments Left временно устанавливается в 0.
Уровень IP вставит заголовок маршрутизации перед выполнением любой необходимой обработки IPsec. Когда вся обработка IPsec выполнена, узел осуществляет обмен поля места назначения IPv6 с полем Home Address в заголовке маршрутизации, устанавливает поле Segments Left в единицу и посылает пакет. Это гарантирует, что вычисление AH выполняется над пакетом в такой форме, которую оно будет иметь в приемнике после прохода заголовка маршрутизации.
Следуя определению заголовка маршрутизации типа 2 в разд. 6.4, этот пакет будет маршрутизирован на временный адрес мобильного узла, где он будет доставлен мобильному узлу (мобильный узел имеет временный адрес, ассоциированный с его сетевым интерфейсом).
Заметим, что следование описанной выше концептуальной модели в реализации создает некоторые дополнительные требования для определения MTU пути, поскольку уровень, который принимает решение о размере пакета (например, TCP и приложения, использующие UDP) должен быть осведомлен о размере заголовков, добавляемых уровнем IP на узле-отправителе.
Если, вместо этого, узел-отправитель не имеет элемента кэша привязок для адреса места назначения, на который посылается пакет, то он просто посылает пакет обычным образом без заголовка маршрутизации. Если узел назначения не является мобильным узлом (или является мобильным узлом, который в текущий момент времени находится дома), пакет будет доставлен непосредственно этому узлу и обычным образом им обработан. Однако если узел назначения является мобильным узлом, который в текущий момент времени находится вне дома, то пакет будет перехвачен домашним агентом мобильного узла и туннелирован на текущий основной временный адрес мобильного узла.