SCCP routing in SS7

4 июня 2010  |  Рубрики: Theory

Решил написать небольшую заметку, тем кто только начинает свое знакомство с Системой Общеканальной Сигнализации №7 (ОКС№7) или SS7, как ее принято называть. Скажу сразу, что в большей степени эта заметка писалась для собственного понимания некоторых моментов, связанных с роутингом сообщений, но если она будет полезна еще кому-нибудь, то буду очень рад.


Хочу также отметить, что в заметке центр внимания будет немного смещен в сторону осуществления коммуникации между элементами PS Core Network мобильной сети.

Итак… в этой статье речь пойдет о роутинге сообщений в сети SS7 на сетевом уровне, если же проводить некую аналогия со стеком протоколов модели OSI, то сетевой уровень в системе SS7 немного размыт и будет представлен двумя уровнями: MTP3 [Message Transfer Part – MTP ] и SCCP [Signalling Connection Control Part].

Чтобы понять о каких уровнях стека протоколов системы SS7 идет речь, давайте взглянем на общую структуру стека модели SS7 в сравнении с моделью OSI (см. рисунок ниже):

SS7 and OSI Model

 

Как видим, модель SS7 может быть реализована на нескольких физических средах: PCM, ATM, IP. В этой же статье, мы будем рассматривать «классический» стек протоколов SS7, т.е. основанный на PCM линиях связи и соответственно, нижележащие уровни перед SCCP будут представлены в виде: MTP-1,2,3.

Как нам известно, с помощью базового стека протоколов SS7 возможно организовавывать сигнальные подключения, управлять ими и осуществлять роутинг в сигнальной сети.

Мы также знаем, что в пределах сети SS7 используется три типа сообщений или сигнальных юнитов (SU – Signalling Unit): FISU [Fill In SU], LSSU [Link Status SU], MSU [Message SU] — см. рисунок ниже:

Signalling Units

 

Нас будут интересовать сообщения, несущие полезную нагрузку пользователей (MSU), т.к. именно в них содержится роутинговая информация для уровня SCCP.

Не буду описывать все поля и заголовки MSU, описание которых можно найти в любой толковой книге по SS7 (например, «Общеканальная система сигнализации №7» – Росляков А.В.,1999 г.), остановлюсь только на ключевых моментах, чтобы понять принципы роутинга этих сообщений.

Итак, в сообщениях MSU присутствуют поля SIO (Service Information Octet) и SIF (Service Information Field). В поле SIO (см. схему ниже) содержится информация о протоколе верхнего уровня (SCCP, ISUP и т.д.), которому адресовано это сообщение (поле Service Indicator – SI), а также информация о подвиде службы (SubService Field – SSF), которое в свою очередь включает в себя индикатор сети (Network Indicator – NI).

MSU Structure

 

В поле SIF содержится информация о вышестоящий уровнях, которым адресована информация, а также роутинговые данные для уровней MTP – Label (т.н. этикетка маршрутизации). Следует отметить, что уровень MTP не «распознает» содержимое SIF, кроме этикетки маршрутизации (Label).

Теперь давайте разберемся, как эти поля в сообщениях применяются на т.н. Сетевом уровне модели системы SS7SCCP + MTP3.

SCCP была впервые представлена CCITT в т.н. «Красной книге» [Red Book] – 1984, как протокол для non-circuit сигнализации сообщений, например в ситуациях когда между сигнальными точками передается не речевая (non speech circuit) информация. SCCP принимает сервисы от нижележащих MTP уровней и предоставляет сервисы для, т.н. пользователей SCCP (SCCP-users: например, TCAP, ISUP).

Одной из основных особенностей SCCP является гибкий подход для предоставления адресации с помощью GT [Global Title]. Этот механизм адресации предоставляет возможность осуществлять end-to-end коммуникацию между географически отдаленными сетевыми элементами, что особенно важно в архитектуре мобильных сетей.

Еще одним сервисом, который предоставляет уровень SCCP, является сигнализация ориентированная на соединение (CO – Connection Oriented), с помощью которого оконечные элементы, могут осуществлять виртуальные соединения (virtual connection).

Уровни MTP и SCCP вместе называют Network Service Part (NSP).

Раз уж мы упомянули классы SCCP, то давайет определим их полный список. В общем случае SCCP предоставляет два класса сервисов: Connection-Oriented (СО), т.е. ориентированных на соединение и Connectionless (CL) – не ориентированных на соединение.

Сообщения, отправляемые в режиме CL, не соотносятся друг с другом, при этом в каждом из них содержится адрес получателя. В режиме СО, между узлами, которые осуществляют взаимодействие устанавливается логическая связь (virtual connection) между уровнями SCCP. В этом случае, наличие адреса необходимо только в начале установления коммуникации, а более поздние сообщения содержат лишь порядковые номера, назначаемые им в процессе коммуникации.

Уровень SCCP определяет четыре класса для протоколов передачи сообщений:

  • Class 0 – Basic connectionless class
  • Class 1 – In-sequence delivery connectionless class
  • Class 2 – Basic connection-oriented class
  • Class 3 – Flow control connection-oriented class

Давайте рассмотрим каждый из двух основных классов (CL и CO) в отдельности (см. Рис. 4).

В классе СL используются в основном сообщения UDT [Unidata], при этом каждое сообщение содержит адрес получателя, т.е. каждое сообщение — это фактически «самодостаточная» коммуникационная единица. Коммуникации, основанные на классе СО, используются между сетевыми элементами, которые фактически могут быть разнесены в архитектуре(ах) оператора, например между :SGSNHLR, SGSNSCP (IN Platforms).

Во втором основном классе сервисов CO, между двумя сетевыми элементами, которые осуществляют коммуникацию, устанавливается виртуальный канал, при этом адрес получателя нужен только в начальных сообщения на установление коммуникации. Такой класс, в основном используется между «смежными» элементами, такими как: MSCBSC, MSCRNC, SGSNRNC. Схематично оба класса представлены на рисунке ниже:

SCCP Messages

 

Роутинг по этикеткам маршрутизации (Label) и по GT (Global Title)

Сообщение «приходящие» от уровня SCCP, на приемной стороне должны обрабатываться также уровнем SCCP. Например, если сообщение содержит только этикетку маршрутизации, то уровень SCCP не будет предпринимать никаких действий по обработке этого сообщения, а успешно передаст его для маршрутизации на нижний уровень MTP3 (см. схему ниже – маршрут от подсистемы CAP). Это тип роутинга называют роутинг по этикеткам маршрутизации – SCCP routing on label.

С другой стороны, если сообщение будет содержать адрес сетевого элемента (a.k.a. GT) вместо этикетки маршрутизации, то уровень SCCP будет использовать этот адрес для роутинга сообщения. В этом случае роутинг будет осуществляться по GTSCCP routing on Global Title.

GT — это адрес, который используется для определения получателя сигнального сообщения, при этом GT определяется на уровне приложения, а анализируется на уровне SCCP. Большинство GT представляются в виде E.164 плана нумерации, но также могут быть представлены в виде E.212.

Возможны также варианты группировки двух методов маршрутизации:

Варианты адресации Использование
  • GT;
  • DPC + SSN;
При передаче сообщений SCCP.
  • SSN;
  • GT;
  • SSN + GT;
При приеме сообщений от MTP.
  • DPC;
  • DPC + (GT или SSN, оба).
При приеме сообщение, ориентированного и не ориентированного на соединение, для маршрутизации подсистемой SCCP.

Для определения корректного адреса сетевого элемента, которому нужно передать сообщение, применяется GT Analysis, т.к. уровень SCCP использует нижние уровни MTP, то одним результатом GT Analysis будет DPC сетевого элемента, а вторым Routing Indicator (RI), который используется для указания следующему сетевому элементу, о необходимости проводить GT Analysis для полученного сообщения или нет (см. схему ниже).

GT Analysis

 

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

Процедура Location Update

Если SGSN еще не получал ни каких данных от абонента, то он может располагать только IMSI абонента. Чтобы определить расположение HLR абонента и выполнить запрос данных об абоненте, SGSN должен произвести IMSI Analysis. В этом случае “ответственной” за запрос Update Location будет подсистема MAP-H, которая воспользуется уровнем SCCP с Connectionless (не ориентированным на соединение) подключением.

Как мы уже знаем на уровне SCCP существует два типа маршрутизации:

  • по этикетке маршрутизации (SCCP routing on label);
  • по GT (SCCP routing on GT).

 

SCCP Routing

 

Выбор типа маршрутизации будет зависеть от того где находиться абонент, в домашней сети либо в гостевой сети (т.е. в роуминге).

В случае когда абонент находиться в роуминге, SGSN не знает DPC домашнего HLR‘a абонента, поэтому SGSN будет использовать IMSI Analysis (см. рисунок ниже), чтобы транслировать IMSI из E.212 в E.214 (a.k.a. Hybrid Numbers) и роутинг будет естественно осуществляеться по GT.

SCCP Routing

 

Затем транслированный в E.214 номер абонента, пройдет через GT Analysis, результатом которого обычно является DPC Gateway, которому отправляется сообщения для доставки в домашнюю сеть абонента, а также RI, который будет указывать нужен ли GT Analysis (в случае если RI = GT) на следующем сетевом элементе или нет (в случае если RI = SSN).

Если же абонент находиться в домашней сети, то использование IMSI Analysis основанного на роутинге по этикеткам маршрутизации или роутинге по GT будет зависеть от того, знает ли SGSN DPC HLR‘a абонента. Если SGSN знает (имеет запись в своей таблице о DPC «домашних» HLR) DPC HLR‘a, то будет использоваться роутинг по этикеткам маршрутизации, в противном случае (SGSN не знает DPC HLR), будет использоваться роутинг по GT.

Вот собственно, с помощью таких методов осуществляется роутинг сообщений в сети SS7.

Небольшой помощник:

ATM – Asynchronous Transfer Mode

BSC – Base Station Controller

BSSAP – Base Station System Application Part

CAP – CAMEL Application Part

DPC – Destination Point Code

HLR – Home Location Register

IMSI – International Mobile Subscriber Identity

IN – Intelligent Networks

ISDN – Integrated Services Digital Network

ISUP – ISDN User Part

MAP – Mobile Application Part

MCC – Mobile Country Code

MNC – Mobile Network Code

MSC – Mobile Switching Center

MSIN – Mobile Station Identification Number

PCM – Pulse-Code Modulation

RANAP – Radio Access Network Application Part

RNS – Radio Network Controller

SCCP – Signalling Connection Control Part

SCP – Service Control Point

SGSN – Serving GPRS Support Node

TCAP – Transaction Capabilities Application Part

If you enjoyed this post, make sure you subscribe to my RSS feed!
Автор:
3 комментария | 11 781 просмотров

Комментарии (3) к статье: "SCCP routing in SS7"

  • Молодец! Как-раз вовремя сделал=)

  • Кажется, небольшая опечатка – не СО, а СL :

    “Коммуникации, основанные на классе СО, используются между сетевыми элементами, которые фактически могут быть разнесены в архитектуре(ах) оператора, например между :SGSN ↔ HLR, SGSN ↔ SCP (IN Platforms).”


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

 

?Раньше искали

CombiSGSN GGSN SGSN GPRS Attach PDP Context SMS over GPRS SMSC GTP-C GTP-U IMSI 

!На хостинг

#Счетчики

Rambler's Top100