10. Работа домашнего агента
10.1. Концептуальные структуры данных
Каждый домашний агент должен (MUST) поддерживать кэш привязок (Binding Cache) и список домашних агентов (Home Agents List).
Правила поддержки кэша привязок для домашних агентов и узлов-корреспондентов одни и те же, и уже описаны в разд. 9.1.
Каждым домашним агентом поддерживается список домашних агентов, в котором хранится информация относительно каждого маршрутизатора, который действует как домашний агент на том же самом линке. Этот список используется механизмом динамического определения адреса домашнего агента. Говорят, что маршрутизатор действует как домашний агент, если он посылает сообщение Router Advertisement, в котором бит Home Agent (H) установлен. Когда истекает время жизни элемента списка (определено ниже), этот элемент удаляется из списка домашних агентов. Список домашних агентов похож на концептуальную структуру данных списка подразумеваемых маршрутизаторов (Default Router List), поддерживаемого каждым хостом для протокола Neighbor Discovery [12]. Список домашних агентов может (MAY) быть реализован любым способом, согласующимся с внешним поведением, описанным в данном документе.
Каждый домашний агент поддерживает отдельный список домашних агентов для каждого линка, на котором он служит домашним агентом. Новый элемент создается или существующий элемент обновляется в ответ на получение годного сообщения Router Advertisement, в котором бит Home Agent (H) установлен. Концептуально каждый элемент списка домашних агентов содержит следующие поля:
- «Локальный для линка» IP-адрес домашнего агента на этом линке. Этот адрес узнается по адресу источника сообщения Router Advertisements [12], полученного от маршрутизатора.
- Один или несколько глобальных IP-адресов для этого домашнего агента. Глобальные адреса узнаются из опций Prefix Information с установленным битом Router Address (R) и принимаются в сообщениях Router Advertisement от данного «локального для линка» адреса. Глобальные адреса для маршрутизатора в элементе списка домашних агентов должны (MUST) удаляться, когда префикс, ассоциированный с этим адресом, перестает быть годным [12].
- Оставшееся время жизни этого элемента списка домашних агентов. Если в сообщении Router Advertisement, полученном от домашнего агента, имеется опция Home Agent Information Option, время жизни элемента списка домашних агентов, представляющего этого домашнего агента, инициализируется из поля Home Agent Lifetime этой опции (если она имеется); в противном случае, время жизни инициализируется из поля Router Lifetime в полученном сообщении Router Advertisement. Если время жизни элемента в списке домашних агентов становится равным нулю, то этот элемент из списка домашних агентов должен (MUST) быть удален.
- Приоритет данного домашнего агента; большие значения указывают на более предпочтительного домашнего агента. Значение приоритета берется из поля Home Agent Preference в полученном сообщении Router Advertisement, если оно содержит опцию Home Agent Information Option и, в противном случае, устанавливается в 0 (значение по умолчанию). Домашний агент использует этот приоритет при упорядочивании списка домашних агентов, когда он посылает сообщение ICMP Home Agent Address Discovery.
10.2. Обработка заголовков мобильности
Все домашние агенты IPv6 при обработке заголовков мобильности должны (MUST) соблюдать правила, описанные в разд. 9.2.