Internet стал частью нашей жизни. Всемирная Сеть все больше используется для ведения бизнеса, а пользователь все менее готов мириться с тем, что порою она оказывается недоступной (например, когда под рукой нет телефонной розетки, в которую можно было бы включить модем). Отсюда - задача обеспечения постоянного доступа в Internet.
Родилась идея: организовать доступ через мобильную сеть. В самом деле, ну чем мобильный телефон хуже обычного? Доступ к Internet через сотовую сеть чаще всего организуется следующим образом. Берется ноутбук, в который устанавливается специальный модем, а к нему подключается сотовый телефон. Последний, как видим, используется исключительно для организации радиоинтерфейса.
Скорость обмена данными в подобном решении невелика. Например, московская компания "Элвис-телеком", которая предоставляет доступ в Internet абонентам сети "Би Лайн", работающим по стандарту GSM-1800, обеспечивает пропускную способность всего 9600 бит/с. "Наливать" через такое "горлышко" современные Web-страницы, оплачивая время соединения по тарифам сотовой связи, - не слишком ли дорогое удовольствие? Недаром сама "Элвис-телеком" сообщает, что ее абоненты применяют эту услугу в основном для обмена электронной почтой. Что же касается региональных операторов сотовых сетей, многие из них (такие как краснодарская компания "Кубань-GSM") считают: среди их абонентов услуга не будет пользоваться спросом из-за непомерной дороговизны.
Между тем, сами мобильные телефонные аппараты представляют собой достаточно интеллектуальные устройства, к тому же снабженные дисплеями. Возникает вопрос: нельзя ли организовать доступ в Internet таким образом, чтобы в качестве терминала использовался сам телефонный аппарат?
Стек протоколов WAP
Некоторое время назад был предложен комплект протоколов WAP (Wireless Application Protocol), призванный обеспечить решение именно этой задачи. В составе WAP - протоколы трех уровней семиуровневой модели, от прикладного до транспортного включительно (рис. 1). Работу приложений определяет спецификация WAE (Wireless Application Environment). Протоколы сеансового уровня объединены под названием WSP (Wireless Session Protocol), к этому же уровню относятся протоколы защиты данных WSL (Wireless Security Layer). Наконец, протоколы транспортного уровня имеют общее название WTP (Wireless Transport Protocol).
Архитектура протокола WAP
WAP Forum определяет принципы разработки нового семейства протоколов следующим образом:
- комплект WAP должен обеспечивать доступ к Internet, интрасетям и интеллектуальным услугам операторов телефонных сетей. По возможности, он должен опираться на существующие стандарты:
- нужно, чтобы использование WAP не шло в ущерб основным функциям телефонного аппарата;
- архитектура семейства протоколов должна соответствовать семиуровневой модели OSI; необходимо обеспечивать масштабируемость и возможность расширения;
- протоколы должны быть рассчитаны на использование в сетях с малой пропускной способностью и, возможно, большими задержками при передаче информации. Требуется также принимать во внимание малый объем оперативной памяти и низкое быстродействие центральных процессоров абонентских терминалов;
- нужно учитывать, что абонентские терминалы имеют весьма ограниченные возможности для ввода информации пользователем;
- в архитектуру WAP должна быть заложена поддержка различных типов беспроводных сетей;
- необходимо, чтобы семейство протоколов WAP обеспечивало защиту данных;
- должна быть разработана новая модель приложений, обеспечивающих предоставление услуг передачи данных на беспроводные телефоны.
Протоколы верхних уровней не должны ничего "знать" о специфических характеристиках используемых беспроводных технологий; конкретные особенности радиоинтерфейса учитываются только в протоколах транспортного уровня. Тем не менее от всех протоколов этого уровня требуются определенные общие черты - таким образом удастся обеспечить интероперабельность систем по всему миру.
Одно из важнейших условий - масштабируемость протокола WAP. Он должен поддерживать очень широкий спектр абонентских устройств (от простеньких телефонов с дисплеем в одну строку до интеллектуальных карманных компьютеров) и сети самой разной пропускной способности. Кроме того, многоуровневая архитектура WAP должна обеспечивать легкую настройку на технологии радиоинтерфейса и приложения, которые могут появиться в будущем.
В создании спецификации WAP приняли участие компании Nokia, Ericsson, Motorola и Unwired Planet. Работа над WAP продолжается, поэтому мы ориентировались на спецификацию WAP Forum, но не указывали, какие функции уже реализованы, а какие - нет. В качестве примера в конце статьи будет дано краткое описание семейства продуктов под WAP, разработанного компанией Unwired Planet.
Консорциум WAP Forum (www.wapforum.org) был организован одновременно с представлением нового протокола. Цель этой организации - способствовать разработке и принятию соответствующего стандарта. На ее Web-сервере можно найти довольно подробную техническую информацию о текущем состоянии работ.
Спецификация WAE
Именно на прикладном уровне модели OSI задаются общие требования к приложениям, которые предназначены для использования в среде, характеризуемой низкой скоростью передачи информации, а также малым объемом оперативной памяти и низким быстродействием интеллектуальных устройств. В целом, при разработке приложений для WAP предполагается следовать общей модели программирования приложений для World Wide Web, несколько видоизменив ее в соответствии со специфическими особенностями среды.
Общая схема работы WAP на прикладном уровне выглядит следующим образом (рис. 2). В память абонентского терминала загружается программа-браузер, идеологически напоминающая стандартные Web-браузеры. Отличие состоит в том, что при обращении к серверу WAP-браузер использует язык запросов WML (Wireless Markup Language), представляющий собой упрощенный вариант HTML.
Схема доступа к Web-серверу с мобильного телефона
Эти запросы передаются по беспроводной сети к специальному шлюзовому устройству, которое не только осуществляет информационный обмен между беспроводной и проводной частями сети, но и трансформирует WML-запросы в HTML-запросы и отправляет их к Web-серверу. При передаче обратного трафика шлюз также осуществлет преобразование информации из одного формата в другой.
Помимо языка WML браузер поддерживает сценарии на языке WMLS, или WML Script, представляющем собой упрощенный вариант языка JavaScript. Кроме того, в состав WAE могут быть включены различные интеллектуальные телефонные услуги, имеющие общее название TeleVAS (Telephony Value-Added Services). Прикладные программы, загруженные в оперативную память мобильного терминала, должны обеспечивать доступ и к этим функциям.
Рассмотрим компоненты архитектуры WAE чуть подробнее. WML - это HTML-подобный язык описания документов. В этом языке все документы представляются в виде последовательности "карт" (card), которые можно объединять в "колоды" (deck), загружаемые с сервера целиком. Для идентификации карт используются обычные URL. Все взаимодействие браузера с пользователем можно представить себе как предъявление ему определенной последовательности карт, которые требуют от пользователя выполнения некоторых действий - заполнения полей карты, выбора одного из пунктов меню и т. д. Окончив просмотр карты, пользователь переходит к следующей. По исчерпании загруженной с сервера колоды браузер запрашивает следующую.
Общая схема работы с WML может быть описана следующим образом.
- Вывести на экран текущую карту.
- Дождаться, пока пользователь (тем или иным способом) введет URL ресурса, к которому следует перейти.
- Отправить запрос соответствующему Web-серверу.
- Дождаться ответа.
- Перейти к шагу 1.
Воспользовавшись WML Script, программист способен обеспечить выполнение приложением ряда полезных функций без обращений к Web-серверу (например, можно потребовать, чтобы введенные пользователем значения параметров проверялись на допустимость). При выполнении сценария WML Script приложение может самостоятельно обращаться к интеллектуальным ресурсам абонентского терминала.
Абонент сотовой сети, как правило, имеет доступ к различным интеллектуальным функциям управления вызовами (таким как переключение вызова, удержание линии и т. д.), передачи сообщений (в частности, к голосовой почте) и ряду других. Однако ограниченные возможности клавиатуры мобильного телефона не позволяют сконструировать удобный пользовательский интерфейс. Предусмотренные в WAE функции TeleVAS как раз и обеспечивают управление сетевым интеллектом через браузер.
Система TeleVAS позволяет совершенно одинаковым образом управлять интеллектуальными функциями сетей GSM, CDMA, PCS и любых других. Используя средства TeleVAS, можно программным образом расширять интеллектуальные возможности сотовых сетей.
Приложения TeleVAS строятся на основе стандартных карт WML; используются и загружаемые в мобильный аппарат сценарии WMLS. С точки зрения пользователя, обращение к функциям TeleVAS выглядит просто как обращение к определенному URL, локальному или удаленному. Обращение к локальному URL фактически означает обращение к функции самого телефонного аппарата; обращение к удаленному URL соответствует выполнению некоторого приложения, хранящегося на удаленном сервере. Такой подход дает возможность, например, оператору сети строить свои собственные функции TeleVAS, обеспечивая доступ к ним со стороны абонентов через браузер.
Протоколы сеансового и транспортного уровней
Протоколы сеансового уровня позволяют устанавливать и разрывать сеансы связи между приложениями. На этом уровне система ничего не знает о характере используемого радиоинтерфейса - подробности скрыты в протоколах транспортного уровня. В отдельный подуровень внутри сеансового уровня выделяются протоколы защиты данных.
Именно на сеансовом уровне происходит выяснение конкретных возможностей применяемого пользователем мобильного аппарата, что позволяет соответствующим образом оптимизировать передаваемые данные. Таким образом удается обеспечить ту самую масштабируемость WAP, о которой говорилось выше.
В спецификации WAP указывается, что протоколы сеансового уровня должны поддерживать сразу несколько сеансов, причем одновременно с доступом в Internet пользователь должен иметь возможность вести телефонные переговоры - если только используемая в беспроводной сети технология позволяет это делать. Такие радиоинтерфейсы уже появляются: например, технология TD/CDMA, предложенная в качестве европейского стандарта беспроводной связи следующего поколения, предусматривает одновременную передачу голоса и данных.
Что касается защиты данных, для этого предполагается применять самые современные механизмы. В частности, защитные протоколы должны поддерживать аутентификацию пользователей, кодирование данных и управление ключами.
Протоколы сеансового уровня будут обеспечивать обмен данными в двух режимах: с установлением логического соединения и без него. В последнем случае сеанс может быть ориентирован на обмен транзакциями или дейтаграммами. Напомним, что при обмене транзакциями станция-получатель посылает отправителям подтверждения о получении пакетов, а при обмене дейтаграммами - нет.
Одна из главных задач протоколов транспортного уровня - скрыть от вышележащих протоколов особенности используемых в сети радиоинтерфейсов. В архитектуре WAP предполагается применять транспортные протоколы трех типов: с установлением логического соединения (connection-oriented), или WTP/C; ориентированные на передачу транзакций, или WTP/T; ориентированные на передачу дейтаграмм, или WTP/D. Все протоколы семейства WTP оптимизированы под очень низкие скорости обмена информацией, характерные для беспроводных сетей. Для каждого из типов радиоинтерфейса будет разработан свой транспортный протокол; на сеансовом уровне разница между беспроводными технологиями уже не будет заметна.
Первые опыты
Компания Unwired Planet (UP, www.uplanet.com) уже сейчас предлагает полный комплект продуктов для работы под WAP; это семейство имеет название UP.Link Platform. UP выпускает микробраузер UP.Browser, шлюзовую программу UP.Gateway, программное обеспечение для обмена электронной почтой UP.Mail, а также комплект средств для разработки программного обеспечения UP.Software Development Kit (UP.SDK).
UP.Browser поддерживает следующие функции:
- когда от пользователя требуется выполнение каких-либо действий (например, на его имя поступает электронное письмо), браузер обеспечивает подачу звукового (немного похожего на "писк" пейджера) и/или визуального сигнала;
- пользователь может установить "закладку" на услуге, к которой он часто обращается. Как мы помним, каждой услуге соответствует свой URL;
- UP.Browser способен кэшировать данные, минимизируя тем самым частоту обращений серверу. Это особенно важно для медленных беспроводных каналов;
- пользовательский интерфейс браузера построен с использованием различных меню и "горячих клавиш" (задаваемых самим пользователем), что значительно упрощает навигацию по Web и уменьшает число нажатий на клавиши телефонного аппарата;
- браузер предоставляет широкие возможности вертикального и горизонтального "пролистывания", очень важные при работе с маленьким дисплеем телефонного аппарата;
- используются стандартные методы защиты и шифрования данных;
- поддерживаются несколько различных режимов ввода информации (Lkpha, Numeric, Symbol, Smart). Пользователь может редактировать ранее введенный текст, стирать, вставлять и заменять отдельные символы.
UP.mail обеспечивает отображение электронных писем любой длины, поступающих на компьютер пользователя, на дисплее его телефона. Поддерживаются все стандартные функции почтовых программ, необходимые для создания, отправки и получения писем с использованием любого мобильного телефона, на котором установлен UP.Browser. В частности, пользователь может просматривать только заголовки сообщений (на ходу решая, стоит ли ему знакомиться с текстом самого письма), пользоваться адресной книгой, отправлять сообщения в режиме ответа на присланное письмо, пересылать электронные письма на факс и т. д. ПО UP.Mail способно самостоятельно информировать пользователя о получении электронного письма, подавая звуковой сигнал средствами UP.Browser.
UP.Link Gateway имеет следующие основные функции:
- на шлюзах можно размещать приложения, поддерживающие дополнительные услуги для пользователя;
- приложения, размещаемые на шлюзе, могут обеспечивать подачу пользователю сигналов о событиях, требующих их немедленного вмешательства. Характер этих событий определяется логикой приложения. Например, приложение автоматически следит за биржевыми котировками и подает сигнал при достижении курсом акций заданного пользователем значения;
- осуществляется автоматическое сжатие информации, передаваемой по беспроводной сети;
- шлюзовая программа обеспечивает полный учет и регистрацию всех пользователей, применяемых ими абонентских терминалов и осуществляемого информационного обмена. Администратор сети может легко управлять доступом пользователей к тем или иным сетевым услугам;
- графическая информация, которую трудно отобразить на дисплее мобильного телефона, передается пользователем на факс. Для этого в UP.Link Gateway предусмотрена поддержка стандартного канала связи с услугой передачи факсов через Internet;
- поддерживаются стандартные средства защиты информации при передаче через Web с использованием протоколов HTTPS и SSL.
Наконец, UP.SDK позволяет быстро разрабатывать приложения, обеспечивающие доставку Web-содержимого на мобильные телефоны и другие устройства, где установлен UP.Browser. UP.SDK можно бесплатно загрузить с Web-сервера Unwired Planet.
Как утверждает Unired Planet, к разработанному ею программному обеспечению проявляют большой интерес операторы беспроводных сетей и производители мобильных телефонных аппаратов. В частности, WAP-шлюзами собираются снабдить свою сетевую инфраструктуру такие американские компании, как AT&T Wireless Services, Bell Atlantic Mobile и GTE Wireless. Alcatel и Samsung уже оснастили бруазерами свои телефонные аппараты (One Touch PRO и Duette, соответственно); в том же направлении продвигаются Motorola, Qualcomm, Siemens и др.
Предполагается, что со временем осуществлять доступ в Internet под WAP смогут пользователи беспроводных сетей на базе стандартов GSM-900, GSM-1800, GSM-1900, PDC, CDMA, IS-95 и ряда других.
Александр Крейнес - обозреватель журнала "Сети". С ним можно связаться при помощи электронной почты по адресу: kreines@radio-msu.net