跳到主要内容

6.1.9. 中继与代理请求 (Relaying and Proxying Requests)

6.1.9. 中继与代理请求 (Relaying and Proxying Requests)

中继或代理代理转发所有请求时必须 (MUST) 追加 Route-Record AVP, 其中为收到该请求的对等体身份.

请求中的 Hop-by-Hop Identifier 被保存并替换为本地唯一值. 同时保存请求来源, 含 IP 地址、端口与协议.

若中继或代理代理需要在收到对应响应时访问本地状态信息, 可以 (MAY) 在请求中加入 Proxy-Info AVP. Proxy-Info AVP 具有安全含义, 因状态信息会分发到其他实体. 因此推荐 (RECOMMENDED) 对 Proxy-Info AVP 内容采用密码机制保护, 例如使用 HMAC-SHA1 [RFC2104] 等带密钥的消息摘要. 该机制需要密钥管理, 但仅在本机 Diameter 服务器侧. 本文档不描述保护 Proxy-Info AVP 所用密钥管理的完整细节. 常见建议如下:

  • 密钥应按 [RFC4086] 的随机性建议安全生成.

  • 密钥与密码保护算法强度至少 128 比特.

  • 密钥不得用于生成与校验 Proxy-Info AVP 以外的目的.

  • 密钥应定期更换.

  • AVP 格式或密码保护算法变更时应更换密钥.

然后将消息按路由表确定的下一跳转发.

图 6 给出按本节规程进行消息路由的示例.

(Origin-Host=nas.example.net) (Origin-Host=nas.example.net)
(Origin-Realm=example.net) (Origin-Realm=example.net)
(Destination-Realm=example.com) (Destination-Realm=example.com)
(Route-Record=nas.example.net)
+------+ ------> +------+ ------> +------+
| | (Request) | | (Request) | |
| NAS +-------------------+ DRL +-------------------+ HMS |
| | | | | |
+------+ <------ +------+ <------ +------+
example.net (Answer) example.net (Answer) example.com
(Origin-Host=hms.example.com) (Origin-Host=hms.example.com)
(Origin-Realm=example.com) (Origin-Realm=example.com)

图 6: Diameter 消息路由 (Routing of Diameter messages)

中继与代理代理不要求对入向消息做完整检查. 中继时至少须校验消息头及相关路由 AVP. 代理代理若关注某应用, 可选择做更深入的消息校验.