Начнем с самого сложного и, пожалуй, скучного - рассмотрения скелета (или, как принято говорить, блок-схемы) сети. При описании я буду придерживаться принятых во всем мире англоязычных сокращений, конечно, давая при этом их русскую трактовку.
Самая простая часть структурной схемы - переносной телефон, состоит из двух частей: собственно "трубки" - МЕ (Mobile Equipment - мобильное устройство) и смарт-карты SIM (Subscriber Identity Module - модуль идентификации абонента), получаемой при заключении контракта с оператором. Как любой автомобиль снабжен уникальным номером кузова, так и сотовый телефон имеет собственный номер - IMEI (International Mobile Equipment Identity - международный идентификатор мобильного устройства), который может передаваться сети по ее запросу. SIM, в свою очередь, содержит так называемый IMSI (International Mobile Subscriber Identity - международный идентификационный номер подписчика). Думаю, разница между IMEI и IMSI ясна - IMEI соответствует конкретному телефону, а IMSI - определенному абоненту.
"Центральной нервной системой" сети является NSS (Network and Switching Subsystem - подсистема сети и коммутации), а компонент, выполняющей функции "мозга" называется MSC (Mobile services Switching Center - центр коммутации). Именно последний всуе называют "коммутатор", а также, при проблемах со связью, винят во всех смертных грехах. MSC в сети может быть и не один (в данном случае очень уместна аналогия с многопроцессорными компьютерными системами). MSC занимается маршрутизацией вызовов, формированием данных для биллинговой системы, управляет многими процедурами - проще сказать, что НЕ входит в обязанности коммутатора, чем перечислять все его функции
Следующими по важности компонентами сети, также входящими в NSS, я бы назвал HLR (Home Location Register - реестр собственных абонентов) и VLR (Visitor Location Register - реестр перемещений). HLR, грубо говоря, представляет собой базу данных обо всех абонентах, заключивших с рассматриваемой сетью контракт. В ней хранится информация о номерах пользователей (под номерами подразумеваются, во-первых, упоминавшийся выше IMSI, а во-вторых, так называемый MSISDN-Mobile Subscriber ISDN, т.е. телефонный номер в его обычном понимании), перечень доступных услуг и многое другое - далее по тексту часто будут описываться параметры, находящиеся в HLR.
В отличие от HLR, который в системе один, VLR`ов может быть и несколько - каждый из них контролирует свою часть сети. В VLR содержатся данные об абонентах, которые находятся на его (и только его!) территории (причем обслуживаются не только свои подписчики, но и зарегистрированные в сети роумеры). Как только пользователь покидает зону действия какого-то VLR, информация о нем копируется в новый VLR, а из старого удаляется. Фактически, между тем, что есть об абоненте в VLR и в HLR, очень много общего - посмотрите списки, где приведен перечень долгосрочных и временных данных об абонентах, хранящихся в этих реестрах. Еще раз обращаю внимание читателя на принципиальное отличие HLR от VLR: в первом расположена информация обо всех подписчиках сети, независимо от их местоположения, а во втором - данные только о тех, кто находится на подведомственной этому VLR территории. В HLR для каждого абонента постоянно присутствует ссылка на тот VLR, который с ним (абонентом) сейчас работает (при этом сам VLR может принадлежать чужой сети, расположенной, например, на другом конце Земли).
NSS содержит еще два компонента - AuC (Authentication Center - центр авторизации) и EIR (Equipment Identity Register - реестр идентификации оборудования). Первый блок используется для процедур установления подлинности абонента, а второй, как следует из названия, отвечает за допуск к эксплуатации в сети только разрешенных сотовых телефонов. Исполнительной, если так можно выразиться, частью сотовой сети, является BSS (Base Station Subsystem - подсистема базовых станций). Если продолжать аналогию с человеческим организмом, то эту подсистему можно назвать конечностями тела. BSS состоит из нескольких "рук" и "ног" - BSC (Base Station Controller - контроллер базовых станций), а также множества "пальцев" - BTS (Base Transceiver Station - базовая станция). Базовые станции можно наблюдать повсюду - в городах, полях (да где угодно) - фактически это просто приемно-передающие устройства, содержащие от одного до шестнадцати излучателей. Каждый BSC контролирует целую группу BTS и отвечает за управление и распределение каналов, уровень мощности базовых станций и тому подобное. Обычно BSC в сети не один, а целое множество (базовых станций же вообще сотни).
Управляется и координируется работа сети с помощью OSS (Operating and Support Subsystem - подсистема управления и поддержки). OSS состоит из всякого рода служб и систем, контролирующих работу и трафик.
При каждом включении телефона после выбора сети начинается процедура регистрации. Рассмотрим наиболее общий случай - регистрацию не в домашней, а в чужой, так называемой гостевой, сети (будем предполагать, что услуга роуминга абоненту разрешена).
Пусть сеть найдена. По запросу сети телефон передает IMSI абонента. IMSI начинается с кода страны "приписки" его владельца, далее следуют цифры, определяющие домашнюю сеть, а уже потом - уникальный номер конкретного подписчика. Например, начало IMSI 25099… соответствует российскому оператору Билайн. (250-Россия, 99 - Билайн). По номеру IMSI VLR гостевой сети определяет домашнюю сеть и связывается с ее HLR. Последний передает всю необходимую информацию об абоненте в VLR, который сделал запрос, а у себя размещает ссылку на этот VLR, чтобы в случае необходимости знать, "где искать" абонента.
Очень интересен процесс определения подлинности абонента. При регистрации AuC домашней сети генерирует 128-битовое случайное число - RAND, пересылаемое телефону. Внутри SIM с помощью ключа Ki (ключ идентификации - так же как и IMSI, он содержится в SIM) и алгоритма идентификации А3 вычисляется 32-битовый ответ - SRES (Signed RESult) по формуле SRES = Ki * RAND. Точно такие же вычисления проделываются одновременно и в AuC (по выбранному из HLR Ki пользователя). Если 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). В случае чрезвычайных ситуаций или перегрузки сети некоторым классам может быть на время закрыт доступ в сеть.
Как уже было сказано, сеть состоит из множества 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`ы принято разделять на четыре типа:
В общем случае, проведение handover`а - задача MSC. Но в двух первых случаях, называемых внутренними handover`ами, чтобы снизить нагрузку на коммутатор и служебные линии связи, процесс смены каналов управляется BSC, а MSC лишь информируется о происшедшем.
Во время разговора мобильный телефон постоянно контролирует уровень сигнала от соседних BTS (список каналов (до 16), за которыми необходимо вести наблюдение, задается базовой станцией). На основании этих измерений выбираются шесть лучших кандидатов, данные о которых постоянно (не реже раза в секунду) передаются BSC и MSC для организации возможного переключения. Существуют две основные схемы handover`а:
Интересно, что инициировать смену каналов может не только мобильный телефон, но и MSC, например, для лучшего распределения трафика.
Поговорим теперь, каким образом происходит маршрутизация входящих вызовов мобильного телефона. Как и раньше, будем рассматривать наиболее общий случай, когда абонент находится в зоне действия гостевой сети, регистрация прошла успешно, а телефон находится в режиме ожидания.
При поступлении запроса (рис.2) на соединение от проводной телефонной (или другой сотовой) системы на MSC домашней сети (вызов "находит" нужный коммутатор по набранному номеру мобильного абонента MSISDN, который содержит код страны и сети).
MSC пересылает в HLR номер (MSISDN) абонента. HLR, в свою очередь, обращается с запросом к VLR гостевой сети, в которой находится абонент. VLR выделяет один из имеющихся в ее распоряжении MSRN (Mobile Station Roaming Number - номер "блуждающей" мобильной станции). Идеология назначения MSRN очень напоминает динамическое присвоение адресов IP при коммутируемом доступе в Интернет через модем. HLR домашней сети получает от VLR присвоенный абоненту MSRN и, сопроводив его IMSI пользователя, передает коммутатору домашней сети. Заключительной стадией установления соединения является направление вызова, сопровождаемого IMSI и MSRN, коммутатору гостевой сети, который формирует специальный сигнал, передаваемый по PAGCH (PAGer Channel - канал вызова) по всей LA, где находится абонент.
Маршрутизация исходящих вызовов не представляет с идеологической точки зрения ничего нового и интересного. Приведу лишь некоторые из диагностических сигналов (таблица 3), свидетельствующие о невозможности установить соединение и которые пользователь может получить в ответ на попытку установления соединения.
Тип ошибки | Номер абонента занят | Перегрузка сети | Общая ошибка |
Частота | 425±15 Гц | 425±15 Гц | 950±50Гц 1400±50Гц 1800±50Гц |
Тип сигнала | 500мс гудок, 500 мс пауза | 425±15 Гц 200мс гудок, 200 мс пауза | Тройной гудок (длительность каждой части 330 мс), 1 с пауза |