Diameter协议最初是作为Ridius协议的改进或者替代,它是IETF开发的新一代AAA协议(Authentication鉴别,Authorization授权,Accounting计费)。Authentication(认证)用以对用户身份进行确认;Authorization(授权) 用以确定用户是否被授权使用某种网络资源;Accounting(计费)用以监测用户使用网络资源的状况,可依照检测的记录对用户收费。
在Diameter协议中,包括多种类型的Diameter节点。除了Diameter客户端和Diameter服务器外,还有Diameter中继、Diameter代理、Diameter重定向器和Diameter协议转换器。
● Diameter中继 能够从Diameter请求消息中提取信息,再根据Diameter基于域的路由表的内容决定消息发送的下一跳Diameter节点。Diameter中继只对过往消息进行路由信息的修改,而不改动消息中的其他内容。
● Diameter代理 根据Diameter路由表的内容决定消息发送的下一跳Diameter节点。此外,Diameter代理能够修改消息中的相应内容。
● Diameter重定向器 不对消息进行应用层的处理,它统一处理Diameter消息的路由配置。当一个Diameter节点按照配置将一个不知道如何路由的请求消息发给Diameter重定向器时,重定向器将根据其详尽的路由配置信息,把路由指示信息加入到请求消息的响应里,从而明确地通知该Diameter节点的下一跳Diameter节点。
● Diameter协议转换器 主要用于实现RADIUS与Diameter,或者TACACS+与Diameter之间的协议转换。
上述各种Diameter节点,通过配置建立一对一的网络连接,组成一个Diameter网络。
Diameter协议包含IP传送、安全协议、Diameter基础协议以及不同的应用协议。Diameter基础协议为各种应用协议提供一个基本框架,它定义了协议的传输机制、消息格式、消息处理、差错处理、计费与安全服务等。应用协议依赖基础协议提供针对某一应用的AAA服务,它是不断发展变化的。IETF已经确定了一些应用协议的标准,而其它的应用协议的标准尚在制定的过程中。已被确定为协议标准的应用有:移动IP应用协议(MIPv4)、网络访问服务应用协议(NAS或NASREQ)、信用控制应用协议(Credit-Control)、扩展认证应用协议(EAP)等。尚在讨论和制定的标准有:SIP应用协议等。
如前所述,Diameter协议通过TCP或SCTP提供可靠的传输,通过Ipsec和TLS来保证传输的安全性。Diameter在基础协议的基础上提供各种应用服务。
以前的AAA协议如RADIUS、TACACS主要是针对PPP服务和终端服务而设计的。随着网络技术的发展,新的接入方式如无线接入、DSL接入、移动IP陆续出现,以太网也不断发展,AAA中的网络访问服务器(NAS)自身也逐渐变得越来越复杂。这些发展变化,对AAA协议提出了新的要求。原有的AAA协议已经不能充分满足这些要求,而新一代AAA协议-Diameter协议却可以满足这些需求,主要包括如下几个方面:
(1) 良好的故障切换机制。Diameter协议支持应用层的信息确认和失效检测机制。
(2) 传输层安全。Diameter协议通过IPsec和TLS保证传输的安全性,其中TLS对于客户端来讲是可选的。
(3) 可靠的传输。Diameter协议通过TCP或SCTP提供可靠的传输。
(4) 支持各种类型的代理,包括中继代理、重定向代理、Proxy代理、协议转换代理。
(5) 支持服务器发起消息。例如服务器可以发消息要求客户端重新认证。
(6) 保持与现有网络AAA协议(如RADIUS)的兼容性。
(7) 支持节点间的能力协商机制。
(8) 支持对等端自主发现和配置机制。
(9) 支持漫游。Diameter协议定义了域间漫游、消息路由及安全传输,能够提供安全漫游服务。
Diameter消息的头部包括20个字节,结构如图2所示。头4个字节是8比特的版本信息和24比特的消息长度(包括消息头长度)。随后的4个字节是8比特的消息标志位和24比特的命令代码。
命令代码用来表示这个消息所对应的命令,请求消息和相应的回答消息共享一个命令代码。
应用标识、逐跳标识和端到端标识都有4个字节,其中应用标识用以指示消息适用的应用,逐跳标识用于判断请求与应答的对应关系,而端到端标识主要用于重复消息的检查。
消息头部后的全部字节就是消息的具体内容,以属性值对AVP(Attribute-Value-Pair)的形式逐个头尾衔接。AVP的格式也是由头部和数据组成,如图3所示,结构为:头4个字节是AVP代码,下四个字节由8比特的AVP标志和24比特的AVP长度(包括AVP头部长度)构成,AVP标志用于通知接收端如何处理这个属性。
头部后的字节就是数据内容。AVP内的数据类型,目前包括字符串、32比特整数、64比特整数、32比特浮点数、64比特浮点数,以及AVP组等。
更多精彩内容,请登录维库电子通(wiki.dzsc.com)
现在的互联网协议IPv4支持的地址空间十分有限,而全球移动用户却不断高速增长,达到如此庞大的规模,这就给目前使用的IP协议——IPv4在未来移动通信全IP网络中的应用——带来如此沉重的压力。为了解决地址严重不足的问题,人们提出了新版本的IP协议——IPv6。IPv6能够支持的3.4X10E38个惟一的128位地址,令IPv4望尘莫及。由于全球数十亿个设备和用户都需要各自惟一的IP地址,因此这种巨大的编址容量将是实现“始终在线”通信的关键因素。尽管人们主要关注的是IPv6的寻址能力,但它还拥有其它许多重要优点,如改进和简化的路由。IPv6还引进了新的安全等级并改善了对移动业务——包括基于WCDMA技术的网络的支持,这将随着中国等人口众多的国家采用3G而日益重要。因此未来移动通信网络中的AAA协议一定是基于移动IPv6的支持分布式处理的协议。不过,业界需要考虑和解决的问题仍然有许多。IPv4可能是一种成熟而逐渐过时的协议,但它仍然可以做出重要贡献,并可能在未来一段时间内与IPv6共存和互通。Diameter作为瞄准未来网络同时又兼容当前网络的AAA协议,提供了对这两种版本MIP的支持(当然目前主要是对MIPv4的支持)。
相信随着未来移动通信系统中全IP网络的部署实施,支持移动IP(包括v4和v6)的Diameter协议必将会广泛地使用到需要对移动终端进行认证、授权和计费的场合之中。