diameter协议最初是作为
radius协议的改进或者替代,它是ietf开发的新一代aaa协议(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个字节。头4个字节是8比特的版本信息和24比特的消息长度(包括消息头长度)。随后的4个字节是8比特的消息标志位和24比特的命令代码。 命令代码用来表示这个消息所对应的命令,请求消息和相应的回答消息共享一个命令代码。 应用标识、逐跳标识和端到端标识都有4个字节,其中应用标识用以指示消息适用的应用,逐跳标识用于判断请求与应答的对应关系,而端到端标识主要用于重复消息的检查。 消息头部后的全部字节就是消息的具体内容,以属性值对avp(attribute-value-pair)的形式逐个头尾衔接。avp的格式也是由头部和数据组成,结构为:头4个字节是avp代码,下四个字节由8比特的avp标志和24比特的avp长度(包括avp头部长度)构成,avp标志用于通知接收端如何处理这个属性。 头部后的字节就是数据内容。avp内的数据类型,包括字符串、32比特整数、64比特整数、32比特浮点数、64比特浮点数,以及avp组等。
协议展望
互联网协议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协议必将会广泛地使用到需要对移动终端进行认证、授权和计费的场合之中。