Diameter协议学习笔记一.pdf
《Diameter协议学习笔记一.pdf》由会员分享,可在线阅读,更多相关《Diameter协议学习笔记一.pdf(14页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Diameter 协议学习笔记一(协议介绍)一、摘要:Diameter 协议主要为应用程序提供认证、鉴权、计费框架,即 AAA,并支持本 地AAA 和漫游场景下的 AAA。二、介绍:AAA 协议、例如 TACACS、RADIUS 起初是为了提供 PPP 及终端接入,随着 Internet及新的接入技术的发展,包括无线、DSL、移动 IP,以太网路由、网络访 问服务器(NAS)在复杂和密集性方面有所增强,这对 AAA 协议提出了新的要 求。例如,网络访问对 AAA 协议提出的要求总结有以下这些:Failover(故障转移)RADIUS 协议没有定义 failover 机制,因此,failover
2、 的行为随着程序的实现不同 而各异,为了提供一个明确定义的 failover 行为,Diameter支持应用层的应答,并 定义failover 的西装算法和偶联状态机。传输层安全 RADIUS 在定义了应用层的认证,但仅使用了响应包,RADEXT 定义了另外的认 证,但仅要求在 EAP session 中使用,且支持届性隐藏。RFC3162 为 RADIUS 定 义了 IPsec,但对其支持并没有做要求,Diameter 强制要求支持 IPSec,TLS 的支 持可选择。,可靠传输 RADIUS 运行在 UDP 上,且没有定义重传行为,所有,可靠性因实现不同而各 异。Diameter 运行在可
3、靠的传输层(TCP,SCTP)上。代理支持 RADIUS 没有明确地规定支持 agent,包括 Proxies,Redirects,Relays。Diameter 明确地定义了代理的行为。服务器发起消息RADIUS 中对丁服务器发起消息的支持是可选的,这就使用一些如主动断链、或 者重新认证或重新鉴权等特性实现困难。服务器发起消息在 Diameter 中强制要求 支持。可审核性 RADIUS 没有定义数据对象安全机制,结果,不受信任的代理可能修改届性或都 包头,并且不会被检测出来,结合对能力协商机制的缺失,无法预期结果会发生什 么。Diameter 也没有定义数据对象安全机制,但支持能力协商。*
4、转换支持 Diameter 使用的通用协议数据单元(PDU)与 RADIUS 不同,但支持向前兼容 RADIUS,所以两种协议可以部署在同一网络中。*能力协商 RADIUS 不支持错误消息、能力协商、及表示届性强制/非强制的标志位。因此 RADIUS的客户端和服务端不担心对方的能力,它们可能不会成功地协商一个相互 接受的服务,或者在一些情况下,需要知道哪些服务对端已经实现,以上几点 Diameter 均支持。对端发现及配置 RADIUS 要求人工配置服务端或客户端的名称或地址,相应地增加了秘密的共 享,带来管理和安全上的负担。通过 DNS,Diameter 可以动态发现对端,并通过 传输层安全
5、来保证。*漫游支持 RADIUS 不提供对 proxyr 的明确支持,缺少可审核性、传输层安全,使得在漫游 场景下容易引发安全问题,Diameter 支持域内漫游、消息路由、可审核性、传输 层安全特性,可提供可安全和可靠的漫游。术语:AAA 认证、鉴权、计费 Accounting(计费)为能力计划制定、审计、账单、费用分配等目的而进行资源使用的信息的收集动 作。Accounting Record(计费记录)记录某个用户在整个会话期间资源消费的情况,Authentication(认证)校验一个实体一致性的动作。Authorization(鉴权)决定一个请求实体是否允许访问某项资源。AVP(届性值
6、对)Diameter 消息由一个报文头后跟一个或多个 Attribute-Value-Pairs(AVPs),一个 AVP 包含一个头用丁协议细节数据(例如路由信息)。Broker(代理)代理是一个用丁 AAA 架构中的商业术语,可以是 relay,proxy,或者 redirect agent。Diameter Agent(Diameter 代理)指一个提供 relay、proxy、redirect 或翻译服务的 diameter 结点。Diameter Client(Diameter 客户端)为一个处丁网络边缘的,提供访问控制的设备。如 NAS。Diameter Node(Diameter
7、 节点)为一个实现了 diameter 协议的主机进程,其行为为客户端、代理、服务端之一。Diameter Peer(Diameter 对端)为一个具有直连连接的 diameter 节点 Diameter Security Exchange(diameter 安全交换)为一个进程,两个 diameter 节点可以通过它建立端到端的安全。Diameter Server(diameter 服务端)用丁处理指定域中认证、鉴权、计费请求。End-to-End Security(端到端安全)TLS 和 IPSec 提供逐跳的安全,当 relays 或 proxy 很复杂时,逐跳的安全不能保 证全部的 d
8、iameter 用户会话,端到端安全为两个 diameter 节点间的安全,或者 Agent问的,这种安全保证了整个 dimeter 传送路径上的安全。Home Realm(归届域)为一个维护帐户关系的管理域。Interim accounting(临时计费)一个临时计费消息提供一个用户会话的使用快照,通常为一个用户会话在设备重 启或者网络问题出现时提供部分的计费。Local Realm(本地域)一个提供服务的管理域。Multi-Sessin(多会话)一个多会话表示多个会话的逻辑连接,多会话使用 Acct-Multi-Session-Id来跟 Network Access Identifier(
9、网络接入标识)即 NAI,用来在 diameter 协议中提取一个用户的标识及域。用丁在认证中识别用 户,域用来消息路由。Proxy Agent or Proxy(代理)除传输请求和响应外,代理制定与资源有关的策略,通常用来完成 NAS 设备状 态的跟踪,代理在收到一个服务端的响应前不会对客户端的请求进行应答。当策略 被违反时,它们可能会生成一个拒绝消息。因此,代理需要理解通过它们传输的消 息的语义,它们可能不支持所有的 diameter 应用。Realm(域)在 NAI 中跟在符号之后的字符申,NAI 的域要求为唯一的,且为 DNS 域的分 段,用丁判断消息是否满足本地处理的条件,或者被路由
10、或重定向。Real-time Accounting(实时计费)它包含在一个限定的时间窗内处理资源使用的信息,时间限制通常用来限制风 险。Relay Agent or Relay(中继代理或转播)转播请求和响应基丁路由相关的 AVPs 和路由表,中继不会制定策略,他们不会 检查或更改非路由 AVPs,因此,中继从不产生消息,不需要理解消息的语义或者 非路由AVPs,可能会处理八种 diameter 应用或消息类型,因此,中继依据路由和 域来做决定,并且不保存 NAS 资源使用的状态或会话。Redirect Agent(重定向代理)与其在客户端和服务端间传递消息,重定向代理涉及客户端和服务端,并允
11、许它 们直接通信,所以重定向代理不出现在传输路径中,它们从不修改客户端和服务端 传输的任何 AVPs,也不产生消息,可以处理任何消息类型,尽管它们可能仅配置 为重定向特定类型的消息,与 Proxy 代理相比,重定向代理不保存会话或 NAS 资 源相关的状态。Security Association(安全偶联)一个安全的偶联是指两个端点之间的 diameter 会话,此会话允许端点完整且可信 地通信,包括中继和/或 Proxy o Session(会话)会话是指一个事件相关的活动。每个应用应该为会话的开始和结束提供指导,所 有具有相同会话标识的 diameter 包被认为同一个会话的一部分。Su
12、b-session(子会话)一个子会话表示一个明确的服务(例如 Qos),这些服务可能同时或连续发生(例 如同时产生的语音和同一会话中传输的数据)。此类会话由 Accounting-Sub-Session-Id 来跟踪。*Transaction state(传输状态)Diameter 协议要求代理来维护传输状态,用丁 failover。传输状态暗指一个请 求,逐跳标识被保存,且原来存储对应应答接收时的初始值字段被本地唯一标识符 替代,当拒绝一个应答时请求的状态被释放。Translation Agent(传输代理)是指为一个具有状态的 dimaeter 节点,用丁在 diameter 和其它的
13、AAA 协议(如 RADIUS)问进行翻译。Translation Connection(传输连接)一个传输连接是指直接存在丁两个 diameter 对端间的 TCP 或 SCTP 连接,或者 说端到端连接。Upstream(上行)用来标识一个特定的 diameter 消息从接入设备到归届服务器的传送方向。User(用户)产生请求或使用某些资源的实体,支持 diameter 客户端产生一个请求。链接和会话的区别:链接为传输层概念,会话为应用层的概念,通过 AVP Session-Id 来标识,两者 之前没有联系。如下图:+-+-+-+|Client|Relay|Server|+-+-+-+pe
14、er connection A peer connection B User session x Figure 1:Diameter connections and sessions*对端表 用丁消息传递和路由表全使用,包括以下信息:1.Host 标识:包括 Origin-Host AVP,在 CER/CEA 消息中使用。2.StatusT:对端实体的状态。3.Static or Dynamic:指对端是静态配置的还是动态发现。4.Expiration time:指使用动态发现机制时刷新超时的时长。5.TLS Enablee:与对端通信时是否使用 TLS。基丁域名的路由表 1.域名:用丁查找路
15、由表时使用的主键。2.应用程序标识:使用一个 Vendor id和一个 applicaiont id标识,其为路由表的 第二主键。3.Local Action:决定消息如何处理,有以下几个选项:LOCAL:本地处理,不需要路由到下一个服务器。RELAY:路由到下一跳,注意不修改任何非路由的 AVP。PROXY:路由到下一跳,注意可能会在消息中添加新的 AVP。REDIRECT:具有一个源 diameter 服务器的标识,且将消息返回给发送 者。4.服务器标识:必须出现在对端表中,当 Local Action 为 RELAY 或 PROXY 时,此字段标识消息被路由到的地址,当为 REDIREC
16、T 时,表示消息应该重定向到 的一个或多个服务器。5.Static or Dynamic:路由信息是静态配置还是动态发现。6.Expiration time:与对端表中的含义相同。另外,路由表必须包含一条默认路由。Diameter 消息应用层的路由 1.创建和发送 Request 消息:1)产生一个 Request 消息时,必须遵守下列规则:设置头部的 Command codq 设置头部的R位;设置头部的 End-to-End 为本地的唯一值;Origin-Host 和 Origin-Realm AVPs 必须携带,用来标识消息的源地 址;Destination-Host 和 Destinat
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Diameter 协议 学习 笔记
限制150内