Новые средства мобильности в IPv6

Игорь Алексеев

По сравнению со средствами обеспечения мобильности в предыдущей версии Mobile IP в IPv6 предоставляется ряд расширенных возможностей.

Одним из основных принципов глобальной сети Internet является уникальность IP-адреса, посредством которого сеть однозначно идентифицирует место подключения. В случае IPv6 этот принцип дополняется жестким требованием иерархичности адреса IPv6 и привязкой его к топологии сети. Большая часть привычного нам оборудования для доступа в Internet, например персональных компьютеров, находится на фиксированном месте, так что точка подключения меняется довольно редко. Однако все чаще доступ к сети необходимо обеспечить с мобильных устройств, а это требует введения в протокол IP специальных механизмов Mobile IP. При их отсутствии продолжение работы с устройством после его перемещения может быть обеспечено двумя способами:

  • адекватным изменением IPv6- или IPv4-адреса устройства после перехода в другую сеть для обеспечения доставки адресованных ему пакетов стандартными механизмами маршрутизации;
  • сохранением адреса устройства с префиксом длиной 32 или 128 бит для IPv4 и IPv6, соответственно, с распространением по сети Internet маршрутов до данного конкретного устройства.

Ни один из этих способов не может предложить полноценного решения. Так, при изменении IP-адреса все соединения транспортного уровня окажутся разорванными, после чего их потребуется устанавливать заново, а распространение маршрутов молниеносно приведет к перегрузке системы маршрутизации. Поэтому поддержка мобильности требует при перемещениях устройства сохранять неизменным его IPv6- или IPv4-адрес и обеспечивать доставку адресованных ему пакетов прозрачными для системы маршрутизации средствами. Именно эту задачу и решает Mobile IP. При дальнейшем обсуждении MIPv6 мы будем специально отмечать те моменты, в которых он имеет существенные отличия от MIPv4.

Принципы обеспечения мобильности IPV6

В Mobile IP вводится понятие домашнего и внешнего адресов мобильного устройства. В домашнем адресе префикс совпадает с префиксом домашней сети, т. е. сети, в которой устройство не пользуется механизмами Mobile IP, а работает как любой стационарный узел. Пакеты мобильному устройству всегда могут быть адресованы на домашний адрес вне зависимости от его текущего местоположения в топологии сети. Внешний адрес мобильный узел получает на время пребывания его во внешней (т. е. всякой отличной от домашней) сети. Как домашний, так и внешний адреса могут назначаться любым разрешенным способом: вручную, с помощью протокола DHCP и средствами автоматической конфигурации. Последний способ не имеет аналогов в IPv4 и наиболее прост и удобен, поскольку вообще не требует настройки конечных систем.

В качестве адреса получателя в пакетах, отправляемых мобильному устройству, всегда содержится его домашний адрес, префикс которого совпадает с префиксом домашней сети мобильного устройства. Если отправитель не имеет информации о текущем внешнем адресе мобильного устройства, он отправляет пакеты на адрес его домашней сети. Если мобильное устройство находится «дома», то оно получает эти пакеты в обычном порядке. Если же мобильное устройство оказывается в «чужой», внешней, сети, то пакеты нужно переправить на его текущий внешний адрес.

Данную задачу выполняет домашний агент мобильного устройства. Для этого у него должна быть информация о соответствии текущего внешнего адреса мобильного устройства и его домашнего адреса, а кроме того, ему необходимо перехватывать пакеты, приходящие на домашний адрес мобильного узла. Каждый агент способен обслуживать неограниченное количество мобильных устройств, и при этом в домашней сети могут одновременно функционировать несколько домашних агентов. Для того чтобы мобильное устройство обслуживал только один из них, оно должно связаться с агентом, сообщить ему о своем внешнем адресе и запросить у него услуги домашнего агента. После этого домашний агент мобильного узла будет перехватывать и туннелировать на внешний адрес мобильного устройства все пакеты, приходящие на его домашний адрес.

В этой концептуальной схеме уже есть существенное отличие от MIPv4, а именно: MIPv6 не предусматривает наличие в каждой внешней сети внешнего агента для обслуживания мобильных устройств в этой сети. В задачу внешнего агента входила пересылка запросов на обслуживание от мобильного устройства его домашнему агенту, а кроме того, он служил конечной точкой туннеля между домашним агентом мобильного устройства и внешней сетью, а иногда еще и отправной точкой туннеля в обратном направлении.

Новые опции

Управление передачей информации о соответствии домашнего и внешнего адресов между мобильным устройством и домашним агентом (или другим узлом) осуществляется с помощью четырех новых опций получателя. Они помещаются в дополнительный заголовок опций для принимающей стороны (Destination Options Header) и могут быть отправлены как в пакете, несущем полезную нагрузку, так и в отдельном контрольном пакете. Эти опции таковы:

  • Binding Update - обновление информации о соответствии адресов отправляется мобильным устройством домашнему агенту для его регистрации или любому другому узлу IPv6, с которым происходит обмен пакетами;
  • Binding Acknowledgement - подтверждение приема информации о соответствии адресов отправляется домашним агентом или другим узлом IPv6 мобильному устройству, чей домашний адрес указан в данных о соответствии в случае запроса на подтверждение приема;
  • Binding Request - запрос информации о соответствии адресов подается по окончании времени жизни существующей записи о соответствии;
  • Home Address - домашний адрес присутствует в каждом пакете, отправляемом мобильным устройством, находящемся вне домашней сети. Поскольку в этом случае адрес отправителя пакета будет текущим внешним адресом мобильного устройства, то получивший такой пакет узел должен подставить домашний адрес мобильного устройства в качестве адреса отправителя при обработке пакета.

Следует заметить, что в IPv4 вообще отсутствует понятие дополнительного заголовка, а информация, необходимая для манипулирования соответствием адресов, передается в дополнительных пакетах с сообщениями UDP.

Новые структуры данных

Для взаимодействия компонентов системы MIPv6 проектом спецификации определены новые структуры данных.

  • Binding Cache. Таблица, в которой содержатся записи об известных узлу соответствиях между домашним и внешним адресами мобильных устройств. Для каждого своего IPv6-адреса узел ведет отдельную таблицу соответствий. Помимо собственно адресов в ней указываются время жизни каждой записи, порядковый номер для записи обновления информации о соответствии, данные, требующиеся для аутентификации получаемых обновлений о соответствии.
  • Binding Update List. Список всех отправленных мобильным устройством обновлений информации о соответствии, чье заявленное время жизни еще не истекло. В случае отправки нескольких обновлений одному получателю в списке сохраняется последнее. Каждая запись содержит IPv6-адрес получателя обновления, домашний адрес мобильного устройства, заявленное и оставшееся время жизни этого соответствия, данные для управления отправкой обновлений (порядковый номер, время последней отправки и т. п.).
  • Home Agents List. Список домашних агентов имеется на любом домашнем агенте (отдельно для каждого обслуживаемого им интерфейса) и на каждом мобильном устройстве, которое находится во внешней сети. Этот список нужен для того, чтобы домашний агент мог уведомить мобильный узел сразу обо всех агентах, обслуживающих домашнюю сеть, а мобильное устройство - связаться со своим домашним агентом. Перемещаясь по сети, оно может запрашивать агентов в только что оставленной внешней сети о возможности предоставления ему сервиса домашнего агента для предыдущего внешнего адреса. Список содержит локальный для среды канального уровня IPv6-адрес агента, его глобальный IPv6-адрес, заявленное время жизни и весовой коэффициент этого агента.

Регистрация мобильного устройства

Прежде чем мобильное устройство сможет отправить своему домашнему агенту обновление информации о соответствии адресов, оно должно определить адрес своего домашнего агента. Вообще говоря, оно может быть заранее настроено на обращение к определенному домашнему агенту. В таком случае процедура его динамического обнаружения окажется излишней. Если же адрес домашнего агента неизвестен, то мобильное устройство посылает запрос ICMPv6 на ближайший (anycast) MIPv6-адрес домашних агентов с префиксом своей домашней сети. Система маршрутизации IPv6 доставляет этот запрос ICMPv6 ближайшему с топологической точки зрения домашнему агенту в домашней сети. Последний отвечает мобильному устройству сообщением ICMPv6, включающим его IPv6-адрес и список известных ему домашних агентов.

Получив этот список, мобильное устройство может зарегистрироваться на любом из домашних агентов, отправив ему пакет с обновлением информации о соответствии и запрос на обслуживание. Если выбранный агент отказывает в обслуживании, мобильный узел делает новую попытку зарегистрироваться, обратившись к следующему по списку агенту. В том случае, когда мобильное устройство уже пользуется услугами определенного домашнего агента, оно должно в первую очередь попытаться возобновить регистрацию с ним.

Получив обновление информации о соответствии, домашний агент должен убедиться в ее корректности (данный список неполон, в нем приведены наиболее важные условия проверки):

  • устройство, получившее информацию, действительно может выполнять функции домашнего агента;
  • префикс домашнего адреса мобильного устройства, пытающегося зарегистрироваться, совпадает с префиксом одного из интерфейсов агента;
  • домашний адрес уникален (при поступлении запроса на подобную проверку).

Если информация о соответствии удовлетворяет требованиям проверки на корректность, то домашний агент создает или обновляет запись в таблице известных ему соответствий и отмечает ее как домашнюю регистрацию, что исключает возможность удаления записи из этой таблицы в случае ее переполнения. Домашний агент должен подтвердить мобильному устройству прием и успешную обработку информации о соответствии. Впрочем, при неудачной попытке регистрации мобильное устройство все равно уведомляется об отказе и его причине.

Мобильное устройство может отправлять обновление информации о соответствии любому узлу IPv6, с которым оно обменивается пакетами. Получив это сообщение, узел IPv6 должен проверить его аутентичность и обновить или создать запись в таблице информации об известных ему соответствиях между домашними и внешними адресами мобильных устройств. Перед отправкой каждого пакета любой узел IPv6 должен проверить эту таблицу и при нахождении соответствующей записи использовать дополнительный заголовок маршрутизации IPv6 для отправки пакета. В результате пакет, адресованный на домашний адрес мобильного устройства, будет доставлен на его внешний адрес стандартными средствами маршрутизации IPv6. В спецификации MIPv6 предполагается, что все обменивающиеся с мобильным устройством узлы должны иметь запись в таблице соответствий с домашним адресом мобильного устройства. Сигналом к тому, что удаленному узлу следует отправить обновление информации о соответствии, служит получение через туннель от домашнего агента пакетов, отправителем которых является этот узел. Таким образом, домашний агент в общем случае не принимает активного участия в передаче пакетов мобильному узлу, большая их часть поступает на указанный в заголовке маршрутизации внешний адрес данного узла. Благодаря этому система MIPv6 хорошо масштабируется и более надежна, чем MIPv4, поскольку позволяет снизить нагрузку на узкое, в смысле производительности и надежности, место - домашнего агента. Кроме того, на сеть нагрузка также снижается, поскольку с помощью заголовка маршрутизации пакеты следуют по наиболее оптимальному с точки зрения алгоритмов маршрутизации пути через сеть.

Однако следует заметить, что в MIPv4 имеется дополнение (механизм оптимизации маршрутизации), благодаря которому он обеспечивает сходную с MIPv6 функциональность, решая проблему «треугольной маршрутизации», когда пакеты от мобильного устройства идут напрямую, а к нему - только через домашнего агента по неоптимальному маршруту. Несмотря на внешнее сходство, MIPv6 и механизм оптимизации маршрутизации в MIPv4 отличаются множеством как мелких, так и существенных деталей. В частности, для MIPv4 домашний и внешний агенты мобильного узла играют более активную роль, контрольная информация передается в виде сообщений UDP и т. д.

Важно отметить, что мобильное устройство должно само пользоваться таблицей информации о соответствии, поскольку его собеседником может оказаться такое же мобильное устройство. Данный случай будет весьма типичным для Internet недалекого будущего.


Страница сайта http://185.71.96.61
Оригинал находится по адресу http://185.71.96.61/home.asp?artId=4927