跳到主要内容

6.1. Diameter 请求路由概述 (Diameter Request Routing Overview)

6.1. Diameter 请求路由概述 (Diameter Request Routing Overview)

请求发往其最终目的地时, Destination-Realm AVP 与 Destination-Host AVP 的组合只能是以下三种之一:

  • 不能被代理的请求 (例如 CER) 禁止 (MUST NOT) 同时携带 Destination-Realm 或 Destination-Host AVP.

  • 需要发往服务某特定 realm 的归属服务器、但不要求特定服务器实例的请求 (例如一系列往返中的首个请求), 必须 (MUST) 携带 Destination-Realm AVP, 且禁止 (MUST NOT) 携带 Destination-Host AVP. 对 Diameter 客户端而言, Destination-Realm AVP 的值可以从 User-Name AVP 等方法取得.

  • 否则, 需要发往服务给定 realm 的某一特定归属服务器的请求, 必须 (MUST) 同时携带 Destination-Realm AVP 与 Destination-Host AVP.

当请求目的地固定时, 按上文使用 Destination-Host AVP, 包括:

  • 跨多轮往返的认证请求.

  • 使用在源与最终目的地之间共享的预建立会话密钥的安全机制的 Diameter 消息.

  • 必须 (MUST) 由特定 Diameter 客户端 (例如接入设备) 接收的由服务器发起的消息, 例如用于请求终止某用户会话的 Abort-Session-Request 消息.

注意, 仅当被 Destination-Host AVP 描述的主机出现在其对等体表 (peer table, 见第 2.6 节) 中时, 代理才能将请求转发到该主机. 否则, 请求仅按 Destination-Realm 路由 (见第 6.1.6 节).

收到消息时, 按以下顺序处理:

  • 若消息目的地为本机, 遵循第 6.1.4 节的规程.

  • 若消息发往本机可直接通信的 Diameter 对等体, 遵循第 6.1.5 节的规程, 称为 "请求转发 (Request Forwarding)".

  • 遵循第 6.1.6 节的规程, 称为 "请求路由 (Request Routing)".

  • 若以上皆不成功, 返回应答, 将 Result-Code 设为 DIAMETER_UNABLE_TO_DELIVER, 并置位 'E' 比特.

为使管理域内 Diameter 消息路由可用, 该 realm 内所有 Diameter 节点必须 (MUST) 互为对等体.

本节 (6.1) 的概述旨在为 Diameter 实现者提供一般性指导. 只要符合第 6.1.1 至 6.1.9 节的要求, 实现可以采用与本文不同的方法. 错误处理的更多细节见第 7 节.