Internet Engineering Task Force (IETF)                  J. Korhonen, Ed.
Request for Comments: 7683                          Broadcom Corporation
Category: Standards Track                                S. Donovan, Ed.
ISSN: 2070-1721                                              B. Campbell
                                                                  Oracle
                                                               L. Morand
                                                             Orange Labs
                                                            October 2015
        
Internet Engineering Task Force (IETF)                  J. Korhonen, Ed.
Request for Comments: 7683                          Broadcom Corporation
Category: Standards Track                                S. Donovan, Ed.
ISSN: 2070-1721                                              B. Campbell
                                                                  Oracle
                                                               L. Morand
                                                             Orange Labs
                                                            October 2015
        

Diameter Overload Indication Conveyance

直径过载指示输送装置

Abstract

摘要

This specification defines a base solution for Diameter overload control, referred to as Diameter Overload Indication Conveyance (DOIC).

本规范定义了直径过载控制的基本解决方案,称为直径过载指示传输(DOIC)。

Status of This Memo

关于下段备忘

This is an Internet Standards Track document.

这是一份互联网标准跟踪文件。

This document is a product of the Internet Engineering Task Force (IETF). It represents the consensus of the IETF community. It has received public review and has been approved for publication by the Internet Engineering Steering Group (IESG). Further information on Internet Standards is available in Section 2 of RFC 5741.

本文件是互联网工程任务组(IETF)的产品。它代表了IETF社区的共识。它已经接受了公众审查,并已被互联网工程指导小组(IESG)批准出版。有关互联网标准的更多信息,请参见RFC 5741第2节。

Information about the current status of this document, any errata, and how to provide feedback on it may be obtained at http://www.rfc-editor.org/info/rfc7683.

有关本文件当前状态、任何勘误表以及如何提供反馈的信息,请访问http://www.rfc-editor.org/info/rfc7683.

Copyright Notice

版权公告

Copyright (c) 2015 IETF Trust and the persons identified as the document authors. All rights reserved.

版权所有(c)2015 IETF信托基金和确定为文件作者的人员。版权所有。

This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License.

本文件受BCP 78和IETF信托有关IETF文件的法律规定的约束(http://trustee.ietf.org/license-info)自本文件出版之日起生效。请仔细阅读这些文件,因为它们描述了您对本文件的权利和限制。从本文件中提取的代码组件必须包括信托法律条款第4.e节中所述的简化BSD许可证文本,并提供简化BSD许可证中所述的无担保。

Table of Contents

目录

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   3
   2.  Terminology and Abbreviations . . . . . . . . . . . . . . . .   3
   3.  Conventions Used in This Document . . . . . . . . . . . . . .   5
   4.  Solution Overview . . . . . . . . . . . . . . . . . . . . . .   5
     4.1.  Piggybacking  . . . . . . . . . . . . . . . . . . . . . .   6
     4.2.  DOIC Capability Announcement  . . . . . . . . . . . . . .   7
     4.3.  DOIC Overload Condition Reporting . . . . . . . . . . . .   9
     4.4.  DOIC Extensibility  . . . . . . . . . . . . . . . . . . .  11
     4.5.  Simplified Example Architecture . . . . . . . . . . . . .  12
   5.  Solution Procedures . . . . . . . . . . . . . . . . . . . . .  12
     5.1.  Capability Announcement . . . . . . . . . . . . . . . . .  12
       5.1.1.  Reacting Node Behavior  . . . . . . . . . . . . . . .  13
       5.1.2.  Reporting Node Behavior . . . . . . . . . . . . . . .  13
       5.1.3.  Agent Behavior  . . . . . . . . . . . . . . . . . . .  14
     5.2.  Overload Report Processing  . . . . . . . . . . . . . . .  15
       5.2.1.  Overload Control State  . . . . . . . . . . . . . . .  15
       5.2.2.  Reacting Node Behavior  . . . . . . . . . . . . . . .  19
       5.2.3.  Reporting Node Behavior . . . . . . . . . . . . . . .  20
     5.3.  Protocol Extensibility  . . . . . . . . . . . . . . . . .  22
   6.  Loss Algorithm  . . . . . . . . . . . . . . . . . . . . . . .  23
     6.1.  Overview  . . . . . . . . . . . . . . . . . . . . . . . .  23
     6.2.  Reporting Node Behavior . . . . . . . . . . . . . . . . .  24
     6.3.  Reacting Node Behavior  . . . . . . . . . . . . . . . . .  24
   7.  Attribute Value Pairs . . . . . . . . . . . . . . . . . . . .  25
     7.1.  OC-Supported-Features AVP . . . . . . . . . . . . . . . .  25
     7.2.  OC-Feature-Vector AVP . . . . . . . . . . . . . . . . . .  25
     7.3.  OC-OLR AVP  . . . . . . . . . . . . . . . . . . . . . . .  26
     7.4.  OC-Sequence-Number AVP  . . . . . . . . . . . . . . . . .  26
     7.5.  OC-Validity-Duration AVP  . . . . . . . . . . . . . . . .  26
     7.6.  OC-Report-Type AVP  . . . . . . . . . . . . . . . . . . .  27
     7.7.  OC-Reduction-Percentage AVP . . . . . . . . . . . . . . .  27
     7.8.  AVP Flag Rules  . . . . . . . . . . . . . . . . . . . . .  28
   8.  Error Response Codes  . . . . . . . . . . . . . . . . . . . .  28
   9.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .  29
     9.1.  AVP Codes . . . . . . . . . . . . . . . . . . . . . . . .  29
     9.2.  New Registries  . . . . . . . . . . . . . . . . . . . . .  29
   10. Security Considerations . . . . . . . . . . . . . . . . . . .  30
     10.1.  Potential Threat Modes . . . . . . . . . . . . . . . . .  30
     10.2.  Denial-of-Service Attacks  . . . . . . . . . . . . . . .  31
     10.3.  Noncompliant Nodes . . . . . . . . . . . . . . . . . . .  32
     10.4.  End-to-End Security Issues . . . . . . . . . . . . . . .  32
   11. References  . . . . . . . . . . . . . . . . . . . . . . . . .  34
     11.1.  Normative References . . . . . . . . . . . . . . . . . .  34
     11.2.  Informative References . . . . . . . . . . . . . . . . .  34
        
   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   3
   2.  Terminology and Abbreviations . . . . . . . . . . . . . . . .   3
   3.  Conventions Used in This Document . . . . . . . . . . . . . .   5
   4.  Solution Overview . . . . . . . . . . . . . . . . . . . . . .   5
     4.1.  Piggybacking  . . . . . . . . . . . . . . . . . . . . . .   6
     4.2.  DOIC Capability Announcement  . . . . . . . . . . . . . .   7
     4.3.  DOIC Overload Condition Reporting . . . . . . . . . . . .   9
     4.4.  DOIC Extensibility  . . . . . . . . . . . . . . . . . . .  11
     4.5.  Simplified Example Architecture . . . . . . . . . . . . .  12
   5.  Solution Procedures . . . . . . . . . . . . . . . . . . . . .  12
     5.1.  Capability Announcement . . . . . . . . . . . . . . . . .  12
       5.1.1.  Reacting Node Behavior  . . . . . . . . . . . . . . .  13
       5.1.2.  Reporting Node Behavior . . . . . . . . . . . . . . .  13
       5.1.3.  Agent Behavior  . . . . . . . . . . . . . . . . . . .  14
     5.2.  Overload Report Processing  . . . . . . . . . . . . . . .  15
       5.2.1.  Overload Control State  . . . . . . . . . . . . . . .  15
       5.2.2.  Reacting Node Behavior  . . . . . . . . . . . . . . .  19
       5.2.3.  Reporting Node Behavior . . . . . . . . . . . . . . .  20
     5.3.  Protocol Extensibility  . . . . . . . . . . . . . . . . .  22
   6.  Loss Algorithm  . . . . . . . . . . . . . . . . . . . . . . .  23
     6.1.  Overview  . . . . . . . . . . . . . . . . . . . . . . . .  23
     6.2.  Reporting Node Behavior . . . . . . . . . . . . . . . . .  24
     6.3.  Reacting Node Behavior  . . . . . . . . . . . . . . . . .  24
   7.  Attribute Value Pairs . . . . . . . . . . . . . . . . . . . .  25
     7.1.  OC-Supported-Features AVP . . . . . . . . . . . . . . . .  25
     7.2.  OC-Feature-Vector AVP . . . . . . . . . . . . . . . . . .  25
     7.3.  OC-OLR AVP  . . . . . . . . . . . . . . . . . . . . . . .  26
     7.4.  OC-Sequence-Number AVP  . . . . . . . . . . . . . . . . .  26
     7.5.  OC-Validity-Duration AVP  . . . . . . . . . . . . . . . .  26
     7.6.  OC-Report-Type AVP  . . . . . . . . . . . . . . . . . . .  27
     7.7.  OC-Reduction-Percentage AVP . . . . . . . . . . . . . . .  27
     7.8.  AVP Flag Rules  . . . . . . . . . . . . . . . . . . . . .  28
   8.  Error Response Codes  . . . . . . . . . . . . . . . . . . . .  28
   9.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .  29
     9.1.  AVP Codes . . . . . . . . . . . . . . . . . . . . . . . .  29
     9.2.  New Registries  . . . . . . . . . . . . . . . . . . . . .  29
   10. Security Considerations . . . . . . . . . . . . . . . . . . .  30
     10.1.  Potential Threat Modes . . . . . . . . . . . . . . . . .  30
     10.2.  Denial-of-Service Attacks  . . . . . . . . . . . . . . .  31
     10.3.  Noncompliant Nodes . . . . . . . . . . . . . . . . . . .  32
     10.4.  End-to-End Security Issues . . . . . . . . . . . . . . .  32
   11. References  . . . . . . . . . . . . . . . . . . . . . . . . .  34
     11.1.  Normative References . . . . . . . . . . . . . . . . . .  34
     11.2.  Informative References . . . . . . . . . . . . . . . . .  34
        
   Appendix A.  Issues Left for Future Specifications  . . . . . . .  35
     A.1.  Additional Traffic Abatement Algorithms . . . . . . . . .  35
     A.2.  Agent Overload  . . . . . . . . . . . . . . . . . . . . .  35
     A.3.  New Error Diagnostic AVP  . . . . . . . . . . . . . . . .  35
   Appendix B.  Deployment Considerations  . . . . . . . . . . . . .  35
   Appendix C.  Considerations for Applications Integrating the DOIC
                Solution . . . . . . . . . . . . . . . . . . . . . .  36
     C.1.  Application Classification  . . . . . . . . . . . . . . .  36
     C.2.  Implications of Application Type Overload . . . . . . . .  37
     C.3.  Request Transaction Classification  . . . . . . . . . . .  38
     C.4.  Request Type Overload Implications  . . . . . . . . . . .  39
   Contributors  . . . . . . . . . . . . . . . . . . . . . . . . . .  41
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .  42
        
   Appendix A.  Issues Left for Future Specifications  . . . . . . .  35
     A.1.  Additional Traffic Abatement Algorithms . . . . . . . . .  35
     A.2.  Agent Overload  . . . . . . . . . . . . . . . . . . . . .  35
     A.3.  New Error Diagnostic AVP  . . . . . . . . . . . . . . . .  35
   Appendix B.  Deployment Considerations  . . . . . . . . . . . . .  35
   Appendix C.  Considerations for Applications Integrating the DOIC
                Solution . . . . . . . . . . . . . . . . . . . . . .  36
     C.1.  Application Classification  . . . . . . . . . . . . . . .  36
     C.2.  Implications of Application Type Overload . . . . . . . .  37
     C.3.  Request Transaction Classification  . . . . . . . . . . .  38
     C.4.  Request Type Overload Implications  . . . . . . . . . . .  39
   Contributors  . . . . . . . . . . . . . . . . . . . . . . . . . .  41
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .  42
        
1. Introduction
1. 介绍

This specification defines a base solution for Diameter overload control, referred to as Diameter Overload Indication Conveyance (DOIC), based on the requirements identified in [RFC7068].

本规范根据[RFC7068]中确定的要求,定义了直径过载控制的基本解决方案,称为直径过载指示传输(DOIC)。

This specification addresses Diameter overload control between Diameter nodes that support the DOIC solution. The solution, which is designed to apply to existing and future Diameter applications, requires no changes to the Diameter base protocol [RFC6733] and is deployable in environments where some Diameter nodes do not implement the Diameter overload control solution defined in this specification.

本规范解决了支持DOIC解决方案的直径节点之间的直径过载控制问题。该解决方案旨在应用于现有和未来的Diameter应用程序,无需更改Diameter基本协议[RFC6733],并可部署在某些Diameter节点未实现本规范中定义的Diameter过载控制解决方案的环境中。

A new application specification can incorporate the overload control mechanism specified in this document by making it mandatory to implement for the application and referencing this specification normatively. It is the responsibility of the Diameter application designers to define how overload control mechanisms work on that application.

新的应用程序规范可以通过强制应用程序实现并规范性地引用本规范,纳入本文档中规定的过载控制机制。Diameter应用程序设计者有责任定义过载控制机制如何在该应用程序上工作。

Note that the overload control solution defined in this specification does not address all the requirements listed in [RFC7068]. A number of features related to overload control are left for future specifications. See Appendix A for a list of extensions that are currently being considered.

请注意,本规范中定义的过载控制解决方案并未满足[RFC7068]中列出的所有要求。与过载控制相关的许多功能留待将来的规范使用。有关当前正在考虑的扩展列表,请参见附录A。

2. Terminology and Abbreviations
2. 术语和缩写

Abatement

减少

Reaction to receipt of an overload report resulting in a reduction in traffic sent to the reporting node. Abatement actions include diversion and throttling.

对收到过载报告的反应,导致发送到报告节点的通信量减少。减排措施包括分流和节流。

Abatement Algorithm

消减算法

An extensible method requested by reporting nodes and used by reacting nodes to reduce the amount of traffic sent during an occurrence of overload control.

一种可扩展的方法,由报告节点请求,并由反应节点使用,以减少发生过载控制期间发送的通信量。

Diversion

改道

An overload abatement treatment where the reacting node selects alternate destinations or paths for requests.

一种过载减轻处理,其中反应节点为请求选择备用目的地或路径。

Host-Routed Requests

主机路由请求

Requests that a reacting node knows will be served by a particular host, either due to the presence of a Destination-Host Attribute Value Pair (AVP) or by some other local knowledge on the part of the reacting node.

由于目标主机属性值对(AVP)的存在或反应节点的某些其他本地知识,反应节点知道的请求将由特定主机提供服务。

Overload Control State (OCS)

过载控制状态(OCS)

Internal state maintained by a reporting or reacting node describing occurrences of overload control.

由报告或反应节点维护的内部状态,描述过载控制的发生。

Overload Report (OLR)

超载报告(OLR)

Overload control information for a particular overload occurrence sent by a reporting node.

报告节点发送的特定过载事件的过载控制信息。

Reacting Node

反应节点

A Diameter node that acts upon an overload report.

作用于重载报告的直径节点。

Realm-Routed Requests

域路由请求

Requests sent by a reacting node where the reacting node does not know to which host the request will be routed.

由反应节点发送的请求,反应节点不知道该请求将路由到哪个主机。

Reporting Node

报告节点

A Diameter node that generates an overload report. (This may or may not be the overloaded node.)

生成重载报告的直径节点。(这可能是也可能不是重载节点。)

Throttling

节流

An abatement treatment that limits the number of requests sent by the reacting node. Throttling can include a Diameter Client choosing to not send requests, or a Diameter Agent or Server rejecting requests with appropriate error responses. In both cases, the result of the throttling is a permanent rejection of the transaction.

一种减少处理,用于限制反应节点发送的请求数。节流可包括选择不发送请求的Diameter客户端,或拒绝具有适当错误响应的请求的Diameter代理或服务器。在这两种情况下,节流的结果都是事务的永久拒绝。

3. Conventions Used in This Document
3. 本文件中使用的公约

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119 [RFC2119].

本文件中的关键词“必须”、“不得”、“要求”、“应”、“不应”、“应”、“不应”、“建议”、“可”和“可选”应按照RFC 2119[RFC2119]中所述进行解释。

The interpretation from RFC 2119 [RFC2119] does not apply for the above listed words when they are not used in all caps.

RFC 2119[RFC2119]的解释不适用于上述未在所有大写字母中使用的单词。

4. Solution Overview
4. 解决方案概述

The Diameter Overload Information Conveyance (DOIC) solution allows Diameter nodes to request that other Diameter nodes perform overload abatement actions, that is, actions to reduce the load offered to the overloaded node or realm.

Diameter过载信息传输(DOIC)解决方案允许Diameter节点请求其他Diameter节点执行过载减轻操作,即减少提供给过载节点或领域的负载的操作。

A Diameter node that supports DOIC is known as a "DOIC node". Any Diameter node can act as a DOIC node, including Diameter Clients, Diameter Servers, and Diameter Agents. DOIC nodes are further divided into "Reporting Nodes" and "Reacting Nodes." A reporting node requests overload abatement by sending Overload Reports (OLRs).

支持DOIC的直径节点称为“DOIC节点”。任何Diameter节点都可以充当DOIC节点,包括Diameter客户端、Diameter服务器和Diameter代理。DOIC节点进一步分为“报告节点”和“反应节点”。报告节点通过发送过载报告(OLR)请求过载减轻。

A reacting node acts upon OLRs and performs whatever actions are needed to fulfill the abatement requests included in the OLRs. A reporting node may report overload on its own behalf or on behalf of other nodes. Likewise, a reacting node may perform overload abatement on its own behalf or on behalf of other nodes.

反应节点作用于OLR,并执行满足OLR中包含的减排请求所需的任何操作。报告节点可以代表自己或代表其他节点报告过载。类似地,反应节点可代表其自身或代表其他节点执行过载减轻。

A Diameter node's role as a DOIC node is independent of its Diameter role. For example, Diameter Agents may act as DOIC nodes, even though they are not endpoints in the Diameter sense. Since Diameter enables bidirectional applications, where Diameter Servers can send requests towards Diameter Clients, a given Diameter node can simultaneously act as both a reporting node and a reacting node.

Diameter节点作为DOIC节点的角色独立于其Diameter角色。例如,Diameter代理可以充当DOIC节点,即使它们不是Diameter意义上的端点。由于Diameter支持双向应用程序,其中Diameter服务器可以向Diameter客户端发送请求,因此给定的Diameter节点可以同时充当报告节点和反应节点。

Likewise, a Diameter Agent may act as a reacting node from the perspective of upstream nodes, and a reporting node from the perspective of downstream nodes.

同样,Diameter代理可以从上游节点的角度充当反应节点,从下游节点的角度充当报告节点。

DOIC nodes do not generate new messages to carry DOIC-related information. Rather, they "piggyback" DOIC information over existing Diameter messages by inserting new AVPs into existing Diameter requests and responses. Nodes indicate support for DOIC, and any needed DOIC parameters, by inserting an OC-Supported-Features AVP (Section 7.1) into existing requests and responses. Reporting nodes send OLRs by inserting OC-OLR AVPs (Section 7.3).

DOIC节点不会生成新消息来承载与DOIC相关的信息。相反,他们通过将新的AVP插入现有的DIAMER请求和响应,将DOIC信息“背驮”到现有的DIAMER消息上。节点通过在现有请求和响应中插入OC支持的Features AVP(第7.1节)来表示对DOIC和任何所需DOIC参数的支持。报告节点通过插入OC-OLR AVP发送OLR(第7.3节)。

A given OLR applies to the Diameter realm and application of the Diameter message that carries it. If a reporting node supports more than one realm and/or application, it reports independently for each combination of realm and application. Similarly, the OC-Supported-Features AVP applies to the realm and application of the enclosing message. This implies that a node may support DOIC for one application and/or realm, but not another, and may indicate different DOIC parameters for each application and realm for which it supports DOIC.

给定的OLR应用于Diameter领域以及承载它的Diameter消息的应用程序。如果一个报告节点支持多个领域和/或应用程序,那么它将为领域和应用程序的每个组合独立报告。类似地,OC支持的特性AVP适用于封闭消息的领域和应用程序。这意味着节点可能支持一个应用程序和/或领域的DOIC,但不支持另一个,并且可能为其支持DOIC的每个应用程序和领域指示不同的DOIC参数。

Reacting nodes perform overload abatement according to an agreed-upon abatement algorithm. An abatement algorithm defines the meaning of some of the parameters of an OLR and the procedures required for overload abatement. An overload abatement algorithm separates Diameter requests into two sets. The first set contains the requests that are to undergo overload abatement treatment of either throttling or diversion. The second set contains the requests that are to be given normal routing treatment. This document specifies a single "must-support" algorithm, namely, the "loss" algorithm (Section 6). Future specifications may introduce new algorithms.

反应节点根据商定的减轻算法执行过载减轻。消减算法定义了OLR某些参数的含义以及过载消减所需的程序。重载消除算法将Diameter请求分为两组。第一组包含要进行节流或分流的过载减轻处理的请求。第二组包含要进行常规路由处理的请求。本文件规定了单一的“必须支持”算法,即“损失”算法(第6节)。未来的规范可能会引入新的算法。

Overload conditions may vary in scope. For example, a single Diameter node may be overloaded, in which case, reacting nodes may attempt to send requests to other destinations. On the other hand, an entire Diameter realm may be overloaded, in which case, such attempts would do harm. DOIC OLRs have a concept of "report type" (Section 7.6), where the type defines such behaviors. Report types are extensible. This document defines report types for overload of a specific host and for overload of an entire realm.

过载条件的范围可能有所不同。例如,单个Diameter节点可能会过载,在这种情况下,响应节点可能会尝试向其他目的地发送请求。另一方面,整个直径范围可能过载,在这种情况下,这样的尝试会造成伤害。内政部OLR有一个“报告类型”的概念(第7.6节),其中类型定义了此类行为。报告类型是可扩展的。本文档定义了特定主机过载和整个领域过载的报告类型。

DOIC works through non-supporting Diameter Agents that properly pass unknown AVPs unchanged.

DOIC通过正确通过未知AVP的非支持性直径代理工作。

4.1. Piggybacking
4.1. 背负

There is no new Diameter application defined to carry overload-related AVPs. The overload control AVPs defined in this specification have been designed to be piggybacked on top of existing

没有定义用于承载过载相关AVP的新直径应用程序。本规范中定义的过载控制AVP设计为搭载在现有AVP之上

application messages. This is made possible by adding the optional overload control AVPs OC-OLR and OC-Supported-Features into existing commands.

应用程序消息。这可以通过在现有命令中添加可选的重载控制AVPs OC-OLR和OC支持的功能来实现。

Reacting nodes indicate support for DOIC by including the OC-Supported-Features AVP in all request messages originated or relayed by the reacting node.

反应节点通过在由反应节点发起或转发的所有请求消息中包含OC支持的特性AVP来表示对DOIC的支持。

Reporting nodes indicate support for DOIC by including the OC-Supported-Features AVP in all answer messages that are originated or relayed by the reporting node and that are in response to a request that contained the OC-Supported-Features AVP. Reporting nodes may include overload reports using the OC-OLR AVP in answer messages.

报告节点通过在所有应答消息中包含OC支持的功能AVP来表示对DOIC的支持,这些应答消息由报告节点发起或转发,并响应包含OC支持的功能AVP的请求。报告节点可以在应答消息中包括使用OC-OLR AVP的过载报告。

Note that the overload control solution does not have fixed server and client roles. The DOIC node role is determined based on the message type: whether the message is a request (i.e., sent by a "reacting node") or an answer (i.e., sent by a "reporting node"). Therefore, in a typical client-server deployment, the Diameter Client may report its overload condition to the Diameter Server for any Diameter-Server-initiated message exchange. An example of such is the Diameter Server requesting a re-authentication from a Diameter Client.

请注意,过载控制解决方案没有固定的服务器和客户端角色。DOIC节点角色根据消息类型确定:消息是请求(即,由“反应节点”发送)还是应答(即,由“报告节点”发送)。因此,在典型的客户机-服务器部署中,Diameter客户机可能会向Diameter服务器报告其过载情况,以进行Diameter服务器启动的任何消息交换。例如,Diameter服务器请求Diameter客户端进行重新身份验证。

4.2. DOIC Capability Announcement
4.2. 内政部能力公告

The DOIC solution supports the ability for Diameter nodes to determine if other nodes in the path of a request support the solution. This capability is referred to as DOIC Capability Announcement (DCA) and is separate from the Diameter Capability Exchange.

DOIC解决方案支持Diameter节点确定请求路径中的其他节点是否支持该解决方案的能力。这种能力称为DOIC能力公告(DCA),与Diameter能力交换分离。

The DCA mechanism uses the OC-Supported-Features AVPs to indicate the Diameter overload features supported.

DCA机制使用OC支持的功能AVP指示支持的直径过载功能。

The first node in the path of a Diameter request that supports the DOIC solution inserts the OC-Supported-Features AVP in the request message.

Diameter请求路径中支持DOIC解决方案的第一个节点在请求消息中插入OC支持的功能AVP。

The individual features supported by the DOIC nodes are indicated in the OC-Feature-Vector AVP. Any semantics associated with the features will be defined in extension specifications that introduce the features.

DOIC节点支持的各个特征在OC特征向量AVP中表示。与特性相关的任何语义都将在引入特性的扩展规范中定义。

Note: As discussed elsewhere in the document, agents in the path of the request can modify the OC-Supported-Features AVP.

注意:如本文档其他部分所述,请求路径中的代理可以修改OC支持的AVP功能。

Note: The DOIC solution must support deployments where Diameter Clients and/or Diameter Servers do not support the DOIC solution. In this scenario, Diameter Agents that support the DOIC solution may handle overload abatement for the non-supporting Diameter nodes. In this case, the DOIC agent will insert the OC-Supported-Features AVP in requests that do not already contain one, telling the reporting node that there is a DOIC node that will handle overload abatement. For transactions where there was an OC-Supporting-Features AVP in the request, the agent will insert the OC-Supported-Features AVP in answers, telling the reacting node that there is a reporting node.

注意:DOIC解决方案必须支持Diameter客户端和/或Diameter服务器不支持DOIC解决方案的部署。在这种情况下,支持DOIC解决方案的Diameter代理可以处理非支持Diameter节点的过载减轻。在这种情况下,DOIC代理将在尚未包含OC支持的功能AVP的请求中插入OC支持的功能AVP,告知报告节点有一个DOIC节点将处理过载减轻。对于请求中存在OC支持的功能AVP的事务,代理将在应答中插入OC支持的功能AVP,告知响应节点存在报告节点。

The OC-Feature-Vector AVP will always contain an indication of support for the loss overload abatement algorithm defined in this specification (see Section 6). This ensures that a reporting node always supports at least one of the advertised abatement algorithms received in a request messages.

OC特征向量AVP将始终包含支持本规范中定义的损耗过载消除算法的指示(见第6节)。这确保了报告节点始终支持在请求消息中接收到的至少一种广告消除算法。

The reporting node inserts the OC-Supported-Features AVP in all answer messages to requests that contained the OC-Supported-Features AVP. The contents of the reporting node's OC-Supported-Features AVP indicate the set of Diameter overload features supported by the reporting node. This specification defines one exception -- the reporting node only includes an indication of support for one overload abatement algorithm, independent of the number of overload abatement algorithms actually supported by the reacting node. The overload abatement algorithm indicated is the algorithm that the reporting node intends to use should it enter an overload condition. Reacting nodes can use the indicated overload abatement algorithm to prepare for possible overload reports and must use the indicated overload abatement algorithm if traffic reduction is actually requested.

报告节点在包含OC支持的功能AVP的请求的所有应答消息中插入OC支持的功能AVP。报告节点的OC Supported Features AVP的内容表示报告节点支持的直径重载功能集。本规范定义了一个例外情况——报告节点仅包括支持一个过载消除算法的指示,与反应节点实际支持的过载消除算法的数量无关。指示的过载消除算法是报告节点在进入过载条件时打算使用的算法。反应节点可以使用指示的过载减轻算法来准备可能的过载报告,并且如果实际请求减少通信量,则必须使用指示的过载减轻算法。

Note that the loss algorithm defined in this document is a stateless abatement algorithm. As a result, it does not require any actions by reacting nodes prior to the receipt of an overload report. Stateful abatement algorithms that base the abatement logic on a history of request messages sent might require reacting nodes to maintain state in advance of receiving an overload report to ensure that the overload reports can be properly handled.

请注意,本文中定义的损失算法是一种无状态消除算法。因此,它不需要在收到过载报告之前通过响应节点执行任何操作。基于发送的请求消息的历史记录的有状态消除算法可能需要作出反应的节点在接收过载报告之前保持状态,以确保过载报告能够得到正确处理。

While it should only be done in exceptional circumstances and not during an active occurrence of overload, a reacting node that wishes to transition to a different abatement algorithm can stop advertising support for the algorithm indicated by the reporting node, as long as support for the loss algorithm is always advertised.

虽然只应在异常情况下进行,而不应在过载的活动发生期间进行,但希望转换到不同的消除算法的反应节点可以停止对报告节点指示的算法的广告支持,只要始终广告对丢失算法的支持。

The DCA mechanism must also allow the scenario where the set of features supported by the sender of a request and by agents in the path of a request differ. In this case, the agent can update the OC-Supported-Features AVP to reflect the mixture of the two sets of supported features.

DCA机制还必须允许请求的发送者和请求路径中的代理所支持的功能集不同的场景。在这种情况下,代理可以更新OC支持的功能AVP,以反映两组支持的功能的混合。

Note: The logic to determine if the content of the OC-Supported-Features AVP should be changed is out of scope for this document, as is the logic to determine the content of a modified OC-Supported-Features AVP. These are left to implementation decisions. Care must be taken not to introduce interoperability issues for downstream or upstream DOIC nodes. As such, the agent must act as a fully compliant reporting node to the downstream reacting node and as a fully compliant reacting node to the upstream reporting node.

注:确定OC支持的功能AVP的内容是否应更改的逻辑不在本文档的范围内,确定修改的OC支持的功能AVP的内容的逻辑也不在本文档的范围内。这些由实施决策决定。必须注意不要为下游或上游DOIC节点引入互操作性问题。因此,代理必须充当下游反应节点的完全兼容的报告节点和上游报告节点的完全兼容的反应节点。

4.3. DOIC Overload Condition Reporting
4.3. DOIC过载条件报告

As with DOIC capability announcement, overload condition reporting uses new AVPs (Section 7.3) to indicate an overload condition.

与DOIC能力公告一样,过载条件报告使用新的AVP(第7.3节)指示过载条件。

The OC-OLR AVP is referred to as an overload report. The OC-OLR AVP includes the type of report, a sequence number, the length of time that the report is valid, and AVPs specific to the abatement algorithm.

OC-OLR AVP被称为过载报告。OC-OLR AVP包括报告类型、序列号、报告有效时间长度以及特定于减排算法的AVP。

Two types of overload reports are defined in this document: host reports and realm reports.

本文档中定义了两种类型的重载报告:主机报告和领域报告。

A report of type "HOST_REPORT" is sent to indicate the overload of a specific host, identified by the Origin-Host AVP of the message containing the OLR, for the Application-ID indicated in the transaction. When receiving an OLR of type "HOST_REPORT", a reacting node applies overload abatement treatment to the host-routed requests identified by the overload abatement algorithm (as defined in Section 2) sent for this application to the overloaded host.

发送类型为“HOST_report”的报告以指示特定主机的过载,该主机由包含OLR的消息的源主机AVP标识,用于事务中指示的应用程序ID。当接收到类型为“主机报告”的OLR时,反应节点将过载消除处理应用于由过载消除算法(如第2节中定义)确定的主机路由请求,该算法为此应用程序发送给过载主机。

A report of type "REALM_REPORT" is sent to indicate the overload of a realm for the Application-ID indicated in the transaction. The overloaded realm is identified by the Destination-Realm AVP of the message containing the OLR. When receiving an OLR of type "REALM_REPORT", a reacting node applies overload abatement treatment to realm-routed requests identified by the overload abatement algorithm (as defined in Section 2) sent for this application to the overloaded realm.

发送类型为“REALM_report”的报告,以指示事务中指示的应用程序ID的领域过载。重载域由包含OLR的消息的目标域AVP标识。当接收到类型为“REALM_REPORT”的OLR时,响应节点将过载消除处理应用于由过载消除算法(如第2节中定义的)标识的领域路由请求,该算法为此应用程序发送到过载领域。

This document assumes that there is a single source for realm reports for a given realm, or that if multiple nodes can send realm reports, that each such node has full knowledge of the overload state of the entire realm. A reacting node cannot distinguish between receiving realm reports from a single node or from multiple nodes.

本文档假设给定领域的领域报告只有一个源,或者如果多个节点可以发送领域报告,则每个这样的节点都完全了解整个领域的过载状态。反应节点无法区分从单个节点还是从多个节点接收领域报告。

Note: Known issues exist if there are multiple sources for overload reports that apply to the same Diameter entity. Reacting nodes have no way of determining the source and, as such, will treat them as coming from a single source. Variance in sequence numbers between the two sources can then cause incorrect overload abatement treatment to be applied for indeterminate periods of time.

注意:如果应用于同一直径实体的过载报告有多个来源,则存在已知问题。反应节点无法确定源,因此会将它们视为来自单个源。两个来源之间序列号的差异可能会导致在不确定的时间段内应用不正确的超载减轻处理。

Reporting nodes are responsible for determining the need for a reduction of traffic. The method for making this determination is implementation specific and depends on the type of overload report being generated. A host report might be generated by tracking use of resources required by the host to handle transactions for the Diameter application. A realm report generally impacts the traffic sent to multiple hosts and, as such, requires tracking the capacity of all servers able to handle realm-routed requests for the application and realm.

报告节点负责确定是否需要减少通信量。进行此确定的方法是特定于实现的,取决于生成的过载报告的类型。可以通过跟踪主机处理Diameter应用程序事务所需资源的使用情况来生成主机报告。领域报告通常会影响发送到多个主机的流量,因此需要跟踪能够处理应用程序和领域的领域路由请求的所有服务器的容量。

Once a reporting node determines the need for a reduction in traffic, it uses the DOIC-defined AVPs to report on the condition. These AVPs are included in answer messages sent or relayed by the reporting node. The reporting node indicates the overload abatement algorithm that is to be used to handle the traffic reduction in the OC-Supported-Features AVP. The OC-OLR AVP is used to communicate information about the requested reduction.

一旦报告节点确定需要减少通信量,它将使用DOIC定义的AVP报告情况。这些AVP包含在报告节点发送或转发的应答消息中。报告节点指示用于处理OC支持的功能AVP中的流量减少的过载减轻算法。OC-OLR AVP用于传达有关请求减少的信息。

Reacting nodes, upon receipt of an overload report, apply the overload abatement algorithm to traffic impacted by the overload report. The method used to determine the requests that are to receive overload abatement treatment is dependent on the abatement algorithm. The loss abatement algorithm is defined in this document (Section 6). Other abatement algorithms can be defined in extensions to the DOIC solution.

响应节点在收到过载报告后,将过载消除算法应用于受过载报告影响的流量。用于确定要接收过载减轻处理的请求的方法取决于减轻算法。本文件(第6节)规定了减少损失算法。其他减排算法可以在DOIC解决方案的扩展中定义。

Two types of overload abatement treatment are defined, diversion and throttling. Reacting nodes are responsible for determining which treatment is appropriate for individual requests.

定义了两种类型的过载缓解处理,分流和节流。反应节点负责确定哪种处理适合于单个请求。

As the conditions that lead to the generation of the overload report change, the reporting node can send new overload reports requesting greater reduction if the condition gets worse or less reduction if the condition improves. The reporting node sends an overload report

当导致生成过载报告的条件发生变化时,报告节点可以发送新的过载报告,如果条件变得更糟,则请求更大的减少;如果条件改善,则请求更少的减少。报告节点发送过载报告

with a duration of zero to indicate that the overload condition has ended and abatement is no longer needed.

持续时间为零,表示过载状态已结束,不再需要缓解。

The reacting node also determines when the overload report expires based on the OC-Validity-Duration AVP in the overload report and stops applying the abatement algorithm when the report expires.

反应节点还根据过载报告中的OC Validity Duration AVP确定过载报告何时过期,并在报告过期时停止应用消减算法。

Note that erroneous overload reports can be used for DoS attacks. This includes the ability to indicate that a significant reduction in traffic, up to and including a request for no traffic, should be sent to a reporting node. As such, care should be taken to verify the sender of overload reports.

请注意,错误的过载报告可用于DoS攻击。这包括指示应向报告节点发送通信量显著减少(包括无通信量请求)的能力。因此,应注意核实过载报告的发送者。

4.4. DOIC Extensibility
4.4. DOIC扩展性

The DOIC solution is designed to be extensible. This extensibility is based on existing Diameter-based extensibility mechanisms, along with the DOIC capability announcement mechanism.

DOIC解决方案设计为可扩展的。这种可扩展性基于现有的基于直径的可扩展性机制,以及DOIC能力公告机制。

There are multiple categories of extensions that are expected. This includes the definition of new overload abatement algorithms, the definition of new report types, and the definition of new scopes of messages impacted by an overload report.

预期会有多种类型的扩展。这包括定义新的过载消除算法、定义新的报告类型以及定义受过载报告影响的消息的新范围。

A DOIC node communicates supported features by including them in the OC-Feature-Vector AVP, as a sub-AVP of OC-Supported-Features. Any non-backwards-compatible DOIC extensions define new values for the OC-Feature-Vector AVP. DOIC extensions also have the ability to add new AVPs to the OC-Supported-Features AVP, if additional information about the new feature is required.

DOIC节点通过将支持的功能作为OC支持的功能的子AVP包含在OC功能向量AVP中来通信支持的功能。任何不向后兼容的DOIC扩展都为OC特征向量AVP定义新值。如果需要有关新功能的更多信息,DOIC扩展还可以将新的AVP添加到OC支持的功能AVP中。

Overload reports can also be extended by adding new sub-AVPs to the OC-OLR AVP, allowing reporting nodes to communicate additional information about handling an overload condition.

还可以通过向OC-OLR AVP添加新的子AVP来扩展过载报告,从而允许报告节点传递有关处理过载情况的附加信息。

If necessary, new extensions can also define new AVPs that are not part of the OC-Supported-Features and OC-OLR group AVPs. It is, however, recommended that DOIC extensions use the OC-Supported-Features AVP and OC-OLR AVP to carry all DOIC-related AVPs.

如有必要,新扩展还可以定义不属于OC支持的功能和OC-OLR组AVP的新AVP。但是,建议DOIC扩展使用OC支持的特性AVP和OC-OLR AVP来承载所有与DOIC相关的AVP。

4.5. Simplified Example Architecture
4.5. 简化示例体系结构

Figure 1 illustrates the simplified architecture for Diameter overload information conveyance.

图1说明了直径过载信息传输的简化架构。

    Realm X                                  Same or other Realms
   <--------------------------------------> <---------------------->
        
    Realm X                                  Same or other Realms
   <--------------------------------------> <---------------------->
        
      +--------+                 : (optional) :
      |Diameter|                 :            :
      |Server A|--+     .--.     : +--------+ :     .--.
      +--------+  |   _(    `.   : |Diameter| :   _(    `.   +--------+
                  +--(        )--:-|  Agent |-:--(        )--|Diameter|
      +--------+  | ( `  .  )  ) : +--------+ : ( `  .  )  ) | Client |
      |Diameter|--+  `--(___.-'  :            :  `--(___.-'  +--------+
      |Server B|                 :            :
      +--------+                 :            :
        
      +--------+                 : (optional) :
      |Diameter|                 :            :
      |Server A|--+     .--.     : +--------+ :     .--.
      +--------+  |   _(    `.   : |Diameter| :   _(    `.   +--------+
                  +--(        )--:-|  Agent |-:--(        )--|Diameter|
      +--------+  | ( `  .  )  ) : +--------+ : ( `  .  )  ) | Client |
      |Diameter|--+  `--(___.-'  :            :  `--(___.-'  +--------+
      |Server B|                 :            :
      +--------+                 :            :
        
                          End-to-end Overload Indication
             1)  <----------------------------------------------->
                             Diameter Application Y
        
                          End-to-end Overload Indication
             1)  <----------------------------------------------->
                             Diameter Application Y
        
                  Overload Indication A    Overload Indication A'
             2)  <----------------------> <---------------------->
                 Diameter Application Y   Diameter Application Y
        
                  Overload Indication A    Overload Indication A'
             2)  <----------------------> <---------------------->
                 Diameter Application Y   Diameter Application Y
        

Figure 1: Simplified Architecture Choices for Overload Indication Delivery

图1:过载指示交付的简化架构选择

In Figure 1, the Diameter overload indication can be conveyed (1) end-to-end between servers and clients or (2) between servers and the Diameter Agent inside the realm and then between the Diameter Agent and the clients.

在图1中,Diameter重载指示可以(1)在服务器和客户端之间端到端传输,或者(2)在服务器和域内的Diameter代理之间传输,然后在Diameter代理和客户端之间传输。

5. Solution Procedures
5. 解决程序

This section outlines the normative behavior for the DOIC solution.

本节概述了DOIC解决方案的规范行为。

5.1. Capability Announcement
5.1. 能力公告

This section defines DOIC Capability Announcement (DCA) behavior.

本节定义了DOIC能力公告(DCA)行为。

Note: This specification assumes that changes in DOIC node capabilities are relatively rare events that occur as a result of administrative action. Reacting nodes ought to minimize changes that force the reporting node to change the features being used, especially during active overload conditions. But even if

注意:本规范假设DOIC节点功能中的更改是由于管理操作而发生的相对较少的事件。作出反应的节点应尽量减少迫使报告节点更改正在使用的功能的更改,特别是在活动过载条件下。但即使

reacting nodes avoid such changes, reporting nodes still have to be prepared for them to occur. For example, differing capabilities between multiple reacting nodes may still force a reporting node to select different features on a per-transaction basis.

作出反应的节点要避免此类更改,报告节点仍必须为这些更改的发生做好准备。例如,多个反应节点之间的不同功能仍然可能迫使报告节点在每个事务的基础上选择不同的功能。

5.1.1. Reacting Node Behavior
5.1.1. 反应节点行为

A reacting node MUST include the OC-Supported-Features AVP in all requests. It MAY include the OC-Feature-Vector AVP, as a sub-AVP of OC-Supported-Features. If it does so, it MUST indicate support for the "loss" algorithm. If the reacting node is configured to support features (including other algorithms) in addition to the loss algorithm, it MUST indicate such support in an OC-Feature-Vector AVP.

反应节点必须在所有请求中包含OC支持的AVP功能。它可以包括OC特征向量AVP,作为OC支持的特征的子AVP。如果它这样做,它必须表明对“丢失”算法的支持。如果反应节点被配置为除了丢失算法之外还支持特征(包括其他算法),则它必须在OC特征向量AVP中指示这种支持。

An OC-Supported-Features AVP in answer messages indicates there is a reporting node for the transaction. The reacting node MAY take action, for example, creating state for some stateful abatement algorithm, based on the features indicated in the OC-Feature-Vector AVP.

应答消息中OC支持的功能AVP表示存在事务的报告节点。反应节点可以采取动作,例如,基于OC特征向量AVP中指示的特征,为一些有状态消除算法创建状态。

Note: The loss abatement algorithm does not require stateful behavior when there is no active overload report.

注意:当没有活动过载报告时,损失减轻算法不需要有状态行为。

Reacting nodes need to be prepared for the reporting node to change selected algorithms. This can happen at any time, including when the reporting node has sent an active overload report. The reacting node can minimize the potential for changes by modifying the advertised abatement algorithms sent to an overloaded reporting node to the currently selected algorithm and loss (or just loss if it is the currently selected algorithm). This has the effect of limiting the potential change in abatement algorithm from the currently selected algorithm to loss, avoiding changes to more complex abatement algorithms that require state to operate properly.

反应节点需要为报告节点更改所选算法做好准备。这可以在任何时候发生,包括报告节点发送活动过载报告时。作出反应的节点可以通过将发送给过载报告节点的广告消减算法修改为当前选择的算法和损失(或者如果是当前选择的算法,则仅为损失),从而最小化更改的可能性。这样做的效果是将减排算法的潜在变化从当前选定的算法限制为损失,避免对需要状态正常运行的更复杂的减排算法进行更改。

5.1.2. Reporting Node Behavior
5.1.2. 报告节点行为

Upon receipt of a request message, a reporting node determines if there is a reacting node for the transaction based on the presence of the OC-Supported-Features AVP in the request message.

在接收到请求消息后,报告节点根据请求消息中是否存在OC支持的功能AVP来确定是否存在用于事务的响应节点。

If the request message contains an OC-Supported-Features AVP, then a reporting node MUST include the OC-Supported-Features AVP in the answer message for that transaction.

如果请求消息包含OC支持的功能AVP,则报告节点必须在该事务的应答消息中包含OC支持的功能AVP。

Note: Capability announcement is done on a per-transaction basis. The reporting node cannot assume that the capabilities announced by a reacting node will be the same between transactions.

注意:功能公告是在每个事务的基础上进行的。报告节点不能假设反应节点宣布的功能在事务之间是相同的。

A reporting node MUST NOT include the OC-Supported-Features AVP, OC-OLR AVP, or any other overload control AVPs defined in extension documents in response messages for transactions where the request message does not include the OC-Supported-Features AVP. Lack of the OC-Supported-Features AVP in the request message indicates that there is no reacting node for the transaction.

对于请求消息不包含OC支持的功能AVP的事务,报告节点不得在响应消息中包含OC支持的功能AVP、OC-OLR AVP或扩展文档中定义的任何其他过载控制AVP。请求消息中缺少支持OC的AVP功能表明事务没有响应节点。

A reporting node knows what overload control functionality is supported by the reacting node based on the content or absence of the OC-Feature-Vector AVP within the OC-Supported-Features AVP in the request message.

报告节点根据请求消息中OC-supported-Features AVP中OC-Features向量AVP的内容或缺失,知道响应节点支持什么过载控制功能。

A reporting node MUST select a single abatement algorithm in the OC-Feature-Vector AVP. The abatement algorithm selected MUST indicate the abatement algorithm the reporting node wants the reacting node to use when the reporting node enters an overload condition.

报告节点必须在OC特征向量AVP中选择单个消除算法。当报告节点进入过载状态时,选择的消减算法必须指示报告节点希望反应节点使用的消减算法。

The abatement algorithm selected MUST be from the set of abatement algorithms contained in the request message's OC-Feature-Vector AVP.

选择的消减算法必须来自请求消息的OC特征向量AVP中包含的消减算法集合。

A reporting node that selects the loss algorithm may do so by including the OC-Feature-Vector AVP with an explicit indication of the loss algorithm, or it MAY omit the OC-Feature-Vector AVP. If it selects a different algorithm, it MUST include the OC-Feature-Vector AVP with an explicit indication of the selected algorithm.

选择丢失算法的报告节点可以通过包括具有丢失算法的明确指示的OC特征向量AVP来实现,或者可以省略OC特征向量AVP。如果选择不同的算法,则必须包括OC特征向量AVP,并明确指示所选算法。

The reporting node SHOULD indicate support for other DOIC features defined in extension documents that it supports and that apply to the transaction. It does so using the OC-Feature-Vector AVP.

报告节点应该指出对扩展文档中定义的、它支持的和应用于事务的其他DOIC特性的支持。它使用OC特征向量AVP来实现。

Note: Not all DOIC features will apply to all Diameter applications or deployment scenarios. The features included in the OC-Feature-Vector AVP are based on local policy of the reporting node.

注意:并非所有DOIC功能都适用于所有Diameter应用程序或部署场景。OC特征向量AVP中包含的特征基于报告节点的本地策略。

5.1.3. Agent Behavior
5.1.3. 代理行为

Diameter Agents that support DOIC can ensure that all messages relayed by the agent contain the OC-Supported-Features AVP.

支持DOIC的Diameter代理可以确保代理转发的所有消息都包含OC支持的AVP特性。

A Diameter Agent MAY take on reacting node behavior for Diameter endpoints that do not support the DOIC solution. A Diameter Agent detects that a Diameter endpoint does not support DOIC reacting node behavior when there is no OC-Supported-Features AVP in a request message.

对于不支持DOIC解决方案的Diameter端点,Diameter代理可能会采取反应节点行为。当请求消息中没有OC支持的功能AVP时,Diameter代理检测到Diameter端点不支持DOIC响应节点行为。

For a Diameter Agent to be a reacting node for a non-supporting Diameter endpoint, the Diameter Agent MUST include the OC-Supported-Features AVP in request messages it relays that do not contain the OC-Supported-Features AVP.

要使Diameter代理成为非支持Diameter端点的反应节点,Diameter代理必须在其中继的请求消息中包含OC支持的功能AVP,该请求消息不包含OC支持的功能AVP。

A Diameter Agent MAY take on reporting node behavior for Diameter endpoints that do not support the DOIC solution. The Diameter Agent MUST have visibility to all traffic destined for the non-supporting host in order to become the reporting node for the Diameter endpoint. A Diameter Agent detects that a Diameter endpoint does not support DOIC reporting node behavior when there is no OC-Supported-Features AVP in an answer message for a transaction that contained the OC-Supported-Features AVP in the request message.

Diameter代理可能负责报告不支持DOIC解决方案的Diameter端点的节点行为。Diameter代理必须能够看到所有发送给非支持主机的流量,才能成为Diameter端点的报告节点。当请求消息中包含OC支持的功能AVP的事务的应答消息中没有OC支持的功能AVP时,Diameter代理检测到Diameter端点不支持DOIC报告节点行为。

If a request already has the OC-Supported-Features AVP, a Diameter Agent MAY modify it to reflect the features appropriate for the transaction. Otherwise, the agent relays the OC-Supported-Features AVP without change.

如果请求已经具有OC支持的功能AVP,Diameter代理可以修改它以反映适合事务的功能。否则,代理将在不更改的情况下中继OC支持的功能AVP。

Example: If the agent supports a superset of the features reported by the reacting node, then the agent might choose, based on local policy, to advertise that superset of features to the reporting node.

示例:如果代理支持反应节点报告的功能超集,则代理可能会根据本地策略选择向报告节点公布该功能超集。

If the Diameter Agent changes the OC-Supported-Features AVP in a request message, then it is likely it will also need to modify the OC-Supported-Features AVP in the answer message for the transaction. A Diameter Agent MAY modify the OC-Supported-Features AVP carried in answer messages.

如果Diameter代理更改请求消息中的OC支持的功能AVP,则它可能还需要修改事务应答消息中的OC支持的功能AVP。Diameter代理可以修改应答消息中承载的OC支持的AVP功能。

When making changes to the OC-Supported-Features or OC-OLR AVPs, the Diameter Agent needs to ensure consistency in its behavior with both upstream and downstream DOIC nodes.

在更改OC支持的功能或OC-OLR AVP时,Diameter代理需要确保其行为与上游和下游DOIC节点一致。

5.2. Overload Report Processing
5.2. 过载报告处理
5.2.1. Overload Control State
5.2.1. 过载控制状态

Both reacting and reporting nodes maintain Overload Control State (OCS) for active overload conditions. The following sections define behavior associated with that OCS.

反应节点和报告节点都保持活动过载条件下的过载控制状态(OCS)。以下各节定义了与该OCS关联的行为。

The contents of the OCS in the reporting node and in the reacting node represent logical constructs. The actual internal physical structure of the state included in the OCS is an implementation decision.

报告节点和反应节点中的OCS内容表示逻辑结构。OCS中包含的状态的实际内部物理结构是一项实施决策。

5.2.1.1. Overload Control State for Reacting Nodes
5.2.1.1. 反应节点的过载控制状态

A reacting node maintains the following OCS per supported Diameter application:

反应节点为每个受支持的Diameter应用程序维护以下OCS:

o a host-type OCS entry for each Destination-Host to which it sends host-type requests and

o 向其发送主机类型请求的每个目标主机的主机类型OCS条目,以及

o a realm-type OCS entry for each Destination-Realm to which it sends realm-type requests.

o 向其发送领域类型请求的每个目标领域的领域类型OCS条目。

A host-type OCS entry is identified by the pair of Application-ID and the node's DiameterIdentity.

主机类型OCS条目由应用程序ID和节点直径对标识。

A realm-type OCS entry is identified by the pair of Application-ID and realm.

领域类型OCS条目由应用程序ID和领域对标识。

The host-type and realm-type OCS entries include the following information (the actual information stored is an implementation decision):

主机类型和领域类型OCS条目包括以下信息(存储的实际信息是实现决策):

o Sequence number (as received in OC-OLR; see Section 7.3)

o 序列号(在OC-OLR中接收;见第7.3节)

o Time of expiry (derived from OC-Validity-Duration AVP received in the OC-OLR AVP and time of reception of the message carrying OC-OLR AVP)

o 到期时间(根据OC-OLR AVP中接收到的OC有效期AVP和承载OC-OLR AVP的消息的接收时间得出)

o Selected abatement algorithm (as received in the OC-Supported-Features AVP)

o 选定的消减算法(在OC支持的功能AVP中接收)

o Input data that is abatement algorithm specific (as received in the OC-OLR AVP -- for example, OC-Reduction-Percentage for the loss abatement algorithm)

o 特定于减损算法的输入数据(在OC-OLR AVP中接收——例如,减损算法的OC减损百分比)

5.2.1.2. Overload Control State for Reporting Nodes
5.2.1.2. 报告节点的过载控制状态

A reporting node maintains OCS entries per supported Diameter application, per supported (and eventually selected) abatement algorithm, and per report type.

报告节点维护每个受支持的Diameter应用程序、每个受支持(并最终选定)的减排算法和每个报告类型的OCS条目。

An OCS entry is identified by the tuple of Application-ID, report type, and abatement algorithm, and it includes the following information (the actual information stored is an implementation decision):

OCS条目由应用程序ID、报告类型和消除算法的元组标识,它包括以下信息(存储的实际信息是实现决策):

o Sequence number

o 序列号

o Validity duration

o 有效期

o Expiration time

o 有效期

o Input data that is algorithm specific (for example, the reduction percentage for the loss abatement algorithm)

o 特定于算法的输入数据(例如,减少损失算法的减少百分比)

5.2.1.3. Reacting Node's Maintenance of Overload Control State
5.2.1.3. 反应节点对过载控制状态的维护

When a reacting node receives an OC-OLR AVP, it MUST determine if it is for an existing or new overload condition.

当反应节点接收到OC-OLR AVP时,它必须确定是针对现有的还是新的过载条件。

Note: For the remainder of this section, the term "OLR" refers to the combination of the contents of the received OC-OLR AVP and the abatement algorithm indicated in the received OC-Supported-Features AVP.

注:对于本节的其余部分,术语“OLR”是指接收到的OC-OLR AVP的内容和接收到的OC支持的特征AVP中指示的消减算法的组合。

When receiving an answer message with multiple OLRs of different supported report types, a reacting node MUST process each received OLR.

当接收到具有不同支持报告类型的多个OLR的应答消息时,响应节点必须处理每个接收到的OLR。

The OLR is for an existing overload condition if a reacting node has an OCS that matches the received OLR.

如果反应节点具有与接收到的OLR匹配的OCS,则OLR用于现有过载条件。

For a host report, this means it matches the Application-ID and the host's DiameterIdentity in an existing host OCS entry.

对于主机报告,这意味着它匹配现有主机OCS条目中的应用程序ID和主机直径。

For a realm report, this means it matches the Application-ID and the realm in an existing realm OCS entry.

对于领域报告,这意味着它匹配应用程序ID和现有领域OCS条目中的领域。

If the OLR is for an existing overload condition, then a reacting node MUST determine if the OLR is a retransmission or an update to the existing OLR.

如果OLR用于现有过载条件,则反应节点必须确定OLR是对现有OLR的重传还是更新。

If the sequence number for the received OLR is greater than the sequence number stored in the matching OCS entry, then a reacting node MUST update the matching OCS entry.

如果接收到的OLR的序列号大于存储在匹配OCS条目中的序列号,则响应节点必须更新匹配OCS条目。

If the sequence number for the received OLR is less than or equal to the sequence number in the matching OCS entry, then a reacting node MUST silently ignore the received OLR. The matching OCS MUST NOT be updated in this case.

如果接收到的OLR的序列号小于或等于匹配OCS条目中的序列号,则响应节点必须静默地忽略接收到的OLR。在这种情况下,不得更新匹配的OCS。

If the reacting node determines that the sequence number has rolled over, then the reacting node MUST update the matching OCS entry. This can be determined by recognizing that the number has changed from a value within 1% of the maximum value in the OC-Sequence-Number AVP to a value within 1% of the minimum value in the OC-Sequence-Number AVP.

如果反应节点确定序列号已滚动,则反应节点必须更新匹配的OCS条目。这可以通过识别该数字已经从OC序列号AVP中的最大值的1%内的值改变为OC序列号AVP中的最小值的1%内的值来确定。

If the received OLR is for a new overload condition, then a reacting node MUST generate a new OCS entry for the overload condition.

如果接收到的OLR用于新的过载条件,则响应节点必须为过载条件生成新的OCS条目。

For a host report, this means a reacting node creates an OCS entry with the Application-ID in the received message and DiameterIdentity of the Origin-Host in the received message.

对于主机报告,这意味着响应节点创建一个OCS条目,该条目在接收到的消息中具有应用程序ID,在接收到的消息中具有原始主机的直径。

Note: This solution assumes that the Origin-Host AVP in the answer message included by the reporting node is not changed along the path to the reacting node.

注意:此解决方案假定报告节点包含的应答消息中的源主机AVP不会沿响应节点的路径更改。

For a realm report, this means a reacting node creates an OCS entry with the Application-ID in the received message and realm of the Origin-Realm in the received message.

对于领域报告,这意味着反应节点创建一个OCS条目,该条目在接收到的消息中具有应用程序ID,在接收到的消息中具有原始领域的领域。

If the received OLR contains a validity duration of zero ("0"), then a reacting node MUST update the OCS entry as being expired.

如果接收到的OLR的有效期为零(“0”),则响应节点必须将OCS条目更新为已过期。

Note: It is not necessarily appropriate to delete the OCS entry, as the recommended behavior is that the reacting node slowly returns to full traffic when ending an overload abatement period.

注意:删除OCS条目不一定合适,因为建议的行为是,当过载缓解期结束时,反应节点缓慢地返回到全流量。

The reacting node does not delete an OCS when receiving an answer message that does not contain an OC-OLR AVP (i.e., absence of OLR means "no change").

响应节点在接收到不包含OC-OLR AVP的应答消息时不删除OCS(即,缺少OLR意味着“无更改”)。

5.2.1.4. Reporting Node's Maintenance of Overload Control State
5.2.1.4. 报告节点对过载控制状态的维护

A reporting node SHOULD create a new OCS entry when entering an overload condition.

当进入过载状态时,报告节点应创建新的OCS条目。

Note: If a reporting node knows through absence of the OC-Supported-Features AVP in received messages that there are no reacting nodes supporting DOIC, then the reporting node can choose to not create OCS entries.

注意:如果报告节点通过接收到的消息中缺少OC支持的功能AVP而知道没有响应节点支持DOIC,则报告节点可以选择不创建OCS条目。

When generating a new OCS entry, the sequence number SHOULD be set to zero ("0").

生成新OCS条目时,序列号应设置为零(“0”)。

When generating sequence numbers for new overload conditions, the new sequence number MUST be greater than any sequence number in an active (unexpired) overload report for the same application and report type previously sent by the reporting node. This property MUST hold over a reboot of the reporting node.

为新过载条件生成序列号时,新序列号必须大于报告节点先前发送的相同应用程序和报告类型的活动(未过期)过载报告中的任何序列号。此属性必须在报告节点重新启动期间保持。

Note: One way of addressing this over a reboot of a reporting node is to use a timestamp for the first overload condition that occurs after the report and to start using sequences beginning with zero for subsequent overload conditions.

注意:在报告节点重新启动时解决此问题的一种方法是对报告之后发生的第一个过载情况使用时间戳,并开始对后续过载情况使用以零开始的序列。

A reporting node MUST update an OCS entry when it needs to adjust the validity duration of the overload condition at reacting nodes.

当报告节点需要调整反应节点过载条件的有效持续时间时,必须更新OCS条目。

Example: If a reporting node wishes to instruct reacting nodes to continue overload abatement for a longer period of time than originally communicated. This also applies if the reporting node wishes to shorten the period of time that overload abatement is to continue.

示例:如果报告节点希望指示作出反应的节点在比最初通信更长的时间内继续过载减轻。如果报告节点希望缩短超载减轻持续的时间,则这也适用。

A reporting node MUST update an OCS entry when it wishes to adjust any parameters specific to the abatement algorithm, including, for example, the reduction percentage used for the loss abatement algorithm.

当报告节点希望调整特定于减损算法的任何参数时,必须更新OCS条目,例如,包括用于减损算法的减损百分比。

Example: If a reporting node wishes to change the reduction percentage either higher (if the overload condition has worsened) or lower (if the overload condition has improved), then the reporting node would update the appropriate OCS entry.

示例:如果报告节点希望将减少百分比更改为更高(如果过载条件恶化)或更低(如果过载条件改善),则报告节点将更新相应的OCS条目。

A reporting node MUST increment the sequence number associated with the OCS entry anytime the contents of the OCS entry are changed. This will result in a new sequence number being sent to reacting nodes, instructing them to process the OC-OLR AVP.

报告节点必须在OCS条目内容发生更改时增加与OCS条目相关联的序号。这将导致一个新的序列号被发送到反应节点,指示它们处理OC-OLR AVP。

A reporting node SHOULD update an OCS entry with a validity duration of zero ("0") when the overload condition ends.

当过载条件结束时,报告节点应更新有效期为零(“0”)的OCS条目。

Note: If a reporting node knows that the OCS entries in the reacting nodes are near expiration, then the reporting node might decide not to send an OLR with a validity duration of zero.

注意:如果报告节点知道响应节点中的OCS条目即将过期,则报告节点可能决定不发送有效期为零的OLR。

A reporting node MUST keep an OCS entry with a validity duration of zero ("0") for a period of time long enough to ensure that any unexpired reacting node's OCS entry created as a result of the overload condition in the reporting node is deleted.

报告节点必须将有效期为零(“0”)的OCS条目保留足够长的时间,以确保由于报告节点中的过载情况而创建的任何未过期反应节点的OCS条目被删除。

5.2.2. Reacting Node Behavior
5.2.2. 反应节点行为

When a reacting node sends a request, it MUST determine if that request matches an active OCS.

当响应节点发送请求时,它必须确定该请求是否与活动OCS匹配。

If the request matches an active OCS, then the reacting node MUST use the overload abatement algorithm indicated in the OCS to determine if the request is to receive overload abatement treatment.

如果请求与活动OCS匹配,则反应节点必须使用OCS中指示的过载减轻算法来确定请求是否要接受过载减轻处理。

For the loss abatement algorithm defined in this specification, see Section 6 for the overload abatement algorithm logic applied.

对于本规范中定义的损耗消减算法,请参见第6节,了解应用的过载消减算法逻辑。

If the overload abatement algorithm selects the request for overload abatement treatment, then the reacting node MUST apply overload abatement treatment on the request. The abatement treatment applied depends on the context of the request.

如果过载消除算法选择过载消除处理请求,则响应节点必须对请求应用过载消除处理。所采用的减排处理取决于请求的背景。

If diversion abatement treatment is possible (i.e., a different path for the request can be selected where the overloaded node is not part of the different path), then the reacting node SHOULD apply diversion abatement treatment to the request. The reacting node MUST apply throttling abatement treatment to requests identified for abatement treatment when diversion treatment is not possible or was not applied.

如果转移消减处理是可能的(即,在过载节点不是不同路径的一部分的情况下,可以选择请求的不同路径),则响应节点应将转移消减处理应用于请求。当分流处理不可能或未应用时,反应节点必须将节流减排处理应用于确定的减排处理请求。

Note: This only addresses the case where there are two defined abatement treatments, diversion and throttling. Any extension that defines a new abatement treatment must also define its interaction with existing treatments.

注:这仅适用于有两种规定的减排处理方法的情况,即分流和节流。定义新减排处理的任何扩展也必须定义其与现有处理的相互作用。

If the overload abatement treatment results in throttling of the request and if the reacting node is an agent, then the agent MUST send an appropriate error as defined in Section 8.

如果过载减轻处理导致请求节流,并且如果反应节点是代理,则代理必须发送第8节中定义的适当错误。

Diameter endpoints that throttle requests need to do so according to the rules of the client application. Those rules will vary by application and are beyond the scope of this document.

限制请求的Diameter端点需要根据客户机应用程序的规则执行此操作。这些规则因应用而异,超出了本文件的范围。

In the case that the OCS entry indicated no traffic was to be sent to the overloaded entity and the validity duration expires, then overload abatement associated with the overload report MUST be ended in a controlled fashion.

如果OCS条目指示不向超载实体发送任何流量,且有效期到期,则必须以受控方式结束与超载报告相关的超载减轻。

5.2.3. Reporting Node Behavior
5.2.3. 报告节点行为

If there is an active OCS entry, then a reporting node SHOULD include the OC-OLR AVP in all answers to requests that contain the OC-Supported-Features AVP and that match the active OCS entry.

如果存在活动OCS条目,则报告节点应将OC-OLR AVP包含在包含OC支持的功能AVP且与活动OCS条目匹配的请求的所有应答中。

Note: A request matches 1) if the Application-ID in the request matches the Application-ID in any active OCS entry and 2) if the report type in the OCS entry matches a report type supported by the reporting node as indicated in the OC-Supported-Features AVP.

注意:请求匹配1)如果请求中的应用程序ID与任何活动OCS条目中的应用程序ID匹配,以及2)如果OCS条目中的报告类型与报告节点支持的报告类型匹配,如OC supported Features AVP中所示。

The contents of the OC-OLR AVP depend on the selected algorithm.

OC-OLR AVP的内容取决于所选算法。

A reporting node MAY choose to not resend an overload report to a reacting node if it can guarantee that this overload report is already active in the reacting node.

报告节点可以选择不向反应节点重新发送过载报告,前提是它可以保证该过载报告在反应节点中已处于活动状态。

Note: In some cases (e.g., when there are one or more agents in the path between reporting and reacting nodes, or when overload reports are discarded by reacting nodes), a reporting node may not be able to guarantee that the reacting node has received the report.

注意:在某些情况下(例如,当报告节点和反应节点之间的路径中有一个或多个代理时,或当反应节点丢弃过载报告时),报告节点可能无法保证反应节点已收到报告。

A reporting node MUST NOT send overload reports of a type that has not been advertised as supported by the reacting node.

报告节点不得发送未被播发为响应节点支持的类型的重载报告。

Note: A reacting node implicitly advertises support for the host and realm report types by including the OC-Supported-Features AVP in the request. Support for other report types will be explicitly indicated by new feature bits in the OC-Feature-Vector AVP.

注意:响应节点通过在请求中包含OC支持的特性AVP,隐式地播发对主机和领域报告类型的支持。OC特征向量AVP中的新特征位将明确表示对其他报告类型的支持。

A reporting node SHOULD explicitly indicate the end of an overload occurrence by sending a new OLR with OC-Validity-Duration set to a value of zero ("0"). The reporting node SHOULD ensure that all reacting nodes receive the updated overload report.

报告节点应通过发送OC Validity Duration设置为零值(“0”)的新OLR来明确指示过载发生的结束。报告节点应确保所有反应节点都收到更新的过载报告。

A reporting node MAY rely on the OC-Validity-Duration AVP values for the implicit cleanup of overload control state on the reacting node.

报告节点可依赖OC Validity Duration AVP值隐式清除反应节点上的过载控制状态。

Note: All OLRs sent have an expiration time calculated by adding the validity duration contained in the OLR to the time the message was sent. Transit time for the OLR can be safely ignored. The reporting node can ensure that all reacting nodes have received the OLR by continuing to send it in answer messages until the expiration time for all OLRs sent for that overload condition have expired.

注意:所有发送的OLR都有一个过期时间,其计算方法是将OLR中包含的有效期限与发送消息的时间相加。可以安全地忽略OLR的传输时间。报告节点可以通过在应答消息中继续发送OLR,直到针对该过载条件发送的所有OLR的到期时间已经到期,从而确保所有作出反应的节点都已接收到OLR。

When a reporting node sends an OLR, it effectively delegates any necessary throttling to downstream nodes. If the reporting node also locally throttles the same set of messages, the overall number of throttled requests may be higher than intended. Therefore, before applying local message throttling, a reporting node needs to check if these messages match existing OCS entries, indicating that these messages have survived throttling applied by downstream nodes that have received the related OLR.

当报告节点发送OLR时,它有效地将任何必要的限制委托给下游节点。如果报告节点也在本地限制同一组消息,则限制请求的总数可能高于预期数量。因此,在应用本地消息限制之前,报告节点需要检查这些消息是否与现有OCS条目匹配,以指示这些消息已通过接收相关OLR的下游节点应用的限制。

However, even if the set of messages match existing OCS entries, the reporting node can still apply other abatement methods such as diversion. The reporting node might also need to throttle requests

然而,即使消息集与现有OCS条目匹配,报告节点仍然可以应用其他缓解方法,例如改道。报告节点可能还需要限制请求

for reasons other than overload. For example, an agent or server might have a configured rate limit for each client and might throttle requests that exceed that limit, even if such requests had already been candidates for throttling by downstream nodes. The reporting node also has the option to send new OLRs requesting greater reductions in traffic, reducing the need for local throttling.

除了超载以外的原因。例如,代理或服务器可能为每个客户端配置了速率限制,并且可能会限制超过该限制的请求,即使这些请求已经成为下游节点限制的候选请求。报告节点还可以选择发送新的OLR请求更大的流量减少,从而减少本地节流的需要。

A reporting node SHOULD decrease requested overload abatement treatment in a controlled fashion to avoid oscillations in traffic.

报告节点应以受控方式减少请求的过载减轻处理,以避免通信量中的振荡。

Example: A reporting node might wait some period of time after overload ends before terminating the OLR, or it might send a series of OLRs indicating progressively less overload severity.

示例:报告节点可能会在过载结束后等待一段时间,然后再终止OLR,或者它可能会发送一系列OLR,指示过载严重性逐渐降低。

5.3. Protocol Extensibility
5.3. 协议扩展性

The DOIC solution can be extended. Types of potential extensions include new traffic abatement algorithms, new report types, or other new functionality.

DOIC解决方案可以扩展。潜在的扩展类型包括新的流量减少算法、新的报告类型或其他新功能。

When defining a new extension that requires new normative behavior, the specification must define a new feature for the OC-Feature-Vector AVP. This feature bit is used to communicate support for the new feature.

定义需要新规范行为的新扩展时,规范必须为OC特征向量AVP定义新特征。此功能位用于传达对新功能的支持。

The extension may define new AVPs for use in the DOIC Capability Announcement and for use in DOIC overload reporting. These new AVPs SHOULD be defined to be extensions to the OC-Supported-Features or OC-OLR AVPs defined in this document.

扩展可以定义新的AVP,用于DOIC能力公告和DOIC过载报告。这些新的AVP应定义为本文件中定义的OC支持功能或OC-OLR AVP的扩展。

The Grouped AVP extension mechanisms defined in [RFC6733] apply. This allows, for example, defining a new feature that is mandatory to be understood even when piggybacked on an existing application.

[RFC6733]中定义的分组AVP扩展机制适用。例如,这允许定义一个新特性,即使是在现有应用程序上也必须理解该特性。

When defining new report type values, the corresponding specification must define the semantics of the new report types and how they affect the OC-OLR AVP handling.

定义新报告类型值时,相应的规范必须定义新报告类型的语义以及它们如何影响OC-OLR AVP处理。

The OC-Supported-Feature and OC-OLR AVPs can be expanded with optional sub-AVPs only if a legacy DOIC implementation can safely ignore them without breaking backward compatibility for the given OC-Report-Type AVP value. Any new sub-AVPs must not require that the M-bit be set.

只有在传统DOIC实现可以安全地忽略OC支持的功能和OC-OLR AVP而不破坏给定OC报告类型AVP值的向后兼容性的情况下,才可以使用可选的子AVP扩展OC支持的功能和OC-OLR AVP。任何新的子AVP不得要求设置M位。

Documents that introduce new report types must describe any limitations on their use across non-supporting agents.

引入新报告类型的文档必须描述其在非支持代理中使用的任何限制。

As with any Diameter specification, RFC 6733 requires all new AVPs to be registered with IANA. See Section 9 for the required procedures. New features (feature bits in the OC-Feature-Vector AVP) and report types (in the OC-Report-Type AVP) MUST be registered with IANA.

与任何直径规格一样,RFC 6733要求所有新的AVP必须在IANA注册。所需程序见第9节。新特征(OC特征向量AVP中的特征位)和报告类型(OC报告类型AVP中的)必须向IANA注册。

6. Loss Algorithm
6. 损失算法

This section documents the Diameter overload loss abatement algorithm.

本节记录了直径过载损失消除算法。

6.1. Overview
6.1. 概述

The DOIC specification supports the ability for multiple overload abatement algorithms to be specified. The abatement algorithm used for any instance of overload is determined by the DOIC Capability Announcement process documented in Section 5.1.

DOIC规范支持指定多个过载消除算法的能力。任何过载情况下使用的缓解算法由第5.1节中记录的内政部能力公告流程确定。

The loss algorithm described in this section is the default algorithm that must be supported by all Diameter nodes that support DOIC.

本节中描述的丢失算法是默认算法,所有支持DOIC的Diameter节点都必须支持该算法。

The loss algorithm is designed to be a straightforward and stateless overload abatement algorithm. It is used by reporting nodes to request a percentage reduction in the amount of traffic sent. The traffic impacted by the requested reduction depends on the type of overload report.

损耗算法被设计成一种简单的无状态过载消除算法。报告节点使用它来请求减少发送的通信量的百分比。请求的减少所影响的通信量取决于过载报告的类型。

Reporting nodes request the stateless reduction of the number of requests by an indicated percentage. This percentage reduction is in comparison to the number of messages the node otherwise would send, regardless of how many requests the node might have sent in the past.

报告节点请求按指定的百分比无状态减少请求数。此百分比的减少与节点将发送的消息数量相比,而不管节点过去可能发送了多少请求。

From a conceptual level, the logic at the reacting node could be outlined as follows.

从概念层面来看,反应节点的逻辑可以概括如下。

1. An overload report is received, and the associated OCS is either saved or updated (if required) by the reacting node.

1. 接收过载报告,并且响应节点保存或更新关联的OCS(如果需要)。

2. A new Diameter request is generated by the application running on the reacting node.

2. 在响应节点上运行的应用程序将生成一个新的Diameter请求。

3. The reacting node determines that an active overload report applies to the request, as indicated by the corresponding OCS entry.

3. 响应节点确定活动过载报告应用于请求,如相应的OCS条目所示。

4. The reacting node determines if overload abatement treatment should be applied to the request. One approach that could be taken for each request is to select a uniformly selected random number between 1 and 100. If the random number is less than or

4. 反应节点确定是否应对请求应用过载减轻处理。对于每个请求,可以采取的一种方法是选择一个1到100之间的统一随机数。如果随机数小于或

equal to the indicated reduction percentage, then the request is given abatement treatment; otherwise, the request is given normal routing treatment.

等于指示的减少百分比,则对请求进行减少处理;否则,将对请求进行正常的路由处理。

6.2. Reporting Node Behavior
6.2. 报告节点行为

The method a reporting node uses to determine the amount of traffic reduction required to address an overload condition is an implementation decision.

报告节点用于确定解决过载情况所需的流量减少量的方法是一种实现决策。

When a reporting node that has selected the loss abatement algorithm determines the need to request a reduction in traffic, it includes an OC-OLR AVP in answer messages as described in Section 5.2.3.

当选择了减少损失算法的报告节点确定需要请求减少通信量时,它在应答消息中包括OC-OLR AVP,如第5.2.3节所述。

When sending the OC-OLR AVP, the reporting node MUST indicate a percentage reduction in the OC-Reduction-Percentage AVP.

发送OC-OLR AVP时,报告节点必须指示OC减少百分比AVP的减少百分比。

The reporting node MAY change the reduction percentage in subsequent overload reports. When doing so, the reporting node must conform to overload report handling specified in Section 5.2.3.

报告节点可以更改后续过载报告中的减少百分比。进行此操作时,报告节点必须符合第5.2.3节中规定的过载报告处理。

6.3. Reacting Node Behavior
6.3. 反应节点行为

The method a reacting node uses to determine which request messages are given abatement treatment is an implementation decision.

作出反应的节点用于确定哪些请求消息被给予消减处理的方法是一种实现决策。

When receiving an OC-OLR in an answer message where the algorithm indicated in the OC-Supported-Features AVP is the loss algorithm, the reacting node MUST apply abatement treatment to the requested percentage of request messages sent.

当在应答消息中接收到OC-OLR时,其中OC支持的特征AVP中指示的算法是丢失算法,反应节点必须对发送的请求消息的请求百分比应用消减处理。

Note: The loss algorithm is a stateless algorithm. As a result, the reacting node does not guarantee that there will be an absolute reduction in traffic sent. Rather, it guarantees that the requested percentage of new requests will be given abatement treatment.

注意:丢失算法是一种无状态算法。因此,作出反应的节点不能保证发送的流量绝对减少。相反,它保证新请求的请求百分比将得到减排处理。

If the reacting node comes out of the 100% traffic reduction (meaning, it has received an OLR indicating that no traffic should be sent, as a result of the overload report timing out), the reacting node sending the traffic SHOULD be conservative and, for example, first send "probe" messages to learn the overload condition of the overloaded node before converging to any traffic amount/rate decided by the sender. Similar concerns apply in all cases when the overload report times out, unless the previous overload report stated 0% reduction.

如果反应节点来自100%的流量减少(意味着,由于过载报告超时,它已收到指示不应发送流量的OLR),则发送流量的反应节点应该是保守的,例如,首先发送“探测”消息,以了解过载节点的过载情况,然后再收敛到发送方决定的任何通信量/速率。当过载报告超时时,类似的问题适用于所有情况,除非之前的过载报告说明减少0%。

Note: The goal of this behavior is to reduce the probability of overload condition thrashing where an immediate transition from 100% reduction to 0% reduction results in the reporting node moving quickly back into an overload condition.

注意:此行为的目标是降低过载条件波动的概率,即从100%减少到0%减少的即时转换会导致报告节点快速返回过载条件。

7. Attribute Value Pairs
7. 属性值对

This section describes the encoding and semantics of the Diameter Overload Indication Attribute Value Pairs (AVPs) defined in this document.

本节介绍本文档中定义的直径过载指示属性值对(AVP)的编码和语义。

Refer to Section 4 of [RFC6733] for more information on AVPs and AVP data types.

有关AVP和AVP数据类型的更多信息,请参阅[RFC6733]第4节。

7.1. OC-Supported-Features AVP
7.1. OC支持的功能AVP

The OC-Supported-Features AVP (AVP Code 621) is of type Grouped and serves two purposes. First, it announces a node's support for the DOIC solution in general. Second, it contains the description of the supported DOIC features of the sending node. The OC-Supported-Features AVP MUST be included in every Diameter request message a DOIC supporting node sends.

OC支持的功能AVP(AVP代码621)属于分组类型,有两个用途。首先,它宣布一个节点总体上支持DOIC解决方案。其次,它包含对发送节点支持的DOIC特性的描述。DOIC支持节点发送的每个Diameter请求消息中都必须包含OC支持的功能AVP。

      OC-Supported-Features ::= < AVP Header: 621 >
                                [ OC-Feature-Vector ]
                              * [ AVP ]
        
      OC-Supported-Features ::= < AVP Header: 621 >
                                [ OC-Feature-Vector ]
                              * [ AVP ]
        
7.2. OC-Feature-Vector AVP
7.2. 特征向量

The OC-Feature-Vector AVP (AVP Code 622) is of type Unsigned64 and contains a 64-bit flags field of announced capabilities of a DOIC node. The value of zero (0) is reserved.

OC特征向量AVP(AVP代码622)的类型为Unsigned64,包含DOIC节点的已宣布功能的64位标志字段。保留零(0)的值。

The OC-Feature-Vector sub-AVP is used to announce the DOIC features supported by the DOIC node, in the form of a flag-bits field in which each bit announces one feature or capability supported by the node. The absence of the OC-Feature-Vector AVP in request messages indicates that only the default traffic abatement algorithm described in this specification is supported. The absence of the OC-Feature-Vector AVP in answer messages indicates that the default traffic abatement algorithm described in this specification is selected (while other traffic abatement algorithms may be supported), and no features other than abatement algorithms are supported.

OC特征向量子AVP用于以标志位字段的形式宣布DOIC节点支持的DOIC特征,其中每个位宣布节点支持的一个特征或功能。请求消息中没有OC特征向量AVP表示仅支持本规范中描述的默认流量减少算法。应答消息中没有OC特征向量AVP表示选择了本规范中描述的默认流量减少算法(同时可能支持其他流量减少算法),并且不支持除减少算法以外的任何特征。

The following capability is defined in this document:

本文件中定义了以下功能:

OLR_DEFAULT_ALGO (0x0000000000000001)

OLR_默认值_算法(0x0000000000000001)

When this flag is set by the a DOIC reacting node, it means that the default traffic abatement (loss) algorithm is supported. When this flag is set by a DOIC reporting node, it means that the loss algorithm will be used for requested overload abatement.

当DOIC响应节点设置此标志时,表示支持默认的流量减少(丢失)算法。当DOIC报告节点设置此标志时,这意味着损失算法将用于请求的过载减轻。

7.3. OC-OLR AVP
7.3. OC-OLR AVP

The OC-OLR AVP (AVP Code 623) is of type Grouped and contains the information necessary to convey an overload report on an overload condition at the reporting node. The application the OC-OLR AVP applies to is identified by the Application-ID found in the Diameter message header. The host or realm the OC-OLR AVP concerns is determined from the Origin-Host AVP and/or Origin-Realm AVP found in the encapsulating Diameter command. The OC-OLR AVP is intended to be sent only by a reporting node.

OC-OLR AVP(AVP代码623)属于分组类型,并且包含在报告节点上传送关于过载状况的过载报告所需的信息。OC-OLR AVP应用的应用程序由Diameter消息头中的应用程序ID标识。OC-OLR AVP关注的主机或领域由封装直径命令中的源主机AVP和/或源领域AVP确定。OC-OLR AVP仅由报告节点发送。

      OC-OLR ::= < AVP Header: 623 >
                 < OC-Sequence-Number >
                 < OC-Report-Type >
                 [ OC-Reduction-Percentage ]
                 [ OC-Validity-Duration ]
               * [ AVP ]
        
      OC-OLR ::= < AVP Header: 623 >
                 < OC-Sequence-Number >
                 < OC-Report-Type >
                 [ OC-Reduction-Percentage ]
                 [ OC-Validity-Duration ]
               * [ AVP ]
        
7.4. OC-Sequence-Number AVP
7.4. OC序列号AVP

The OC-Sequence-Number AVP (AVP Code 624) is of type Unsigned64. Its usage in the context of overload control is described in Section 5.2.

OC序列号AVP(AVP代码624)的类型为Unsigned64。第5.2节描述了其在过载控制中的使用。

From the functionality point of view, the OC-Sequence-Number AVP is used as a nonvolatile increasing counter for a sequence of overload reports between two DOIC nodes for the same overload occurrence. Sequence numbers are treated in a unidirectional manner, i.e., two sequence numbers in each direction between two DOIC nodes are not related or correlated.

从功能性的角度来看,OC序号AVP用作两个DOIC节点之间相同过载发生的过载报告序列的非易失性递增计数器。序列号以单向方式处理,即,两个DOIC节点之间每个方向上的两个序列号不相关。

7.5. OC-Validity-Duration AVP
7.5. OC有效期AVP

The OC-Validity-Duration AVP (AVP Code 625) is of type Unsigned32 and indicates in seconds the validity time of the overload report. The number of seconds is measured after reception of the first OC-OLR AVP with a given value of OC-Sequence-Number AVP. The default value for the OC-Validity-Duration AVP is 30 seconds. When the OC-Validity-Duration AVP is not present in the OC-OLR AVP, the default value applies. The maximum value for the OC-Validity-Duration AVP is

OC有效期AVP(AVP代码625)的类型为Unsigned32,以秒为单位指示过载报告的有效时间。在接收到具有给定OC序列号AVP值的第一OC-OLR AVP后测量秒数。OC有效期AVP的默认值为30秒。当OC-OLR AVP中不存在OC有效期AVP时,默认值适用。OC有效期AVP的最大值为

86,400 seconds (24 hours). If the value received in the OC-Validity-Duration is greater than the maximum value, then the default value applies.

86400秒(24小时)。如果在OC有效期内收到的值大于最大值,则默认值适用。

7.6. OC-Report-Type AVP
7.6. OC报告类型AVP

The OC-Report-Type AVP (AVP Code 626) is of type Enumerated. The value of the AVP describes what the overload report concerns. The following values are initially defined:

OC报告类型AVP(AVP代码626)属于枚举类型。AVP的值描述了过载报告所涉及的内容。最初定义了以下值:

HOST_REPORT 0 The overload report is for a host. Overload abatement treatment applies to host-routed requests.

主机报告0重载报告是针对主机的。过载减轻处理适用于主机路由请求。

REALM_REPORT 1 The overload report is for a realm. Overload abatement treatment applies to realm-routed requests.

REALM_REPORT 1重载报告用于一个领域。过载减轻处理适用于领域路由请求。

The values 2-4294967295 are unassigned.

值2-4294967295未分配。

7.7. OC-Reduction-Percentage AVP
7.7. OC减少百分比平均值

The OC-Reduction-Percentage AVP (AVP Code 627) is of type Unsigned32 and describes the percentage of the traffic that the sender is requested to reduce, compared to what it otherwise would send. The OC-Reduction-Percentage AVP applies to the default (loss) algorithm specified in this specification. However, the AVP can be reused for future abatement algorithms, if its semantics fit into the new algorithm.

OC减少百分比AVP(AVP代码627)的类型为Unsigned32,它描述了请求发送方减少的通信量的百分比,与发送方发送的通信量相比。OC减少百分比AVP适用于本规范中规定的默认(损失)算法。然而,如果AVP的语义适合新算法,则AVP可以在未来的减排算法中重用。

The value of the Reduction-Percentage AVP is between zero (0) and one hundred (100). Values greater than 100 are ignored. The value of 100 means that all traffic is to be throttled, i.e., the reporting node is under a severe load and ceases to process any new messages. The value of 0 means that the reporting node is in a stable state and has no need for the reacting node to apply any traffic abatement.

还原百分比AVP的值介于零(0)和一百(100)之间。大于100的值将被忽略。值100表示所有流量都将被限制,即报告节点处于严重负载下,并停止处理任何新消息。值0表示报告节点处于稳定状态,并且不需要反应节点应用任何流量减少。

7.8. AVP Flag Rules
7.8. AVP标志规则
                                                         +---------+
                                                         |AVP flag |
                                                         |rules    |
                                                         +----+----+
                              AVP   Section              |    |MUST|
       Attribute Name         Code  Defined  Value Type  |MUST| NOT|
      +--------------------------------------------------+----+----+
      |OC-Supported-Features  621   7.1      Grouped     |    | V  |
      +--------------------------------------------------+----+----+
      |OC-Feature-Vector      622   7.2      Unsigned64  |    | V  |
      +--------------------------------------------------+----+----+
      |OC-OLR                 623   7.3      Grouped     |    | V  |
      +--------------------------------------------------+----+----+
      |OC-Sequence-Number     624   7.4      Unsigned64  |    | V  |
      +--------------------------------------------------+----+----+
      |OC-Validity-Duration   625   7.5      Unsigned32  |    | V  |
      +--------------------------------------------------+----+----+
      |OC-Report-Type         626   7.6      Enumerated  |    | V  |
      +--------------------------------------------------+----+----+
      |OC-Reduction                                      |    |    |
      |  -Percentage          627   7.7      Unsigned32  |    | V  |
      +--------------------------------------------------+----+----+
        
                                                         +---------+
                                                         |AVP flag |
                                                         |rules    |
                                                         +----+----+
                              AVP   Section              |    |MUST|
       Attribute Name         Code  Defined  Value Type  |MUST| NOT|
      +--------------------------------------------------+----+----+
      |OC-Supported-Features  621   7.1      Grouped     |    | V  |
      +--------------------------------------------------+----+----+
      |OC-Feature-Vector      622   7.2      Unsigned64  |    | V  |
      +--------------------------------------------------+----+----+
      |OC-OLR                 623   7.3      Grouped     |    | V  |
      +--------------------------------------------------+----+----+
      |OC-Sequence-Number     624   7.4      Unsigned64  |    | V  |
      +--------------------------------------------------+----+----+
      |OC-Validity-Duration   625   7.5      Unsigned32  |    | V  |
      +--------------------------------------------------+----+----+
      |OC-Report-Type         626   7.6      Enumerated  |    | V  |
      +--------------------------------------------------+----+----+
      |OC-Reduction                                      |    |    |
      |  -Percentage          627   7.7      Unsigned32  |    | V  |
      +--------------------------------------------------+----+----+
        

As described in the Diameter base protocol [RFC6733], the M-bit usage for a given AVP in a given command may be defined by the application.

如Diameter base protocol[RFC6733]中所述,给定命令中给定AVP的M位使用可由应用程序定义。

8. Error Response Codes
8. 错误响应码

When a DOIC node rejects a Diameter request due to overload, the DOIC node MUST select an appropriate error response code. This determination is made based on the probability of the request succeeding if retried on a different path.

当DOIC节点因过载而拒绝Diameter请求时,DOIC节点必须选择适当的错误响应代码。此确定基于在不同路径上重试时请求成功的概率。

Note: This only applies for DOIC nodes that are not the originator of the request.

注意:这仅适用于不是请求发起人的DOIC节点。

A reporting node rejecting a Diameter request due to an overload condition SHOULD send a DIAMETER_TOO_BUSY error response, if it can assume that the same request may succeed on a different path.

如果报告节点可以假定同一请求可能在不同路径上成功,则由于过载情况而拒绝Diameter请求的报告节点应发送Diameter\u to\u BUSY错误响应。

If a reporting node knows or assumes that the same request will not succeed on a different path, the DIAMETER_UNABLE_TO_COMPLY error response SHOULD be used. Retrying would consume valuable resources during an occurrence of overload.

如果报告节点知道或假设同一请求不会在不同路径上成功,则应使用DIAMETER\u UNABLE\u TO\u Compliance错误响应。在发生过载时,重试会消耗宝贵的资源。

For instance, if the request arrived at the reporting node without a Destination-Host AVP, then the reporting node might determine that there is an alternative Diameter node that could successfully process the request and that retrying the transaction would not negatively impact the reporting node. DIAMETER_TOO_BUSY would be sent in this case.

例如,如果请求在没有目标主机AVP的情况下到达报告节点,则报告节点可能会确定存在可以成功处理请求的替代Diameter节点,并且重试事务不会对报告节点产生负面影响。在这种情况下,将发送DIAMETER\u TOO\u BUSY。

If the request arrived at the reporting node with a Destination-Host AVP populated with its own Diameter identity, then the reporting node can assume that retrying the request would result in it coming to the same reporting node. DIAMETER_UNABLE_TO_COMPLY would be sent in this case.

如果请求到达报告节点时,目标主机AVP中填充了自己的Diameter标识,则报告节点可以假定重试该请求将导致该请求到达同一报告节点。在这种情况下,将发送无法符合要求的直径。

A second example is when an agent that supports the DOIC solution is performing the role of a reacting node for a non-supporting client. Requests that are rejected as a result of DOIC throttling by the agent in this scenario would generally be rejected with a DIAMETER_UNABLE_TO_COMPLY response code.

第二个示例是,支持DOIC解决方案的代理正在为不支持的客户端执行反应节点的角色。在这种情况下,由于代理的DOIC节流而被拒绝的请求通常会被拒绝,并带有DIAMETER\u UNABLE\u TO\u COMPLORY响应代码。

9. IANA Considerations
9. IANA考虑
9.1. AVP Codes
9.1. AVP码

New AVPs defined by this specification are listed in Section 7. All AVP codes are allocated from the "AVP Codes" sub-registry under the "Authentication, Authorization, and Accounting (AAA) Parameters" registry.

第7节列出了本规范定义的新AVP。所有AVP代码都是从“验证、授权和记帐(AAA)参数”注册表下的“AVP代码”子注册表分配的。

9.2. New Registries
9.2. 新登记处

Two new registries have been created in the "AVP Specific Values" sub-registry under the "Authentication, Authorization, and Accounting (AAA) Parameters" registry.

在“认证、授权和记帐(AAA)参数”注册表下的“AVP特定值”子注册表中创建了两个新注册表。

A new "OC-Feature-Vector AVP Values (code 622)" registry has been created. This registry contains the following:

已创建新的“OC特征向量AVP值(代码622)”注册表。此注册表包含以下内容:

Feature Vector Value Name

特征向量值名称

Feature Vector Value

特征向量值

Specification defining the new value

定义新值的规范

See Section 7.2 for the initial Feature Vector Value in the registry. This specification defines the value. New values can be added to the registry using the Specification Required policy [RFC5226].

有关注册表中的初始特征向量值,请参见第7.2节。本规范定义了该值。可以使用规范要求的策略[RFC5226]将新值添加到注册表中。

A new "OC-Report-Type AVP Values (code 626)" registry has been created. This registry contains the following:

已创建新的“OC报告类型AVP值(代码626)”注册表。此注册表包含以下内容:

Report Type Value Name

报表类型值名称

Report Type Value

报表类型值

Specification defining the new value

定义新值的规范

See Section 7.6 for the initial assignment in the registry. New types can be added using the Specification Required policy [RFC5226].

有关注册表中的初始分配,请参见第7.6节。可以使用规范要求的策略[RFC5226]添加新类型。

10. Security Considerations
10. 安全考虑

DOIC gives Diameter nodes the ability to request that downstream nodes send fewer Diameter requests. Nodes do this by exchanging overload reports that directly effect this reduction. This exchange is potentially subject to multiple methods of attack and has the potential to be used as a denial-of-service (DoS) attack vector. For instance, a series of injected realm OLRs with a requested reduction percentage of 100% could be used to completely eliminate any traffic from being sent to that realm.

DOIC使Diameter节点能够请求下游节点发送更少的Diameter请求。节点通过交换直接影响这种减少的重载报告来实现这一点。这种交换可能受到多种攻击方法的影响,并且有可能被用作拒绝服务攻击向量。例如,可以使用一系列请求减少百分比为100%的注入领域OLR来完全消除发送到该领域的任何流量。

Overload reports may contain information about the topology and current status of a Diameter network. This information is potentially sensitive. Network operators may wish to control disclosure of overload reports to unauthorized parties to avoid their use for competitive intelligence or to target attacks.

重载报告可能包含有关Diameter网络的拓扑和当前状态的信息。此信息可能很敏感。网络运营商可能希望控制向未经授权方披露过载报告,以避免将其用于竞争情报或攻击目标。

Diameter does not include features to provide end-to-end authentication, integrity protection, or confidentiality. This may cause complications when sending overload reports between non-adjacent nodes.

Diameter不包括提供端到端身份验证、完整性保护或机密性的功能。在非相邻节点之间发送过载报告时,这可能会导致复杂性。

10.1. Potential Threat Modes
10.1. 潜在威胁模式

The Diameter protocol involves transactions in the form of requests and answers exchanged between clients and servers. These clients and servers may be peers, that is, they may share a direct transport (e.g., TCP or SCTP) connection, or the messages may traverse one or more intermediaries, known as Diameter Agents. Diameter nodes use TLS, DTLS, or IPsec to authenticate peers and to provide confidentiality and integrity protection of traffic between peers. Nodes can make authorization decisions based on the peer identities authenticated at the transport layer.

Diameter协议涉及客户端和服务器之间交换的请求和应答形式的事务。这些客户机和服务器可以是对等的,也就是说,它们可以共享直接传输(例如,TCP或SCTP)连接,或者消息可以穿过一个或多个中介,称为Diameter代理。Diameter节点使用TLS、DTLS或IPsec对对等方进行身份验证,并为对等方之间的通信提供机密性和完整性保护。节点可以基于在传输层验证的对等身份做出授权决策。

When agents are involved, this presents an effectively transitive trust model. That is, a Diameter client or server can authorize an agent for certain actions, but it must trust that agent to make appropriate authorization decisions about its peers, and so on. Since confidentiality and integrity protection occur at the transport layer, agents can read, and perhaps modify, any part of a Diameter message, including an overload report.

当涉及代理时,这提供了一个有效的可传递信任模型。也就是说,Diameter客户端或服务器可以授权代理执行某些操作,但它必须信任该代理对其对等方做出适当的授权决策,以此类推。由于机密性和完整性保护发生在传输层,所以代理可以读取、甚至修改Diameter消息的任何部分,包括过载报告。

There are several ways an attacker might attempt to exploit the overload control mechanism. An unauthorized third party might inject an overload report into the network. If this third party is upstream of an agent, and that agent fails to apply proper authorization policies, downstream nodes may mistakenly trust the report. This attack is at least partially mitigated by the assumption that nodes include overload reports in Diameter answers but not in requests. This requires an attacker to have knowledge of the original request in order to construct an answer. Such an answer would also need to arrive at a Diameter node via a protected transport connection. Therefore, implementations MUST validate that an answer containing an overload report is a properly constructed response to a pending request prior to acting on the overload report, and that the answer was received via an appropriate transport connection.

攻击者可以通过多种方式试图利用过载控制机制进行攻击。未经授权的第三方可能会向网络中注入过载报告。如果该第三方位于代理的上游,并且该代理未能应用正确的授权策略,则下游节点可能会错误地信任该报告。假设节点在Diameter应答中包含过载报告,但在请求中不包含过载报告,至少可以部分缓解此攻击。这要求攻击者了解原始请求,以便构造答案。这样的答案还需要通过受保护的传输连接到达Diameter节点。因此,实现必须在对过载报告执行操作之前,验证包含过载报告的应答是否是对挂起请求的正确构造的响应,以及应答是否通过适当的传输连接接收。

A similar attack involves a compromised but otherwise authorized node that sends an inappropriate overload report. For example, a server for the realm "example.com" might send an overload report indicating that a competitor's realm "example.net" is overloaded. If other nodes act on the report, they may falsely believe that "example.net" is overloaded, effectively reducing that realm's capacity. Therefore, it's critical that nodes validate that an overload report received from a peer actually falls within that peer's responsibility before acting on the report or forwarding the report to other peers. For example, an overload report from a peer that applies to a realm not handled by that peer is suspect. This may require out-of-band, non-Diameter agreements and/or mechanisms.

类似的攻击涉及一个受损但经授权的节点,该节点发送不适当的过载报告。例如,领域“example.com”的服务器可能会发送过载报告,指出竞争对手的领域“example.net”过载。如果其他节点对报告采取行动,它们可能会错误地认为“example.net”过载,从而有效地降低了该领域的容量。因此,在对报告采取行动或将报告转发给其他对等方之前,节点必须验证从对等方接收的过载报告是否确实属于该对等方的责任范围,这一点至关重要。例如,来自对等方的重载报告应用于该对等方未处理的领域是可疑的。这可能需要带外、非直径协议和/或机制。

This attack is partially mitigated by the fact that the application, as well as host and realm, for a given OLR is determined implicitly by respective AVPs in the enclosing answer. If a reporting node modifies any of those AVPs, the enclosing transaction will also be affected.

由于给定OLR的应用程序以及主机和域由所附答案中的相应AVP隐式确定,因此部分缓解了此攻击。如果报告节点修改了这些AVP中的任何一个,则包含的事务也将受到影响。

10.2. Denial-of-Service Attacks
10.2. 拒绝服务攻击

Diameter overload reports, especially realm reports, can cause a node to cease sending some or all Diameter requests for an extended period. This makes them a tempting vector for DoS attacks. Furthermore, since Diameter is almost always used in support of other

Diameter重载报告,尤其是领域报告,会导致节点在较长时间内停止发送部分或全部Diameter请求。这使得它们成为DoS攻击的诱人载体。此外,由于直径几乎总是用于支持其他

protocols, a DoS attack on Diameter is likely to impact those protocols as well. In the worst case, where the Diameter application is being used for access control into an IP network, a coordinated DoS attack could result in the blockage of all traffic into that network. Therefore, Diameter nodes MUST NOT honor or forward OLRs received from peers that are not trusted to send them.

协议,对Diameter的DoS攻击也可能影响这些协议。在最坏的情况下,当Diameter应用程序用于对IP网络进行访问控制时,协同DoS攻击可能会导致所有进入该网络的流量受阻。因此,Diameter节点不能接受或转发从不受信任的对等方接收的olr。

An attacker might use the information in an OLR to assist in DoS attacks. For example, an attacker could use information about current overload conditions to time an attack for maximum effect, or use subsequent overload reports as a feedback mechanism to learn the results of a previous or ongoing attack. Operators need the ability to ensure that OLRs are not leaked to untrusted parties.

攻击者可能会使用OLR中的信息来协助DoS攻击。例如,攻击者可以使用有关当前过载条件的信息来计时攻击以获得最大效果,或者使用后续过载报告作为反馈机制来了解以前或正在进行的攻击的结果。运营商需要能够确保OLR不会泄露给不受信任的方。

10.3. Noncompliant Nodes
10.3. 不相容节点

In the absence of an overload control mechanism, Diameter nodes need to implement strategies to protect themselves from floods of requests, and to make sure that a disproportionate load from one source does not prevent other sources from receiving service. For example, a Diameter server might throttle a certain percentage of requests from sources that exceed certain limits. Overload control can be thought of as an optimization for such strategies, where downstream nodes never send the excess requests in the first place. However, the presence of an overload control mechanism does not remove the need for these other protection strategies.

在没有过载控制机制的情况下,Diameter节点需要实施策略来保护自己免受请求洪流的影响,并确保来自一个源的不成比例的负载不会阻止其他源接收服务。例如,Diameter服务器可能会限制来自超过特定限制的源的特定百分比的请求。过载控制可以看作是对这种策略的优化,其中下游节点从一开始就不会发送多余的请求。然而,过载控制机制的存在并不能消除对这些其他保护策略的需要。

When a Diameter node sends an overload report, it cannot assume that all nodes will comply, even if they indicate support for DOIC. A noncompliant node might continue to send requests with no reduction in load. Such noncompliance could be done accidentally or maliciously to gain an unfair advantage over compliant nodes. Requirement 28 in [RFC7068] indicates that the overload control solution cannot assume that all Diameter nodes in a network are trusted. It also requires that malicious nodes not be allowed to take advantage of the overload control mechanism to get more than their fair share of service.

当Diameter节点发送重载报告时,它不能假设所有节点都会遵守,即使它们表示支持DOIC。不符合要求的节点可能会继续发送请求,而不会减少负载。这种不合规行为可能是偶然或恶意的,目的是获得与合规节点相比的不公平优势。[RFC7068]中的要求28指出,过载控制解决方案不能假定网络中的所有Diameter节点都是可信的。它还要求不允许恶意节点利用过载控制机制获取超过其公平份额的服务。

10.4. End-to-End Security Issues
10.4. 端到端安全问题

The lack of end-to-end integrity features makes it difficult to establish trust in overload reports received from non-adjacent nodes. Any agents in the message path may insert or modify overload reports. Nodes must trust that their adjacent peers perform proper checks on overload reports from their peers, and so on, creating a transitive-trust requirement extending for potentially long chains of nodes. Network operators must determine if this transitive trust requirement is acceptable for their deployments. Nodes supporting Diameter

由于缺乏端到端完整性功能,因此很难在从非相邻节点接收的过载报告中建立信任。消息路径中的任何代理都可以插入或修改过载报告。节点必须信任其相邻的对等方对来自其对等方的过载报告执行适当的检查,以此类推,从而创建一个可传递的信任需求,扩展潜在的长节点链。网络运营商必须确定其部署是否可以接受这种可传递的信任要求。节点支撑直径

overload control MUST give operators the ability to select which peers are trusted to deliver overload reports and whether they are trusted to forward overload reports from non-adjacent nodes. DOIC nodes MUST strip DOIC AVPs from messages received from peers that are not trusted for DOIC purposes.

过载控制必须使操作员能够选择信任哪些对等方来传递过载报告,以及是否信任它们转发来自非相邻节点的过载报告。DOIC节点必须从从不受DOIC信任的对等方接收的消息中剥离DOIC AVP。

The lack of end-to-end confidentiality protection means that any Diameter Agent in the path of an overload report can view the contents of that report. In addition to the requirement to select which peers are trusted to send overload reports, operators MUST be able to select which peers are authorized to receive reports. A node MUST NOT send an overload report to a peer not authorized to receive it. Furthermore, an agent MUST remove any overload reports that might have been inserted by other nodes before forwarding a Diameter message to a peer that is not authorized to receive overload reports.

缺少端到端机密性保护意味着过载报告路径中的任何Diameter代理都可以查看该报告的内容。除了选择信任哪些对等方发送过载报告的要求外,操作员还必须能够选择授权哪些对等方接收报告。节点不得向无权接收过载报告的对等方发送过载报告。此外,在将Diameter消息转发给无权接收过载报告的对等方之前,代理必须删除其他节点可能插入的任何过载报告。

A DOIC node cannot always automatically detect that a peer also supports DOIC. For example, a node might have a peer that is a non-supporting agent. If nodes on the other side of that agent send OC-Supported-Features AVPs, the agent is likely to forward them as unknown AVPs. Messages received across the non-supporting agent may be indistinguishable from messages received across a DOIC supporting agent, giving the false impression that the non-supporting agent actually supports DOIC. This complicates the transitive-trust nature of DOIC. Operators need to be careful to avoid situations where a non-supporting agent is mistakenly trusted to enforce DOIC-related authorization policies.

DOIC节点不能总是自动检测到对等方也支持DOIC。例如,节点可能具有非支持代理的对等方。如果该代理另一端的节点发送OC支持的功能AVP,则该代理可能会将其作为未知AVP转发。通过非支持代理接收的消息可能无法与通过DOIC支持代理接收的消息区分开来,从而给人一种错误印象,即非支持代理实际上支持DOIC。这使DOIC的可传递信任性质复杂化。运营商需要小心避免错误信任非支持代理来实施DOIC相关授权策略的情况。

It is expected that work on end-to-end Diameter security might make it easier to establish trust in non-adjacent nodes for overload control purposes. Readers should be reminded, however, that the overload control mechanism allows Diameter Agents to modify AVPs in, or insert additional AVPs into, existing messages that are originated by other nodes. If end-to-end security is enabled, there is a risk that such modification could violate integrity protection. The details of using any future Diameter end-to-end security mechanism with overload control will require careful consideration, and are beyond the scope of this document.

预计端到端Diameter安全性方面的工作可能会更容易在非相邻节点中建立信任,以实现过载控制。但是,应提醒读者,重载控制机制允许Diameter代理修改由其他节点发起的现有消息中的AVP,或向其中插入其他AVP。如果启用了端到端安全性,则此类修改可能会违反完整性保护。使用任何具有过载控制的未来Diameter端到端安全机制的细节将需要仔细考虑,并且超出本文档的范围。

11. References
11. 工具书类
11.1. Normative References
11.1. 规范性引用文件

[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997, <http://www.rfc-editor.org/info/rfc2119>.

[RFC2119]Bradner,S.,“RFC中用于表示需求水平的关键词”,BCP 14,RFC 2119,DOI 10.17487/RFC2119,1997年3月<http://www.rfc-editor.org/info/rfc2119>.

[RFC5226] Narten, T. and H. Alvestrand, "Guidelines for Writing an IANA Considerations Section in RFCs", BCP 26, RFC 5226, DOI 10.17487/RFC5226, May 2008, <http://www.rfc-editor.org/info/rfc5226>.

[RFC5226]Narten,T.和H.Alvestrand,“在RFCs中编写IANA注意事项部分的指南”,BCP 26,RFC 5226,DOI 10.17487/RFC5226,2008年5月<http://www.rfc-editor.org/info/rfc5226>.

[RFC6733] Fajardo, V., Ed., Arkko, J., Loughney, J., and G. Zorn, Ed., "Diameter Base Protocol", RFC 6733, DOI 10.17487/RFC6733, October 2012, <http://www.rfc-editor.org/info/rfc6733>.

[RFC6733]Fajardo,V.,Ed.,Arkko,J.,Loughney,J.,和G.Zorn,Ed.,“直径基准协议”,RFC 6733,DOI 10.17487/RFC6733,2012年10月<http://www.rfc-editor.org/info/rfc6733>.

11.2. Informative References
11.2. 资料性引用

[Cx] 3GPP, "Cx and Dx interfaces based on the Diameter protocol; Protocol details", 3GPP TS 29.229 12.7.0, September 2015.

[Cx]3GPP,“基于Diameter协议的Cx和Dx接口;协议详细信息”,3GPP TS 29.229 12.7.012015年9月。

[PCC] 3GPP, "Policy and charging control architecture", 3GPP TS 23.203 12.10.0, September 2015.

[PCC]3GPP,“政策和收费控制体系结构”,3GPP TS 23.203 12.10.012015年9月。

[RFC4006] Hakala, H., Mattila, L., Koskinen, J-P., Stura, M., and J. Loughney, "Diameter Credit-Control Application", RFC 4006, DOI 10.17487/RFC4006, August 2005, <http://www.rfc-editor.org/info/rfc4006>.

[RFC4006]Hakala,H.,Mattila,L.,Koskinen,J-P.,Stura,M.,和J.Loughney,“直径信用控制应用”,RFC 4006,DOI 10.17487/RFC4006,2005年8月<http://www.rfc-editor.org/info/rfc4006>.

[RFC7068] McMurry, E. and B. Campbell, "Diameter Overload Control Requirements", RFC 7068, DOI 10.17487/RFC7068, November 2013, <http://www.rfc-editor.org/info/rfc7068>.

[RFC7068]McMurry,E.和B.Campbell,“直径过载控制要求”,RFC 7068,DOI 10.17487/RFC7068,2013年11月<http://www.rfc-editor.org/info/rfc7068>.

[S13] 3GPP, "Evolved Packet System (EPS); Mobility Management Entity (MME) and Serving GPRS Support Node (SGSN) related interfaces based on Diameter protocol", 3GPP TS 29.272 12.8.0, September 2015.

[S13]3GPP,“演进分组系统(EPS);基于Diameter协议的移动管理实体(MME)和服务GPRS支持节点(SGSN)相关接口”,3GPP TS 29.272 12.8.02015年9月。

Appendix A. Issues Left for Future Specifications
附录A.留给未来规范的问题

The base solution for overload control does not cover all possible use cases. A number of solution aspects were intentionally left for future specification and protocol work. The following subsections define some of the potential extensions to the DOIC solution.

过载控制的基本解决方案并没有涵盖所有可能的用例。许多解决方案方面有意留给未来的规范和协议工作。以下小节定义了DOIC解决方案的一些潜在扩展。

A.1. Additional Traffic Abatement Algorithms
A.1. 额外的流量减少算法

This specification describes only means for a simple loss-based algorithm. Future algorithms can be added using the designed solution extension mechanism. The new algorithms need to be registered with IANA. See Sections 7.2 and 9 for the required IANA steps.

本规范仅描述了一种简单的基于损耗的算法。可以使用设计的解决方案扩展机制添加未来的算法。新算法需要在IANA注册。有关所需的IANA步骤,请参见第7.2节和第9节。

A.2. Agent Overload
A.2. 代理超载

This specification focuses on Diameter endpoint (server or client) overload. A separate extension will be required to outline the handling of the case of agent overload.

本规范主要关注Diameter端点(服务器或客户端)过载。需要单独的扩展来概述代理过载情况的处理。

A.3. New Error Diagnostic AVP
A.3. 新的错误诊断AVP

This specification indicates the use of existing error messages when nodes reject requests due to overload. There is an expectation that additional error codes or AVPs will be defined in a separate specification to indicate that overload was the reason for the rejection of the message.

此规范指示在节点因过载而拒绝请求时使用现有错误消息。期望在单独的规范中定义额外的错误代码或AVP,以表明过载是拒绝消息的原因。

Appendix B. Deployment Considerations
附录B.部署注意事项

Non-supporting Agents

非辅助剂

Due to the way that realm-routed requests are handled in Diameter networks with the server selection for the request done by an agent, network operators should enable DOIC at agents that perform server selection first.

由于Diameter网络中通过代理对请求进行服务器选择来处理领域路由请求的方式,网络运营商应该在首先执行服务器选择的代理上启用DOIC。

Topology-Hiding Interactions

拓扑隐藏交互

There exist proxies that implement what is referred to as Topology Hiding. This can include cases where the agent modifies the Origin-Host in answer messages. The behavior of the DOIC solution is not well understood when this happens. As such, the DOIC solution does not address this scenario.

存在实现所谓拓扑隐藏的代理。这可能包括代理在应答消息中修改源主机的情况。发生这种情况时,DOIC解决方案的行为没有得到很好的理解。因此,DOIC解决方案不解决此场景。

Inter-Realm/Administrative Domain Considerations

域间/管理域注意事项

There are likely to be special considerations for handling DOIC signaling across administrative boundaries. This includes considerations for whether or not information included in the DOIC signaling should be sent across those boundaries. In addition, consideration should be taken as to whether or not a reacting node in one realm can be trusted to implement the requested overload abatement handling for overload reports received from a separately administered realm.

在跨行政边界处理DOIC信令时,可能会有一些特殊的考虑。这包括考虑是否应跨越这些边界发送DOIC信令中包含的信息。此外,还应考虑是否可以信任一个域中的反应节点来对从单独管理的域接收的过载报告执行请求的过载减轻处理。

Appendix C. Considerations for Applications Integrating the DOIC Solution

附录C.集成DOIC解决方案的应用程序注意事项

This section outlines considerations to be taken into account when integrating the DOIC solution into Diameter applications.

本节概述了将DOIC解决方案集成到Diameter应用程序时应考虑的事项。

C.1. Application Classification
C.1. 应用分类

The following is a classification of Diameter applications and request types. This discussion is meant to document factors that play into decisions made by the Diameter entity responsible for handling overload reports.

以下是直径应用程序和请求类型的分类。本讨论旨在记录负责处理过载报告的Diameter实体所做决策的影响因素。

Section 8.1 of [RFC6733] defines two state machines that imply two types of applications, session-less and session-based applications. The primary difference between these types of applications is the lifetime of Session-Ids.

[RFC6733]的第8.1节定义了两种状态机,表示两种类型的应用程序,即无会话应用程序和基于会话的应用程序。这些类型的应用程序之间的主要区别是会话ID的生存期。

For session-based applications, the Session-Id is used to tie multiple requests into a single session.

对于基于会话的应用程序,会话Id用于将多个请求绑定到单个会话中。

The Credit-Control application defined in [RFC4006] is an example of a Diameter session-based application.

[RFC4006]中定义的信用控制应用程序是基于Diameter会话的应用程序的一个示例。

In session-less applications, the lifetime of the Session-Id is a single Diameter transaction, i.e., the session is implicitly terminated after a single Diameter transaction and a new Session-Id is generated for each Diameter request.

在无会话的应用程序中,会话Id的生存期是单Diameter事务,即会话在单Diameter事务之后隐式终止,并为每个Diameter请求生成新的会话Id。

For the purposes of this discussion, session-less applications are further divided into two types of applications:

在本讨论中,无会话应用程序进一步分为两种类型的应用程序:

Stateless Applications:

无状态应用程序:

Requests within a stateless application have no relationship to each other. The 3GPP-defined S13 application is an example of a stateless application [S13], where only a Diameter command is defined between a client and a server and no state is maintained between two consecutive transactions.

无状态应用程序中的请求彼此之间没有关系。3GPP定义的S13应用程序是无状态应用程序[S13]的示例,其中在客户端和服务器之间仅定义Diameter命令,并且在两个连续事务之间不保持状态。

Pseudo-Session Applications:

伪会话应用程序:

Applications that do not rely on the Session-Id AVP for correlation of application messages related to the same session but use other session-related information in the Diameter requests for this purpose. The 3GPP-defined Cx application [Cx] is an example of a pseudo-session application.

不依赖会话Id AVP来关联与同一会话相关的应用程序消息,但为此目的在Diameter请求中使用其他会话相关信息的应用程序。3GPP定义的Cx应用程序[Cx]是伪会话应用程序的示例。

The handling of overload reports must take the type of application into consideration, as discussed in Appendix C.2.

过载报告的处理必须考虑应用的类型,如附录C.2所述。

C.2. Implications of Application Type Overload
C.2. 应用程序类型重载的含义

This section discusses considerations for mitigating overload reported by a Diameter entity. This discussion focuses on the type of application. Appendix C.3 discusses considerations for handling various request types when the target server is known to be in an overloaded state.

本节讨论减轻Diameter实体报告的过载的注意事项。本讨论的重点是应用程序的类型。附录C.3讨论了在已知目标服务器处于过载状态时处理各种请求类型的注意事项。

These discussions assume that the strategy for mitigating the reported overload is to reduce the overall workload sent to the overloaded entity. The concept of applying overload treatment to requests targeted for an overloaded Diameter entity is inherent to this discussion. The method used to reduce offered load is not specified here, but it could include routing requests to another Diameter entity known to be able to handle them, or it could mean rejecting certain requests. For a Diameter Agent, rejecting requests will usually mean generating appropriate Diameter error responses. For a Diameter client, rejecting requests will depend upon the application. For example, it could mean giving an indication to the entity requesting the Diameter service that the network is busy and to try again later.

这些讨论假设减轻报告过载的策略是减少发送到过载实体的总体工作负载。对针对重载直径实体的请求应用重载处理的概念是本讨论的固有概念。此处未指定用于减少提供负载的方法,但它可能包括将请求路由到另一个已知能够处理它们的Diameter实体,也可能意味着拒绝某些请求。对于Diameter代理,拒绝请求通常意味着生成适当的Diameter错误响应。对于Diameter客户端,拒绝请求将取决于应用程序。例如,这可能意味着向请求Diameter服务的实体指示网络正忙,并稍后重试。

Stateless Applications:

无状态应用程序:

By definition, there is no relationship between individual requests in a stateless application. As a result, when a request is sent or relayed to an overloaded Diameter entity -- either a Diameter Server or a Diameter Agent -- the sending or relaying entity can choose to apply the overload treatment to any request targeted for the overloaded entity.

根据定义,无状态应用程序中的各个请求之间没有关系。因此,当请求被发送或中继到重载的Diameter实体(Diameter服务器或Diameter代理)时,发送或中继实体可以选择将重载处理应用于针对重载实体的任何请求。

Pseudo-session Applications:

伪会话应用程序:

For pseudo-session applications, there is an implied ordering of requests. As a result, decisions about which requests towards an overloaded entity to reject could take the command code of the request into consideration. This generally means that transactions later in the sequence of transactions should be given more favorable treatment than messages earlier in the sequence. This is because more work has already been done by the Diameter network for those transactions that occur later in the sequence. Rejecting them could result in increasing the load on the network as the transactions earlier in the sequence might also need to be repeated.

对于伪会话应用程序,存在隐含的请求顺序。因此,关于拒绝对重载实体的哪些请求的决定可以考虑请求的命令代码。这通常意味着,在事务序列中较后的事务应得到比序列中较早的消息更有利的处理。这是因为Diameter网络已经为后续发生的事务做了更多的工作。拒绝它们可能会增加网络上的负载,因为序列中较早的事务也可能需要重复。

Session-Based Applications:

基于会话的应用程序:

Overload handling for session-based applications must take into consideration the work load associated with setting up and maintaining a session. As such, the entity sending requests towards an overloaded Diameter entity for a session-based application might tend to reject new session requests prior to rejecting intra-session requests. In addition, session-ending requests might be given a lower probability of being rejected, as rejecting session-ending requests could result in session status being out of sync between the Diameter clients and servers. Application designers that would decide to reject mid-session requests will need to consider whether the rejection invalidates the session and any resulting session cleanup procedures.

基于会话的应用程序的过载处理必须考虑与设置和维护会话相关的工作负载。因此,向基于会话的应用程序的重载Diameter实体发送请求的实体可能倾向于在拒绝会话内请求之前拒绝新的会话请求。此外,会话结束请求可能被拒绝的概率较低,因为拒绝会话结束请求可能会导致Diameter客户端和服务器之间的会话状态不同步。决定拒绝中间会话请求的应用程序设计者将需要考虑拒绝是否无效会话和任何导致的会话清理过程。

C.3. Request Transaction Classification
C.3. 请求事务分类

Independent Request:

独立请求:

An independent request is not correlated to any other requests, and, as such, the lifetime of the Session-Id is constrained to an individual transaction.

独立请求与任何其他请求都不相关,因此,会话Id的生存期仅限于单个事务。

Session-Initiating Request:

会话启动请求:

A session-initiating request is the initial message that establishes a Diameter session. The ACR message defined in [RFC6733] is an example of a session-initiating request.

会话启动请求是建立Diameter会话的初始消息。[RFC6733]中定义的ACR消息是会话启动请求的一个示例。

Correlated Session-Initiating Request:

相关会话启动请求:

There are cases when multiple session-initiated requests must be correlated and managed by the same Diameter server. It is notably the case in the 3GPP Policy and Charging Control (PCC) architecture [PCC], where multiple apparently independent Diameter application sessions are actually correlated and must be handled by the same Diameter server.

在某些情况下,多个会话启动的请求必须由同一Diameter服务器关联和管理。在3GPP策略和计费控制(PCC)体系结构[PCC]中尤其如此,其中多个明显独立的Diameter应用程序会话实际上是相互关联的,并且必须由同一Diameter服务器处理。

Intra-session Request:

会话内请求:

An intra-session request is a request that uses the same Session-Id as the one used in a previous request. An intra-session request generally needs to be delivered to the server that handled the session-creating request for the session. The STR message defined in [RFC6733] is an example of an intra-session request.

会话内请求是使用与前一个请求中使用的会话Id相同的会话Id的请求。会话内请求通常需要传递到处理会话创建请求的服务器。[RFC6733]中定义的STR消息是会话内请求的一个示例。

Pseudo-session Requests:

伪会话请求:

Pseudo-session requests are independent requests and do not use the same Session-Id but are correlated by other session-related information contained in the request. There exist Diameter applications that define an expected ordering of transactions. This sequencing of independent transactions results in a pseudo-session. The AIR, MAR, and SAR requests in the 3GPP-defined Cx [Cx] application are examples of pseudo-session requests.

伪会话请求是独立的请求,不使用相同的会话Id,但由请求中包含的其他会话相关信息关联。存在定义预期事务顺序的Diameter应用程序。这种独立事务的排序会导致伪会话。3GPP定义的Cx[Cx]应用程序中的AIR、MAR和SAR请求是伪会话请求的示例。

C.4. Request Type Overload Implications
C.4. 请求类型重载含义

The request classes identified in Appendix C.3 have implications on decisions about which requests should be throttled first. The following list of request treatments regarding throttling is provided as guidelines for application designers when implementing the Diameter overload control mechanism described in this document. The exact behavior regarding throttling is a matter of local policy, unless specifically defined for the application.

附录C.3中确定的请求类对应首先限制哪些请求的决策有影响。以下关于节流的请求处理列表作为应用程序设计人员在实施本文档中描述的直径过载控制机制时的指南提供。除非为应用程序专门定义,否则节流的确切行为取决于本地策略。

Independent Requests:

独立请求:

Independent requests can generally be given equal treatment when making throttling decisions, unless otherwise indicated by application requirements or local policy.

除非应用程序需求或本地策略另有指示,否则在作出限制决定时,通常可以对独立请求给予同等对待。

Session-Initiating Requests:

会话启动请求:

Session-initiating requests often represent more work than independent or intra-session requests. Moreover, session-initiating requests are typically followed by other session-related requests. Since the main objective of overload control is to reduce the total number of requests sent to the overloaded entity, throttling decisions might favor allowing intra-session requests over session-initiating requests. In the absence of local policies or application-specific requirements to the contrary, individual session-initiating requests can be given equal treatment when making throttling decisions.

会话启动请求通常比独立或会话内请求代表更多的工作。此外,会话启动请求之后通常是其他会话相关请求。由于过载控制的主要目标是减少发送到过载实体的请求总数,因此节流决策可能有利于允许会话内请求而不是会话启动请求。在没有本地策略或特定于应用程序的相反要求的情况下,在作出限制决定时,可以对单个会话启动请求给予同等对待。

Correlated Session-Initiating Requests:

相关会话启动请求:

A request that results in a new binding; where the binding is used for routing of subsequent session-initiating requests to the same server, it represents more work load than other requests. As such, these requests might be throttled more frequently than other request types.

产生新绑定的请求;当绑定用于将后续会话启动请求路由到同一服务器时,它表示比其他请求更多的工作负载。因此,这些请求可能比其他请求类型更频繁地受到限制。

Pseudo-session Requests:

伪会话请求:

Throttling decisions for pseudo-session requests can take into consideration where individual requests fit into the overall sequence of requests within the pseudo-session. Requests that are earlier in the sequence might be throttled more aggressively than requests that occur later in the sequence.

对于伪会话请求的节流决策,可以考虑在伪会话中单个请求适合整个请求序列的情况。序列中较早发生的请求可能比序列中较晚发生的请求受到更大的限制。

Intra-session Requests:

会话内请求:

There are two types of intra-sessions requests, requests that terminate a session and the remainder of intra-session requests. Implementers and operators may choose to throttle session-terminating requests less aggressively in order to gracefully terminate sessions, allow cleanup of the related resources (e.g., session state), and avoid the need for additional intra-session requests. Favoring session termination requests may reduce the session management impact on the overloaded entity. The default handling of other intra-session requests might be to treat them equally when making throttling decisions. There might also be application-level considerations whether some request types are favored over others.

有两种类型的会话内请求,即终止会话的请求和剩余的会话内请求。实施者和运营商可以选择不太激烈地限制会话终止请求,以便优雅地终止会话,允许清理相关资源(例如,会话状态),并避免需要额外的会话内请求。支持会话终止请求可以减少会话管理对过载实体的影响。其他会话内请求的默认处理方式可能是在作出限制决定时平等对待它们。对于某些请求类型是否优于其他请求类型,还可能存在应用程序级别的考虑因素。

Contributors

贡献者

The following people contributed substantial ideas, feedback, and discussion to this document:

以下人员为本文件提供了大量的想法、反馈和讨论:

o Eric McMurry

o 埃里克·麦克默里

o Hannes Tschofenig

o 汉内斯·乔菲尼

o Ulrich Wiehe

o 乌尔里希·维赫

o Jean-Jacques Trottin

o 让-雅克·特罗廷

o Maria Cruz Bartolome

o 玛丽亚·克鲁兹·巴托洛姆

o Martin Dolly

o 马丁·多利

o Nirav Salot

o 尼拉夫萨洛特

o Susan Shishufeng

o 苏珊石树峰

Authors' Addresses

作者地址

Jouni Korhonen (editor) Broadcom Corporation 3151 Zanker Road San Jose, CA 95134 United States

Jouni Korhonen(编辑)Broadcom Corporation美国加利福尼亚州圣何塞市赞克路3151号,邮编95134

   Email: jouni.nospam@gmail.com
        
   Email: jouni.nospam@gmail.com
        

Steve Donovan (editor) Oracle 7460 Warren Parkway Frisco, Texas 75034 United States

史蒂夫·多诺万(编辑)美国德克萨斯州弗里斯科沃伦公园路7460号甲骨文75034

   Email: srdonovan@usdonovans.com
        
   Email: srdonovan@usdonovans.com
        

Ben Campbell Oracle 7460 Warren Parkway Frisco, Texas 75034 United States

本坎贝尔甲骨文7460沃伦公园路弗里斯科,德克萨斯州75034美国

   Email: ben@nostrum.com
        
   Email: ben@nostrum.com
        

Lionel Morand Orange Labs 38/40 rue du General Leclerc Issy-Les-Moulineaux Cedex 9 92794 France

法国莱克勒将军街38/40号莱昂内尔·莫兰橙实验室9 92794

   Phone: +33145296257
   Email: lionel.morand@orange.com
        
   Phone: +33145296257
   Email: lionel.morand@orange.com