Diameter Base 协议
Diameter 基本协议概述
Diameter 协议在 RFC 3588,Diameter Base 协议中定义,它提供了一种更灵活、更可扩展的 RADIUS 替代协议。Diameter 基本协议为在不同 Diameter 实例中运行的一个或多个应用程序(也称为功能)提供基本服务。单个应用程序提供扩展的 AAA 功能。使用 Diameter 的应用程序包括 Gx-Plus、JSRC、NASREQ、PTSP 和 S6a。从 Junos OS 13.1R1 版开始,不再支持数据包触发的订阅者和策略控制 (PTSP) 功能。
Diameter 对等方通过可靠的 TCP 传输层连接进行通信,通过交换 Diameter 消息,通过标准 Diameter AVP 和特定于应用程序的 AVP 来传达状态、请求和确认。Diameter 传输层配置基于 Diameter 网络元素 (DNE);每个 Diameter 实例支持多个 DNE。目前仅支持预定义 的主 Diameter 实例,但您可以为许多主 Diameter 实例值配置备用值。
每个 DNE 都包含一个优先级对等方列表和一组路由,用于定义流量的转发方式。每个路由都会将一个目标与一个函数(应用程序)、一个函数分区和一个指标相关联。当应用程序向路由目标发送消息时,将检查 Diameter 协议实例中的所有路由是否匹配。选择到目标的最佳路由后,消息会通过包括该路由的 DNE 进行转发。
在给定的 DNE 和不同 DNE 中,可以存在通往同一目标的多个路由。如果多个路由与转发请求匹配,则按如下方式选择最佳路由:
选择指标最低的路由。
如果并列,则选择规格分数最高的路由。
如果再次并列,则按词典顺序比较DRE的名称。选择 DNE 中值最低的路由。例如,dne-austin 的值低于 dne-boston。
如果路由绑定在同一 DNE 内,则按词典顺序比较路由名称。将选择值最低的路由。
路由的规格分数默认为 0。分数被添加到分数中,如下所示:
如果目标域与请求匹配,请添加 1。
如果目标主机与请求匹配,请添加 2。
如果函数与请求匹配,请添加 3。
如果功能分区与请求匹配,请添加 4。
在给定的 DNE 和不同 DNE 中,可以存在通往同一目标的多个路由。如果有多个路由与转发请求匹配,Diameter 会按如下方式选择最佳路由:
Diameter 会比较路由的指标,并选择指标最低的路由。
如果多个路由的指标都相同,Diameter 将选择最符合条件的路由。Diameter 评估路由的多个属性,以确定反映每个路由与请求匹配的确切程度。默认情况下,路由的分数为 0。分数被添加到分数中,如下所示:
如果目标域与请求匹配,请添加 1。
如果目标主机与请求匹配,请添加 2。
如果函数与请求匹配,请添加 3。
如果功能分区与请求匹配,请添加 4。
如果多个路由具有同等条件,Diameter 将按词典顺序比较 DNE 的名称,并选择 DNE 中值最低的路由。例如,dne-austin 的值低于 dne-boston。
如果路由绑定在同一 DNE 内,Diameter 将按词典顺序比较路由名称,并选择值最低的路由。
当任何 DNE 的状态发生变化时,将重新评估所有目标的路由查找。将根据需要重新路由到路由目标的所有未完成消息,或丢弃。
要配置 Diameter 网络元素,请在 network-element
层级添加语句 [edit diameter]
,然后在层级添加 route
语句 [edit diameter network-element element-name forwarding]
。
要为 DNE 配置路由,请在 destination
层级添加(可选) function
(可选)和 metric
语句 [edit diameter network-element element-name forwarding route dne-route-name]
。
通过在层次结构级别包含一个或多个 peer
语句 [edit diameter network-element element-name]
,指定与 DNE 关联的 Diameter 对等方。
在层次结构级别使用 priority
语句 [edit diameter network-element element-name peer peer-name]
为每个对等方设置优先级。
Diameter 要求您配置有关源节点的信息;这是 Diameter 实例发起 Diameter 的端点节点在 host
层次结构级别包括 and realm
语句 [edit diameter]
,以配置 Diameter 源。
您可以选择配置一个或多个 传输 ,以指定传输层连接的源(本地)地址。要配置 Diameter 传输,请在 transport
层级添加语句 [edit diameter]
。然后,在 address
层次结构级别包含语句 [edit diameter transport transport-name]
。
您可以选择在层次结构级别包含 logical-system
and routing-instance
语句 [edit diameter transport transport-name]
来为连接指定逻辑系统和路由实例。默认情况下,Diameter 使用默认逻辑系统和默认路由实例(使用主 inet.0 路由表)。传输连接的逻辑系统和路由实例必须与对等方匹配,否则将报告配置错误。
每个 Diameter 对等方都由一个名称指定。对等方属性包括此对等方的活动连接使用的地址和目标 TCP 端口。要配置 Diameter 对等方,请在 peer
层次结构级别添加语句 [edit diameter]
,然后在层次结构级别添加 address
and connect-actively
语句 [edit diameter peer peer-name]
。
要配置活动连接,请在 port
层次结构级别添加和 transport
语句 [edit diameter peer peer-name connect-actively]
。分配的传输标识传输层源地址,用于与对等方建立活动连接。 transport
语句。
使用 Diameter 的优势
Diameter 以比 RADIUS 低得多的频率报告使用信息,从而降低了网络和服务器的负载。RADIUS 涉及定期更新,不受使用更改影响。借助 Diameter 应用程序(如 Gx),您可以设置阈值,并将从路由器推送到 PCRF 的使用统计信息进行关联。然后,PCRF 可以对服务和成本进行适当的调整。
无线服务和充电通常通过 Diameter 应用执行,但有线服务通常使用基于 RADIUS 的基础架构。同时提供有线和无线服务的客户可以将有线运维迁移到基于 Diameter 的现有无线基础架构,从而降低维护独立基础架构的复杂性和成本。
在 Diameter 上运行的应用程序往往是有状态的(有些可能是有状态的,例如 NASREQ),而 RADIUS 则不是有状态的。
多种应用程序协议可以在 Diameter 上运行,例如 NASREQ、Gx、Gy、JSRC 和 S6a。
属性空间比 RADIUS 更大,这使得标准和供应商特定的属性 (AVP) 数量比 RADIUS 更多。Diameter 还支持 RADIUS 标准属性,为其保留 AVP 1 到 255。
Diameter 应用程序使用的消息
Junos OS 支持以下 Diameter 应用程序:
JSRC — 瞻博网络 Diameter 应用程序,在 IANA (http://www.iana.org) 中注册为瞻博网络 Policy-Control-JSRC,ID 为 16777244。它与 SAE(远程 SRC 对等方)通信。
PTSP — 瞻博网络 Diameter 应用程序,在 IANA (http://www.iana.org) 中注册为瞻博网络 JGx,ID 为 16777273。它与 SAE(远程 SRC 对等方)通信。从 Junos OS 13.1R1 版开始,不再支持数据包触发的订阅者和策略控制 (PTSP) 功能。
Gx-Plus — 扩展了 3GPP Gx 接口以用于有线用例的应用。3GPP Gx 在 IANA (http://www.iana.org) 中注册。它与 PCRF 通信。
如果路由器无法使用消息中包含的特定 AVP 的数据,则 Gx-Plus 只需在发送至 PCRF 的消息中省略 AVP。如果 PCRF 确定信息不足,无法确定,它可以拒绝请求。Diameter 答案消息包括结果代码 AVP (AVP 268);此 AVP 的值向请求方传达成功、失败或错误。
NASREQ — RFC 7155 中定义的基于 Diameter 的身份验证、授权和计费协议。Junos OS 仅支持身份验证和授权。
瞻博网络还在 IANA (http://www.iana.org 中注册了瞻博网络-Session-恢复应用程序 (16777296) 和两个新的命令代码(瞻博网络-Session-Events 8388628,瞻博网络-Session-Discovery 8388629)。
表 1 介绍了应用程序使用的 Diameter 消息。
Diameter 消息 |
代码 |
应用 |
描述 |
---|---|---|---|
AA 请求 (AAR) |
265 |
JSRC、NASREQ、PTSP |
新订阅者登录时或在 SAE-应用程序同步期间从应用程序向 SAE 请求。请求可以是三种类型之一:地址授权、调配请求或同步。 |
AA 答案 (AAA) |
265 |
JSRC、NASREQ、PTSP |
SAE 对应用程序的 AA-Request 消息的响应。 |
中止会话请求 (ASR) |
274 |
JSRC、NASREQ、PTSP |
从 SAE 到应用程序的请求,以退出已配置订阅者。 |
中止会话答案 (ASA) |
274 |
JSRC、NASREQ、PTSP |
从应用程序响应 SAE 的 ASR 消息。如果应用程序向 AAA 发送退出请求,则 ASA 消息将包含成功通知 (ACK)。如果退出失败,ASA 消息将包含故障通知 (NAK)。 |
计费请求 (ACR) |
271 |
JSRC、PTSP |
从 SAE 向应用程序请求,或从应用程序请求 SAE 获取统计信息。 |
会计 -答案 (ACA) |
271 |
JSRC、PTSP |
响应 ACR 消息,提供每个已安装策略(服务)的统计信息。 |
功能交换请求 (CER) |
257 |
Gx-Plus |
当对等方建立传输连接时,从一个对等方到另一个对等方的请求;启动功能协商。CER 公布了对等方的身份和功能,例如支持的应用程序和安全机制。 |
功能交换答案 (CEA) |
257 |
Gx-Plus |
回复 CER 消息,宣布此对等方的功能。如果此对等方与发送 CER 的对等方没有共通的功能,则必须将结果代码 AVP 设置为DIAMETER_NO_COMMON_APPLICATION,并应丢弃连接。否则,CEA 会详细地在对等方之间建立通用功能,并使他们能够进一步建立通信。 |
信用控制请求 (CCR) |
272 |
Gx-Plus |
在订阅者登录、退出或更新时从 Gx-Plus 向 PCRF 请求。 当订阅者登录并请求 AAA 激活订阅者的会话时,将发送初始请求 (CCR-I)。如果 10 秒内未从 PCRF 收到 CCA-I 消息,Gx-Plus 会重试 CCR-I 消息。CCR-I 消息最多可重新尝试 3 次。 CCR-I 消息包括 Diameter AVP 订阅 Id 属性 (443),并将“订阅 ID 类型 Diameter AVP”子属性 (450) 设置为 4 (END_USER_PRIVATE) 和“订阅 Id-数据 Diameter AVP”子属性 (444) 设置为 如果发送 4 条 CCR-I 消息(第一条消息加 3 次重试)后未收到 CCA-I,则 Gx-Plus 开始发送 CCR-N 消息。在从 PCRF 收到成功或失败响应之前,将永远重试 CCR-N 消息。CCR-N 消息包括设置为本地的 Juniper-Provisioning-Source AVP(AVP 代码 2101),以通知 PCRF 路由器有权就订阅者服务激活做出本地决策。 当达到使用阈值时,将发送更新请求 (CCR-U) 消息。CCR-U 报告所有统计信息的实际使用情况。PCRF 可能会返回包括新的监控阈值、服务激活、服务停用的 CCA-U 消息。 如果 CCR-U 报告上的 PCRF 超时,路由器会将阈值默认设置为 10 分钟。当阈值的变化小于最小值时,将调整这些值。例如,持续时间的最小增加为 10 分钟。 此外,还会发送一个 CCR-U,以报告服务激活或停用的状态。当受监控的服务与订阅者退出单独停用时,CCR-U 表示该服务不再处于活动状态,并包括该服务的使用数据。 订阅者退出时会发送终止请求 (CCR-T),以通知 PCRF 已配置订阅者会话正在终止。永重尝试 CCR-T 消息,直到从 PCRF 收到成功响应。 当受监控的服务作为订阅者退出的一部分停用时,CCR-T 消息会包含该服务的受监控使用数据,例如使用的字节。 |
信用控制答案 (CCA) |
272 |
Gx-Plus |
从 PCRF 回复 CCR 消息。 作为 CCR-I 的响应,PCRF 会返回一条 CCA-I 消息,根据订阅者是否有足够的信用额度来提供所请求的服务,该消息指示成功(DIAMETER_SUCCESS)还是失败(已拒绝 DIAMETER 授权)。将忽略所有其他响应,并重新尝试 CCR-I。 响应 CCR-T 时,PCRF 会返回一条 CCA-T 消息,表示结果代码 AVP 中成功终止,值为 2001(DIAMETER SUCCESS)。将忽略所有其他响应,并重新尝试 CCR-T。 CCA-N 是对 CCR-N 的响应。 |
瞻博网络 Session-Discovery-Request (JSDR) |
8388629 |
Gx-Plus |
从 PCRF 到 Gx-Plus 的发现请求,以发现路由器上的订阅者会话。 |
瞻博网络-Session-Discovery-Answer (JSDA) |
8388629 |
Gx-Plus |
从路由器回复 JSDR 消息;介绍了会话信息。结果代码 AVP 包括以下值之一或错误值:
|
瞻博网络 Session-Event-Request (JSER) |
8388628 |
Gx-Plus |
从路由器到 PCRF 请求路由器上发生的事件。通过包括瞻博网络事件类型 AVP(AVP 代码 2103)来通知路由器上某些事件的 PCRF。报告的事件包括冷或暖启动、显式发现请求、大量配置更改、PCRF 的无响应或错误响应以及容错资源耗尽。 |
瞻博网络-Session-Event-答案 (JSEA) |
8388628 |
Gx-Plus |
从 PCRF 回复 JSER 消息。 |
推送配置文件请求 (PPR) |
288 |
JSRC、PTSP |
从 SAE 到路由器的请求,为订阅者激活或停用服务。 |
推送配置文件答案 (PPA) |
288 |
JSRC、PTSP |
从路由器响应 SAE 的 PPR 消息。包括请求中的每个服务激活或停用命令的成功或失败通知。 |
重新验证请求 (RAR) |
258 |
Gx-Plus |
从 PCRF 到路由器的审计请求,以确定特定订阅者是否仍然存在。 当在 RAR 中收到监控键和阈值时,路由器会更新这些值。 |
重新验证答案 (RAA) |
258 |
Gx-Plus |
从路由器回复 RAR 消息;指示订阅者是否处于活动状态。结果代码 AVP 包含以下值之一:
|
会话资源查询 (SRQ) |
277 |
JSRC、PTSP |
请求从路由器到 SAE,或从 SAE 到路由器,从而在路由器和 SAE 之间启动同步。 |
会话资源回复 (SRR) |
277 |
JSRC、PTSP |
响应 SRQ 消息以开始同步。 |
会话终止请求 (STR) |
275 |
JSRC、NASREQ、PTSP |
从路由器到 SAE 的通知,表明已配置的用户已退出。 |
会话终止-答案 (STA) |
275 |
JSRC、NASREQ、PTSP |
SAE 对路由器的 STR 消息的响应。包括成功或失败通知。 |
Diameter AVP 和 Diameter 应用
Diameter 通过在 Diameter 消息中包含各种属性-值对 (AFP) 来传达信息,其方式与 RADIUS 在标准 IETF RADIUS 属性和供应商特定的属性 (VSA) 中传达信息一样。 表 2 列出了与支持的 Diameter 应用程序交互中使用的标准 Diameter AVP。Diameter 为 Diameter 中实施的 RADIUS 属性保留 AVP 属性编号 0 到 255;Diameter 属性编号与相应的标准 RADIUS 属性相同。编号高于 255 的属性没有相应的标准 RADIUS 属性。从 Junos OS 13.1R1 版开始,不再支持数据包触发的订阅者和策略控制 (PTSP) 功能。
属性编号 |
Diameter 高级副总裁 |
应用 |
描述 |
类型 |
---|---|---|---|---|
1 |
用户名 |
Gx-Plus、JSRC、NASREQ |
指定用户名。对于由 AAA 管理的订阅者,值为订阅者的登录名称。对于静态接口,值是接口名称,用作订阅者的登录名称。 |
UTF8 字符串 |
2 |
用户密码 |
NASREQ |
指定要进行身份验证的用户密码或多轮身份验证交换中的用户输入。 |
八位位点字符串 |
4 |
NAS-IP 地址 |
NASREQ |
指定对用户进行验证的 NAS 的 IP 地址。 |
IP 地址 |
6 |
服务类型 |
NASREQ |
指定用户请求的服务类型或要提供的服务类型。身份验证、授权请求或响应中可能存在一个此类 AVP。实施所有这些服务类型不需要 NAS。 |
枚举 |
8 |
帧 IP 地址 |
Gx-Plus、JSRC、NASREQ、PTSP |
标识为订阅者配置的 IPv4 地址。此值与 RADIUS 帧 IP 地址属性 [8] 相同。 |
八位位点字符串 |
9 |
帧-IP-Netmask |
NASREQ |
标识 IPv4 网络掩码的四个八位位位组。 |
八位位点字符串 |
11 |
过滤器 ID |
NASREQ |
指定用户的过滤器列表的名称。它旨在实现人类可读。授权答案消息中可能会发送 0 个或多个 Filter-Id AVP。 |
UTF8 字符串 |
12 |
帧 MTU |
NASREQ |
指定为用户配置的最大传输单元 (MTU),而用户无法通过其他某种方式(如 PPP)进行协商。 |
未签名32 |
22 |
帧路由 |
NASREQ |
指定 7 位 US-ASCII 路由信息。 |
UTF8 字符串 |
25 |
类 |
NASREQ |
将状态信息从 Diameter 服务器返回到接入设备。 |
八位位点字符串 |
27 |
会话超时 |
NASREQ |
指定在会话终止前向用户提供服务的最大秒数。 |
未签名32 |
28 |
空闲超时 |
NASREQ |
指定在会话终止之前或发出提示之前,用户允许的最大连续空闲连接秒数。 |
未签名32 |
32 |
NAS 标识符 |
NASREQ |
指定向用户提供服务的 NAS 的身份。 |
DiamIdent |
44 |
Acct-Session-ID |
NASREQ |
指定 RADIUS Acct-Session-ID 属性的内容。 |
八位位点字符串 |
50 |
Acct-Multi-Session-ID |
NASREQ |
链接多个相关计费会话,其中每个会话都有一个唯一的会话 ID,但相同的 Acct-Multi-Session-Id AVP。 |
UTF8 字符串 |
55 |
事件时间戳 |
Gx-Plus、JSRC、PTSP |
指定触发消息的事件时间,包括此 AVP。自 1900 年 1 月 1 日 00:00 UTC 以来,时间以秒为单位。 |
时间 |
60 |
CHAP 挑战赛 |
NASREQ |
指定 NAS 发送至 CHAP 对等方的 PPP 质询握手身份验证协议 (CHAP) 质询。 |
八位位点字符串 |
61 |
NAS 端口类型 |
NASREQ |
指定 NAS 对用户进行验证的端口类型。 |
枚举 |
62 |
端口限制 |
NASREQ |
指定 NAS 向用户提供的最大端口数。 |
未签名32 |
78 |
配置令牌 |
NASREQ |
指示使用的用户配置文件类型。 |
八位位点字符串 |
85 |
临时间隔 |
JSRC、PTSP |
指定此会话每次中期核算更新之间的秒数。 路由器使用以下准则进行临时核算:
|
未签名32 |
87 |
NAS 端口 ID |
Gx-Plus、JSRC、NASREQ、PTSP |
标识用于对用户进行身份验证的 NAS 端口。此值与 RADIUS NAS 端口 ID 属性 [87] 相同。 |
UTF8 字符串 |
88 |
帧池 |
NASREQ |
指定用于为用户分配地址的已分配地址池的名称。如果 NAS 不支持多个地址池,则 NAS 将忽略此 AVP。地址池通常用于 IP 地址,但如果 NAS 支持这些协议池,则可以用于其他协议。 |
八位位点字符串 |
97 |
帧 IPv6 前缀 |
NASREQ |
指定为用户配置的 IPv6 前缀。 |
八位位点字符串 |
99 |
帧 IPv6 路由 |
NASREQ |
指定为 NAS 上的用户配置的 US-ASCII 路由信息。 |
UTF8 字符串 |
100 |
帧 IPv6-池 |
NASREQ |
指定用于为用户分配 IPv6 前缀的已分配池的名称。如果访问设备不支持多个前缀池,则必须忽略此 AVP。 |
八位位点字符串 |
258 |
Auth-Application-ID |
NASREQ |
指定对应用程序的身份验证和授权部分的支持。 |
未签名32 |
263 |
会话 ID |
Gx-Plus、JSRC、NASREQ、PTSP |
指定订阅者会话标识符。路由器分配的值以唯一标识订阅者会话。 |
UTF8 字符串 |
264 |
源主机 |
NASREQ |
指定发出 Diameter 消息的主机。 |
DiamIdent |
268 |
结果代码 |
Gx-Plus、JSRC、NASREQ、PTSP |
指示请求是否已成功完成。如果请求失败,请提供一个错误消息。 Diameter 认可以下等级:
以数字 6-9 或 0 开头的无法识别的类将被视为永久故障。 JSRC 和 PTSP 支持以下值:所有非成功值均被视为永久故障:
JSRC 还支持以下值,该值被视为永久故障:
Gx-Plus 支持 PCRF 反应中的错误值如下:当收到这些值或者响应格式不正确或无法识别时,将重试请求。
|
未签名32 |
269 |
产品名称 |
Gx-Plus |
为功能交换请求 (CER) 和功能交换答案 (CEA) 消息中的“产品名称”字段指定值。除非在 如果更改产品名称,路由器会断开与 Diameter 对等方的所有现有连接,并使用新名称重新连接。 |
UTF8 字符串 |
277 |
Auth-Session 状态 |
JSRC、NASREQ、PTSP |
指示是否保持 AAA 会话状态。
|
枚举 |
279 |
失败的 AVP |
NASREQ |
如果由于特定 AVP 中出现错误信息而导致请求被拒绝或未完全处理,指定调试信息。结果代码 AVP 的值提供有关失败 AVP 的原因的信息。 |
分组 |
281 |
错误消息 |
NASREQ |
指定可能附带结果代码 AVP 的人读错误消息。错误消息 AVP 无意实时有用;不希望网络实体解析消息。 |
UTF8 字符串 |
283 |
目标领域 |
NASREQ |
指定 Diameter 消息路由到的 Diameter 域。 |
DiamIdent |
293 |
目标主机 |
NASREQ |
指定 Diamter 消息路由到的主机。 |
DiamIdent |
295 |
终止原因 |
JSRC、NASREQ、PTSP |
指示在访问设备上终止会话的原因。
|
枚举 |
296 |
源域 |
NASREQ |
标识 Diameter 消息发起者的 Diameter 域。 |
DiamIdent |
402 |
CHAP-Auth |
NASREQ |
指定使用 CHAP 对用户进行身份验证所需的信息。 |
分组 |
415 |
CC 请求编号 |
Gx-Plus |
识别会话中的请求。会话 ID 和 CC 请求类型组合具有全局唯一性。会话过程中,每个请求的编号都会递增。发生路由器高可用性事件时,该编号将重置。 |
未签名32 |
416 |
CC 请求类型 |
Gx-Plus |
指定信用控制请求的类型:
|
枚举 |
431 |
授权服务单元 |
Gx-Plus |
包含客户端指定的以下一个或多个请求单元可以提供的金额:CC-Input-八位位位组、CC-输出八位位位组、CC-Time 或 CC-Total-八位位位位组。包含在 CCA-I 消息中,可能包含在 CCA-U 消息中。 |
分组 |
443 |
订阅 ID |
Gx-Plus |
包含以下子属性,这些子属性不会单独出现:
|
分组 |
446 |
二手服务单元 |
Gx-Plus |
包含实际使用的所请求单位的数量;服务激活时从 4 点测得这些单元是客户端指定的以下请求单元中的一个或多个:CC-输入八位位组、CC-输出八位位位组、CC-Time 或 CC-Total-八位位位组。包含在 CCR-U 消息中。 |
分组 |
480 |
计费记录类型 |
JSRC、PTSP |
指定服务计费的帐户记录类型:
|
枚举 |
1001 |
充电规则安装 |
Gx-Plus、NASREQ |
请求安装由随附的收费规则 AVP (1005) 指定的规则(激活服务)。此 AVP 的供应商 ID 为 10415 (3GPP)。 |
分组 |
1002 |
收费规则移除 |
Gx-Plus |
请求删除随附的收费规则 AVP (1005) 指定的规则(停用服务)。此 AVP 的供应商 ID 为 10415 (3GPP)。 |
分组 |
1005 |
收费规则名称 |
Gx-Plus、NASREQ |
指定已安装、修改或删除的特定规则的名称。 |
八位位点字符串 |
1066 |
监控-密钥 |
Gx-Plus |
指定要使用哪一个监控结构。包含在“收费规则安装”AVP (1001) 中。MX 路由器不支持跨服务的统计信息聚合,因此对于每项服务,此 AVP 的值必须不同。此 AVP 的供应商 ID 为 10415 (3GPP)。 |
八位位点字符串 |
1067 |
使用情况监控-信息 |
Gx-Plus |
设置监控阈值。当服务统计信息与至少一个授权的服务值匹配时,路由器会将包含当前统计信息的 CCR-U 报告发送至 PCRF。包括监控密钥 AVP (1066) 和授权服务单元 AVP (431)。此 AVP 的供应商 ID 为 10415 (3GPP)。 |
分组 |
除了标准 Diameter AVP 外,还使用瞻博网络 AVP。这些 AVP 的供应商 ID(企业编号)为 2636 或 4874,在概念上与 RADIUS 供应商特定的属性 (VSA) 相似。 表 3 列出了支持的 Diameter 应用程序使用的瞻博网络 AVP。
属性编号 |
Diameter 高级副总裁 |
供应商 ID |
应用 |
描述 |
类型 |
---|---|---|---|---|---|
213 |
接口集目标权重 |
4874 |
NASREQ |
为接口指定一个权重,以便将接口及其成员链路与聚合以太网成员链路关联起来,以实现目标分布。 |
未签名32 |
214 |
接口目标权重 |
4874 |
NASREQ |
指定接口的权重,以便将其与接口集相关联,从而与该接口集的聚合以太网成员链路相关联以实现目标分布。当某个接口集没有权重时,将使用第一个授权用户接口的接口权重值作为该接口集。 |
未签名32 |
2004 |
Juniper-Service-Bundle |
2636 |
JSRC |
指定服务捆绑包的名称。 |
八位位点字符串 |
2010 |
瞻博网络-DHCP 选项 |
2636 |
JSRC |
指定客户端的 DHCP 选项。 |
八位位点字符串 |
2011 |
瞻博网络-DHCP-GI-Address |
2636 |
JSRC |
指定 DHCP 中继代理的 IP 地址。 |
八位位点字符串 |
2020 |
Juniper-Policy-Install |
2636 |
JSRC、PTSP |
指定要为订阅者激活的策略。包括 Juniper-Policy-Name 和 Juniper-Policy-Definition |
分组 |
2021 |
Juniper-Policy-Name |
2636 |
JSRC、PTSP |
定义策略决策的名称。 |
八位位点字符串 |
2022 |
瞻博网络策略定义 |
2636 |
JSRC、PTSP |
定义策略决策。包括 Juniper-Policy-Name、Juniper-Template-Name 和 Juniper-替换。 |
分组 |
2023 |
Juniper-Template-name |
2636 |
JSRC、PTSP |
指定路由器定义的配置文件名称。PTSP 仅 |
UTF8 字符串 |
2024 |
瞻博网络置换 |
2636 |
JSRC、PTSP |
定义置换属性。包括瞻博网络替换名称和瞻博网络替换值。 |
八位位点字符串 |
2025 |
瞻博网络替换名称 |
2636 |
JSRC、PTSP |
定义要替换的变量的名称。 |
八位位点字符串 |
2026 |
瞻博网络置换价值 |
2636 |
JSRC、PTSP |
定义要替换的变量的值。 |
八位位点字符串 |
2027 |
Juniper-Policy-Remove |
2636 |
JSRC、PTSP |
指定要为订阅者停用的策略。包含 Juniper-Policy-Name。 |
分组 |
2035 |
瞻博网络策略失败 |
2636 |
JSRC、PTSP |
指定失败的策略激活或停用的名称。 |
八位位点字符串 |
2038 |
Juniper-Policy-Success |
2636 |
JSRC、PTSP |
指定成功的策略激活或停用的名称。 |
八位位点字符串 |
2046 |
瞻博网络逻辑系统 |
2636 |
JSRC、PTSP |
指定逻辑系统。 |
UTF8 字符串 |
2047 |
瞻博网络路由实例 |
2636 |
JSRC、PTSP |
指定路由实例。 |
UTF8 字符串 |
2048 |
瞻博网络-Jsrc-分区 |
2636 |
JSRC、PTSP |
为订阅者或请求指定逻辑系统和路由实例。包括 Juniper-Logical-System 和瞻博网络路由实例 |
分组 |
2050 |
瞻博网络请求类型 |
2636 |
JSRC、PTSP |
描述请求类型:
|
枚举 |
2051 |
瞻博网络同步类型 |
2636 |
JSRC、PTSP |
描述同步类型:
|
枚举 |
2052 |
瞻博网络同步 |
2636 |
JSRC、PTSP |
描述同步状态:
|
枚举 |
2053 |
Juniper-Acct-Record |
2636 |
JSRC、PTSP |
指定为此订阅者安装的每个策略的统计数据。包含 Juniper-Policy-Name。 |
分组 |
2054 |
Juniper-Acct-Collect |
2636 |
JSRC、PTSP |
指定当包含在 Juniper-Policy-Install AVP 中时,是否收集已安装的策略(服务)的计费数据:
|
枚举 |
2058 |
Juniper-State-ID |
2636 |
JSRC、PTSP |
指定分配给每个同步周期的值,以便确定要丢弃的消息。包含相同
注意:
对于请求的同步请求,SRQ 消息包含递 |
未签名32 |
2100 |
瞻博网络虚拟路由器 |
2636 |
Gx-Plus、JSRC |
指定与会话关联的虚拟路由器的名称。 |
UTF8 字符串 |
2101 |
瞻博网络调配源 |
2636 |
Gx-Plus |
在 CCR-N 和 JSDA 消息中为会话指定调配源:
|
枚举 |
2102 |
瞻博网络调配描述符 |
2636 |
Gx-Plus |
定义 JSDA 消息中使用的组,包括会话 ID,以及可选 Juniper-Provisioning-Sourceing-Source 和订阅者数据。 |
分组 |
2103 |
瞻博网络事件类型 |
2636 |
Gx-Plus |
在 JSER 消息中传达事件类型:
|
枚举 |
2104 |
瞻博网络-Discovery-描述符 |
2636 |
Gx-Plus |
定义 JSDR 和 JSDA 消息中使用的组,包括发现请求参数:发现类型、请求字符串、详细程度、最大结果。 |
分组 |
2105 |
Juniper-Discovery-type |
2636 |
Gx-Plus |
为 JSDR 和 JSDA 消息指定发现子命令:
|
枚举 |
2106 |
瞻博网络详细级别 |
2636 |
Gx-Plus |
为 JSDR 和 JSDA 消息指定详细级别:
|
枚举 |
2107 |
Juniper-String-A |
2636 |
Gx-Plus |
指定根据上下文解释的通用字符串。 |
UTF8 字符串 |
2108 |
Juniper-String-B |
2636 |
Gx-Plus |
指定根据上下文解释的通用字符串。 |
UTF8 字符串 |
2109 |
Juniper-String-C |
2636 |
Gx-Plus |
指定根据上下文解释的通用字符串。 |
UTF8 字符串 |
2110 |
瞻博网络未签名32-A |
2636 |
Gx-Plus |
指定根据上下文解释的通用、无符号 32 位整数。 |
未签名32 |
2111 |
瞻博网络未签名32-B |
2636 |
Gx-Plus |
指定根据上下文解释的通用、无符号 32 位整数。 |
未签名32 |
2112 |
Juniper-Unsigned32-C |
2636 |
Gx-Plus |
指定根据上下文解释的通用、无符号 32 位整数。 |
未签名32 |
2200 |
瞻博网络-IPv6-Ndra-前缀 |
2636 |
JSRC |
如果订阅者的会话数据库 IPv6Prefix 条目中可用,则此 AVP 包含在发送至 SAE 的 AAR 调配请求消息中。 仅在启用 JSRC 双堆栈支持时,才会使用此 AVP。 |
IPv6Prefix |
2201 |
Juniper-Framed-IPv6-Netmask |
2636 |
JSRC |
如果订阅者的会话数据库 IPv6Address 条目中可用,则此 AVP 包含在发送至 SAE 的 AAR 调配请求消息中。 仅在启用 JSRC 双堆栈支持时,才会使用此 AVP。 |
IPv6 地址 |
2202 |
Juniper-代理-Circuit-ID |
2636 |
JSRC |
按接入节点和订阅者行标识订阅者。如果订阅者的会话数据库条目中可用,则此 AVP 包含在发送至 SAE 的 AAR 配置请求消息中。 仅在启用 JSRC 双堆栈支持时,才会使用此 AVP。 |
八位位点字符串 |
2203 |
Juniper-Agent-Remote-ID |
2636 |
JSRC |
标识访问节点上的订阅者。如果订阅者的会话数据库条目中可用,则此 AVP 包含在发送至 SAE 的 AAR 配置请求消息中。 仅在启用 JSRC 双堆栈支持时,才会使用此 AVP。 |
八位位点字符串 |
2204 |
瞻博网络-Acct-IPv6-input-Octets |
2636 |
JSRC |
接口上接收的 IPv6 八位位组数。此 AVP 包含在发送至 SAE 的 ACR 计费请求消息中,即使该值为零也是如此。 仅在启用 JSRC 双堆栈支持时,才会使用此 AVP。 |
未签名64 |
2205 |
Juniper-Acct-IPv6-output-Octets |
2636 |
JSRC |
接口上发送的 IPv6 八位位组数。此 AVP 包含在发送至 SAE 的 ACR 计费请求消息中,即使该值为零也是如此。 仅在启用 JSRC 双堆栈支持时,才会使用此 AVP。 |
未签名64 |
2206 |
Juniper-Acct-IPv6-input-Pkts |
2636 |
JSRC |
接口上接收的 IPv6 数据包数。此 AVP 包含在发送至 SAE 的 ACR 计费请求消息中,即使该值为零也是如此。 仅在启用 JSRC 双堆栈支持时,才会使用此 AVP。 |
未签名64 |
2207 |
Juniper-Acct-IPv6-output-Pkts |
2636 |
JSRC |
接口上发送的 IPv6 数据包数。此 AVP 包含在发送至 SAE 的 ACR 计费请求消息中,即使该值为零也是如此。 仅在启用 JSRC 双堆栈支持时,才会使用此 AVP。 |
未签名64 |
Tekelec AVP 仅用于 Gx-Plus。这些 AVP 的企业编号为 21274。 表 4 列出了 Tekelec AVP。这四个变量用于为用户定义的 CoS 服务变量提供替换值。
属性编号 |
Diameter 高级副总裁 |
应用 |
描述 |
类型 |
---|---|---|---|---|
5555 |
Tekelec-Charging-rule-argument-name |
Gx-Plus |
定义要替换的服务变量的名称。 |
八位位点字符串 |
5556 |
Tekelec-Charging-rule-argument-value |
Gx-Plus |
定义要替换的服务变量的值。 |
八位位点字符串 |
5557 |
Tekelec-Charging-rule-argument |
Gx-Plus |
定义用于替换服务变量的置换属性。包括 Tekelec-Charging-rule-argument-name AVP (5555) 和 Tekelec-Charging-rule-argument-value AVP (5556)。 |
分组 |
5558 |
Tekelec-Charging-rule-with-arguments |
Gx-Plus |
请求安装由随附的收费规则 AVP (1005) 指定的规则(激活服务)。所请求的服务变量替换由可选包含的 Tekelec-收费-规则-参数 AVP (5557) 提供。 |
分组 |
配置 Diameter
您可以通过指定端点源、远程对等方、传输层连接以及将路由与对等方相关联的网络元素来配置 Diameter。当前仅支持主 Diameter 实例。只能在默认路由实例的上下文中为此 Diameter 实例配置备用值。
要配置 Diameter 基本协议,
配置 Diameter 实例的源属性
您可以配置为 Diameter 实例发出 Diameter 消息的端点节点的识别特征。Diameter 实例将主机名作为源主机 AVP 的值提供。该领域由 Diameter 实例作为源-Realm AVP 的值提供。
要为 Diameter 实例配置源属性,
配置 Diameter Peers
您可以配置 Diameter 向哪个对等方发送消息。Diameter 使用默认逻辑系统和路由实例。默认情况下,端口 3868 用于与对等方的活动连接。
要为 Diameter 实例配置远程对等方:
例如,对等方 p3 的以下配置用于指定 IPv4 地址、路由实例 ri8、目标端口 49152、传输 t6、example.com 中主机 1 的源,并在消息中包含源状态 AVP。
[edit diameter] user@host# edit peer p3 [edit diameter peer p3] user@host# set address 192.168.23.10 user@host# set routing-instance ri8 user@host# set connect-actively port 49152 user@host# set connect-actively transport t6 user@host# set peer-origin host host1 realm example.com user@host# set send-origin-state-id
配置 Diameter 传输
您可以为 Diameter 实例配置一个或多个传输,以便为本地连接设置 IPv4 或 IPv6 地址,并根据需要配置逻辑系统或路由实例上下文。Diameter 使用默认逻辑系统和路由实例。传输连接的逻辑系统和路由实例必须与对等方匹配,否则将报告配置错误。多个对等方可以共享同一传输。
要为 Diameter 实例配置传输:
例如,以下传输 t1 配置用于指定 IPv6 地址、逻辑系统 ls5 和路由实例 ri10。
[edit diameter] user@host# edit transport t1 [edit diameter transport t1] user@host# set address 2001:db8::113:200 user@host# set logical-system ls5 user@host# set routing-instance ri10
配置 Diameter 网络元素
Diameter 网络元素 (DNE) 由关联应用程序(在 CLI 中称为函数)、一个优先级对等方列表和一组转发规则组成。转发规则通过一组关联的目标、应用程序和指标定义各个路由。每个机箱必须至少配置一个 DNE 才能启动 Diameter 进程 (jdiameterd)。
配置 Diameter 网络元素之前,请执行以下操作:
定义 Diameter 对等方。请参阅 配置 Diameter Peers。
要配置 Diameter 网络元素,
示例:配置 S6a 应用程序
此示例说明如何在 SRX 系列防火墙上配置基于直径的身份验证 S6a 应用程序,以便从订阅者服务器检索身份验证信息。
要求
概述
在此示例中,您创建 S6a 分区并指定端点源、远程对等方以及将路由与对等方关联以控制 S6a 消息的直径转发的网络元素。您还可以将 S6a 分区创建为“仅当前支持主 Diameter 实例”。只能在默认路由实例的上下文中为 master
Diameter 实例配置备用值。
配置
配置接入配置文件和直径应用参数
CLI 快速配置
要快速配置示例的此部分,请复制以下命令,将其粘贴到文本文件中,删除所有换行符,更改详细信息,以便与网络配置匹配,将命令复制并粘贴到层次结构级别的 CLI 中 [edit]
,然后从配置模式进入 commit 。
set access-profile s6a_test authentication-order s6a set access profile s6a_test authentication-order s6a set access s6a partition partition_name set access s6a partition partition_name destination-realm zzz.com set access s6a partition partition_name destination-host s6b.zzz.com set access s6a partition partition_name diameter-instance master set access s6a partition partition_name max-outstanding-requests 40 set access s6a partition partition_name response-timeout 20 set diameter origin realm zzz.com set diameter origin host s6a.zzz.com set diameter network-element ne3 set diameter network-element peer p3 set diameter network-element peer p3 priority 100 set diameter network-element ne3 forwarding route r0 set diameter network-element ne3 forwarding route r0 metric 100 set diameter peer p3 address 192.0.0.244 set diameter peer p3 connect-actively port 63101
逐步过程
以下示例要求您在配置层次结构中的各个级别上导航。有关如何操作的说明,请参阅 CLI 用户指南中的在配置模式下使用 CLI 编辑器。
要配置接入配置文件和直径应用参数:
指定要用于身份验证顺序的访问配置文件。
[edit access-profile] user@host# set s6a_test
指定使用身份验证方法的顺序。
[edit access profile] user@host# set s6a_test authentication-order s6a
创建分区或指定现有分区的名称。
[edit access] user@host# set s6a partition partition_name
配置 s6a 分区的目标域。
[edit access] user@host# set s6a partition partition_name destination-realm zzz.com
配置 s6a 分区的目标主机。
[edit access] user@host# set s6a partition partition_name destination-host s6b.zzz.com
为 s6a 分区指定 Diameter 实例。
[edit access] user@host# set s6a partition partition_name diameter-instance master
注意:目前,仅支持默认 Diameter 实例
master
。为未完成的请求数设置限制。
[edit access] user@host# set s6a partition partition_name max-outstanding-requests 40
配置 s6a 停止尝试发送订阅者退出消息之前所需的时间(以秒为单位)。
[edit access] user@host# set s6a partition partition_name response-timeout 20
包括发出 Diameter 消息的域名称。
[edit diameter] user@host# set origin realm zzz.com
包括发出 Diameter 消息的主机名称。
[edit diameter] user@host# set origin host s6a.zzz.com
指定网络元素的名称。
[edit diameter] user@host# set network-element ne3
将 Diameter 对等方与网络元素相关联。
[edit diameter] user@host# set network-element peer p3
设置对等方优先级。
[edit diameter] user@host# set network-element peer p3 priority 100
根据您定义的转发规则,指定可以通过网络元素访问的路由。
[edit diameter] user@host# set network-element ne3 forwarding route r0
为路由指定指标。
[edit diameter] user@host# set network-element ne3 forwarding route r0 metric 100
指定 Diameter 对等方的 IP 地址。
[edit diameter] user@host# set peer p3 address 192.0.0.244
指定 Diameter 用于与对等方的活动连接。
[edit diameter] user@host# set peer p3 connect-actively port 63101
结果
在配置模式下,输入和 show diameter
命令以确认show access
您的配置。如果输出未显示预期的配置,请重复此示例中的配置说明,以便进行更正。
[edit] user@host# show access s6a { partition partition_name { destination-realm zzz.com; destination-host s6b.zzz.com; diameter-instance master; max-outstanding-requests 40; response-timeout 20; } }
[edit] user@host# show diameter origin { realm zzz.com; host s6a.zzz.com; } network-element ne3 { forwarding { route r0 { metric 100; } } } peer p3 { address 192.0.0.244; connect-actively { port 63101; } }
完成设备配置后,请从配置模式进入 commit
。
配置冗余以太网接口
CLI 快速配置
要快速配置示例的此部分,请复制以下命令,将其粘贴到文本文件中,删除所有换行符,更改详细信息,以便与网络配置匹配,将命令复制并粘贴到层次结构级别的 CLI 中 [edit]
,然后从配置模式进入 commit 。
set interfaces ge-0/0/0 gigether-options redundant-parent reth0 set interfaces ge-0/0/1 gigether-options redundant-parent reth1 set interfaces ge-7/0/0 gigether-options redundant-parent reth0 set interfaces ge-7/0/1 gigether-options redundant-parent reth1 set interfaces reth0 redundant-ether-options redundancy-group 1 set interfaces reth0 unit 0 family inet address 192.0.0.254/8 set interfaces reth1 redundant-ether-options redundancy-group 1 set interfaces reth1 unit 0 family inet address 198.51.100.254/8
逐步过程
以下示例要求您在配置层次结构中的各个级别上导航。有关如何操作的说明,请参阅 CLI 用户指南中的在配置模式下使用 CLI 编辑器。
要配置冗余以太网接口:
配置冗余以太网接口。
[edit interfaces] user@host# set ge-0/0/0 gigether-options redundant-parent reth0 user@host# set ge-0/0/1 gigether-options redundant-parent reth1 user@host# set ge-7/0/0 gigether-options redundant-parent reth0 user@host# set ge-7/0/1 gigether-options redundant-parent reth1 user@host# set reth0 redundant-ether-options redundancy-group 1 user@host# set reth0 unit 0 family inet address 192.0.0.254/8 user@host# set reth1 redundant-ether-options redundancy-group 1 user@host# set reth1 unit 0 family inet address 198.51.100.254/8
结果
在配置模式下,输入命令以确认 show interfaces
您的配置。如果输出未显示预期的配置,请重复此示例中的配置说明,以便进行更正。
[edit] user@host# show interfaces ge-0/0/0 { gigether-options { redundant-parent reth0; } } ge-0/0/1 { gigether-options { redundant-parent reth1; } } ge-7/0/0 { gigether-options { redundant-parent reth0; } } ge-7/0/1 { gigether-options { redundant-parent reth1; } } reth0 { redundant-ether-options { redundancy-group 1; } unit 0 { family inet { address 192.0.0.254/8; } } } reth1 { redundant-ether-options { redundancy-group 1; } unit 0 { family inet { address 198.51.100.254/8; } } }
完成设备配置后,请从配置模式进入 commit
。
配置安全区域和安全策略以允许 S6a Diameter 应用程序
CLI 快速配置
要快速配置示例的此部分,请复制以下命令,将其粘贴到文本文件中,删除所有换行符,更改详细信息,以便与网络配置匹配,将命令复制并粘贴到层次结构级别的 CLI 中 [edit]
,然后从配置模式进入 commit 。
set security zones security-zone Outside host-inbound-traffic system-services all set security zones security-zone Outside host-inbound-traffic protocols all set security zones security-zone Outside interfaces reth1.0 set security zones security-zone Inside host-inbound-traffic system-services all set security zones security-zone Inside host-inbound-traffic protocols all set security zones security-zone Inside interfaces reth0.0 set security policies from-zone Inside to-zone Outside policy policy0 match source-address any set security policies from-zone Inside to-zone Outside policy policy0 match destination-address any set security policies from-zone Inside to-zone Outside policy policy0 match application any set security policies from-zone Inside to-zone Outside policy policy0 then permit
逐步过程
以下示例要求您在配置层次结构中的各个级别上导航。有关如何操作的说明,请参阅 CLI 用户指南中的在配置模式下使用 CLI 编辑器。
要配置安全策略和区域:
在 reth1.0 接口上设置系统服务和协议。
[edit security] user@host# set zones security-zone Outside host-inbound-traffic system-services all user@host# set zones security-zone Outside host-inbound-traffic protocols all user@host# set zones security-zone Outside interfaces reth1.0
在 reth0.0 接口上设置系统服务和协议。
[edit security] user@host# set zones security-zone Inside host-inbound-traffic system-services all user@host# set zones security-zone Inside host-inbound-traffic protocols all user@host# set zones security-zone Inside interfaces reth0.0
配置安全策略。
[edit security ] user@host# set policies from-zone Inside to-zone Outside policy policy0 match source-address any user@host# set policies from-zone Inside to-zone Outside policy policy0 match destination-address any user@host# set policies from-zone Inside to-zone Outside policy policy0 match application any user@host# set policies from-zone Inside to-zone Outside policy policy0 then permit
结果
在配置模式下,输入命令以确认 show security policies
您的配置。如果输出未显示预期的配置,请重复此示例中的配置说明,以便进行更正。
[edit] user@host# show security policies from-zone Inside to-zone Outside { policy policy0 { match { source-address any; destination-address any; application any; } then { permit; } } }
[edit] user@host# show security zones security-zone Outside { host-inbound-traffic { system-services { all; } protocols { all; } } interfaces { reth1.0; } } security-zone Inside { host-inbound-traffic { system-services { all; } protocols { all; } } interfaces { reth0.0; } }
完成设备配置后,请从配置模式进入 commit
。
验证
验证 S6a 状态
目的
要确认配置工作正常,请执行以下任务:
行动
在操作模式下,输入 、 show network-access s6a state
show network-access s6a statistics
和show network-access s6a statistics extensive
命令,检查 s6a 应用程序的网络访问状态和统计信息。
user@host> show network-access s6a state S6a state: Component Value active-configuration yes queue-state normal request-count 0
user@host> show network-access s6a statistics S6a general counters: Counter ............Value aia-grant ..........1
user@host> show network-access s6a statistics extensive S6a general counters: Counter Value air 0 air-retry 0 air-failures 0 aia 0 aia-grant 0 aia-deny 0 aia-timeout 0 aia-failure 0 aia-late-response 0 aia-parse-errors 0 aia-drops-no-session 0 aia-drops-bad-orealm 0 aia-drops-bad-ohost 0 aia-drops-no-result 0 aia-drops-other 0 aia-bad-result 0 aia-bad-data 0 rx-unsupported-resp-cmd 0 rx-bad-experimental-result 0 rx-bad-authentication-info 0 rx-bad-utran-vector 0 rx-bad-eutran-vector 0 rx-bad-geran-vector 0 rx-parse-errors 0 S6a diameter event counters: Diameter event Value bad data message 0 good data message 0 bad flags 0 bad fixed destination 0 bad routed destination 0 tx is over limit 0 bad end-to-end id 0 no peer for tx 0 peer down while waiting for answer 0 timeout while waiting for answer 0 tx timeout 0 tx try limit 0 tx failure 0 discarded 0 received answer is over limit 0 tx failure: no memory 0 base-app-tx-timeout 0 base-app-rx-timeout 0 base-app-tx-discard 0 base-app-rx-discard 0
意义
show network-access s6a state
、show network-access s6a statistics
和show network-access s6a statistics extensive
命令显示 S6a 应用程序状态以及从订阅服务器检索到的身份验证信息的统计信息。