NASREQ 进行身份验证和授权
Diameter 网络接入服务器应用 (NASREQ)
Diameter 网络接入服务器要求 (NASREQ) 协议是 RFC 7155,Diameter 网络访问服务器应用程序中定义的基于 Diameter 的身份验证、授权和计费协议。它是在 Diameter 环境中使用 RADIUS AAA 的替代方法。Junos OS 支持身份验证和授权功能,但不支持计费。身份验证用于初始用户登录以验证用户身份。同样,授权在登录时用于设置订阅者可能需要的初始条件或服务,或两者兼而有之。NASREQ 协议不用于对用户进行重新身份验证或重新授权。
Junos OS 支持以下 NASREQ 协议交换:
AA-Request/Answer — 登录时的身份验证/授权请求。
Session-Termination-Request/Answer — 用户会话已终止的通知。
Abort-Session-Request/Answer — 请求从 NASREQ 服务器终止订阅者的会话。
在 AA-Request、Session-Termination-Request 和 Abort-Session-Request 消息中,必须将 Auth-Application-Id AVP 设置为值 1。
NASREQ 客户端有两个队列,即传输队列和响应队列。传输队列存储出站数据包,直到它们被发送到 Diameter,并包括请求和响应。响应队列存储数据包,直到 Diameter 响应请求,并且仅包括等待响应的请求。
以下配置变量控制队列的传输流和使用:
outstanding-requests— 发送到 Diameter 进行有线传输的最大请求数(包括 AAR 和 STR)— 实际上,这是响应队列上的最大请求数(尚未响应或超时的动态请求的最大数);它不包括已发送的响应。
request-retry- 给定请求在其初始请求超时后重新向 Diameter 发送的次数。此值仅适用于响应队列中的请求。
timeout— 出站数据包在声明超时之前保留在传输队列中的秒数。超过超时值的数据包不会传输。Diameter 管理传输后超时的数据包。超时值适用于传输队列中的所有数据包,包括要发送的请求和响应。
交换流程如下:
订阅者尝试登录,authd 作为 NASREQ 客户端向 NASREQ 服务器发送 Diameter AA-Request (AAR) 消息,其中包含有关订阅者的信息和身份验证信息。
如果未完成的请求数小于配置的最大未完成请求值,则 authd 将请求发送到 NASREQ 服务器进行传输,并将请求放在响应队列中。
如果未完成请求数大于或等于配置的最大未完成请求值,则 authd 会将请求存储在传输队列中。
当从 NASREQ 服务器收到 Diameter AA-Answer (AAA) 消息形式的响应时,authd 会检查响应队列中是否存在匹配请求 (AAR)。
如果找到匹配的请求,则从队列中提取该请求并用于处理响应。
如果未找到匹配的请求,则忽略并丢弃响应。
当 Diameter 通知 NASREQ 客户端请求已超时时,将发生以下作之一:
如果请求不在响应队列中,则忽略超时。
如果此请求的重试计数器小于配置
request-retry的值,authd 将再次发送请求并递增该请求的重试计数器。如果此请求的重试计数器大于或等于配置的值,authd 将处理请求超时,并将传输队列上的下一个请求发送到 NASREQ 服务器。
当配置的超时期限到期时,authd 会从传输队列中移除任何过期的出站数据包,并将其处理为已超时。
使用 Diameter NASREQ 协议的好处
允许使用外部 NASREQ 服务器为订阅者提供身份验证和授权,而不使用 RADIUS 服务器。某些客户模型可能不采用 RADIUS 服务器,或者希望在迁移到 Diameter 订阅者配置模型时停止使用 RADIUS 服务器。
配置 Diameter 网络访问服务器应用程序 (NASREQ)
您可以将 NASREQ 客户端配置为 RADIUS 的替代方法,以便在用户登录时进行用户身份验证和授权。
要配置 NASREQ 进行身份验证和授权: