RFC: 2866
Оригинал: RADIUS Accounting
Предыдущие версии: RFC 2059, RFC 2139
Категория: Информационный
Дата публикации:
Автор:
Перевод: Николай Малых

3. Формат пакетов

В поле данных пакетов UDP [4] инкапсулируется по одному пакету RADIUS Accounting и поле UDP Destination Port для протокола RADIUS должно содержать десятичное значение 1813.

При генерации откликов номера портов отправителя и получателя меняются местами.

В этом документе содержится спецификация протокола RADIUS. Ранние версии RADIUS Accounting использовали порт UDP 1646, что приводило к конфликтам со службами sa-msg-port. Официально выделенный для протокола RADIUS Accounting порт имеет номер 1813.

Ниже показан формат типового пакета RADIUS. Поля передаются слева направо и сверху вниз.

 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|     Code      |  Identifier   |            Length             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                                                               |
|                         Authenticator                         |
|                                                               |
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|  Attributes ...
+-+-+-+-+-+-+-+-+-+-+-+-+-
  • Code
  • Поле Code имеет размер 1 октет и содержит идентификатор типа пакета RADIUS. При получении пакета с некорректным значением поля Code такой пакет отбрасывается без уведомления.

    Десятичные значения кодов для пакетов RADIUS Accounting показаны ниже.

    • 4 Accounting-Request
    • 5 Accounting-Response
  • Identifier
  • Поле Identifier размером 1 октет используется для сопоставления запросов с откликами. Сервер RADIUS может детектировать дубликаты запросов по совпадению IP-адреса отправителя, номеру порта отправителя и значению поля Identifier, если такие пакеты получены в течение короткого промежутка времени.
  • Length
  • Поле Length имеет размер 2 октета и показывает размер пакета с учетом полей Code, Identifier, Length, Authenticator и Attribute. Октеты за пределами указанного в поле размера значения должны трактоваться как заполнение и оставляться без внимания. Если размер пакета меньше значения поля Length, пакет должен отбрасываться без уведомления. Минимальный размер пакета составляет 20, а максимальный — 4095.
  • Authenticator
  • Поле Authenticator имеет размер 16 октетов. Старший октет поля передается первым. Значение поля применяется для аутентификации при обмене сообщениями между клиентом и сервером RADIUS accounting.
  • Request Authenticator
  • В пакетах Accounting-Request значение атрибута Authenticator, называемое Request Authenticator, представляет собой 16-октетное хэш-значение MD5 [5].

    NAS и сервер RADIUS используют разделяемый ключ. Поле Request Authenticator в пакетах Accounting-Request содержит необратимое хэш-значение MD5, рассчитанное для потока октетов Code + Identifier + Length + 16 нулевых октетов + атрибуты запроса + разделяемый ключ (+ означает конкатенацию значений). 16-октетное хэш-значение MD5 помещается в поле Authenticator пакета Accounting-Request.

    Отметим, что атрибут Request Authenticator в пакетах Accounting-Request вычисляется несколько иначе, нежели для атрибут Request Authenticator в пакетах RADIUS Access-Request, поскольку пакеты Accounting-Request не содержат атрибута User-Password.

  • Response Authenticator
  • Поле Authenticator в пакетах Accounting-Response называется Response Authenticator и содержит необратимое хэш-значение MD5, рассчитанное для потока октетов полей Code, Identifier, Length, значения Request Authenticator из пакета Accounting-Request, на который передается отклик, атрибутов отклика и разделяемого ключа. Полученное в результате 16-октетное хэш-значение MD5 помещается в поле Authenticator пакета Accounting-Response.
  • Attributes
  • Пакет может включать более одного экземпляра атрибутов некоторых типов. В таких случаях порядок атрибутов следует сохранять. Порядок разнотипных атрибутов значения не имеет.
2007 - 2017 © Русские переводы RFC, IETF, ISOC.