====== Контроль соединения с Радиус-сервером ====== {{indexmenu_n>5}} СКАТ контролирует соединение с Радиус-сервером, пытаясь вовремя отловить момент разрыва связи и необходимости переключения на другой (резервный) Радиус. Так как это UDP-соединение, такой контроль может быть осуществен только по отсутствию ответов на запросы СКАТа. Контроль ведется только по запросам авторизации: при детектировании разрыва связи (Радиус не отвечает на Access-Request) подсистема авторизации СКАТа оповещает подсистему аккаунтинга о необходимости переключения на другой сервер. То есть авторизация является ведущей подсистемой, а аккаунтинг - ведомой (напомним, что порты для отправки запросов авторизации и аккаунтинга в Радиус-протоколе - разные, хотя сервер один). При разрыве связи аккаунтинг не может оповестить Радиус-сервером об этом событии, так как сервер считается упавшим. Все активные (//started//) аккаунтинг-сессии переводятся во внутреннее состояние //suspended//: fastpcrf продолжает принимать данные от всех fastdpi, стартовать новые сессии, закрывать старые, - все работает так, как будто связь с Радиус-сервером есть, но никакие аккаунтинг-данные на Радиус не посылаются. Сессия в состоянии suspended ведет себя так же, как активная сессия. При возобновлении связи с Радиус-сервером (или при переключении на другой) fastpcrf посылает на него сообщение ''Accounting-On'' с указанием NAS-атрибутов fastpcrf (задаются в fastpcrf.conf параметрами ''radius_attr_nas_ip_address'' и ''radius_attr_nas_id''), а затем для каждой suspended-сессии (а также для всех новых сессий, которые были созданы в период недоступности Радиус-сервера) посылается Acct-Start, сессия переводится в состояние //started// (активная).