Очень интересен процесс определения подлинности абонента. При регистрации AuC домашней сети генерирует 128-битовое случайное число - RAND, пересылаемое телефону. Внутри SIM с помощью ключа Ki (ключ идентификации - так же как и IMSI, он содержится в SIM) и алгоритма идентификации А3 вычисляется 32-битовый ответ - SRES (Signed RESult) по формуле SRES = Ki * RAND. Точно такие же вычисления проделываются одновременно и в AuC (по выбранному из HLRKi пользователя). Если SRES, вычисленный в телефоне, совпадет со SRES, рассчитанным AuC, то процесс авторизации считается успешным и абоненту присваивается TMSI (Temporary Mobile Subscriber Identity-временный номер мобильного абонента). TMSI служит исключительно для повышения безопасности взаимодействия подписчика с сетью и может периодически меняться (в том числе при смене VLR).
Теоретически, при регистрации должен передаваться и номер IMEI, но есть большие сомнения насчет того, что московские операторы отслеживают IMEI используемых абонентами телефонов. Давайте будем рассматривать некую "идеальную" сеть, функционирующую так, как было задумано создателями GSM. Так вот, при получении IMEI сетью, он направляется в EIR, где сравнивается с так называемыми "списками" номеров. Белый список содержит номера санкционированных к использованию телефонов, черный список состоит из IMEI, украденных или по какой-либо иной причине не допущенных к эксплуатации телефонов, и, наконец, серый список - "трубки" с проблемами, работа которых разрешается системой, но за которыми ведется постоянное наблюдение.
После процедуры идентификации и взаимодействия гостевого VLR с домашним HLR запускается счетчик времени, задающий момент перерегистрации в случае отсутствия каких-либо сеансов связи. Обычно период обязательной регистрации составляет несколько часов. Перерегистрация необходима для того, чтобы сеть получила подтверждение, что телефон по-прежнему находится в зоне ее действия. Дело в том, что в режиме ожидания "трубка" только отслеживает сигналы, передаваемые сетью, но сама ничего не излучает - процесс передачи начинается только в случае установления соединения, а также при значительных перемещениях относительно сети (ниже это будет рассмотрено подробно) - в таких случаях таймер, отсчитывающий время до следующей перерегистрации, запускается заново. Поэтому при "выпадении" телефона из сети (например, был отсоединен аккумулятор, или владелец аппарата зашел в метро, не выключив телефон) система об этом не узнает.
Все пользователи случайным образом разбиваются на 10 равноправных классов доступа (с номерами от 0 до 9). Кроме того, существует несколько специальных классов с номерами с 11 по 15 (разного рода аварийные и экстренные службы, служебный персонал сети). Информация о классе доступа хранится в SIM. Особый, 10 класс доступа, позволяет совершать экстренные звонки (по номеру 112), если пользователь не принадлежит к какому-либо разрешенному классу, или вообще не имеет IMSI (SIM). В случае чрезвычайных ситуаций или перегрузки сети некоторым классам может быть на время закрыт доступ в сеть.
Территориальное деление сети и handover.
Как уже было сказано, сеть состоит из множества BTS - базовых станций (одна BTS - одна "сота", ячейка). Для упрощения функционирования системы и снижения служебного трафика, BTS объединяют в группы - домены, получившие название LA (Location Area - области расположения). Каждой LA соответствует свой код LAI (Location Area Identity). Один VLR может контролировать несколько LA. И именно LAI помещается в VLR для задания местоположения мобильного абонента. В случае необходимости именно в соответствующей LA (а не в отдельной соте, заметьте) будет произведен поиск абонента. При перемещении абонента из одной соты в другую в пределах одной LA перерегистрация и изменение записей в VLR/HLR не производится, но стоит ему (абоненту) попасть на территорию другой LA, как начнется взаимодействие телефона с сетью. Каждому пользователю, наверное, не раз приходилось слышать периодические помехи в музыкальной системе своего автомобиля от находящегося в режиме ожидания телефона - зачастую это является следствием проводимой перерегистрации при пересечении границ LA. При смене LA код старой области стирается из VLR и заменяется новым LAI, если же следующий LA контролируется другим VLR, то произойдет смена VLR и обновление записи в HLR.
Вообще говоря, разбиение сети на LA довольно непростая инженерная задача, решаемая при построении каждой сети индивидуально. Слишком мелкие LA приведут к частым перерегистрациям телефонов и, как следствие, к возрастанию трафика разного рода сервисных сигналов и более быстрой разрядке батарей мобильных телефонов. Если же сделать LA большими, то, в случае необходимости соединения с абонентом, сигнал вызова придется подавать всем сотам, входящим в LA, что также ведет к неоправданному росту передачи служебной информации и перегрузке внутренних каналов сети.
Теперь рассмотрим очень красивый алгоритм так называемого handover`ра (такое название получила смена используемого канала в процессе соединения). Во время разговора по мобильному телефону вследствие ряда причин (удаление "трубки" от базовой станции, многолучевая интерференция, перемещение абонента в зону так называемой тени и т.п.) мощность (и качество) сигнала может ухудшиться. В этом случае произойдет переключение на канал (может быть, другой BTS) с лучшим качеством сигнала без прерывания текущего соединения (добавлю - ни сам абонент, ни его собеседник, как правило, не замечают произошедшего handover`а). Handover`ы принято разделять на четыре типа:
· смена каналов в пределах одной базовой станции
· смена канала одной базовой станции на канал другой станции, но находящейся под патронажем того же BSC.
· переключение каналов между базовыми станциями, контролируемыми разными BSC, но одним MSC
· переключение каналов между базовыми станциями, за которые отвечают не только разные BSC, но и MSC.
В общем случае, проведение handover`а - задача MSC. Но в двух первых случаях, называемых внутренними handover`ами, чтобы снизить нагрузку на коммутатор и служебные линии связи, процесс смены каналов управляется BSC, а MSC лишь информируется о происшедшем.
Во время разговора мобильный телефон постоянно контролирует уровень сигнала от соседних BTS (список каналов (до 16), за которыми необходимо вести наблюдение, задается базовой станцией). На основании этих измерений выбираются шесть лучших кандидатов, данные о которых постоянно (не реже раза в секунду) передаются BSC и MSC для организации возможного переключения. Существуют две основные схемы handover`а:
· "Режим наименьших переключений" (Minimum acceptable performance). В этом случае, при ухудшении качества связи мобильный телефон повышает мощность своего передатчика до тех пор, пока это возможно. Если же, несмотря на повышение уровня сигнала, связь не улучшается (или мощность достигла максимума), то происходит handover.
· "Энергосберегающий режим" (Power budget). При этом мощность передатчика мобильного телефона остается неизменной, а в случае ухудшения качества меняется канал связи (handover).
Интересно, что инициировать смену каналов может не только мобильный телефон, но и MSC, например, для лучшего распределения трафика.
Маршрутизация вызовов.
Поговорим теперь, каким образом происходит маршрутизация входящих вызовов мобильного телефона. Как и раньше, будем рассматривать наиболее общий случай, когда абонент находится в зоне действия гостевой сети, регистрация прошла успешно, а телефон находится в режиме ожидания.
При поступлении запроса (рис.2) на соединение от проводной телефонной (или другой сотовой) системы на MSC домашней сети (вызов "находит" нужный коммутатор по набранному номеру мобильного абонента MSISDN, который содержит код страны и сети).
Рис.2 Взаимодействие основных блоков сети при поступлении входящего вызова.
MSC пересылает в HLR номер (MSISDN) абонента. HLR, в свою очередь, обращается с запросом к VLR гостевой сети, в которой находится абонент. VLR выделяет один из имеющихся в ее распоряжении MSRN (Mobile Station Roaming Number - номер "блуждающей" мобильной станции). Идеология назначения MSRN очень напоминает динамическое присвоение адресов IP при коммутируемом доступе в Интернет через модем. HLR домашней сети получает от VLR присвоенный абоненту MSRN и, сопроводив его IMSI пользователя, передает коммутатору домашней сети. Заключительной стадией установления соединения является направление вызова, сопровождаемого IMSI и MSRN, коммутатору гостевой сети, который формирует специальный сигнал, передаваемый по PAGCH (PAGer CHannel - канал вызова) по всей LA, где находится абонент.
Маршрутизация исходящих вызовов не представляет с идеологической точки зрения ничего нового и интересного. Приведу лишь некоторые из диагностических сигналов (таблица 4), свидетельствующие о невозможности установить соединение и которые пользователь может получить в ответ на попытку установления соединения.
Тип ошибки | Частота | Тип сигнала |
Номер абонента занят | 425±15 Гц | 500мс гудок, 500 мс пауза |
Перегрузка сети | 425±15 Гц | 200мс гудок, 200 мс пауза |
Общая ошибка | 950±50Гц 1400±50Гц 1800±50Гц | Тройной гудок (длительность каждой части 330 мс), 1 с пауза |
Таблица 4. Основные диагностические сигналы об ошибке при установлении соединения.
Перспективы GSM
Конечно, в мире нет ничего идеального. Рассмотренные выше сотовые системы GSM не исключение. Ограниченное число каналов создает проблемы в деловых центрах мегаполисов (а в последнее время, ознаменованное бурным ростом абонентской базы, и на их окраинах) - чтобы позвонить, часто приходится ждать уменьшения нагрузки системы. Малая, по современным меркам, скорость передачи данных (9600 бит/с) не позволяет пересылать объемные файлы, не говоря о видеоматериалах. Да и роуминговые возможности не так уж безграничны - Америка и Япония развивают свои, несовместимые с GSM, цифровые системы беспроводной связи.