Протокол GPRS (General Packet Radio Service) используется для передачи данных в любых сетях GSM. Это позволяет сетям GSM быть совместимым с Internet. GPRS использует пакетную технологию для эффективной передачи неравномерного трафика. Протокол поддерживает скорость передачи от 9,6 Кб/с до более чем 150 Кб/с на одного пользователя.
Основными характеристиками протокола GPRS являются эффективное использование радио- и сетевых ресурсов, а также полностью прозрачная поддержка протокола IP. GPRS оптимизирует использование сетевых и радиоресурсов. Протокол GPRS использует радиоресурсы только в тех случаях, когда реально требуется принять или передать данные. Используя пакетную технологию, этот протокол позволяет приложениям использовать сетевые ресурсы только тогда, когда пользовательские приложения имеют данные для передачи через сеть. Таким образом, протокол адаптирован к неравномерному характеру трафика пользовательских приложений.
Еще одной важной характеристикой GPRS является обеспечение немедленного соединения и высокая пропускная способность. Поддерживаются приложения, базирующиеся на стандартных протоколах передачи данных, таких, как IP и X.25. В GPRS обеспечиваются 4 различных уровня качества обслуживания. Для поддержки приложений передачи данных протокол GPRS использует несколько новых сетевых узлов, в дополнение к сетевым узлам, применяемым в GSM PLMN. Эти узлы отвечают за маршрутизацию трафика и реализацию других функций обмена с внешними сетями коммутации пакетов, поиск абонентов, выбор ячеек, роуминг и многие другие функции, требуемые для обеспечения работы сотовой сети. Кроме того, GPRS использует протоколы GSM SMS и GSM MM (последний в GPRS называется GMM).
Маршрут передачи GPRS
Эта глава описывает следующие протоколы GPRS:
- NS: Network Service — сетевой сервис;
- BSSGP: Base Station System GPRS Protocol — протокол базовой станции;
- GTP: GPRS Tunneling Protocol — протокол туннелирования;
- LLC: Logical Link Control for GPRS — протокол управления логическим каналом;
- SNDCP: Sub-Network Dependant Convergence Protocol — протокол конвергенции подсетей;
Следующий рисунок иллюстрирует расположение протоколов GPRS относительно других телефонных протоколов в рамках модели OSI.
Положение стека протоколов GPRS в эталонной модели OSI
NS
GSM 08.16 v. 6.1.0 http://www.etsi.fr
Протокол сетевого сервиса NS (Network Service) обеспечивает транспортировку пакетов NS SDU между обслуживающими узлами поддержки GPRS (SGSN) и системой базовой станции (BSS). Сервис, обеспечиваемый пользователю NS, включает в себя:
- Передачу пакетов сетевого сервиса. NS поддерживает примитивы сетевого сервиса, позволяющие осуществлять передачу и прием пакетов данных протоколов вышележащего уровня между BSS и SGSN. Пакеты сетевого сервиса передаются в порядке, который обеспечивается протоколом NS, однако в экстремальных случаях порядок передачи пакетов может изменяться.
- Индикацию сетевой перегрузки. Механизм восстановления может реализоваться на уровне протокола более низкого уровня (например, Frame Relay). Механизм индикации перегрузки такого уровня будет использоваться сетевым сервисом для индикации перегрузки.
- Индикацию состояния, используемую для информирования пользователя сетевого уровня о событиях, оказывающих воздействие на работу сетевого уровня (например, изменение доступной полосы пропускания).
Структура пакета (PDU) Сетевого Уровня показана на следующем рисунке:
Биты |
Октет |
|||||||
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
|
Тип пакета (PDU) |
1 |
|||||||
Информационные элементы |
2-n |
Структура заголовка NM
Типы пакетов
Пакеты могут быть следующих типов
NS-ALIVE
NS-ALIVE-ACK
NS-BLOCK
NS-BLOCK-ACK
NS-RESET
NS-RESET-ACK
NS-STATUS
NS-UNBLOCK
NS-UNBLOCK-ACK
NS-UNITDATA
Информационные элементы
В зависимости от типа пакета в него могут быть включены различные информационные элементы (IE). Структура информационного элемента показана на следующем рисунке:
Биты |
Октет |
|||||||
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
|
Идентификатор информационного элемента (IEI) |
1 |
|||||||
Индикатор длины |
2 |
|||||||
Значение информационного элемента |
3 |
Структура информационного элемента
Идентификатор информационного элемента
Первый октет IE имеет формат TLV и содержит идентификатор информационного элемента (IEI). Если этот октет не соответствует ни одному из известных типов информационных пакетов, получатель предполагает, что следующий октет является первым октетом индикатора длины. Это правило позволяет получателю пакета пропускать информационные пакеты неизвестных типов и переходить к анализу следующих информационных элементов.
В зависимости от типа пакета в нем могут содержаться следующие информационные элементы:
Cause
NS-VCI
NS PDU
BVCI
NSEI.
Индикатор длины
Информационные элементы могут иметь различный размер. Индикатор длины – это поле размером 1 или 2 октета (второй октет может отсутствовать). Поле содержит бит расширения, а также размер информационного поля, следующего за полем индикатора длины. Бит расширения позволяет увеличить поле индикатора длины до двух октетов. Бит 8 первого октета зарезервирован для использования в качестве бита расширения. Если бит расширения имеет нулевое значение, это говорит о присутствии второго октета в поле индикатора длины. Если бит расширения имеет значение 1, поле индикатора длины состоит из одного октета.
BSSGP
GSM 08.18 v. 6.1.0 http://www.etsi.fr
Протокол сетевого сервиса NS обеспечивает транспортировку пакетов BSS GPRS между базовыми станциями BSS и узлами SGSN (обслуживающий узлом поддержки GPRS). Основные функции протокола BSSGP обеспечивают решение следующих задач:
- узлы обслуживания SGSN (Serving GPRS Support Node) обеспечивают для BSS радиоиоинформацию, используемую функцией RLC/MAC (в нисходящем канале).
- базовые станции BSS (Base Station Subsystem) обеспечивает для SGSN радиоинформацию, полученную от функции RLC/MAC (в восходящем канале).
- физически различные узлы SGSN и BSS могут поддерживать функции управления узлом.
Структура пакета BSSGP показана на рисунке.
Биты |
Октет |
|||||||
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
|
Тип пакета (PDU type) |
1 |
|||||||
Информационные элементы |
2 |
Структура заголовка BSSGP
Типы пакетов
Пакеты BSSGP могут быть следующих типов:
UL-UNITDATA
RA-CAPABILITY
PTM-UNIYDATA
PAGING PS
PAGING CS
RA-CAPABILITY-UPDATE
RA-CAPABILITY-UPDATE-ACK
RADIO-STATUS
SUSPEND
SUSPEND-ACK
SUSPEND-NACK
RESUME
RESUME-ACK
RESUME-NACK
FLUSH-LL
FLUSH-LL-ACK
LLC-DISCARDED
FLOW-CONTROL-BVC
FLOW-CONTROL-BVC-ACK
FLOW-CONTROLMS
FLOW-CONTROLMS-ACK
BVC-BLOCK
BVC-BLOCK-ACK
BVC-UNBLOCK
BVC-UNBLOCK-ACK
BVC-RESET
BVC-RESET-ACK
STATUS
SGSN-INVOKE-TRACE.
Информационные элементы
В поле информационных элементов могут присутствовать перечисленные ниже значения (левая колонка списка).
0x00 Октеты выравнивания.
0x01 Bmax default MS
0x02 Индикация области BSS
0x03 Скорость передачи блоков (Bucket Leak Rate)
0x04 BVCI
0x05 Размер блока BVC
0x06 Измерение BVC (BVC Measurement)
0x07 Причина (Cause)
0x08 Идентификатор ячейки
0x09 Необходимость в канале (Channel needed)
0x0a Параметры DRX
0x0b Приоритет eMLPP
0x0c Действие подавления (Flush Action)
0x0d IMSI
0x0e LLC-SDU
0x0f Игнорированы пакеты LLC
0x10 Область местонахождения (Location Area)
0x11 Идентификатор пользователя (Mobile Id)
0x12 Размер блока MS
0x13 Мощность радиодоступа MS (MS Radio Access Capability)
0x14 Идентификатор OMC (OMC Id)
0x15 Ошибка входящего пакета (PDU In Error)
0x16 Время жизни пакета (PDU Lifetime)
0x17 Приоритет
0x18 Профиль QoS
0x19 Причина передачи радиосигнала (Radio Cause)
0x1a RA-Cap-UPD-Cause
0x1b Область маршрутизации
0x1c R-default_MS
0x1d Ссылка на приостановленный номер (Suspend Reference Number)
0x1e Тег
0x1f TLLI
0x20 TMSI
0x21 Ссылка на трассировку (Trace Reference)
0x22 Тип трассировки (Trace Type)
0x23 Идентификатор транзакции
0x24 Идентификатор триггера
0x25 Количество обработанных октетов
Те из перечисленных значений, которые не имеют точного определения, зарезервированы для будущего использования и трактуются получателем как неизвестный тип информационного элемента.
GTP
GSM 09.60 v. 6.1.0 http://www.etsi.fr
Протокол GTP (GPRS Tunneling Protocol) это протокол туннелирования GPRS. GTP описывает передачу данных между узлами GSN в магистральной сети GPRS. GTP определяется как для интерфейса Gn (т. е. интерфейса между GSN внутри одной PLMN), так и для интерфейса Gp (т. е. интерфейса между GSN в различных PLMN). Пакеты GTP инкапсулируются UDP.
GTP позволяет использовать туннелирование для передачи через магистраль GPRS между узлами GSN пакетов различных протоколов. С точки зрения сигнализации GTP определяет механизмы контроля и управления, позволяющие протоколу SGSN обеспечивать для MS доступ в сеть GPRS. Сигнализация служит для создания, модификации и уничтожения туннелей. С точки зрения передачи GTP использует механизм туннелирования для того, чтобы передавать пользовательские пакеты данных. Выбор маршрута зависит от того, требуют ли передаваемые по туннелю данные повышенной надежности соединения или нет.
Протокол GTP поддерживается только узлами обслуживания SGSN (Serving GPRS Support Node) и шлюзами GGSN (GPRS Gateway Support Node). Другие системы не обязаны знать что-либо о работе этого протокола. При подключении GPRS MS к узлам обслуживания SGSN работа с протоколом GTP не требуется. Предполагается, что при работе сети будут устанавливаться множественные соединения с узлами SGSN и GGSN. Один узел обслуживания SGSN может обеспечивать сервис для множества шлюзов GGSN. Один шлюз GGSN может иметь связь со многими узлами обслуживания SGSN для распределения трафика между множеством территориально распределенных мобильных станций.
Заголовок пакета GTP используется для всех типов сообщений GTP и имеет фиксированную длину 16 октетов.
Биты |
Октет |
|||||||
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
|
Версия |
Зарезервировано |
LFN |
||||||
Информационные элементы |
1 |
|||||||
Длина |
2 |
|||||||
Порядковый номер |
3 |
|||||||
Метка потока |
4 |
|||||||
Номер пакета LLC |
5 |
|||||||
x |
x |
x |
x |
x |
x |
x |
FN |
6 |
Резервировано |
||||||||
TID |
||||||||
Структура заголовка BSSGP
Версия
Устанавливается в 0, показывая первую версию протокола GTP.
Зарезервировано.
Биты, зарезервированные для будущего использования, имеют значение 1.
LFN
Данный флаг показывает, включен ли в сообщение номер кадра LLC. Для сигнальных сообщений LFN=0.
Тип сообщения
Указывает тип сообщения GTP. Для сигнальных сообщений это поле имеет значение, уникальное для каждого используемого типа сообщений.
Длина
Содержит длину GTP-сообщения (G-PDU) в октетах. Для сигнальных сообщений это поле включает размер сигнального сообщения и заголовка GTP.
Порядковый номер
Идентификатор транзакции для сигнальных сообщений или порядковый номер для туннелированных сообщений T-PDU.
Метка потока
Идентифицирует GTP-поток. В сигнальных сообщениях Path Management и Location Management метка потока не используется и данное поле имеет значение 0.
Номер пакета LLC
Используется для координации передачи данных на канальном (link layer) уровне между MS и SGSN в процедурах обновления маршрутной информации внутри SGSN. Для сигнальных сообщений это поле не используется (отправитель устанавливает значение 255, а получатель игнорирует это поле).
TID
Идентификатор туннеля, указывающий контекст MM и PDP в принимающем узле GSN. В сигнальных сообщениях это поле имеет значение 0 для всех сообщений V Management, Lacation Management и Mobility Managemetn. Поле TID использует следующий формат:
Биты |
Октет |
|||||||
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
|
2-я цифра MCC |
1-я цифра MCC |
1 |
||||||
1-я цифра MNC |
3-я цифра MCC |
2 |
||||||
1-я цифра MSIN |
2-я цифра MNC |
3 |
||||||
3-я цифра MSIN |
2-я цифра MSIN |
4 |
||||||
5-я цифра MSIN |
4-я цифра MSIN |
5 |
||||||
7-я цифра MSIN |
6-я цифра MSIN |
6 |
||||||
9-я цифра MSIN |
8-я цифра MSIN |
7 |
||||||
NSAPI |
10-я цифра MSIN |
8 |
Структура TID
Цифры MCC, MNC, MSIN
Фрагменты IMSI (определены в GMS 04.08)
NSAPI
Идентификатор точки доступа к сетевому сервису.
LLC
GSM 09.60 v. 6.1.0 http://www.etsi.fr
Протокол LLC определяет управление логическим каналом связи (logical link control) и используется при передаче данных между мобильной станций (MS -mobile station) и обслуживающим ее узлом обслуживания GPRS (SGSN – serving GPRS support node). Протокол LLC обеспечивает передачу данных от MS до SGSN и предназначен как для передачи данных с подтверждением приема, так и для передачи без подтверждений.
Формат кадров LLC основан на формате кадров LAPD и RLP. Однако существуют важные различия между LLC и другими протоколами существуют большие отличия в части методов обозначения границ кадров и механизмов прозрачности. Эти отличия диктуются требованиями независимости от конкретного радиомаршрута.
LLC поддерживает два режима передачи данных:
- операции точка-точка без подтверждения приема данных;
- операции точка-точка с подтверждением приема данных.
Весь обмен информацией между объектами одного уровня протокола LLC осуществляется при помощи кадров, имеющих следующий формат:
Биты |
Октет |
|||||||
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
|
Адрес |
1 |
|||||||
Управление |
2 |
|||||||
Информация |
||||||||
FCS |
Структура заголовка LLC
Адрес
Поле адреса содержит значение SAPI и обозначает DLCI, для которого предназначен передающийся кадр и DLCI для встречного потока кадров. Поле адреса имеет размер 1 байт и использует следующий формат:
Биты |
Октет |
|||||||
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
|
PD |
C/R |
XX |
SAPI |
1 |
Структура поля адреса LLC
PD
Идентификатор протокола указывает тип данного кадра — LLC или другой протокол. Для протокола LLC значение данного поля должно быть равно 0. Если в полученном кадре PD = 1, такой кадр трактуется как ошибочный.
C/R
Поле C/R указывает тип содержимого кадра — команда или отклик. MS передает кадры команд с полем C/R = 0, а в кадрах отклика устанавливается значение C/R = 1. Узлы обслуживания SGSN используют обратный порядок, т. е. для командных кадров C/R = 1, а для откликов C/R = 0.
Тип кадра | Направление | Значение C/R |
Команда | От SGSN к MS |
1 |
Команда | От MS к SGSN |
0 |
Отклик | От SGSN к MS |
0 |
Отклик | От MS к SGSN |
1 |
XX
Зарезервировано (2 бита)
SAPI
Идентификатор точки доступа к сервису (Service Access Point Identificator) обозначает точку доступа, через которую LLE обеспечивает для протокола LLC доступ к процессу вышележащего уровня (layer 3).
Управление
Идентифицирует тип кадра. Протокол LLC использует 4 типа кадров:
- передача подтверждаемой информации (формат I);
- функции контроля (supervisory) (формат S);
- передача информации без подтверждения (формат UI)
- функции управления (формат U)
Информация
Содержит различные команды и отклики на них.
FCS
Контрольная сумма, содержащая 24-битовый CRC-код, который служит для обнаружения ошибок в заголовке и информационном поле кадра.
SNDCP
GSM 04.65 v. 6.1.0 http://www.etsi.fr
Протокол SNDCP (Sub-Network Dependant Convergence Protocol) использует сервис, предоставляемый уровнями LLC (Logical Link Control — управление логическим каналом) и подуровнем SM (Session Managemetn — управление сеансом). Существует SNDCP для протоколов IP и X.25.
Основными функциями протокола SNDCP являются:
- мультиплексирование нескольких пакетных протоколов PDP (packet data protocol);
- компрессия/декомпрессия пользовательских данных;
- компрессия/декомпрессия управляющей информации для протокола;
- сегментация пакетов сетевого уровня (N-PDU) в пакеты уровня логического какана (LL-PDU), а также обратный процесс сборки LL-PDU в N-PDU.
Пакеты SN-DATA используются для передачи данных с подтверждением приема. Эти пакеты имеют следующий формат:
Биты |
Октет |
|||||||
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
|
X |
C |
T |
M |
NSAPI |
1 |
|||
DCOMP |
PCOMP |
2 |
||||||
Данные |
3-n |
Структура пакета SN-DATA
Пакеты SN-UNITDATA используются для передачи данных без подтверждения приема. Формат пакетов показан на рисунке.
Биты |
Октет |
|||||||
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
|
X |
C |
T |
M |
NSAPI |
1 |
|||
DCOMP |
PCOMP |
2 |
||||||
Смещение сегмента |
Номер N-PDU |
3 |
||||||
E |
Номер N-PDU (продолжение) |
4 |
||||||
Номер N-PDU (расширение) |
5 |
|||||||
Данные |
6-n |
Структура пакета SN-UNITDATA
NSAPI
Идентификатор точки доступа к сетевому сервису. Это поле может принимать следующие значения:
0 Механизм отмены, зарезервированный для использования в будущем.
1 Групповая передача «один ко многим» (PTM-M – point-to-multipoint multicast).
2-4 Зарезервированы для использования в будущем.
5-15 Динамически выделяемое значение NSAPI
M
Флаг наличия дополнительных сегментов.
0 Последний сегмент N-PDU
1 Данный сегмент N-PDU не является последним.
T
Тип SN-PDU. Определяет тип пакета –SN-DATA (0) или SN-UNITDATA (1).
C
Индикатор компрессии. Значение 0 показывает, что поля компрессии DCOMP и PCOMP не включены в пакет, 1 говорит о наличии этих полей в пакете.
X
Запасной (spare) бит, устанавливаемый в 0.
DCOMP
Идентификатор компрессии данных, включаемый в пакет при установке бита C. DCOMP может принимать следующие значения:
0 Компрессия не используется.
1-14 Указывает на динамически согласуемые идентификаторы компрессии данных.
15 Зарезервировано для будущего использования.
PCOMP
Кодирование компрессии управляющей информации протокола, включаемое в пакеты при установленном бите C. PCOMP может принимать следующие значения:
0 Компрессия не используется.
1-14 Указатели на идентификаторы компрессии управляющей информации, согласуемые динамически.
15 Зарезервировано для будущего использования.
Смещение сегмента
Смещение сегмента от начала N-PDU. Задается в единицах по 128 октетов.
Номер N-PDU
0-2047 при нулевом значении бита расширения.
2048-524287 в тех случаях, когда бит расширения имеет значение 1.
E
Бит расширения для номера N-PDU.
0 Следующий октет содержит данные.
1 Следующий октет используется для расширения номера N-PDU.