4. Типы пакетов
Тип пакета RADIUS определяется значением поля Code в первом октете.
4.1. Accounting-Request
Пакеты Accounting-Request передаются от клиентов (обычно сервер доступа NAS или proxy) серверам RADIUS accounting и содержат информацию, используемую для учета предоставленных пользователю услуг. Клиент передает пакет RADIUS с Code = 4 (Accounting-Request).
При получении пакета Accounting-Request сервер должен передать отклик Accounting-Response, если учетный пакет был записан без ошибок. При возникновении той или иной ошибки передача отклика недопустима.
Атрибуты, допустимые для пакетов Access-Request и Access-Accept, могут использоваться в пакетах Accounting-Request.
Однако в пакеты Accounting-Request недопустимо включение атрибутов User-Password, CHAP-Password, Reply-Message, State. В каждом пакете Accounting-Request должен присутствовать по крайней мере один из атрибутов NAS-IP-Address или NAS-Identifier. В пакеты также следует включать по крайней мере один из атрибутов NAS-Port или NAS-Port-Type, если сервер NAS способен различать свои порты.
Если пакет Accounting-Request включает атрибут Framed-IP-Address, последний должен содержать IP-адрес пользователя. Если в пакете Access-Accept используется специальное значение Framed-IP-Address, говорящее серверу NAS о выделении или согласовании IP-адреса для пользователя, атрибут Framed-IP-Address (если он есть) в пакете Accounting-Request должен содержать действительный адрес IP, выделенный или согласованный для пользователя.
Формат пакетов Accounting-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
- 4 для Accounting-Request.
- Identifier
Значение поля Identifier должно меняться при всяком изменении содержимого поля Attributes и при получении корректного отклика на предыдущий запрос. При повторной передаче пакетов без их изменения значение поля Identifier должно сохраняться.
Отметим, что при включении атрибутов Acct-Delay-Time в пакет Accounting-Request значение Acct-Delay-Time будет обновляться при повторной передаче пакета, следовательно изменение содержимого поля Attributes требует заново вычислять значения полей Identifier и Request Authenticator.
- Request Authenticator
- Поле Request Authenticator в пакетах Accounting-Request содержит 16-октетное хэш-значение MD5, рассчитанное в соответствии с описанной выше процедурой (см. Request Authenticator).
- Attributes
- Поле Attributes имеет переменную длину и содержит список атрибутов.