4. Типы пакетов
Тип пакетов RADIUS определяется значением поля Code (код) в первом октете пакета.
4.1. Пакет Access-Request
Пакеты Access-Request передаются серверу RADIUS и содержат информацию, которая используется для того, чтобы определить имеет ли пользователь право доступа к указанному серверу NAS и службам, запрошенным пользователем. Реализации, желающие применять аутентификацию пользователей должны передавать пакет RADIUS с Code = 1 (Access-Request).
При получении пакета Access-Request от легитимного клиента должен передаваться соответствующий отклик.
В пакеты Access-Request следует включать атрибут User-Name. Пакет должен содержать по крайней мере один из атрибутов NAS-IP-Address и NAS-Identifier.
Пакет Access-Request должен включать атрибут User-Password, CHAP-Password или State. Недопустимо помещать в пакет оба атрибута User-Password и CHAP-Password. Если в будущих расширениях появятся новые типы идентификационной информации для включения в пакеты Access-Request, соответствующие атрибуты могут использоваться взамен User-Password или CHAP-Password.
В пакеты Access-Request следует включать атрибут NAS-Port или NAS-Port-Type (возможно включение обоих атрибутов), за исключениям тех случаев, когда запрашиваемый тип доступа включает порт или NAS не различает портов.
Пакет Access-Request может дополнительные атрибуты, служащие рекомендациями для сервера, но сервер не обязан использовать эти атрибуты.
При наличии атрибута User-Password для сокрытия значения пароля используется алгоритм RSA MD5 [3].
Формат пакета Access-Request показан ниже. Поля пакета передаются слева направо и сверху вниз.
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 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | Request Authenticator | | | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Attributes ... +-+-+-+-+-+-+-+-+-+-+-+-+-
Code
1
Identifier
Значение поля Identifier должно меняться при изменении содержимого полей атрибутов и при получении корректного отклика на предыдущий запрос. При повторной передаче значение поля Identifier должно сохраняться.
Request Authenticator
Значение поля Request Authenticator должно меняться всякий раз при смене значения поля Identifier.
Attribute
Поле Attribute имеет переменную длину и содержит список атрибутов, которые требуются для запрашиваемого типа сервиса, а также дополнительных атрибутов.