11.7. Обработка привязок
11.7.1. Посылка сообщений Binding Update домашнему агенту
После принятия решения о смене своего основного временного адреса, как описано в разд. 11.5.1 и 11.5.2, мобильный узел должен (MUST) зарегистрировать этот временный адрес в своем домашнем агенте для того, чтобы сделать его основным временным адресом.
Кроме того, если мобильный узел хочет иметь услуги домашнего агента, выходящие за пределы текущего периода регистрации, мобильный узел задолго до истечения этого периода времени должен послать ему новое сообщение Binding Update, даже если он не меняет своего основного временного адреса. Однако если домашний агент вернул сообщение Binding Acknowledgement для текущей регистрации с полем Status, установленным в 1 (признано действительным, но требуется определение префиксов), то мобильный узел не должен пытаться зарегистрироваться вновь до тех пор, пока он не выяснит пригодность своих домашних префиксов с помощью процедуры определения мобильных префиксов. Это обычно необходимо каждый раз, когда принимается такое значение поля Status, поскольку ранее полученная информация могла измениться.
Для регистрации временного адреса или для увеличения времени жизни существующей регистрации мобильный узел посылает своему домашнему агенту пакет, содержащий сообщение Binding Update, при этом пакет конструируется следующим образом:
В сообщении Binding Update бит Home Registration (H) должен быть (MUST) установлен.
В сообщении Binding Update бит Acknowledge (A) должен быть (MUST) установлен.
Пакет должен (MUST) содержать опцию места назначения Home Address, которая задает для привязки домашний адрес мобильного узла.
В качестве адреса источника (Source Address) в IPv6-заголовке пакета должен (MUST) использоваться временный адрес для привязки, если только в сообщение Binding Update не включена опция мобильности Alternate Care-of Address. Эта опция должна (MUST) быть включена во все регистрации в домашнем агенте, поскольку протокол ESP не сможет защитить временные адреса в IPv6-заголовке. (Реализации мобильного IPv6, которые знают, что для защиты конкретного сообщения используют IPsec AH, могут обойти эту опцию. Для краткости использование AH в данном документе не обсуждается).
Если «локальный для линка» адрес мобильного узла имеет тот же самый идентификатор интерфейса, что и домашний адрес, для которого он поставляет новый временный адрес, то мобильный узел должен (SHOULD) установить бит Link-Local Address Compatibility (L).
Если домашний адрес был сгенерирован на основе RFC 3041 [18], то «локальный для линка» адрес, вероятно, имеет совместимый идентификатор интерфейса. В этом случае мобильный узел должен (MUST) обнулить бит Link-Local Address Compatibility (L).
Если контексты безопасности IPsec между мобильным узлом и домашним агентом были установлены динамически, и мобильный узел имеет возможность обновить свою оконечную точку в используемом протоколе управления ключами на новый временный адрес каждый раз, когда он перемещается, то мобильный узел должен (SHOULD) в сообщении Binding Update установить бит Key Management Mobility Capability (K). В противном случае, мобильный узел должен (MUST) обнулить этот бит.
Значение, указанное в поле Lifetime, должно (MUST) быть ненулевым и должно (SHOULD) быть меньше или равно действительно оставшимся временам жизни домашнего адреса и временного адреса, определенных для привязки.
Мобильные узлы, использующие динамическое определение адреса домашнего агента, должны быть осторожны с использованием продолжительных времен жизни. Если мобильный узел теряет знания о своей привязке с конкретным домашним агентом, то регистрация новой привязки в другом домашнем агенте может оказаться невозможной, поскольку предыдущий домашний агент все еще сохраняет существующую привязку. Поэтому, чтобы гарантировать, что мобильные узлы, использующие процедуру определения адреса домашнего агента, не потеряют информацию о своей привязке, они должны (SHOULD) отменить регистрацию до потери этой информации, или использовать короткие времена жизни.
Бит Acknowledge (A) в сообщении Binding Update требует, чтобы в ответ на данное сообщение домашний агент вернул сообщение Binding Acknowledgement. Как описано в разд. 6.1.8, мобильный узел должен (SHOULD) повторно посылать домашнему агенту это сообщение Binding Update до тех пор, пока он не получит соответствующее сообщение Binding Acknowledgement. Достигнув значения периода таймаута MAX_BINDACK_TIMEOUT, мобильный узел должен (SHOULD) заново начать процесс доставки сообщения Binding Update, но попробовать следующего домашнего агента, возвращенного в процессе динамического определения адресов домашних агентов (см. разд. 11.4.1). Если же существовал только один домашний агент, мобильный узел должен (SHOULD), вместо этого, продолжить периодически повторно передавать сообщение Binding Update на данной скорости до тех пор, пока оно не будет подтверждено (или до тех пор, пока он не начнет попытку зарегистрировать другой основной временный адрес). Относительно повторных передач сообщений Binding Update см. информацию в разд. 11.8.
Своим сообщением Binding Update мобильный узел просит домашнего агента служить ему домашним агентом для данного домашнего адреса. До тех пор, пока не истечет время жизни этой регистрации, домашний агент считает себя домашним агентом для этого домашнего адреса.
Как определено в разд. 5.1, каждое сообщение Binding Update должно (MUST) быть аутентифицировано как пришедшее от правильного мобильного узла. Мобильный узел должен (MUST) использовать свой домашний адрес в сообщениях Binding Update, посылаемых домашнему агенту, — либо в опции места назначения Home Address, либо в поле Source Address IPv6-заголовка. Это необходимо, чтобы предоставить возможность сопоставить политики IPsec с правильным домашним адресом.
При посылке сообщения Binding Update своему домашнему агенту мобильный узел должен (MUST) также создать или обновить соответствующий элемент списка обновлений привязки, как определено в разд. 11.7.2.
Последнее значение порядкового номера, посланное домашнему агенту в сообщении Binding Update, запоминается мобильным узлом. Если посылающий мобильный узел не знает правильного значения порядкового номера, он может начать с любого значения. Если домашний агент бракует это значение, то он посылает назад сообщение Binding Acknowledgement с кодом состояния 135 и последний одобренный порядковый номер в поле Sequence Number сообщения Binding Acknowledgement. Мобильный узел должен (MUST) сохранить эту информацию и использовать для следующего посылаемого им обновления привязки следующее значение порядкового номера.
Если мобильный узел имеет дополнительные домашние адреса, то для регистрации временного адреса он должен (SHOULD) для каждого такого домашнего адреса послать своему домашнему агенту дополнительный пакет, содержащий сообщение Binding Update.
Домашний агент будет выполнять процедуру DAD для домашнего адреса мобильного узла только тогда, когда мобильный узел поставил правомерную привязку между своим домашним адресом и временным адресом. Если проходит какое-то время, в течение которого мобильный узел не имеет привязки в домашнем агенте, то имеется вероятность того, что другой узел выполнит автоконфигурирование этого домашнего адреса мобильного узла. Поэтому, мобильный узел должен (MUST) рассматривать создание новой привязки в домашнем агенте, используя существующий домашний адрес, точно так же, как создание нового домашнего адреса. В маловероятной ситуации, когда происходит автоконфигурирование домашнего адреса мобильного узла в качестве IPv6-адреса другого сетевого узла в домашней сети, домашний агент ответит на последующее сообщение Binding Update сообщением Binding Acknowledgement, содержащим поле Status равным 134 (Duplicate Address Detection failed — проверка на дублирование адреса не прошла). В этом случае мобильный узел не должен (MUST NO) пытаться повторно использовать тот же самый домашний адрес. Он должен (SHOULD) продолжить регистрацию временных адресов для своих других домашних адресов, если таковые имеются. (Механизмы, обрисованные в Приложении B.5, в будущем могут позволить мобильным узлам обзавестись новыми домашними адресами, чтобы заменить один из тех адресов, для которых было получено состояние 134).