Skip to content

Diameter

Что такое Diameter?

Diameter — это протокол аутентификации, авторизации и учёта (AAA), разработанный IETF как развитие и замена устаревшего протокола RADIUS.

Он используется в современных сетях связи (LTE, IMS, Wi-Fi Calling, VoWiFi, 5G и др.) для централизованного управления доступом к сервисам и политиками QoS.

Diameter обеспечивает: - Расширенную поддержку мобильности - Гибкую маршрутизацию - Поддержку новых типов услуг - Более высокую надёжность и безопасность


Цель и назначение Diameter

🎯 Основные задачи:

  • Аутентификация: Проверка личности пользователя или устройства
  • Авторизация: Определение, какие услуги может использовать пользователь
  • Учет (Accounting): Логирование сессий, объема трафика, времени использования
  • Динамическое управление политиками: Настройка QoS, тарифных планов, ограничений

Используется в сетях LTE/IMS для регистрации абонента, выделения IP-адреса, настройки прав доступа и других функций.


Как работает Diameter?

[Клиент] → Отправляет запрос на доступ (например, IMSI, EAP-токен)
[Diameter Agent / Relay / Proxy] → Пересылает запрос на сервер AAA
[Diameter Server] ←→ [HSS / UDM / LDAP / DB] → Проверяет данные
[Diameter Server] → Возвращает ответ: Accept + политики
[Сервисный элемент] → Применяет политики и открывает доступ

Этапы работы:

  1. Клиент отправляет запрос через NAS, MME, P-CSCF или другое устройство.
  2. Запрос поступает на Diameter Client, который формирует Diameter-сообщение.
  3. Сообщение передаётся через прокси-серверы или ретрансляторы к нужному серверу.
  4. Сервер обрабатывает запрос и возвращает ответ с политиками.
  5. Политики применяются к пользователю или устройству.

Архитектура протокола Diameter

+------------------+       +------------------+       +------------------+
|     Клиент       |       |   Diameter Node  |       |   Diameter Server|
| (MME, P-CSCF,    | <----> | (Proxy/Relay)    | <----> | (HSS, PCRF, AAA) |
| NAS, UE)          |       |                  |       |                  |
+------------------+       +------------------+       +------------------+

Компоненты:

  • Diameter Client — отправляет запросы (например, MME, P-GW, P-CSCF)
  • Diameter Server — обрабатывает запросы и принимает решения
  • Diameter Proxy — перенаправляет запросы между узлами
  • Diameter Relay — пересылает запросы без изменения содержания
  • Diameter Redirect — указывает клиенту, к какому серверу обращаться
  • Diameter Translation Agent — преобразует запросы между различными типами сервисов

Структура сообщений в Diameter

Формат сообщения:

+----------------------------+
| Header (Flags, Command Code)|
+----------------------------+
| Application ID             |
+----------------------------+
| Hop-by-Hop Identifier      |
+----------------------------+
| End-to-End Identifier      |
+----------------------------+
| AVPs (Attribute-Value Pairs) |
| ...                        |
+----------------------------+

Основные поля заголовка:

Поле Описание
Version Версия протокола (обычно 1)
Message Length Общая длина сообщения
Flags Указывает тип сообщения (request, answer, error и др.)
Command Code Тип команды (например, AA, Re-Auth, Capabilities Exchange)
Application ID Идентификатор приложения (например, 4 для Mobile IPv4, 16777251 для IMS)

Основные команды и AVP (Attribute-Value Pairs)

Основные команды:

Команда Описание
CER / CEA Capabilities Exchange Request / Answer — обмен возможностями
DWR / DWA Device Watchdog Request / Answer — проверка соединения
RAR / RAA Re-Auth Request / Answer — повторная авторизация
STR / STA Session Termination Request / Answer — завершение сессии
ASR / ASA Abort Session Request / Answer — принудительное завершение
AAR / AAA Authentication / Authorization Request / Answer — основной процесс авторизации

Часто используемые AVP:

AVP Описание
Session-ID Уникальный идентификатор сессии
User-Name Имя пользователя или IMSI
Origin-Host / Origin-Realm Имя и домен отправителя
Destination-Host / Destination-Realm Имя и домен получателя
Service-Context-ID Контекст сервиса (например, 16777238 для Gx, 16777216 для Cx)
QoS-Information Информация о политике качества обслуживания
Flow-Description Описание фильтров трафика
Called-Station-ID Название точки доступа или APN
Subscription-ID Идентификатор подписки (IMSI, MSISDN)
Framed-IP-Address Выделенный IP-адрес

Протокол Diameter: версии и стандарты

Версия Год Описание
RFC 3588 2003 Первая официальная спецификация Diameter
RFC 6733 2012 Обновленная документация, заменившая RFC 3588
TS 29.272 (S6a) 3GPP Для взаимодействия между MME и HSS
TS 29.214 (Gq’) 3GPP Для взаимодействия между P-CSCF и PCRF
TS 29.215 (Cx/Dx) 3GPP Для взаимодействия между I-CSCF/S-CSCF и HSS
TS 29.305 (S13) 3GPP Для проверки оборудования UE
TS 29.244 (GTPv2) 3GPP Интеграция с GTP для управления сессиями
Open Diameter Project Реализация протокола в открытом виде

Diameter работает поверх TCP или SCTP (Stream Control Transmission Protocol), что делает его более надёжным, чем UDP-ориентированный RADIUS.


Где применяется Diameter?

Сценарий Описание
LTE / 5G Регистрация абонента, выделение IP, установка QoS
IMS / VoLTE / VoWiFi Аутентификация, регистрация в IMS, вызовы
Wi-Fi Calling Интеграция с IMS через AAA-сервер
Policy and Charging Control (PCC) Управление политиками QoS и биллингом
IoT / M2M коммуникации Авторизация SIM-карт в сетях LTE-M, NB-IoT
Roaming Поддержка межоператорского взаимодействия
Безопасность Централизованное управление доступом и политиками
Облачные системы Интеграция с 5G Core, IMS и NFV инфраструктурой

Преимущества Diameter

Преимущество Описание
Масштабируемость Поддерживает сотни узлов и миллионы пользователей
Расширяемость Возможность добавления новых AVP и команд
Поддержка TCP/SCTP Надёжная доставка сообщений
Мобильность и роуминг Поддержка миграции между сетями
Интеграция с IMS / 5G Основной протокол в современных сетях
Детальная политика QoS Настройка политик на уровне сессии
Единая платформа Может использоваться для разных сервисов (VoLTE, Wi-Fi, IoT и др.)

Недостатки и ограничения Diameter

Недостаток Описание
Сложность внедрения Большое количество спецификаций и расширений
Высокие требования к производительности Необходимы мощные серверы для обработки трафика
Ограниченная совместимость с RADIUS Требуются шлюзы или адаптеры
Не все операторы полностью поддерживают Diameter Многие всё ещё используют старые реализации
Требует глубокого знания спецификаций Для правильной настройки требуется опыт

Diameter vs RADIUS

Критерий Diameter RADIUS
Уровень модели OSI Прикладной Прикладной
Протокол передачи TCP / SCTP UDP
Функциональность AAA с разделением ролей AAA в одном протоколе
Шифрование Все поля, кроме заголовка Только пароль
Поддержка EAP
Авторизация на уровне команд
Поддержка мобильности
Поддержка 5G / IMS
Совместимость Cisco, Huawei, Ericsson, Open Source Широко
Распространённость В основном в мобильных сетях В Wi-Fi, Ethernet, PPP, VoWiFi