По оценкам экспертов в ближайшие годы продолжится бурный рост рынка мобильного доступа в Интернет. Этот рост объясняется стечением целого ряда благоприятных обстоятельств:
1. Краткая характеристика различных подходов к обеспечению работы мобильных пользователей Интернета
Существует большое разнообразие способов обеспечения мобильности пользователей Интернета, но все их можно условно разделить на три группы, в зависимости от того, на каком уровне семиуровневой модели OSI работают их механизмы, обеспечивающие мобильность. Таблица 1 содержит краткую характеристику различных типов мобильности.
Рассматриваемый в этой статье механизм поддержки мобильности в рамках протокола IPv6 ("Mobile IPv6") [2] относится к третьему типу: он обеспечивает макромобильность.
Если бы протокол IPv6 не имел специального механизма поддержки мобильности, то пакеты, адресованные мобильному узлу, не могли бы достичь своего пункта назначения, коль скоро указанный мобильный узел в данный момент оказался за пределами своей "домашней" подсети, поскольку маршрутизация пакета определяется префиксом подсети, соответствующим адресу назначения IPv6 пакета. Для того, чтобы поддерживать связь с другими узлами, несмотря на свои перемещения, мобильный узел мог бы изменять свой IP адрес всякий раз, как происходит переход в другую подсеть, но тогда мобильный узел не смог бы при таком переходе сохранить существующие соединения транспортного и более высоких уровней. Поддержка мобильности в рамках IPv6 особенно важна, поскольку в эпоху протокола IPv6 мобильные компьютеры, вероятно, будут составлять большинство или, по меньшей мере, значительную долю узлов сети Интернет.
Механизм "Mobile IPv6" позволяет мобильному узлу переключаться с одного канала связи на другой, не меняя своего IP адреса. Мобильный узел всегда доступен по своему "домашнему" адресу: IP адресу, присвоенному мобильному узлу в пределах его "домашней" подсети. Пакеты, направленные по такому адресу, доставляются мобильному узлу независимо от того, где в данный момент этот узел подключен к Интернету. Изменение точки подключения не приводит к разрыву установленных ранее соединений с другими (стационарными или мобильными) узлами. Таким образом, перемещение мобильного узла из "домашней" подсети в другую подсеть остается незаметным как для протоколов верхних уровней (начиная с транспортного), так и для прикладных программ. 2. Сравнительный анализ механизмов поддержки мобильного подключения в сетях IPv6 и IPv4
Механизм "Mobile IPv6" позволяет мобильному узлу переключаться с одного канала связи на другой, не меняя своего IP адреса. Мобильный узел всегда доступен по своему "домашнему" адресу: IP адресу, присвоенному мобильному узлу в пределах его "домашней" подсети. Пакеты, направленные по такому адресу, доставляются мобильному узлу независимо от того, где в данный момент этот узел подключен к Интернету. Изменение точки подключения не приводит к разрыву установленных ранее соединений с другими (стационарными или мобильными) узлами. Таким образом, перемещение мобильного узла из "домашней" подсети в другую подсеть остается незаметным как для протоколов верхних уровней (начиная с транспортного), так и для прикладных программ.
Механизм поддержки мобильного подключения в сетях IPv6 ("Mobile IPv6") появился в результате органичного синтеза того опыта, который был получен в ходе разработки аналогичного механизма ("Mobile IPv4") для сетей IPv4 [3, 4, 5], а также новых возможностей и свойств самого протокола IPv6. Таким образом, "Mobile IPv6" имеет много общего с ôMobile IPv4ö, но, в отличие от сетей IPv4, поддержка "мобильности" в рамках IPv6 полностью интегрирована в стек протокола IP и обладает существенными преимуществами, по сравнению с "Mobile IPv4". Ниже перечислены основные различия между "Mobile IPv4" и "Mobile IPv6".
3. IPv6 как технологическая основа мобильного Интернета
Протокол IPv6 можно рассматривать как фундамент всеобъемлющей универсальной Сети будущего (Рисунок 4), воплощающей лозунг: "К Сети подключены Все, Всегда и Повсюду!" Такая важная роль этого протокола объясняется очень полезными свойствами, присущими IPv6. Эти свойства хорошо известны [8]:
Советом по архитектуре сети Интернет (IAB – Internet Architecture Board) и Группой управления проектированием Интернета (IESG) был одобрен документ IETF [16], в котором рекомендуется каждому конечному пользователю выделять адресное пространство фиксированного размера, соответствующее префиксу подсети длиной 48 битов (возможные исключения рассмотрены ниже). Другими словами, рекомендуется всем пользователям, подключающимся по протоколу IPv6, выделять по 280 адресов, что позволяет пользователю развернуть свою сетевую инфраструктуру (уровня сайта), состоящую, к примеру, из 65536 локальных подсетей, к каждой из которых может быть подключено более 1.8À1019 (!!!) устройств.
Рекомендуемая [16] политика выделения адресного пространства IPv6 для конечных пользователей максимально учитывает следующие факторы:
Не бывает правил без исключений, и указанный документ [16] также предусматривает исключительные случаи. Отступления от описанного выше правила допускаются в следующих ситуациях:
Выделение пользователям адресного пространства фиксированного (одинакового) размера мотивируется следующими обстоятельствами:
Для количественной оценки эффективности использования адресного пространства существует специальный показатель H, вычисляемый по следующей формуле [17]:
В случае предлагаемой выше схемы распределения адресов количество битов, доступных для адресации 48 битных префиксов пользовательских сетей равно 45 (48–3). Таким образом, прежде чем величина H достигнет критического значения 0.26, сервисами сети IPv6 будут пользоваться более 500 миллиардов абонентов!
Наконец, следует помнить, что сейчас в качестве агрегируемых глобальных индивидуальных адресов IPv6 используются только адреса, у которых старшие 3 бита имеют значение 001. Следовательно, примерно 85% адресного пространства IPv6 пока не используются и могут быть задействованы позже в рамках иной, более строгой политики распределения.
4. Технические аспекты механизма поддержки мобильного подключения в рамках протокола IPv6
4.1. Терминология
4.1.1. Общие термины
IP - Интернет протокол версии 6 (IPv6).
Узел - Устройство, поддерживающее протокол IP.
Маршрутизатор (роутер) - Узел, который пересылает пакеты, адресованные другим узлам.
Хост - Любой узел, не являющийся роутером.
Канал связи (линк) - Средство связи или среда передачи сигналов, позволяющая узлам взаимодействовать на канальном уровне (к примеру, Ethernet). Канальный уровень располагается непосредственно под уровнем IP.
Интерфейс - Средство подключения узла к каналу связи.
Префикс подсети - Строка битов, представляющая собой N первых (старших) разрядов IP адреса в двоичном представлении, где N – целое число, задающее длину префикса.
Идентификатор интерфейса - Число, служащее для идентификации определенного интерфейса данного узла в пределах конкретного канала связи. Это число представляет собой те младшие разряды IP адреса, которые не вошли в префикс подсети. Идентификатор интерфейса должен быть уникальным в пределах данного канала связи.
Адрес на канальном уровне - Адрес интерфейса, используемый протоколами канального уровня (например, для сетей Ethernet это IEEE 802 адрес).
Пакет - IP заголовок + полезная нагрузка (payload).
4.1.2. Специфичные термины
"Домашний" адрес - IP адрес, присваиваемый мобильному узлу в пределах "домашнего" линка.
Префикс "домашней" подсети - Префикс подсети, соответствующий "домашнему" адресу мобильного узла.
"Домашний" линк - Линк, на котором развернута IP подсеть, префикс которой совпадает с префиксом "домашней" подсети для данного мобильного узла. Стандартные схемы IP маршрутизации направляют в сторону "домашнего" линка данного мобильного узла пакеты, посылаемые на его "домашний" адрес.
Мобильный узел - Узел, который может менять место своего подключения, переходя с одного линка на другой, но оставаясь при этом доступным по своему "домашнему" адресу.
Перемещение - Такое изменение места подключения мобильного узла к Интернету, при котором происходит смена линка, используемого для подключения узла. Если мобильный узел в данный момент не подключен непосредственно к "домашнему" линку, то говорят, что мобильный узел находится "вне дома" ("away from home").
Узел-корреспондент - Узел, взаимодействующий (обменивающийся трафиком) с данным мобильным узлом. Узел-корреспондент может быть как мобильным, так и стационарным.
Префикс "чужой" (foreign) подсети - Любой IP префикс, кроме префикса "домашней" подсети.
"Чужой" (foreign) линк - Любой линк, кроме "домашнего" для данного мобильного узла.
Агент "домашней" подсети - Подключенный к "домашнему" линку маршрутизатор, на котором данный мобильный узел зарегистрировал свой текущий "гостевой" адрес. Пока мобильный узел находится "вне дома", агент "домашней" подсети перехватывает все пакеты на "домашнем" линке, направленные по "домашнему" адресу узла, инкапсулирует их и по туннелю перенаправляет их на "гостевой" адрес данного узла.
"Гостевой" адрес - IP адрес, присваиваемый мобильному узлу при подключении к "чужому" линку; префиксом подсети для этого IP адреса является префикс "чужой" подсети. Среди нескольких "гостевых" адресов, которые могут быть у мобильного узла в данный момент времени (например, в случае одновременного подключения сразу к нескольким линкам), только один — тот, который зарегистрирован на агенте "домашней" подсети, — называется основным (ôprimaryö) "гостевым" адресом.
"Привязка" (binding) - Установление и поддержка соответствия между "домашним" и "гостевым" адресом мобильного узла с учетом определенного срока действия (lifetime) этого соответствия.
4.2. Принцип функционирования механизма поддержки мобильного подключения по IPv6
Как уже отмечалось выше, к мобильному узлу всегда можно обращаться по его "домашнему" адресу независимо от того, подключен ли сейчас этот узел к своей "домашней" подсети или находится "вне дома". Пока он находится в своей "домашней" подсети, пакеты, отправленные по его "домашнему" адресу, пересылаются с использованием обычных механизмов маршрутизации, точно так же, как если бы узел и вовсе не был мобильным (Рисунок 5). Поскольку префикс подсети, соответствующий "домашнему" адресу мобильного узла, совпадает с префиксом (или с одним из префиксов), действующим на "домашнем" линке узла, пакеты, направленные на "домашний" адрес, маршрутизируются на "домашний" линк.
Ассоциирование "домашнего" адреса с текущим значением "гостевого" адреса называется "привязкой" (binding) мобильного узла. Как правило, мобильный узел получает свой "гостевой" адрес, используя механизмы автоконфигурации (без фиксации [10] или с фиксацией [18] состояния), в соответствии с протоколом "обнаружения соседа"[9]. Допустимо использование и других методов присвоения мобильному узлу "гостевого" адреса (например, статическое выделение администратором данного конкретного линка определенного адреса по предварительному соглашению).
Оказавшись "вне дома" (Рисунок 6), мобильный узел регистрирует на маршрутизаторе "домашнего" линка один из своих "гостевых" адресов, предлагая маршрутизатору взять на себя функции агента "домашней" подсети для мобильного узла. Мобильный узел осуществляет регистрацию привязки, направляя агенту "домашней" подсети пакет, содержащий опцию "Обновление привязки" (ôBinding Updateö); агент "домашней" сети в ответ посылает мобильному узлу пакет, содержащий опцию "Подтверждение привязки" ("Binding Acknowledgement”).
Мобильный узел может одновременно иметь несколько "гостевых" адресов. Однако, основной "гостевой" адрес отличается от остальных "гостевых" адресов тем, что только он зарегистрирован на агенте "домашней" подсети. Таким образом, агент не должен тратить свои ресурсы на реализацию некой политики выбора одного из, возможно, нескольких "гостевых" адресов с тем, чтобы затем туннелировать на него перехваченные пакеты для мобильного узла. Только сам мобильный узел определяет правила, по которым выбирается один из "гостевых" адресов и именно он регистрируется на агенте "домашней" подсети.
Может так случиться, что, пока мобильный узел находится "вне дома", конфигурация некоторых узлов "домашней" подсети может измениться, так что в результате роль агента "домашней" подсети может перейти от прежнего маршрутизатора к другому маршрутизатору. В этом случае мобильный узел может не знать нового адреса своего агента "домашней" подсети. "Mobile IPv6" предусматривает механизм "динамического определения адреса агента "домашней" подсети", позволяющий мобильному узлу динамически отслеживать IP адрес агента, на котором мобильный узел может в данный момент зарегистрировать свой "гостевой" адрес.
5. Заключение
Механизм поддержки мобильного подключения ("Mobile IPv6") полностью интегрирован в стек протокола IPv6 и, следовательно, "понятен" абсолютно всем узлам, работающим по протоколу IPv6.
Используя метод "обнаружения соседа"[9], IPv6-узел может подключиться к любой доступной ему в данном месте подсети, найти сервер автоконфигурации без фиксации состояния и сконфигурировать себя для последующей работы в сети, – и все это без вмешательства человека. Более того, "Mobile IPv6" позволяет мобильному узлу перемещаться из одной подсети в другую, сохраняя при этом свой IP адрес неизменным. При этом для прикладных программ такие перемещения, вообще, незаметны. Указанные функции способствуют получению реального доступа к сети с высокой степенью готовности (plug-and-play network access) и существенно снижают расходы на эксплуатацию сети.
Литература
1. "Мир Билайн", 2000, №5 (24), стр. 30.
2. David B. Johnson, Charles Perkins, "Mobility Support in IPv6", Internet Draft, draft-ietf-mobileip-ipv6-13.txt, November 2000.
3. Charles Perkins, "IP Encapsulation within IP", RFC 2003, October 1996.
4. Charles Perkins, editor, "IP Mobility Support", RFC 2002, October 1996.
5. Charles Perkins, "Minimal Encapsulation within IP”, RFC 2004, October 1996.
6. Charles Perkins and David B. Johnson, "Route Optimization in Mobile IP”, Work in progress.
7. Paul Ferguson and Daniel Senie, "Network Ingress Filtering: Defeating Denial of Service Attacks which employ IP Source Address Spoofing”, RFC 2267, January 1998.
8. А.С. Мендкович, Д.И. Сидельников, "IPv6 – новый этап развития Интернета", Информационное общество, №4, 2000, стр. 11-22.
9. T. Narten, E. Nordmark, W. Simpson, "Neighbor Discovery for IP Version 6 (IPv6)”, RFC 2461, December 1998.
10. S. Thomson, T. Narten, "IPv6 Stateless Address Autoconfiguration”, RFC 2462, December 1998.
11. Stephen Kent and Randall Atkinson, "IP Authentication Header”, RFC 2402, November 1998.
12. Stephen Kent and Randall Atkinson, "IP Encapsulating Security Payload (ESP)”, RFC 2406, November 1998.
13. Stephen Kent and Randall Atkinson, "Security Architecture for the Internet Protocol”, RFC 2401, November 1998.
14. David C. Plummer, "An Ethernet Address Resolution Protocol: Or Converting Network Protocol Addresses to 48.bit Ethernet Addresses for Transmission on Ethernet Hardware”, RFC 826, November 1982.
15. D. Johnson, S. Deering, "Reserved IPv6 Subnet Anycast Addresses”, RFC 2526, March 1999.
16. IETF, "IAB/IESG Recommendations on IPv6 Address Allocations”, September 2000.
17. C. Huitema, "The H Ratio for Address Assignment Efficiency”, RFC 1715, November 1994.
18. Jim Bound and Charles Perkins, "Dynamic Host Configuration Protocol for IPv6 (DHCPv6)”, February 1999. Work in progress.
19. A. Conta, S. Deering, "Generic Packet Tunneling in IPv6 Specification”, RFC 2473, December 1998.
© Информационное общество, 2001, вып. 5, с. 14-23.