Diameter(计算机通信术语)

辻渃 5 0

Diameter协议被IETF的AAA工作组作为下一代的AAA协议标准。Diameter(为直径,意为着Diameter协议是RADIUS协议的升级版本)协议包括基本协议,NAS(网络接入服务)协议,EAP(可扩展鉴别)协议,MIP(移动IP)协议,CMS(密码消息语法)协议等。1

Diameter协议支持移动IP、NAS请求和移动代理的认证、授权和计费工作,协议的实现和RADIUS类似,也是采用AVP,属性值对(采用Attribute-Length-Value三元组形式)来实现,但是其中详细规定了错误处理,failover机制,采用TCP协议,支持分布式计费,克服了RADIUS的许多缺点,是最适合未来移动通信系统的AAA协议。

Diameter

协议簇

AAA协议标准

IETF的AAA工作组

基本内容

Diameter协议不是一个单一的协议,而是一个协议簇,它包括基本协议(Diameter Base Protocol)和各种由基本协议扩展而来的应用协议,如NASREQ、Mobile、CMS Security等。Diameter基本协议为各种认证、授权和计费业务提供了安全、可靠、易于扩展的框架。其主要涉及性能协商、消息如何被发送、对等双方最终如何结束通信等方面,基本协议一般不单独使用,往往被扩展成新的应用来使用,所有应用和服务的基本功能都是在基础协议中实现,应用特定功能则是由扩展协议在基础协议的基础上扩展后实现的。

基本协议

Diameter基本协议设定通讯是以对等的模式进行的,而不是客户/服务器模式,其注重能力协商,消息发送以及对等端如何最终被拒绝,同时,基础规则还制订了特定规则来进行Diameter节点之间所有的信息交换,Diameter基础协议旨在提供一个AAA框架,以用于各种应用。其主要的设计思想为:

1,保持基本协议的轻巧和简单,易于实现协议;,

2,所有的由协议传送的数据都以AVP形式出现,并有与RADIUS相似的高效的属性编码,被使用的AVP包含的数据有用户认证信息、服务相关的授权信息、交换资源使用消息和中继、代理和重定向消息等类型,AVP的标识符名字空间要足够大,以便扩展,还支持厂商自定义的AVP和命令;

3,能同时支持大量的请求;

4,Diameter网络节点运行在TCP或者SCTP上,能够提供可靠传输和具有重传机制,由传输层来提供可靠性;

5,能快速的检测出不可到达对等端的能力,并有很好的故障切换机制;

6,Diameter协议要求代理链上的每一个节点响应或确认每一个请求,代理链上的每一个节点有责任对没有响应的消息进行重传。所有的消息都要有应答,而不能无声丢弃;

7,Diameter协议是对等模式的协议,允许主动地消息发送到接入服务器。对等模式有很多好处,如可以按需返回计帐信息、由服务器发起会话终止信息等。

8,采用IPSec或TLS或二者为Diameter的对等双方提供数据完整和保密等安全性,有AVP级的完整性和保密性;

9,每一个认证/授权流有一个与之对应的会话,会话通过一个会话标识符来标识,这在一个给定时间内是全局唯一的,所有后续的Diameter事务(如计费)必须包含这个会话标识,以用来引用这个会话;

10,支持重定向服务。

应用协议

Diameter基本协议一般不会单独使用,需要应用扩展它来提供具体的服务,应用协议扩展了基本协议,以完成特定的接入和应用业务,它充分利用基础协议提供的消息传送机制,并以此为基础定义应用协议的应用标识、参与通信的网络功能实体、相互通信的功能实体间的消息内容以及协议过程等,目前已完成的应用主要有:Diameter NASREQ应用、Diameter Mobile Ipv4等应用。

基本概念

Diameter Node

网络中的Diameter节点,分为Client、Agent、Server三种。

Diameter Client

Diameter客户端是处于网络边缘的节点,一般是发起请求的节点。离线计费中IMS网元一般是Diameter Client角色。

Diameter Server

Diameter服务器是处理请求的节点。离线计费中CDF一般是Diameter Server角色。

Diameter Agent

一种提供中继(Relay)、代理(Proxy)、重定向(Redirect)、翻译(Translation)服务的Diameter节点。

Relay Agent

根据消息中的路由信息转发消息,只能修改消息的路由信息,不关心消息其他内容。

Proxy Agent

根据消息中的内容执行不同的策略,可以转发或拒绝消息,可以修改消息内容。

Redirect Agent

不负责消息的转发,负责向客户端提供服务器地址,使客户端能够直接与服务器通信。

Translation Agent

负责在Diameter协议与其他AAA协议之间转换消息,例如RADIUS。

Diameter Peer

直接相连的两个节点互为“Peer”。

声明:本文部分文字与图片资源来自于网络,转载此文是出于传递更多信息之目的,若有来源标注错误或侵犯了您的合法权益,请立即【留言反馈】通知我们,情况属实,我们会第一时间予以删除,并同时向您表示歉意

发表评论 取消回复
表情 图片 链接 代码

分享