JSRC 订阅者配置和计费
瞻博网络会话和资源控制 (SRC) 及 JSRC 概述
瞻博网络会话和资源控制 (SRC) 环境提供了一个用于管理用户及其服务的中央管理点。SRC 软件在瞻博网络 C Series 控制器上运行。SRC 软件使用 Diameter 协议在瞻博网络路由平台上的本地 SRC 对等方与 C Series 控制器上的远程 SRC 对等方之间进行通信。本地 SRC 对等方称为 JSRC,是 AAA 应用程序的一部分。远程 SRC 对等方是服务激活引擎 (SAE);SAE 在 SRC 环境中充当控制代理。JSRC 和 SAE 共同提供远程控制实施功能 (RCEF)。
JSRC 负有以下职责:
向 SAE 请求地址授权。
向 SAE 请求服务激活。
按照 SAE 的规定激活和停用服务。JSRC 可以使用相同的服务(动态配置文件)名称激活多个策略。
(可选)报告服务核算的卷统计信息。
注销 SAE 指定的订阅者。
使用新服务激活和停用的状态更新 SAE。
与 SAE 同步用户状态和服务信息。
当订阅者注销时通知 SAE。
SRC 软件使 SAE 能够激活和停用订阅者服务(由 SRC 策略描述)以及注销订阅者。SAE 只能控制那些已通过 SAE 调配的资源。因此,SAE 仅接收有关 JSRC 已向 SAE 请求调配的用户的信息。例如,当用户登录,但配置不要求会话激活路径包含 SAE 配置时,SAE 不会收到有关此用户的信息,也无法控制用户会话。
同样,SAE 只能控制它已激活的用户服务。当服务未从 SAE(例如 RADIUS 激活的服务)激活时,SAE 不会收到有关该服务的任何信息,也无法对其进行控制。
SAE 还可以指示 JSRC 收集每个服务会话的记帐统计信息。
多个基于 Diameter 的应用程序(功能)可以同时在路由器上运行。
使用 JSRC 的优势
允许使用 MX 系列路由器充当瞻博网络会话和资源控制 (SRC) 环境中的本地对等方,以集中管理用户及其服务。
JSRC 订阅者访问的硬件要求
瞻博网络 MX 系列 5G 通用路由平台支持 JSRC。JSRC 目前支持静态和动态接口上的用户会话。
了解 JSRC-SAE 的相互作用
本主题介绍 JSRC(本地 SRC 对等方)和 SAE(远程 SRC 对等方)之间交互以执行以下订阅者访问任务时交换的 Diameter 消息序列:
订阅者登录
服务激活
服务停用
重新同步
SAE 发起的用户注销
统计信息收集和报告
订阅者发起的注销
订阅者登录
JSRC 授权对不同订阅者类型的工作原理如下:
在访问配置文件中同时
authorization-order jsrc配置 和authentication-order时,授权顺序仅适用于受配置文件影响的 DHCP 订阅者,而身份验证顺序仅适用于非 DHCP 订阅者。如果仅
authorization-order jsrc在访问配置文件中进行配置,则授权顺序将应用于受配置文件影响的所有订阅者。
当订阅者尝试登录时,协议守护程序会向 AAA 发送身份验证请求。反过来,JSRC 向 SAE 发送 Diameter AA-Request 消息。SAE 返回一条 Diameter AA-Answer 消息,其中可能包括 Framed-IP-Address 属性和瞻博网络-DHCP-Options AVP(AVP 代码 2010)。JSRC 忽略此 AA-Answer 消息中包含的任何其他可选 AVP。
在层次结构级别包含[edit access profile profile-name]该语句时provisioning-order,将为 DHCP(和 SSC)订阅者启用 JSRC 调配。当应用程序请求 AAA 激活订阅者的会话时,JSRC 会发送一条 AA-Request 消息,其中包含瞻博网络请求类型 AVP(AVP 代码 2050),其值表示已从 SAE 请求服务配置。
SAE 返回一条 AA-Answer 消息,如果请求被接受,则包含 ACK,如果请求被拒绝,则包含 NAK。如果请求被接受,则 AA-Answer 消息将包含瞻博网络策略安装 AVP(AVP 代码 2020),用于指定要附加到用户接口的服务。当包含此 AVP 时,SAE 将结果代码 AVP 设置为 1001 (DIAMETER_MULTI_ROUND_AUTH)。此代码意味着 JSRC 必须向 SAE 发送另一条 AA-Request 消息,以报告 AAA 策略实例化(服务激活)的成功或失败。JSRC 忽略此 AA-Answer 消息中包含的任何其他可选 AVP。SAE 返回一条 AA-Answer 消息以确认此第二个 AA-Request 消息。
订阅者服务激活和停用
SAE 策略配置订阅者服务。订阅者登录后,SAE 可以向 JSRC 发送 PPR 消息以激活或停用服务。给定的 PPR 可以包括用于激活服务的瞻博网络策略安装 AVP(AVP 代码 2020),瞻博网络策略移除 AVP(AVP 代码 2027)停用服务,或同时包括两者(对于不同的服务)。PPR 不能包含不超过三个这样的 AVP(安装、移除或混合)。
JSRC 在完成 PPR 中请求的任务后,向 SAE 发送 PPA 消息。PPA 指示 PPR 中请求的行动的成功或失败。
如果使用 RADIUS 或 CLI 停用 SAE 所在的服务,则 SAE 将与路由引擎上的用户状态不同步。
订阅者重新同步
在重新同步期间,JSRC 会将调配订阅者的活动服务通知 SAE。JSRC 或 SAE 启动重新同步。
SAE 在启动时或由于主 SAE 上的资源限制或条件而导致备份 SAE 接管会话控制时启动重新同步。SAE 清除其数据库中的所有条目,为同步做准备。
JSRC 在 JSRC 启动时启动重新同步,例如 AAA 启动或重新启动时。
JSRC 还可以在其他情况下启动重新同步。当多 SAE 环境中的 SAE 变为活动状态时,它必须向 JSRC 发送 SRQ 作为其第一条消息。然后,JSRC 锁定活动 SAE 的源-主机 AVP。如果 JSRC 收到来自任何其他 SAE 的消息(如源-主机 AVP 所示),则随后会触发重新同步。如果活动 SAE 和备用 SAE 之间的通信中断,则可能会发生此类事件。
这两个实体都通过发送 SRQ 消息来启动重新同步。收件人通过 SRR 消息进行响应。发送 SRR 后,无论 SAE 还是 JSRC 启动同步,JSRC 都会为会话数据库中存在的每个调配用户向 SAE 发送 AA 请求消息。AA 请求消息包括用于活动服务的瞻博网络策略安装 AVP。SAE 返回一条带有 ACK 的 AA-Answer 消息以确认接收。
被 SAE 终止的用户会话
当 SAE 终止用户会话时,它会向 JSRC 发送一条 ASR 消息。JSRC 会使 AAA 向 DHCP(或 SSC)客户端应用程序发送注销请求。当 DHCP 客户端应用程序接受注销请求时,JSRC 会在其发送给 SAE 的 ASR 消息中包含一个 ACK,以表示成功。如果 DHCP 客户端应用程序不接受请求,则 JSRC 会在 ASR 中包含一个 NAK 以表示失败。DHCP 客户端应用程序负责使用 AAA 启动实际注销序列。
按服务规则收集和报告统计信息
统计信息可以从路由器发送到 SAE,也可以从 SAE 发送到路由器。Diameter Accounting-Request (ACR) 和 Accounting-Answer (ACA) 消息都包括瞻博网络 Acct-Record AVP(AVP 代码 2053),用于标识请求计费信息的策略(服务)。
订阅者注销
当 DHCP(或 SSC)客户端应用程序向 AAA 发送用户注销通知时,JSRC 会发送一条 STR 消息,以通知 SAE 调配的用户会话即将终止。SAE 向 JSRC 返回一条 STA 消息,JSRC 通知 DHCP 注销完成。
JSRC 为双堆栈订阅者配置
从 Junos OS 18.1R1 版开始,您可以在层次结构级别包含[edit jsrc]该dualstack-support语句,以便为双堆栈订阅者配置 JSRC 配置,以便它使用单个 JSRC 会话报告有关给定订阅者的单独堆栈的信息。在早期版本中,DHCPv4 和 DHCPv6 堆栈被视为单个订阅者;远程 SRC 对等方 (SAE) 不会获知是否只有一个家族或两个家族处于活动状态。统计数据报告为两个家庭的总和,而不是按家庭分隔。从 Junos OS 18.1R1 版开始的默认行为与早期版本中的行为相同。
这种双堆栈配置行为向后兼容其他版本。第 2 页的 表 1 列出了配置双堆栈支持和未配置(默认值)时行为的一些差异。
配置双堆栈支持 |
未配置双堆栈支持 |
|---|---|
激活第一个网络家族后,仅在初始请求中将该家族的地址发送到预配服务器。 |
激活第一个网络家族后,从配置服务器(SAE;远程 SRC 对等方)请求调配。 |
当第二个网络家族激活时,发送一个特殊的家族激活数据包,以通知调配服务器该家族处于活动状态。 |
激活第二个网络家族时,不会向预配服务器报告任何内容。 |
当倒数第二个网络家族停用时,发送一个特殊的家族停用数据包,以通知调配服务器该家族不再处于活动状态。 |
当倒数第二个网络家族停用时,不会向调配服务器报告任何内容。 |
分别报告 IPv4 和 IPv6 统计信息。 |
将用户和服务统计信息报告为 IPv4 和 IPv6 统计信息的统计信息的汇总。 |
JSRC 双栈配置的优势
使 SAE 能够了解当前哪些网络家族对用户处于活动状态。
支持收集每个地址族的准确记帐统计信息,而不是不区分地包含两个地址族的统计信息的聚合计数。
配置了双堆栈支持时的 AA 请求消息
配置后 dualstack-support ,发送到 SAE 的 Diameter AA 请求 (AAR) 配置消息包括:
当前活动网络系列以及正在激活的网络系列的 IPv4 或 IPv6 地址。当 AAR 消息中未包含任一地址类型时,则表示相应的网络家族未处于活动状态,并且在发送请求时未激活。
对于 IPv4 寻址,以下 Diameter AVP 在用户的会话数据库条目中可用:
帧 IP 地址 (AVP 8)
帧 IP-网络掩码 (AVP 9)
对于 IPv6 寻址,以下 Diameter AVP 和瞻博网络 Diameter AVP(如果在订阅者的会话数据库条目中可用):
帧 IPv6 地址 (AVP 168)
成帧 IPv6 前缀 (AVP 97)
委托 IPv6 前缀 (AVP 123)
瞻博网络-IPv6-NDRA-前缀 (AVP 2200)
瞻博网络帧 IPv6 网络掩码 (AVP 2201)
以下瞻博网络 Diameter AVP(如果在订阅者的会话数据库条目中可用):
瞻博网络代理电路 ID (AVP 2202)
瞻博网络远程电路 ID (AVP 2203)
瞻博网络请求类型 AVP (2636:2050) 中的以下新值之一,用于在非活动网络系列激活或现有网络系列停用时通知 SAE:
4—NETWORK_FAMILY_ACTIVATE
5—NETWORK_FAMILY_DEACTIVATE
通知中仅包含被激活或停用的家庭的地址。
注意:对于第一个激活的网络家族,不会发送激活通知。不会为最后停用的族发送停用通知。
当 AAR 消息用于同步和恢复时,仅对该订阅者的当前活动地址族进行寻址。AAR 消息不包括已停用家庭的地址。
配置双堆栈支持时的计费请求消息
配置后 dualstack-support ,Diameter 记帐请求 (ACR) 消息始终同时包含 IPv4 和 IPv6 统计信息,即使该值为零也是如此。
统计信息将针对订阅者会话的生存期报告,而不仅仅是针对网络家族会话的生存期报告。当其中一个网络家族处于非活动状态时,JSRC 将继续使用活动网络家族的当前统计信息报告非活动家族的最后一个统计信息值。如果停用的族再次变为活动状态,则新族统计信息将添加到现有值中。
以下瞻博网络 Diameter AVP(IANA 企业编号 2636)用于报告 IPv6 统计信息:
Accounting-IPv6-Input-Octets 属性 (2204)
Accounting-IPv6-Output-Octets 属性 (2205)
accounting-IPv6-Input-Pkts 属性 (2206)
accounting-IPv6-output-pkts 属性 (2207)
如果未配置这些 IPv6 AVP,则 dualstack-support 不会使用。在这种情况下,IPv6 统计信息将与相应 IPv4 AVP 中的 IPv4 统计信息进行聚合。
配置双堆栈支持时的网络系列激活和停用通知
以下序列描述了激活网络家族时的客户端和身份验证进程(守护程序)行为:
订阅者启动登录。
路由器上的客户端应用(如 PPP 或 DHCP)向 authd 发送身份验证和授权 (AA) 请求。
authd 进程按配置发送 AA 请求,并将响应返回给客户端应用程序,然后客户端应用程序将响应返回给订阅者。
客户端应用程序使用客户端动态配置文件中的信息在路由器上构建和配置用户接口。
客户端应用程序向 authd 发送第一个网络家族激活请求。
authd 进程向 SAE 发送配置请求,其中包含正在激活的家族的地址。由于 authd 会发送第一个家庭激活的配置请求,因此没有理由同时发送家庭激活通知。
SAE 将返回 authd 为订阅者激活的策略(服务)。
authd 进程会激活这些服务,并向客户端应用程序发送家族激活 ACK 响应。
客户端应用程序可能会为其他网络系列发送家族激活请求。
authd 进程会激活该特定网络家族的所有服务,然后向客户端应用发送家族激活 ACK 响应。
然后,authd 进程会向 SAE 发送包含第二个家族地址的家族激活通知。AAR 消息包括值为 4 (NETWORK_FAMILY_ACTIVATE) 的 瞻博网络-Request-Type AVP (2636:2050)。通知仅包含此家族的地址。
对于停用,仅当两个网络系列都处于活动状态时,客户端应用程序才会发送家族停用请求。authd 进程会根据请求停用网络家族(以及任何关联服务),并向 SAE 发送包含该家族地址的家族停用通知。AAR 消息包括值为 5 (NETWORK_FAMILY_DEACTIVATE) 的 瞻博网络-Request-Type AVP (2636:2050)。通知仅包含此家族的地址。
但是,当最后一个网络家族停用时,客户端会发送终止请求,这会导致 authd 向 SAE 发送 JSRC-Acct-Stop 消息。因此,无需 authd 即可发送家庭停用通知。
JSRC 配置概述
您可以将 JSRC 客户端应用配置为使用会话和资源控制 (SRC),以集中管理订阅者和服务。JSRC 向远程 SRC 对等方 (SAE) 请求地址和服务授权,按照 SAE 的指定激活和停用服务,按照 SAE 的指定注销订阅者,并与 SAE 同步订阅者状态和服务信息。
要配置 JSRC:
配置 JSRC 分区
JSRC 在称为分区的特定逻辑系统:路由实例上下文中工作。
目前,仅支持单个分区;您必须在默认逻辑系统:路由实例上下文中对其进行配置。
配置 JSRC 分区之前,请执行以下任务:
在层次结构级别配置
[edit diameter]Diameter 实例。请参阅 配置 Diameter。
JSRC 分区的配置包括命名分区,然后将 Diameter 实例、SAE 主机名和 SAE 领域与分区相关联。
要配置 JSRC 分区,请执行以下作:
将分区分配给 JSRC
您必须将配置的 JSRC 分区与要配置的 JSRC 实例相关联。
在将分区分配给 JSRC 之前,请执行以下任务:
配置 JSRC 分区。请参阅 配置 JSRC 分区
要分配 JSRC 分区,请执行以下作:
指定分区名称。
[edit jsrc] user@host# set jsrc-partition partition1
使用 JSRC 授权订阅者
您可以将 AAA 配置为在 SRC 环境中使用 JSRC,以便在 AAA 验证 DHCP 订阅者是否可以访问路由器时向 SAE 请求授权。配置 JSRC 授权后,AAA 会忽略任何配置的身份验证顺序设置。
配置 JSRC 授权之前,请执行以下任务:
在层次结构级别创建
[edit access profile]订阅者访问配置文件。在 DHCP 本地服务器或 DHCP 中继的身份验证配置中使用语句定义
username-include用户名。
要配置 JSRC 授权:
在配置文件中指定
jsrc作为授权方法。[edit access profile dhcpsub1] user@host# set authorization-order jsrc
使用 JSRC 配置订阅者
您可以将 AAA 配置为在 SRC 环境中使用 JSRC,以便向 SAE 请求调配,从而为经过身份验证的用户实例化服务。
在为订阅者配置 JSRC 配置之前,请执行以下任务:
在层次结构级别创建
[edit access profile]订阅者访问配置文件。
要配置 JSRC 配置,请执行以下作:
在配置文件中指定
jsrc作为调配方法。[edit access profile dhcpsub1] user@host# set provisioning-order jsrc
为双堆栈订阅者配置 JSRC
默认情况下,双堆栈用户的 JSRC 配置会将 DHCPv4 和 DHCPv6 堆栈视为单个用户。远程 SRC 对等方 (SAE) 不会获知是否只有一个家族或两个家族处于活动状态。统计数据报告为两个家庭的总和,而不是按家庭分隔。
从 Junos OS 18.1R1 版开始,您可以配置双堆栈支持,以便 JSRC 使用单个 JSRC 会话报告有关给定订阅者的单独堆栈的信息。
当您为 JSRC 配置双堆栈支持时,发送到 SAE 的 Diameter AA 请求 (AAR) 配置消息包括 Diameter AVP(IANA 企业编号 2636),以传达会话数据库中可用的 IPv4 和 IPv6 寻址信息。
对于 IPv4,这包括以下 AVP:
帧 IP 地址 (AVP 8)
帧 IP-网络掩码 (AVP 9)
对于 IPv6,这包括以下 AVP:
帧 IPv6 地址 (AVP 168)
成帧 IPv6 前缀 (AVP 97)
委托 IPv6 前缀 (AVP 123)
瞻博网络-IPv6-NDRA-前缀 (AVP 2200)
瞻博网络帧 IPv6 网络掩码 (AVP 2201)
如果会话数据库中存在接入线路,JSRC 还会通过瞻博网络代理电路 ID (AVP 2202) 和瞻博网络远程电路 ID (AVP 2203) 来包含有关瞻博网络的信息。
激活第一个网络家族时,JSRC 仅在初始请求中将该家族的地址发送到配置服务器。激活第二个网络家族时,AAR 消息将包含值为 4 的瞻博网络请求类型 AVP (2050),表示家族已激活。当倒数第二个家族停用时,将发送值为 5 的相同 AVP 以表示停用。
要配置 JSRC 配置以按家族报告双堆栈订阅者信息:
启用双堆栈支持。
[edit jsrc] user@host# set dualstack-support
从 JSRC 的 Diameter 消息中排除 AVP
从 Junos OS 14.2 版开始,您可以将路由器配置为从 JSRC 发送到 SAE 的 Diameter 消息中排除 AVP。
目前,仅支持用户名 (1) AVP。
要将 JSRC 配置为在 Diameter 消息中排除 AVP,请执行以下作:
使用 JSRC 进行服务计费
服务会话表示针对特定订阅者的服务。服务会话存在于订阅者会话的环境中。JSRC 根据 SAE(远程 SRC 对等方)的指定激活和停用服务。JSRC 可以按数量收集和报告服务计费数据。JSRC 记账要求配置经典防火墙过滤器或快速更新防火墙过滤器来计算服务数据包 — 服务数据包信息提供流量统计信息。
JSRC 仅支持对服务会话进行卷统计信息核算。不支持时间统计和订阅者计费。
JSRC 服务计费支持基于服务激活/停用的计费和临时计费。
服务激活/停用计费 — 启用计费后,JSRC 在激活服务时向 SAE 发送计费开始消息,并在停用服务时向 SAE 发送计费停止消息。启动消息将启动计费会话并提供有关服务会话的初始信息。停止消息将终止计费会话并报告最终(累积)计费数据。
临时计费 — 为服务会话启用临时计费后,JSRC 会以指定的时间间隔向 SAE 发送临时计费消息,以报告当时可用的累计计费信息。如果未为相应的服务会话启用核算,则忽略临时核算。
服务的 JSRC 记账从服务激活时开始,并在服务处于活动状态时保持有效。SAE 使用瞻博网络策略安装 AVP(AVP 代码 2020)指定要为订阅者激活的服务(策略)。当此 AVP 包含瞻博网络-获取-收集 AVP(AVP 代码 2054)时,JSRC 将启动服务的服务激活/停用核算。
当瞻博网络策略安装 AVP 包含 Acct-Interim-Interval AVP(AVP 代码 85)时,JSRC 将启动临时核算。在这种情况下,JSRC 会以 AVP 中指定的时间间隔(在 600 到 86,400 秒的范围内)更新记帐值。系统会报告双堆栈情况下的聚合计数器。
JSRC 和 SAE 交换 Diameter Accounting-Request (ACR) 和 Accounting-Answer (ACA) 消息来传达计费数据。两条消息均包含瞻博网络 Acct-Record AVP(AVP 代码 2053),用于识别请求其计费信息的服务。
JSRC 发送 ACR 消息以向 SAE 报告记帐数据。ACR 消息包括会计记录类型 AVP(AVP 代码 480),用于指定它要发送的会计记录类型。激活服务时,此 AVP 的值为 START_RECORD。停用服务时,其值为 STOP_RECORD。对于临时记帐,ACR 消息按指定的记帐间隔发送,AVP 的值为 INTERIM_RECORD。
除了指定记账记录类型外,ACR 消息还包括用于指定所需统计信息的标准 RADIUS 属性:acct-input-octets [42]、acct-output-octets [43]、acct-input-packets [47]、acct-output-packets [48] 和 acct-session-time [46]。
SAE 将 ACA 消息返回给 JSRC,以确认收到 ACR 消息。
访问配置文件可指定订阅者访问身份验证和计费参数。通过 JSRC 激活服务时,会计报告可以发送至 SAE 或 RADIUS。默认配置将报告发送至 SAE;您还可以通过在访问配置文件中包含语 service accounting-order activation-protocol 句来进行配置。要将报告改为发送至 RADIUS 服务器,请在访问配置文件中包含该 service accounting-order radius 语句。
当服务通过 RADIUS(而不是通过 JSRC)激活时,服务会话的计数报告将发送到 RADIUS 服务器。
使用 JSRC 配置服务计费
除了此处显示的配置外,JSRC 服务计费的网络上下文还包括用于对统计信息进行计数的防火墙过滤器配置、Diameter、JSRC、订阅者服务、RADIUS 和 SRC。
您可以将 JSRC 配置为报告服务会话的记帐统计信息。
要通过 JSRC 配置服务计费,请执行以下作:
变更历史表
是否支持某项功能取决于您使用的平台和版本。使用 功能资源管理器 确定您的平台是否支持某个功能。
[edit jsrc]该
dualstack-support语句,以便为双堆栈订阅者配置 JSRC 配置,以便它使用单个 JSRC 会话报告有关给定订阅者的单独堆栈的信息。