用于身份验证和授权的 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 管理传输后超时的数据包。超时值适用于传输队列中的所有数据包,包括要发送的请求和响应。
交换流程按如下方式进行:
订阅者尝试登录,而作为 NASREQ 客户端的 authd 向 NASREQ 服务器发送 Diameter AA-Request (AAR) 消息,其中包括有关订阅者的信息和身份验证信息。
如果未完成的请求数小于配置的最大未完成请求值,则 authd 会将请求发送到 NASREQ 服务器进行传输,并将请求放在响应队列上。
如果未完成请求数大于或等于配置的最大未完成请求值,则 authd 将该请求存储在传输队列上。
当以 Diameter AA-Answer (AAA) 消息的形式从 NASREQ 服务器收到响应时,authd 会检查响应队列中是否有匹配请求 (AAR)。
如果找到匹配的请求,则从队列中提取该请求并用于处理响应。
如果未找到匹配的请求,则忽略并丢弃响应。
当 Diameter 通知 NASREQ 客户端请求已超时时,将发生以下操作之一:
如果请求不在响应队列上,则忽略超时。
如果此请求的重试计数器小于配置
request-retry
的值,则 authd 将再次发送该请求,并递增该请求的重试计数器。如果此请求的重试计数器大于或等于配置的值,则 authd 将处理请求超时,并将传输队列上的下一个请求发送到 NASREQ 服务器。
当配置的超时期限到期时,authd 将从传输队列中删除任何过期的出站数据包,并将其处理为已超时。
使用 Diameter NASREQ 协议的好处
支持使用外部 NASREQ 服务器(而非 RADIUS 服务器)为订阅者提供身份验证和授权。某些客户模型可能不使用 RADIUS 服务器,或者希望在迁移到 Diameter 订阅者预配模型时停止使用 RADIUS 服务器。
配置 Diameter 网络访问服务器应用程序 (NASREQ)
您可以将 NASREQ 客户端配置为 RADIUS 的替代方法,以便在订阅者登录时进行订阅者身份验证和授权。
要配置 NASREQ 进行身份验证和授权,请执行以下操作: