Архитектура конвергентных сетей / Протокол SCCP
.docxЛегалов А.С., ИКТК-32
Протокол SCCP
Назначение протокола
Основное назначение SCCP — предоставление расширенных услуг сетевого уровня поверх MTP-3. Если MTP-3 умеет передавать сигнальные сообщения только «точка-в-точку» (на основе кодов DPC/OPC) без анализа содержимого, то SCCP решает три главные задачи:
Расширенная адресация: Использование Глобальных Заголовков (Global Title, GT) вместо жестких кодов сигнальных пунктов. Это позволяет маршрутизировать вызовы по номеру телефона или другим логическим номерам (например, для услуг 800, роуминга, переносимости номера).
Сервис передачи данных: Поддержка четырех классов обслуживания:
Класс 0: Базовая дейтаграмма (без установления соединения).
Класс 1: Дейтаграмма с контролем порядка (без установления соединения).
Класс 2: Виртуальное соединение (базовый ориентированный на соединение режим).
Класс 3: Виртуальное соединение с контролем ошибок и управлением потоком.
Сегментация/Сборка: Если сообщение слишком велико для MTP-3 (обычно лимит 272 байта полезной нагрузки), SCCP нарезает его на части и собирает на приемной стороне (функция XUDTS).
Область применения
SCCP работает между одноранговыми объектами в сети ОКС-7. Ключевые взаимодействия:
MSC (Центр коммутации) ↔ HLR (Опорный регистр местоположения): Для обновления местоположения абонента (MAP-операции).
MSC ↔ MSC: При передаче обслуживания (Handover), передаче неструктурированных данных SMS (когда канал трафика не нужен).
SCP (Узел услуг) ↔ SSP (Узел коммутации услуг): В интеллектуальных сетях (INAP/CAP-запросы), где используется трансляция номеров (например, звонок на номер 8-800).
VLR ↔ HLR: Роуминговый обмен данными.
Ключевое отличие от MTP: Взаимодействие возможно не только между соседними узлами (STP), но и напрямую логически между конечными приложениями (например, MSC и HLR), даже если они находятся в разных подсетях, благодаря трансляции GT в STP.
Какую информацию передает
SCCP переносит данные подсистем-пользователей (TCAP, BSSAP, RANAP, INAP и др.). В зависимости от класса, блок данных SCCP может содержать:
Данные маршрутизации: Вызываемый (Called) и вызывающий (Calling) адреса. Адрес может быть в формате кода пункта (PC+SSN) или Глобального заголовка (GT).
Данные управления соединением: Номера локальных ссылок (SLR/DLR) для идентификации логического канала при соединении класса 2 или 3.
Пользовательскую нагрузку: Прозрачно передает PDU верхнего уровня (например, сообщение MAP SEND-ROUTING-INFO или DTAP-сообщение мобильного телефона).
Причина отказа: Код причины возврата (Return Cause) при отказе маршрутизации (например, невозможность трансляции GT).
Формат сообщения SCCP
Описание полей:
1. Флаг — это служебный байт 01111110 (0x7E), обозначающий начало и конец сообщения. Он используется для синхронизации кадра уровня MTP 2. Биты после стартового флага до конечного флага образуют сигнальную единицу.
2. Поле прочих MTP — сюда входят служебные поля уровня 2 MTP и маршрутизации уровня 3 MTP, которые предшествуют SCCP:
BSN / FSN (номера последней/отправляемой сигнальной единицы).
BIB / FIB (биты индикатора занятости).
LI (индикатор длины — различает звенья управления, доступности и сигнальные сообщения).
SIO (байт индикатора службы — код 0x03 для SCCP).
На этом уровне также может быть заголовок Routing Label (метка маршрутизации): DPC (пункт назначения) + OPC (пункт отправления) + SLS.
3. Контрольные биты (CRC / FCS) — это контрольная сумма (чаще всего 16 бит), расположенная в конце сообщения перед конечным флагом (или внутри поля «прочих MTP», в зависимости от принятой схемы). Проверяет целостность сообщения на уровне звена данных MTP 2.
4. Информационное поле сигнализации — это полезная нагрузка (payload), которая передаётся вышестоящему уровню — SCCP. Именно в этом поле и находятся команды/запросы SCCP (например, запрос на установку соединения, перенос данных, проверка доступности и т. д.). Состоит из:
Заголовка SCCP (тип сообщения, классификация сообщения, указатели на параметры).
Непосредственно данных пользователя (например, запрос к базе данных HLR, MAP, CAMEL).
5. SLS (Selecting Link Selection)
SLS — это 4 бита (или более в новых версиях), используемые для балансировки нагрузки по нескольким физическим звеньям между двумя пунктами (OPC → DPC).
6. OPC (Originating Point Code)
Код пункта отправителя — это уникальный адрес узла (например, коммутатора STP, SSP, HLR) в сети ОКС №7, который отправляет сообщение. Длина бывает 14, 16 или 24 бита (в зависимости от сети).
7. DPC (Destination Point Code)
Код пункта назначения — адрес узла, которому адресовано сообщение (финальный получатель в MTP-маршрутизации).
8. Данные пользователя SCCP
Это собственно содержимое вышестоящего протокола (например, TCAP или MAP, RANAP, BSSAP), которое SCCP передаёт в прозрачном виде между пунктами, иногда меняя DPC/OPC при глобальной маршрутизации по GT (Global Title).
