
Сеть LTE состоит из множества элементов таких как базовые станции, центры управления мобильности, шлюзы доступа к сети и прочих элементов. Для взаимодействия всех этих элементов разработаны различные интерфейсы взаимодействия. В этой статье я хотел бы поговорить об интерфейсе взаимодействия сети радиодоступа с опорной сетью. Основные принципы построения сети описываются рекомендацией «3GPP TS 36.300». В описании помимо основной структуры, я так же хотел бы более подробно рассмотреть пользовательских устройств с опорной сетью, последовательность действий и задействуемые ресурсы.
Итак приступим…
Для начала я вынесу используемые названия в отдельный блок, что бы в случае чего, не нужно было искать их определения по всему тексту.
UE (User Equipment) - пользовательское устройство (телефон, модем и пр.)
eNB (UTRAN NodeB) – базовая станция стандарта LTE.
MME (Mobility Management Entity) – узел обеспечения мобильности.
S-GW (Serving Gateway) – обслуживающий шлюз пакетных данных.
EPC (Evolved Packet Core) – опорная сеть LTE.
M-TMSI (MME Temporary Mobile Subscriber Identity) — временный идентификатор пользовательского устройства в пределах одного MME.
S-TMSI (SAE Temporary Mobile Subscriber Identity) — временный идентификатор пользовательского устройства в пределах нескольких MME.
GUTI (Globally Unique Temporary UE Identity) - временный глобальный идентификатор пользовательского устройства.
IMSI (International Mobile Subscriber Identity) - постоянный глобальный идентификатор пользовательского устройства.
E-RAB (E-UTRAN Radio Access Bearer) – виртуальный канал для передачи пользовательских данных в сети радиодоступа E-UTRAN.
Теперь перейдём к архитектуре сети. E-UTRA (Evolved Universal Terrestrial Radio Access) состоит из «базовых станций» (E-UTRAN NodeB - eNB), соединённых с опорной сетью (Evolved Packet Core - EPC), по средством интерфейса S1. Если говорить точнее, то eNB подключается к узлу управлением мобильностью (Mobility Management Entity (MME)) через интерфейс S1-MME и к обслуживающему шлюзу (Serving Gateway (S-GW)) через интерфейс S1-U. Помимо этого eNB соединены между собой интерфейсом X2, необходимым для реализации процедуры «handower» (переходе мобильного терминала от одной eNB к соседней).

Тут нужно отметить, что «handower» может также осуществляться через интерфейс S1. То есть в LTE существует 2 типа «handower», S1 и X2. Так же для доступа к внешней сети S-GW подключен к PDN (Protocol Data Network) шлюзу. Именно PDN-GW осуществляет выдачу пользователям ip-аддрессов, а также фильтрацию пакетов (deep packet inspection).
Немного о функциональности основных элементов.
eNB осуществляет следующие функции:
Функции управления радиоканалом, для передачи пользовательской информации и команд управления;
Сжатие ip и Ehternet заголовков, шифрование пользовательского трафика, при передачи его между eNB и UE (User Equipment);
Выбор MME для подключения UE;
Передача пользовательского трафика к обслуживающему шлюзу;
Формирование и передача «paging» и «broadcast» сообщений (получаемых от MME);
Контроль уровня помех в соте и формирование отчётов;
MME осуществляет следующие функции:
Передача сигнализации NAS (Non Access Stratum) и шифрование NAS;
Выбор шлюзов «Serwing GW» и «PDN GW»;
Выбор SGSN (Serving GPRS Support Node) для осуществления «handover» в сеть 2G или 3G;
Управление списком «Tracking Area list»;
Выбор MME при переходе от от одного MME к другому, при осуществлении «handover»;
Управление соединениями «bearer management»;
Аутентификация;
Serving Gateway (S-GW) осуществляет следующие функции:
Буферизация данных передаваемых на UE, когда UE находится в режиме ожидания и инициирование процедуры запроса на обслуживание, инициируемой сетью;
Маршрутизация и передача пакетов;
Учет данных пользователей и качественных показателей «QCI» (QoS Class Identifier) для тарификации;
PDN Gateway (P-GW) осуществляет следующие функции:
Фильтрация пакетов (deep packet inspection);
Назначение пользовательских ip-адрессов;
Контроль скорости исходящего трафика на основе APN-AMBR (Aggregate Maximum Bit Rate);
Полный список осуществляемых функций можно посмотреть в «3GPP TS 36.300».
Тут наверное стоит отметить, что MME также соединён с HSS (Home Subscriber Server) через интерфейс S6a и с другими MME, через S10. А так же что S-GW соединён с PCRF (Policy and Charging Resource Function). Я не буду описывать эти элементы, так как в статье речь будет идти об интерфейсе S1. Давайте о нём и поговорим.

S1 состоит из двух частей, S1-MME, включающий в себя протокол S1AP (S1 Application Part) и S1-U, включающий протокол GTP-U.
Протокол GTP-U используется для создания GTP туннелей. Заголовок каждого GTP-U пакета, обязательно включает в себя версию, тип нагрузки (для GTP-U всегда DATA), тип сообщения, длина пакета, идентификатор туннеля (TEID) и порядковый номер пакета. Для каждого соединения назначается свой туннель, по которому передаются данные.

Протокол S1AP, используется для взаимодействия между MME и eNB, а так же для предоставления пользовательским устройствам доступа к опорной сети (EPC). Для доступа к EPC используется протокол EPS (Evolved Packet System). Сообщения EPS не несут никакой полезной информации для eNB, поэтому они упаковываются в специальный контейнеры NAS (Non Access Stratum), и передаются в сообщениях S1AP (таких как Uplink/ Diownlink Nas Transport, либо в сообщениях на установления соединения). Название «Non Access Stratum», говорит само за себя, eNB должна игнорировать данные из контейнера, просто передавая его на пользовательские устройства (когда пакет идёт от MME), либо на MME (когда пакет идёт от пользователя).

Говоря о функциональности я хотел бы для начала разделить функционал на две части. Первая часть будет касаться взаимодействия MME с eNB (конфигурирование, отчёты и т. п.), а вторая, функционала обслуживающего пользовательские терминалы (установление и отслеживание соединений, изменение зон обслуживания, отслеживание местоположения абонента и т.п.).
Начнём с взаимодействия MME с eNB. Здесь я приведу часть используемых процедур с описанием их назначения.
Paging procedure. Инициируется MME отправляет на все eNB, находящиеся в TAC (Tracking Area Code), в котором был последний раз зарегистрирован UE, параметры этого UE (обычно S-TMSI), для его поиска.
S1 Setup procedure. Инициируется eNB. Используется для обмена данными необходимыми для взаимодействия MME c eNB. Это самая первая процедура, которая задействуется при включении eNB.
eNB Configuration Update procedure. Инициируется eNB. Используется для передачи обновлённой конфигурации eNB.
MME Configuration Update procedure. Инициируется MME. Используется для передачи обновлённой конфигурации MME.
Error Indication procedures. Инициируется как MME, так и eNB. Используется для передачи информации об обнаруженных ошибках в одном входящем сообщении, если отправителю невозможно передать соответствующее сообщение об ошибке.
Reset procedure. Инициируется как MME, так и eNB. Используется для повторной инициализации одной или обеих сторон после установки нового узла сети или после возникновения сбоя.
Теперь давайте перейдём к взаимодействию с пользовательскими устройствами.
Начнём с того, что команды предназначенные для разных абонентов должны иметь уникальные идентификаторы, что бы не перемешиваться друг с другом. Для этого используются два идентификатора ENB-UE-S1AP-ID со стороны eNB и MME-UE-S1AP-ID со стороны MME. В связке (да если честно и по отдельности) эти идентификаторы указывают на принадлежность данного соединения к определённому пользовательскому терминалу. Идентификаторы назначаются при инициализации нового соединения между eNB и MME и существуют до момента его закрытия.
Так же я хотел бы упомянуть о таком понятии ка bearer. Bearer (носитель) — это виртуальный канал передачи данных, который определяет параметры и условия транспортировки пакетов между пользовательским устройством и сетью lte. Каждый пользователь, может иметь от одного до нескольких bearer разделяемых уникальным идентификатором (Bearer-Id). Bearer’ы позволяют разделять пользовательский трафик, требующий различный класс обслуживания (речь, видео и т.д.). Что касается максимального количества, то давайте обратимся к 3gpp рекомендациям.
На S1 интерфейсе используется E-RAB (E-UTRAN Radio Access Bearer), на EPS – EPS-bearer. Отмечу, что E-RAB является частью EPS-bearer, и между ними существует однозначный маппинг.
Вот запись E-RAB-ID (E-UTRAN Radio Access Bearer) из рекомендации S1AP (это значение используется для при установлении канала).
E-RAB-ID ::= INTEGER (0..15, …)
Эта запись означает, что Bearer-Id может принимать значение от 0 до 15 (то есть всего 16 каналов), но так же имеется возможность расширения значения, когда количество каналов определяется лишь здравым смыслом.
А вот так EPS bearer identity прописан в рекомендации 3GPP TS 24.007.

Тут видно, что максимальное количество каналов равно 15 (плюс 1 нулевой неиспользуемый)и никакой возможности расширения данная рекомендация не предусматривает. Зачем нужно в S1AP, добавлять возможность расширения для меня остаётся загадкой, видимо потому что могли.
Ну да ладно. Как вы уже поняли всего может быть 15 разных «bearer». На S1 интерфейсе используются каналы с 5го по 15ый. Bearer существует не зависимо от того активен ли пользователь или нет. Во время подключения пользовательского устройства к сети ему назначается «Bearer» 5. При необходимости, сеть может назначить UE дополнительный «Bearer», при этом когда необходимость в канале исчезнет (а так же при возникновении ошибок), он будет закрыт. Так же присутствует возможность модифицировать каналы. Это происходит при необходимости смены класса обслуживания, либо смены обслуживающего шлюза. Далее каналы, для пользовательских устройств я буду обозначать как E-RAB.
Давайте рассмотрим функционал на примере различных паттернов взаимодействия пользовательского устройства с сетью. В качестве наглядного примера, я буду использовать визуализации, сгенерированные при помощи ПО «EventStudio» (https://www.eventhelix.com/lte/).
Начнём с регистрации в сети (Attach) с расширением перечня предоставляемых услуг.
Для запуска «attach» процедуры пользовательское устройство «User Equipment» (UE) отправляет команду «ATTACH REQUEST» и «PDN CONNECTIVITY REQUEST». eNB создаёт идентификатор «ENB-UE-S1AP-ID», для новой сессии, после чего отправляет на MME сообщение «Initial UE Message». «Initial UE Message» будет содержать информацию об обслуживающей соте (PLMN, TAC), а так же NAS сообщение, с параметрами необходимыми для «Attach» процедуры. В «ATTACH REQUEST» будут переданы идентификатор UE (IMSI или GUTI), а также информация о конфигурации протокола и необходимости передачи части этой информации после назначения шифрования (такой как точка доступа, логин, пароль и пр., что бы не передавать её в открытом виде). После получения «Initial UE Message», MME назначает идентификатор «MME-UE-S1AP-ID», теперь S1AP сессия сформирована.

Далее происходит процедура аутентификации, назначение шифрования и конфигурация протокола. Сообщение конфигурации протокола, передаются только в том случае, если в «PDN CONNECTIVITY REQUEST», указана необходимость шифрования EPS Session Management). Эти процедуры осуществляются при помощи EPS протокола, передаваемого посредством NAS контейнеров. Для этого будут задействованы сообщения «Downlink NAS Transport» и «Uplink NAS Transport». eNB в каждом своём сообщении, так же будет указывать свой PLMN и TAC.



Теперь MME готов установить соединение для передачи данных от eNB во внешнюю сеть. Для этого создаётся новый E-RAB, которому назначается первый свободный ID (в данном случае 5). MME связывается с S-GW при помощи протокола GTP-C, чтобы определить параметры для входящего соединения, для данных идущих от eNb (параметры для GTP соединения, такие как ip-адресс и GTP-TEID). Эти параметры, а так же ключ шифрования будут переданы eNb в сообщении «Initial Context Setup Request». Помимо этого при помощи NAS будет отправлены EPS сообщения «ATTACH ACCEPT» и «ACTIVATE DEFAULT EPS BEARER CONTEXT REQUEST». В этих сообщениях будут указаны временный идентификатор UE (M-TMSI), идентификатор обслуживающего MME, параметры созданного канала, такие как класс обслуживания, назначенный ip-адресс, точка доступа.

Далее UE отправит сети сообщение «UE Capability Info Indication». Это сообщение предназначается только для MME, и несёт в себе информацию о программных и аппаратных возможностях устройства.

После eNB выделит со своей стороны для созданного канала ip-адресс и GTP-TEID (необходимые для взаимодействия с S-GW), и отправит их MME в сообщении «E-RAB Setup Response», что бы MME передал их S-GW. Теперь новый E-RAB окончательно сконфигурирован и eNB отправит EPS сообщения «ATTACH COMPLETE» и «ACTIVATE DEFAULT EPS BEARER CONTEXT ACCEPT».

Теперь установлен E-RAB с id 5 и UE может пользоваться услугами сети согласно параметрам установленного соединения.
Далее UE решает расширить список используемых услуг и подключиться к дополнительной точке доступа. Для этого используется сообщение «PDN CONNECTIVITY REQUEST», отправляемое командой «Uplink NAS Transport» через NAS.

MME запустит процедуру создания нового E-RAB с id равным 6 (5ый уже занят). После получения параметров нового канала (параметры GTP, класс обслуживания, ip-адресс для выхода в сеть, параметры протокола), MME сформирует сообщение «E-RAB Setup Request», включающее также EPS сообщение «ACTIVATE DEFAULT EPS BEARER CONTEXT REQUEST», и отправит его eNB.

В ответ eNB выделит со своей стороны ip-адресс и GTP-TEID и отправит их MME в сообщении «E-RAB Setup Response», что бы MME передал их S-GW. Новый E-RAB окончательно сконфигурирован и eNB отправит EPS сообщение «ACTIVATE DEFAULT EPS BEARER CONTEXT ACCEPT».

Новый канал сформирован, и готов к передаче пользовательского трафика.
Если eNB зафиксирует отсутствие активности UE, она запустит процедуру высвобождения ресурсов. На MME будет отправлено сообщение «UE Context Release Request». В ответ MME запустит процедуру «UE Context Release».

После этого будут высвобождены «ENB-UE-S1AP-ID» и «MME-UE-S1AP-ID», а также будут закрыты GTP туннели, обслуживающие созданные E-RAB (с высвобождением GTP-TEID). При этом EPS-bearer останутся активны.
Теперь рассмотрим восстановление ране созданной сессии.
Когда пользователь снова начнёт передачу данных, eNB запустит создание новой S1AP сессии. Для этого будет создан новый «ENB-UE-S1AP-ID» и на MME будет отправлено сообщение «Initial UE Message», содержащее EPS команду «SERVICE REQUEST». Сообщение будет содержать временный идентификатор пользовательского терминала (S-TMSI), а так же «Message authentication code» (MAC). S-TMSI и MAC необходимы, что бы найти MME, который обслуживал UE и восстановить предыдущую сессию. Дело в том, что группу eNB может обслуживать несколько MME (в пределах одного Tracking Area Code), такой подход позволяет сохранять стабильность связи, в случае выхода одного MME из строя, а так же перераспределять ресурс, в случае высокой загруженности сети. Получив сообщение MME назначает новый «MME-UE-S1AP-ID», тем самым формируя новую S1AP сессию.

Теперь MME, нужно восстановить предыдущую сессию, для этого нужно, чтобы S-GW выделил новые адреса для GTP туннелей, ранее созданных E-RAB. После этого MME отправит на eNB, значения максимальных скоростей передачи данных, новые параметры GTP туннеля, алгоритмы обеспечения безопасности, а так же новый ключ безопасности (для обеспечения контроля целостности данных и их шифрования). Для этого будет задействована процедура «Initial Context Setup».

В ответ eNB отправит новые параметры GTP тоннелей со стороны eNB.

Теперь сессия восстановлена и UE снова может передавать/получать данные.
Тут я ещё раз отмечу, наличие возможности удалять неиспользуемые E-RAB или модифицировать действующие. Для этого используются процедуры «E-RAB Release» и «E-RAB Modify». Так же при удалении и модификации E-RAB, необходимо проделать те же операции с EPS-bearer, используя NAS сообщения.
Теперь поговорим о процедуре «Handover» (перехода UE от одного eNB к другому). Помимо S1 интерфейса для взаимодействия eNB с MME, eNB так же могут взаимодействовать друг с другом через интерфейс X2. Основная задача X2 интерфейса, это снизить роль MME в процедуре «Handover». Подводя итог, в LTE существует 2 типа «handover», S1-handover и X2-handover. Оба варианта будут задействовать S1 интерфейс, но X2-handover, будет задействовать его по минимуму.
Давайте для начала рассмотрим S1-handover.

Когда eNB принимает решение о необходимости совершить «handover», она отправляет на MME сообщение «Handover Required», содержащие тип «handover», его причину, параметры конечной eNB и какие каналы подлежат пересылке данных.
Получив этот запрос, MME отправляет целевой eNB сообщение «Handover Request», в котором укажет параметры E-RAB (адреса и GTP метки для отправки данных на S-GW), тип «handover», его причину и контейнер с сообщением «Handover Preparation Info».
-
Далее целевая eNB, должна выделить необходимые ресурсы, согласно полученной от MME информации. После этого целевая eNB отправит MME сообщение «Handover Request Acknowledge», содержащее контейнер с сообщением «Handover Command» (RRC Connection Reconfiguration Request), используемым для радиоинтерфейса, а также список адресов и GTP меток, выделенных на целевой eNB для входящего трафика на интерфейсе S1-U. При необходимости, так же будут переданы адреса и метки для получения пересылаемых данных (данные идущие от сети, перенаправляются на целевую eNB).
Схема использования канала пересылаемых данных Теперь MME свяжется с SGW для создания нового GTP тоннеля для пересылаемых данных. После этого MME отправит на исходный eNB команду «Handover Command», в которой передаст контейнер с сообщением «Handover Command» (полученный от целевой eNB), так же адреса и GTP метки выделенные для пересылаемых данных. Теперь данные будут идти на целевую eNB через вновь созданный тоннель пересылаемых данных.
С этого момента UE начинает переход на новую eNB. После завершения перехода, eNB отправит на MME сообщение «Handover Notify», содержащее информацию об обслуживающей соте (TAI, ECGI).
MME сообщит SGW, что исходная eNB теперь в передаче данных не используется.
MME инициирует процедуру «UE Context Release» с исходной eNB, для начала высвобождения ресурсов. После этого MME сообщит S-GW, что можно освобождать, неиспользуемые GTP тоннели. Процедура S1-handover завершена.
При X2-handover, основное взаимодействие используется через X2 интерфейс, в том для передачи данных будет также задействован GTP тоннель между eNB (X2-U). В качестве протокола взаимодействия выступает X2 Application Protocol (X2AP), для передачи данных — GTP-U. Здесь нужно уточнить, что X2-handover возможен, только при условии что обе eNB обслуживаются одним и тем же MME. Давайте вкратце пробежимся по основным шагам.

Исходная eNB, через X2 интерфейс, отсылает на целевую команду «Handover Request», в котором указывает идентификаторы целевой соты, а также параметры E-RAB (E-RAB ID, QCI, ARP, S1 S-GW TEID).
В ответ целевая eNB отсылает сообщение «Handover Request Acknowledge». Команда содержит контейнер с сообщением «Handover Command» (RRC Connection Reconfiguration Request), а так же параметры для GTP тоннеля (на X2-интерфейсе).
Устанавливается GTP соединение между исходной и целевой eNB.
Исходная eNB отправляет запускает процедуру « SN Transfer Status». Эта процедура позволяет избежать дублирования или потери пакетов при переходе UE от одного eNB к другому.
Теперь данные идущие от UE будут идти через исходную eNB к S-GW, а данные идущие на UE,через X2-U будут перенаправляться на целевую eNB.
Теперь целевая eNB, используя S1AP, инициирует на MME процедуру «Path Switch», для переключение GTP тоннеля передачи данных на себя. В сообщении «Path Switch Request», она укажет идентификаторы обслуживающей ячейки, «MME-S1AP-ID» и параметры E-RAB (E-RAB ID, S1 Target eNB TEID).
После переключения GTP тоннеля, можно высвобождать выделенные ресурсы, для чего, целевая eNB, используя X2AP, отправляет на исходную, сообщение «UE Context Release». Так же MME запустит процедуру «UE Context Release» на исходной eNB, используя S1AP.
Здесь я рассмотрел лишь часть функционала, наиболее часто задействованную в работе сети. Полный функционал, гораздо обширнее и вряд ли его можно описать парой, а тем более одной статьёй. Ниже я приведу список полезной информации для более глубокого изучения, если вдруг эта тема вам интересна.
https://www.eventhelix.com/lte/ - визуализации различных процедур с описанием.
3GPP TS 36.410 - основные принципы по организации S1 интерфейса.
3GPP TS 36.300 - общее описание сети «Evolved Universal Terrestrial Radio Access» и «Evolved Universal Terrestrial Radio Access Network».
3GPP TS 36.413 - рекомендация на «S1 Application Protocol».
3GPP TS 36.423 - рекомендация на «X2 Application Protocol».
3GPP TS 29.060 - рекомендация на «GPRS Tunnelling Protocol (GTP)».
3GPP TS 29.274 - рекомендация на «Evolved General Packet Radio Service (GPRS) Tunnelling Protocol for Control plane (GTPv2-C)».