Diameter 基础协议
Diameter 基础协议概述
Diameter 协议在 RFC 3588 Diameter 基本协议中定义,它提供了一种更灵活、更可扩展的 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 中。如果有多个路由与一个转发请求匹配,则选择最佳路由,如下所示:
选择指标最低的路由。
如果出现平局,则选择规格得分最高的路由。
如果再次出现平局,则按词典顺序比较 DNE 的名称。选择 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 网络元素,请在[edit diameter]
层次结构级别包含network-element
语句,然后在层次结构级别包含语route
句[edit diameter network-element element-name forwarding]
。
要为 DNE 配置路由,请在[edit diameter network-element element-name forwarding route dne-route-name]
层次结构级别包括destination
(可选 function
)、(可选)和 metric
语句。
通过在[edit diameter network-element element-name]
层次结构级别包含一个或多个peer
语句来指定与 DNE 关联的 Diameter 对等方。
使用 priority
语句在 [edit diameter network-element element-name peer peer-name]
层次结构级别上设置每个对等方的优先级。
Diameter 要求您配置有关源节点的信息;这是为 Diameter 实例发起 Diameter 的端点节点。在[edit diameter]
层次结构级别包括 host
and realm
语句以配置 Diameter 原点。
您可以选择性地配置一个或多个传输来指定传输层连接的源(本地)地址。要配置 Diameter 传输,请在[edit diameter]
层次结构级别包含transport
该语句。然后在层次结构级别包含address
语句[edit diameter transport transport-name]
。
您可以选择性地通过在[edit diameter transport transport-name]
层次结构级别包含logical-system
和 routing-instance
语句来为连接指定逻辑系统和路由实例。默认情况下,Diameter 使用默认逻辑系统和默认路由实例(使用主 inet.0 路由表)。传输连接的逻辑系统和路由实例必须与对等方的逻辑系统和路由实例匹配,否则将报告配置错误。
每个 Diameter 对等方都由一个名称指定。对等方属性包括地址和与此对等方的活动连接使用的目标 TCP 端口。要配置 Diameter 对等方,请在[edit diameter]
层次结构级别包含peer
语句,然后在层次结构级别包含address
和 connect-actively
语句[edit diameter peer peer-name]
。
要配置活动连接,请在[edit diameter peer peer-name connect-actively]
层次结构级别包括 port
和 transport
语句。分配的传输标识用于与对等方建立活动连接的传输层源地址。transport
语句。
使用直径的好处
与 RADIUS 相比,Diameter 以低得多的频率报告使用信息,从而降低网络和服务器的负载。RADIUS 涉及独立于使用更改的定期更新。使用 Gx 等 Diameter 应用程序,您可以通过将使用情况统计信息从路由器相关推送到 PCRF 来设置阈值。然后,PCRF可以对服务和成本进行适当的调整。
无线服务和收费通常通过 Diameter 应用执行,但有线服务通常使用基于 RADIUS 的基础架构。同时提供有线和无线产品的客户可以通过将有线操作迁移到现有的基于 Diameter 的无线基础架构,来降低维护独立基础架构的复杂性和成本。
在 Diameter 上运行的应用程序往往是有状态的(有些可能是其中之一,如 NASREQ),而 RADIUS 不是有状态的。
Diameter 上可以运行多种应用协议,如 NASREQ、Gx、Gy、JSRC 和 S6a。
比 RADIUS 更大的属性空间,支持比 RADIUS 更多的标准和供应商特定属性 (AVP)。Diameter 还支持 RADIUS 标准属性,为它们保留 AVP 1 到 255。
Diameter 应用使用的消息
Junos OS 支持以下 Diameter 应用程序:
JSRC - 在 IANA (http://www.iana.org) 注册为 Juniper Policy-Control-JSRC 的 瞻博网络 Diameter 应用,ID 为 16777244。它与 SAE(远程 SRC 对等方)通信。
PTSP - 在 IANA (http://www.iana.org) 注册为 Juniper JGx 的 瞻博网络 Diameter 应用程序,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) 注册了 Juniper-Session-Recovery 应用 (16777296) 和两个新的命令代码(8388628 用于 Juniper-Session-Events 和 8388629 用于 Juniper-Session-Discovery)。
表 1 描述了应用程序使用的 Diameter 消息。
Diameter 消息 |
法典 |
应用 |
描述 |
---|---|---|---|
AA 请求 (AAR) |
265 |
JSRC、NASREQ、PTSP |
在新订阅者登录时或在 SAE-应用程序同步期间,从应用程序向 SAE 发出请求。请求可以是三种类型之一:地址授权、预配请求或同步。 |
AA-Answer (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 Subscription-Id 属性 (443),其中 Subscription-ID-Type Diameter AVP 子属性 (450) 设置为 4 (END_USER_PRIVATE),且 Subscription-Id-Data Diameter AVP 子属性 (444) 设置为 如果在发送 4 条 CCR-I 消息(第一条消息加上 3 次重试)后未收到 CCA-I,则 Gx-Plus 将开始发送 CCR-N 消息。CCR-N 消息将永远重试,直到从 PCRF 收到成功或失败的响应。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 AUTHORIZATION REJECTED),具体取决于用户是否有足够的信用额度来满足所请求的服务。所有其他响应将被忽略,并重试 CCR-I。 作为对 CCR-T 的响应,PCRF 返回一条 CCA-T 消息,指示成功终止,结果代码 AVP 中的值为 2001 (DIAMETER SUCCESS)。所有其他响应将被忽略,并重试 CCR-T。 CCA-N 是对 CCR-N 的响应。 |
瞻博网络-会话-发现-请求 (JSDR) |
8388629 |
Gx-Plus |
从 PCRF 到 Gx-Plus 的发现请求,用于发现路由器上的订阅者会话。 |
瞻博网络-会话-发现-应答 (JSDA) |
8388629 |
Gx-Plus |
从路由器回复 JSDR 消息;描述会话信息。结果代码 AVP 包括以下值之一或错误值:
|
瞻博网络-会话-事件-请求 (JSER) |
8388628 |
Gx-Plus |
从路由器向 PCRF 发出的关于路由器上发生的事件的请求。通过包含瞻博网络事件类型 AVP(AVP 代码 2103),将路由器上的某些事件通知 PCRF。报告的事件包括冷启动或热启动、显式发现请求、大量配置更改、PCRF 无响应或错误响应,以及容错资源耗尽。 |
瞻博网络-会话-事件-应答 (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 消息中包含各种属性值对 (AVP) 来传达信息,这与 RADIUS 在标准 IETF RADIUS 属性和供应商特定属性 (VSA) 中传达信息的方式相同。 表 2 列出了在与支持的 Diameter 应用程序交互时使用的标准 Diameter AVP。Diameter 为在 Diameter 中实现的 RADIUS 属性保留 AVP 属性编号 0 到 255;Diameter 属性编号与相应的标准 RADIUS 属性相同。编号大于 255 的属性没有相应的标准 RADIUS 属性。从 Junos OS 13.1R1 版开始,不再支持数据包触发的用户和策略控制 (PTSP) 功能。
属性编号 |
直径 AVP |
应用 |
描述 |
类型 |
---|---|---|---|---|
1 |
用户名 |
Gx-Plus、JSRC、NASREQ |
指定用户名。对于由 AAA 管理的订阅者,该值是订阅者的登录名。对于静态接口,该值是接口名称,用作订阅者的登录名。 |
UTF8字符串 |
2 |
用户密码 |
NASREQ |
指定要进行身份验证的用户的密码或用户在多轮身份验证交换中的输入。 |
OctetString |
4 |
NAS-IP 地址 |
NASREQ |
指定用于对用户进行身份验证的 NAS 的 IP 地址。 |
IPAddress |
6 |
服务类型 |
NASREQ |
指定用户请求的服务类型或要提供的服务类型。身份验证或授权请求或响应中可能存在一个这样的 AVP。实施所有这些服务类型并不需要 NAS。 |
枚举 |
8 |
成帧 IP 地址 |
Gx-Plus、JSRC、NASREQ、PTSP |
标识为订阅者配置的 IPv4 地址。这与 RADIUS Framed-IP 地址属性 [8] 的值相同。 |
OctetString |
9 |
成帧 IP-网络掩码 |
NASREQ |
标识 IPv4 网络掩码的四个八位位组。 |
OctetString |
11 |
过滤器 ID |
NASREQ |
指定用户的筛选器列表的名称。它旨在使人类可读。授权应答消息中可能会发送零个或多个过滤器 ID AVP。 |
UTF8字符串 |
12 |
成帧 MTU |
NASREQ |
指定未通过其他方式(如 PPP)协商时要为用户配置的最大传输单元 (MTU)。 |
未签名32 |
22 |
成帧路由 |
NASREQ |
指定 7 位 US-ASCII 路由信息。 |
UTF8字符串 |
25 |
类 |
NASREQ |
将状态信息从 Diameter 服务器返回到访问设备。 |
OctetString |
27 |
会话超时 |
NASREQ |
指定在会话终止之前提供给用户的最大服务秒数。 |
未签名32 |
28 |
空闲超时 |
NASREQ |
指定在会话终止之前或发出提示之前允许用户进行空闲连接的最大连续秒数。 |
未签名32 |
32 |
NAS 标识符 |
NASREQ |
指定为用户提供服务的 NAS 的身份。 |
DiamIdent |
44 |
acct-session-id |
NASREQ |
指定 RADIUS Acct-Session-Id 属性的内容。 |
OctetString |
50 |
acct-multi-session-id |
NASREQ |
链接多个相关的计费会话,其中每个会话都具有唯一的会话 ID,但具有相同的 acct 多会话 ID AVP。 |
UTF8字符串 |
55 |
事件时间戳 |
Gx-Plus、JSRC、PTSP |
指定触发包含此 AVP 的消息的事件的时间。自 1900 年 1 月 1 日 00:00 UTC 以来,时间以秒为单位表示。 |
时间 |
60 |
CHAP-挑战 |
NASREQ |
指定 NAS 向 CHAP 对等方发送的 PPP 质询-握手认证协议 (CHAP) 质询。 |
OctetString |
61 |
NAS 端口类型 |
NASREQ |
指定 NAS 用于验证用户身份的端口类型。 |
枚举 |
62 |
端口限制 |
NASREQ |
指定 NAS 提供给用户的最大端口数。 |
未签名32 |
78 |
配置令牌 |
NASREQ |
指示所使用的用户配置文件的类型。 |
OctetString |
85 |
acct-interim-interval |
JSRC、PTSP |
指定此会话的每个临时记帐更新之间的秒数。 路由器使用以下准则进行临时核算:
|
未签名32 |
87 |
NAS-端口 ID |
Gx-Plus、JSRC、NASREQ、PTSP |
标识用于验证用户身份的 NAS 端口。这与 RADIUS NAS-Port-Id 属性 [87] 的值相同。 |
UTF8字符串 |
88 |
框架池 |
NASREQ |
指定用于为用户分配地址的已分配地址池的名称。如果 NAS 不支持多个地址池,NAS 会忽略此 AVP。地址池通常用于 IP 地址,但如果 NAS 支持这些协议的池,则可用于其他协议。 |
OctetString |
97 |
成帧 IPv6 前缀 |
NASREQ |
指定为用户配置的 IPv6 前缀。 |
OctetString |
99 |
成帧 IPv6 路由 |
NASREQ |
指定在 NAS 上为用户配置的 US-ASCII 路由信息。 |
UTF8字符串 |
100 |
成帧 IPv6 池 |
NASREQ |
指定用于为用户分配 IPv6 前缀的已分配池的名称。如果接入设备不支持多个前缀池,则必须忽略此 AVP。 |
OctetString |
258 |
身份验证应用程序 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) 消息中“产品名称”字段的值。该值始终为 JUNOS,除非在 如果更改产品名称,路由器将断开与 Diameter 对等方的所有现有连接,并使用新名称重新连接。 |
UTF8字符串 |
277 |
身份验证-会话-状态 |
JSRC、NASREQ、PTSP |
指示是否保持 AAA 会话状态。
|
枚举 |
279 |
失败-AVP |
NASREQ |
指定在由于特定 AVP 中的错误信息而拒绝请求或未完全处理请求的情况下调试信息。结果代码 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-身份验证 |
NASREQ |
指定使用 CHAP 对用户进行身份验证所需的信息。 |
分组 |
415 |
CC 请求编号 |
Gx-Plus |
标识会话中的请求。Session-ID 和 CC-Request-Type 的组合是全局唯一的。在会话过程中,每个请求的数字都会递增。发生路由器高可用性事件时,该号码将被重置。 |
未签名32 |
416 |
CC 请求类型 |
Gx-Plus |
指定信用控制请求的类型:
|
枚举 |
431 |
授予服务单元 |
Gx-Plus |
包含可以提供的一个或多个客户端指定的以下请求单位的金额:CC-Input-Octets、CC-Output-Octets、CC-Time 或 CC-Total-Octets。包含在 CCA-I 消息中,也可能包含在 CCA-U 消息中。 |
分组 |
443 |
订阅 ID |
Gx-Plus |
包含以下不会单独出现的子属性:
|
分组 |
446 |
二手服务单元 |
Gx-Plus |
包含已实际使用的请求单位的数量;从激活服务时的 4 开始测量。这些单位是客户端指定的一个或多个以下请求单位:CC-Input-Octets、CC-Output-Octets、CC-Time 或 CC-Total-Octets。包含在 CCR-U 消息中。 |
分组 |
480 |
记帐记录类型 |
JSRC、PTSP |
指定服务会计的帐户记录类型:
|
枚举 |
1001 |
充电-规则-安装 |
Gx-Plus、NASREQ |
请求安装由包含的 Charging-Rule-Name AVP (1005) 指定的规则(激活服务)。此 AVP 的供应商 ID 为 10415 (3GPP)。 |
分组 |
1002 |
充电规则-移除 |
Gx-Plus |
请求删除由包含的 Charging-Rule-Name AVP (1005) 指定的规则(停用服务)。此 AVP 的供应商 ID 为 10415 (3GPP)。 |
分组 |
1005 |
充电规则名称 |
Gx-Plus、NASREQ |
指定已安装、修改或删除的特定规则的名称。 |
OctetString |
1066 |
监控密钥 |
Gx-Plus |
指定要使用的监视结构。包含在 Charging-Rule-Install AVP (1001) 中。MX 路由器不支持跨服务聚合统计信息,因此每项服务的此 AVP 值必须不同。此 AVP 的供应商 ID 为 10415 (3GPP)。 |
OctetString |
1067 |
使用情况监控信息 |
Gx-Plus |
设置监控阈值。当服务统计信息与至少一个已授予的服务值匹配时,路由器会向 PCRF 发送包含当前统计信息的 CCR-U 报告。包括监控密钥 AVP (1066) 和授予服务单元 AVP (431)。此 AVP 的供应商 ID 为 10415 (3GPP)。 |
分组 |
除了标准 Diameter AVP 之外,还使用了瞻博网络 AVP。这些 AVP 的供应商 ID(企业编号)为 2636 或 4874,在概念上类似于 RADIUS 供应商特定属性 (VSA)。 表 3 列出了受支持的 Diameter 应用程序使用的瞻博网络 AVP。
属性编号 |
直径 AVP |
供应商 ID |
应用 |
描述 |
类型 |
---|---|---|---|---|---|
213 |
接口-集-目标-权重 |
4874 |
NASREQ |
指定接口集的权重,以将其及其成员链路与聚合以太网成员链路相关联,以便进行有针对性的分发。 |
未签名32 |
214 |
接口-目标-权重 |
4874 |
NASREQ |
指定接口的权重,以将其与接口集相关联,进而与该接口集的聚合以太网成员链路相关联,以便进行有针对性的分发。当接口集没有权重时,将使用该集的第一个授权用户接口的接口权重值。 |
未签名32 |
2004 |
瞻博网络服务捆绑包 |
2636 |
JSRC |
指定服务包的名称。 |
OctetString |
2010 |
Juniper-DHCP-Options |
2636 |
JSRC |
指定客户端的 DHCP 选项。 |
OctetString |
2011 |
瞻博网络-DHCP-GI-地址 |
2636 |
JSRC |
指定 DHCP 中继代理的 IP 地址。 |
OctetString |
2020 |
瞻博网络策略安装 |
2636 |
JSRC、PTSP |
指定要为订阅者激活的策略。包括 juniper-policy-name 和 juniper-policy-definition |
分组 |
2021 |
瞻博网络策略名称 |
2636 |
JSRC、PTSP |
定义策略决策的名称。 |
OctetString |
2022 |
瞻博网络策略定义 |
2636 |
JSRC、PTSP |
定义策略决策。包括 juniper-policy-name、juniper-template-name 和 juniper-substitution。 |
分组 |
2023 |
瞻博网络模板名称 |
2636 |
JSRC、PTSP |
指定路由器定义的配置文件名称。PTSP 仅 |
UTF8字符串 |
2024 |
瞻博网络替代 |
2636 |
JSRC、PTSP |
定义替换属性。包括 juniper-substitution-name 和 juniper-substitution-value。 |
OctetString |
2025 |
瞻博网络替换名称 |
2636 |
JSRC、PTSP |
定义要替换的变量的名称。 |
OctetString |
2026 |
瞻博网络替代值 |
2636 |
JSRC、PTSP |
定义要替换的变量的值。 |
OctetString |
2027 |
瞻博网络策略删除 |
2636 |
JSRC、PTSP |
指定要为订阅者停用的策略。包括 juniper-policy-name。 |
分组 |
2035 |
瞻博网络策略失败 |
2636 |
JSRC、PTSP |
指定失败的策略激活或停用的名称。 |
OctetString |
2038 |
瞻博网络-策略-成功 |
2636 |
JSRC、PTSP |
指定成功的策略激活或停用的名称。 |
OctetString |
2046 |
瞻博网络逻辑系统 |
2636 |
JSRC、PTSP |
指定逻辑系统。 |
UTF8字符串 |
2047 |
juniper-routing-instance |
2636 |
JSRC、PTSP |
指定路由实例。 |
UTF8字符串 |
2048 |
juniper-jsrc-partition |
2636 |
JSRC、PTSP |
指定订阅者或请求的逻辑系统和路由实例。包括 juniper-logical-system 和 juniper-routing-instance |
分组 |
2050 |
瞻博网络请求类型 |
2636 |
JSRC、PTSP |
描述请求类型:
|
枚举 |
2051 |
瞻博网络同步类型 |
2636 |
JSRC、PTSP |
描述同步类型:
|
枚举 |
2052 |
瞻博网络同步 |
2636 |
JSRC、PTSP |
描述同步状态:
|
枚举 |
2053 |
Juniper-Acct-Record |
2636 |
JSRC、PTSP |
指定为此订阅服务器安装的每个策略的统计数据。包括 juniper-policy-name。 |
分组 |
2054 |
瞻博网络-acct-collect |
2636 |
JSRC、PTSP |
指定是否收集已安装策略(服务)的计费数据(当包含在 Juniper-Policy-Install AVP 中时):
|
枚举 |
2058 |
瞻博网络州/省/自治区/直辖市/自治区 |
2636 |
JSRC、PTSP |
指定分配给每个同步周期的值,以便标识要丢弃的消息。所有包含相同的
注意:
对于请求的同步请求,SRQ 消息包含递 |
未签名32 |
2100 |
瞻博网络虚拟路由器 |
2636 |
Gx-Plus、JSRC |
指定与会话关联的虚拟路由器的名称。 |
UTF8字符串 |
2101 |
juniper-provisioning-source |
2636 |
Gx-Plus |
在 CCR-N 和 JSDA 消息中指定会话的配置源:
|
枚举 |
2102 |
juniper-provisioning-descriptor |
2636 |
Gx-Plus |
定义 JSDA 消息中使用的组,其中包括会话 ID,以及可选的 Juniper-Provisioning-Source 和订阅者数据。 |
分组 |
2103 |
瞻博网络事件类型 |
2636 |
Gx-Plus |
在 JSER 消息中传达事件类型:
|
枚举 |
2104 |
瞻博网络发现描述符 |
2636 |
Gx-Plus |
定义 JSDR 和 JSDA 消息中使用的组,其中包括发现请求的参数:发现类型、请求字符串、详细程度、最大结果数。 |
分组 |
2105 |
瞻博网络发现类型 |
2636 |
Gx-Plus |
指定 JSDR 和 JSDA 消息的发现子命令:
|
枚举 |
2106 |
瞻博网络详细级别 |
2636 |
Gx-Plus |
指定 JSDR 和 JSDA 消息的详细级别:
|
枚举 |
2107 |
瞻博网络字符串-A |
2636 |
Gx-Plus |
指定根据上下文解释的泛型字符串。 |
UTF8字符串 |
2108 |
瞻博网络-String-B |
2636 |
Gx-Plus |
指定根据上下文解释的泛型字符串。 |
UTF8字符串 |
2109 |
瞻博网络-String-C |
2636 |
Gx-Plus |
指定根据上下文解释的泛型字符串。 |
UTF8字符串 |
2110 |
瞻博网络未签名32-A |
2636 |
Gx-Plus |
指定根据上下文解释的通用无符号 32 位整数。 |
未签名32 |
2111 |
瞻博网络未签名32-B |
2636 |
Gx-Plus |
指定根据上下文解释的通用无符号 32 位整数。 |
未签名32 |
2112 |
瞻博网络未签名32-C |
2636 |
Gx-Plus |
指定根据上下文解释的通用无符号 32 位整数。 |
未签名32 |
2200 |
瞻博网络-IPv6-NDRA-前缀 |
2636 |
JSRC |
如果在订阅者的会话数据库 IPv6前缀条目中可用,则此 AVP 将包含在发送至 SAE 的 AAR 配置请求消息中。 仅当启用 JSRC 双堆栈支持时,才会使用此 AVP。 |
IPv6前缀 |
2201 |
瞻博网络成帧-IPv6-网络掩码 |
2636 |
JSRC |
如果在订阅者的会话数据库 IPv6Address 条目中可用,则此 AVP 将包含在发送至 SAE 的 AAR 配置请求消息中。 仅当启用 JSRC 双堆栈支持时,才会使用此 AVP。 |
IPv6 地址 |
2202 |
瞻博网络代理电路 ID |
2636 |
JSRC |
按接入节点和订阅者线路标识订阅者。如果在订阅者的会话数据库条目中可用,则此 AVP 将包含在发送至 SAE 的 AAR 预配请求消息中。 仅当启用 JSRC 双堆栈支持时,才会使用此 AVP。 |
OctetString |
2203 |
瞻博网络-agent-remote-id |
2636 |
JSRC |
标识接入节点上的订阅者。如果在订阅者的会话数据库条目中可用,则此 AVP 将包含在发送至 SAE 的 AAR 预配请求消息中。 仅当启用 JSRC 双堆栈支持时,才会使用此 AVP。 |
OctetString |
2204 |
juniper-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 |
瞻博网络-acct-IPv6-input-pkts |
2636 |
JSRC |
接口上接收的 IPv6 数据包数。此 AVP 包含在发送至 SAE 的 ACR 计费请求消息中,即使该值为零也是如此。 仅当启用 JSRC 双堆栈支持时,才会使用此 AVP。 |
未签名64 |
2207 |
瞻博网络-acct-IPv6-output-pkts |
2636 |
JSRC |
接口上发送的 IPv6 数据包数。此 AVP 包含在发送至 SAE 的 ACR 计费请求消息中,即使该值为零也是如此。 仅当启用 JSRC 双堆栈支持时,才会使用此 AVP。 |
未签名64 |
Tekelec AVP 仅用于 Gx-Plus。这些 AVP 的企业编号为 21274。 表 4 列出了 Tekelec AVP。这四个变量用于为用户定义的 CoS 服务变量提供替换值。
属性编号 |
直径 AVP |
应用 |
描述 |
类型 |
---|---|---|---|---|
5555 |
tekelec-charging-rule-argument-name |
Gx-Plus |
定义要替换的服务变量的名称。 |
OctetString |
5556 |
tekelec-charging-rule-argument-value |
Gx-Plus |
定义要替换的服务变量的值。 |
OctetString |
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 |
请求安装由包含的 Charging-Rule-Name AVP (1005) 指定的规则(激活服务)。请求的服务变量替换由可选包含的 Tekelec-Charging-Rule-Argument AVP (5557) 提供。 |
分组 |
配置 Diameter
您可以通过指定端点来源、远程对等方、传输层连接以及将路由与对等方关联的网络元素来配置 Diameter。目前仅支持主 Diameter 实例。您只能在默认路由实例的上下文中为此 Diameter 实例配置替代值。
要配置 Diameter 基本协议,请执行以下操作:
配置 Diameter 实例的 Origin 属性
您可以配置为 Diameter 实例发出 Diameter 消息的端点节点的识别特征。主机名由 Diameter 实例作为 Origin-Host AVP 的值提供。领域由 Diameter 实例作为 Origin-Realm AVP 的值提供。
要为 Diameter 实例配置源属性,请执行以下操作:
配置 Diameter 对等方
您可以配置 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 实例配置一个或多个传输,以设置本地连接的 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 对等方。
要配置 Diameter 网络元素,请执行以下操作:
示例:配置 S6a 应用程序
此示例说明如何在 SRX 系列防火墙上配置基于直径的身份验证 S6a 应用程序,以便从订阅服务器检索身份验证信息。
要求
概述
在此示例中,您将创建 S6a 分区并指定端点源、远程对等方以及将路由与对等方关联的网络元素,以控制 S6a 消息的直径转发。您还可以将 S6a 分区创建为 当前仅支持主 Diameter 实例。只能在默认路由实例的上下文中为 master
Diameter 实例配置替代值。
配置
配置接入配置文件和 Diameter 应用程序参数
CLI 快速配置
要快速配置示例的此部分,请复制以下命令,将其粘贴到文本文件中,删除所有换行符,更改详细信息,以便与网络配置匹配,将命令复制并粘贴到层 [edit]
级的 CLI 中,然后从配置模式进入 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 access
和 show diameter
命令,以确认您的配置。如果输出未显示预期的配置,请重复此示例中的配置说明,以便进行更正。
[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 快速配置
要快速配置示例的此部分,请复制以下命令,将其粘贴到文本文件中,删除所有换行符,更改详细信息,以便与网络配置匹配,将命令复制并粘贴到层 [edit]
级的 CLI 中,然后从配置模式进入 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 快速配置
要快速配置示例的此部分,请复制以下命令,将其粘贴到文本文件中,删除所有换行符,更改详细信息,以便与网络配置匹配,将命令复制并粘贴到层 [edit]
级的 CLI 中,然后从配置模式进入 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 extensive
命令以show network-access s6a statistics
检查 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 应用程序状态以及从订阅服务器检索到的认证信息的统计信息。
变更历史表
是否支持某项功能取决于您使用的平台和版本。使用 功能浏览器 查看您使用的平台是否支持某项功能。