如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
DIAMETER基础协议——AAA的新框架Diameter协议族包括基础协议(DiameterBaseProtocol)和各种应用协议。本文介绍的基础协议提供了作为一个AAA协议的最低需求,是Diameter网络节点都必须实现的功能,包括节点间能力的协商、Diameter消息的接收及转发、计费信息的实时传输等。应用协议则充分利用基础协议提供的消息传送机制,规范相关节点的功能以及其特有的消息内容,来实现具体应用的AAA功能。基础协议可以作为一个计费协议单独使用,但一般情况下需与某个应用一起使用。图1Diameter的协议层次图。Diameter网络节点在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网络节点间的对等连接Diameter节点间的网络连接是在Diameter节点启动过程中动态建立的基于TCP或者SCTP传输协议上的套接字连接。对于一个Diameter节点,其对端节点,或者基于静态配置,或者基于动态(利用SLP、DNS协议)发现。当Diameter协议栈启动时,Diameter节点会尝试与每一个它所得知的对端节点建立套接字连接。在成功建立一个套接字连接,即对等连接后,两个Diameter节点将进行能力协商,交换协议版本、所支持的应用协议、安全模式等信息。能力协商是通过两个Diameter消息,(CER/CEA,Capabilities-Exchange-Request/Answer)的交互实现的。能力协商之后,应该把有关对端所支持的应用等信息保存在高速缓存中,这样就可以防止把对端不认识的消息和AVP发送给对端。对等连接可以被正常中止,这需要一个Diameter节点主动发起对等连接中止请求(DPR,Disconnect-Peer-Request)消息,对端收到此消息,并回答对等连接中止应答(DPA,Disconnect-Peer-Answer)消息后,先行中止底层连接。对于除此之外的对等连接的中止情况(如网络故障、一端系统故障等),在发现这类连接异常中止的一端时,要按照定时器设置,不断地尝试恢复建立对等连接。正常的对等连接上可以传输各类Diameter消息,在连接空闲无消息传送超过一定时间时,对等连接两端将发送连接正常检测消息(DWR/DWA,Device-Watchdog-Request/Answer)。而一旦DWR/DWA消息收发异常,Diameter节点将认定对等连接故障,或者尝试恢复建立连接,或者将消息通路转换到备用的对等连接上。Diameter的消息格式Diameter消息的头部包括20个字节,共5个部分(每部分4字节):1.版本信息(8比特)和消息长度(24比特);消息长度包括消息头长度。2.消息标志位(8比特)和命令代码(24比特);命令代码表示这个消息所对应的命令,请求消息和相应的回答消息共享一个命令代码。3.应用标识(4字节),用以指示消息适用的应用4.逐跳标识(4字节),用于判断请求与应答的对应关系5.端到端标识(4字节),主要用于重复消息的检查。消息头部后的全部字节就是消息的具体内容,以属性值对AVP(Attribute-Value-Pair)的形式逐个头尾衔接。AVP的格式也是由头部和数