專為易燃易爆環(huán)境設(shè)計的擴(kuò)音電話
基于SIP協(xié)議的網(wǎng)絡(luò)電話機(jī)
實現(xiàn)不同通信網(wǎng)絡(luò)間基于SIP協(xié)議的信息轉(zhuǎn)換與交互
為應(yīng)急通信系統(tǒng)提供應(yīng)急廣播設(shè)備
專用的應(yīng)急指揮通中心通信調(diào)度設(shè)備
提供尋呼、廣播、對講、電話、報警等功能...
提供語音、視頻通信相互轉(zhuǎn)換功能...
集成了擴(kuò)音、對講、調(diào)度、消防聯(lián)動和報警等多種功能。...
用于實時調(diào)度和指揮工作,快速響應(yīng)和協(xié)調(diào)溝通...
語音、視頻、消息、會議、協(xié)作等多種通信方式融為一體...
整合了語音、視頻、文本等多種溝通方式,...
確保礦工生命安全和煤礦生產(chǎn)安全的重要組成部分...
集緊急電話對講、廣播和管理調(diào)度的綜合管理系統(tǒng)......
集數(shù)字化、集成化、智能化技術(shù)實現(xiàn)音視頻通信...
博客
19.1介绍
Diameter是由IETF开发的认证、授权和计费(AAA)协议,用来给众多的接入技术提供AAA服务。Diameter并不是从零开始构建协议,而是大致上基于远程拨入用户认证服务(RADIUS)。[RFC2865]来构建的。RADIUS之前已被用于提供AAA服务,至少已被用于拨号和终端服务器接入环境。作为Diameter工作的第基础,AAA工作组首先从不同兴趣组收集了AAA服务应用于网络接入时的要求:
• 无线/移动主机IP路由工作组(MOBILEIP)[RFC2977]
• 网络接入服务器要求工作组(NASREQ)[RFC3169]。
• 漫游操作工作组(ROAMOPS)[RFC2477]。
• 电信工业协会(TIA)
最终的Diameter协议实际上分成两部分:Diameter基本协议和Diameter应用。基本协议被用于传递Diameter数据单元、协商能力集、处理错误并提供可扩展性。Diameter应用部分定义了特定应用的功能和数据单元。每个Diameter应用都单独定义。目前,除了基本协议[RFC3588],还定义了几个Diameter应用,另外还有一些应用正在定义过程之中,如移动IP[Draft-ietf-aaa-diameter-mobileip]、NASREQ[Draft-ietf-aaa-diameter-nasreq]。可扩展认证协议(EAP)[Draft-ietf-aaa-eap]、Diameter信用控制[Draft-ietAaaa-diameter-cc]和DiameterSIP应用[Drafit-ietf-aaa-diameter-sip-app]。另外,AAA传输配置[RFC3539]包含了对AAA协议所使用的传输协议的一些讨论和建议。第三代合作伙伴项目(3GPP)Release5也分配了特定Diameter命令的编码集合[RFC3589]。
Diameter基本协议可以使用传输控制协议(TCP)[RFC0793]或流控制传输协议(SCTP)[RFC2960]作为传输协议。然而,SCTP是更好的选择,主要是因为Diameter两端之间存在面向连接的关系。SCTP能够将几个独立的流归类于单个SCTP联合,这比为每个流都打开独立的TCP连接要好。IP安全(IPsec)[RFC2401]和传输层安全(TLS)[RFC2246]都可用来保证连接的安全。
⊕该名字衍生自几何学,因为直径(Diameter)=2x半径(Radius)。
19.2 协议的构成
由于任何Diameter节点都能发起请求,因此Diameter是一种对等的协议。Diameter有3种不同类型的网络节点,即客户端、服务器和代理。客户端通常是负责进行接入控制的网络边缘设备。Diameter代理提供中继、代理、重定向和协议转换服务。每个Diameter服务器可为特定的网络域(较小的domain或更大更高层次的realm)处理其AAA请求。Diameter消息根据特定用户的网络接入标识符(NAD[RFC2486]来进行路由。
19.3 消息处理
每个Diameter节点维护一个Diameter对等端表(peertable),该表包含已知对等端(peer)的列表以及它们的相应特性。每个对等端表项与一个标识相关联,该标识可以静态分配也可以动态分配。动态分配的对等端表项会有一个与之相关联的超时时间。表项在其超时时间到达之前会被刷新或丢弃。每个对等端表项还包含一个相对优先级设置,将对等端的角色定义为主要、次要或可选。对等端所处的状态取决于对等连接的有限状态机(FSM)的特定设置,称为Diameter对等端状态机。每个对等端表项还指明对等端是否支持TLS0,以及可选地包括其他安全信息(如加密密钥和证书)。
Diameter对等端表项被Diameter域(realm)-路由表作为消息路由过程的一部分进行引用。所有基于域的路由查找都是根据域-路由表来进行的。域-路由表列出了它所支持的域(每个路由表项包含一定的路由信息)。各路由表项可以静态分配,也可以动态发现。动态表项总是与一个超时时间相关联。路由表项还与应用标识符相关联,根据Diameter应用的不同,路由表项可以有不同的目的地。路由表项的目的地对应于Diameter对等端表中的一个或多个对等端表项。由于消息处理可以根据不同消息而采用不同的过程,路由表项的本地动作字段可以是四个处理指示中的一个(见表19-1)。
每个处理指示都对应着一个称为Diameter代理的功能实体,如19.5节所讨论的那样。所有Diameter节点维护一个事务状态(即它们针对请求和应答对进行跟踪)。一个Diameter会话总是与一个特定的服务相绑定,这由相应的Diameter应用来定义。一个状态感知的代理会维护会话状态(即它会存储与它所有已授权的激活会话有关的信息)。激活的会话或者被明确拆除,或者由于过期而被去激活。
㊀在Diameter中,所有节点都必须支持IPsec,而对于客户端来说TLS则是可选的。
表19-1Diameter本地动作表项
①“下游”是一个用于识别消息方向的术语(例如去往请求的发起者)。
本地状态也可加入到Diameter请求中。这一特性使得其他对状态无感知的代理可以将其本地状态加入作为请求的一部分,这样该状态就能在对应的应答消息中反射回来。总的说来,对于一些Diameter代理[如协议转换代理和代理人代理(proxyagent)]来说,维护会话状态是很有必要的。
19.4 Diameter客户端和服务器
Diameter客户端负责发起AAA请求。Diameter服务器☉根据所使用的Diameter应用,为一个域内的客户端的请求提供服务。Diameter代理则为客户端和服务器提供增值业务。
一般来说,Diameter客户端是一个为某种接入技术提供AAA服务的网络接入服务器(NAS)。在NAS为附着到网络的终端分配网络资源之前,需要对其进行认证。例如,对于无线局域网(WLAN),在允许接入之前,接入点可能需要确认用户的身份㊁。
19.5 Diameter代理
网络中的Diameter代理可被用来进行负载均衡、分配系统管理和维护、汇聚请求以及进行附加的消息处理等。Diameter中继代理是协议透明的(即它们支持Diameter的基本协议),但对Diameter应用一无所知。它们仅仅接受请求并将消息进行路由转发,基于支持的域和已知的对等端。中继代理通常用来减少Diameter客户端和服务器上的配置负担。例如,将某个地理区域的所有NAS聚成一组,置于一个公共中继代理后面,这样就不用对每个NAS都配置与其他域通信时所必需的信息。同样,一个Diameter服务器可能使用一个中继代理用来处理由于网络中NAS的加入和退出而带来的配置负担。
Diameter重定向代理负责进行域到服务器的解析。它们使用Diameter域-路由表来确定某个请求消息的下一跳Diameter对等端。重定向代理本身不对请求进行路由,而是返回一条包含下一跳对等端身份的特殊应答消息,然后请求的发起者直接与下一跳对等端联系。由于重定向代理以对状态无感知的方式工作,因此它们可以提供可扩展性和集中的消息路由。然而,集中的消息路由总是在配置的简化和故障的自愈能力之间寻求折衷。
Diameter代理人代理(proxyagent)对请求和响应进行增值的消息处理。它们与中继代理的相似之处在于,对消息的路由转发是基于Diameter路由表的;而不同之处在于它们还通过对策略的实施来对消息进行修改(如资源利用的实施、接入控制或供应)。由于策略实施总要求对提供的服务有所了解,因此代理人代理需要不仅要支持Diameter基本协议,还要支持特定的Diameter应用。
Diameter协议转换代理在Diameter与其他AAA协议之间提供协议转换服务,袈协议转换代理用来让老式系统可以与Diameter体系进行通信。有时,将一个难以分升级的已安装设备(例如嵌入式设备)升级过来会花费相当长的时间。
上述情况下最常见的老式系统也许就是RADIUS了,Diamter通过NASREQ应用来对它提供扩展支持。
19.6 消息结构
Diameter消息包括Diameter消息头以及紧跟其后的一定数量的Diameter属性值对(AVPs)。Diameter消息头由二进制数据构成,与因特网协议(IP)头[RFC0791]或TCP头[RFC0793]类似。Diameter消息头的格式如图19-1所示。
命令标志位用来指定Diameter消息的类型。请求消息的“R”比特(或称请求比特)置为1,而应答消息中它被清0。“P”比特(或称代理允许比特)指示该消息可以被代理还是必须在本地处理。"E”比特(或称错误比特)表示应答消息是一个报错消息。“T”比特表示该消息可能是一个重传消息,由故障倒换状态Diameter代理设置,以帮助检测重复消息。“r”比特是未用的标志,保留给将来使用。连同命令代码一起,命令标志定义了与特定的Diameter消息相关联的语义。
命令代码(Command-Code)字段指示Diameter消息中包含的命令。命令代码字段长度为24bit,0-255之间的数值为与RADIUS后向兼容而保留,16777214和16777215为实验用途保留。命令代码的名字空间由互联网号码分配机构(IANA)来维护,包含Diameter基本协议用到的编码和Diameter应用所使用的特定编码。
图19—1 Diameter消息头
应用标识符(Application-ID)字段用来标识消息所发往的应用。应用标识符指示标准应用或厂商特定的应用,其命名空间也由IANA维护。
逐跳标识符(Hop-by-Hop)用来帮助对请求和响应进行匹配。在任意给定时间,同一条连接内的逐跳标识符是惟一的。端到端标识符(End-to-End)被用来端到端地检测重复消息。
AVPs包含认证、授权和计费单元,以及与特定Diameter请求或应答消息相关的路由、安全和配置信息单元。每个AVP包含一个AVP头和一些AVP特有的数据。AVP头如图19-2所示。
AVP代码(AVP-Code)字段连同厂商ID(Vendor-ID)字段一起来惟一标识属性。前256个AVP数字代码保留,以保证与RADIUS后向兼容,而256以上的数字属于Diameter属性值。AVP代码字段的值由IANA维护。
AVP标志携带有关接收端应该如何处理属性的信息。“V”比特(或厂商特定比特)表示AVP码属于厂商专用的地址空间,将由其他情况下可选的厂商ID字段来表示。“M"比特(或强制比特)表示对特定AVP必须支持。当消息中的AVP带有“M”比特但不能被识别时,接受者将拒绝该消息;没有“M”比特的AVP仅仅是信息性的(即如果接收者不能理解,可以将它们忽略)。当“P”比特(或保护比特)被设置时,表示需要进行端到端的安全加密。“r”比特是未使用标志,保留给将来使用。
图19.2 Diameter AVP 头
第19.7 错误处理
Diameter错误分为两类,即协议错误和应用错误。协议错误在基本协议的层次发生,在每跳的基础上处理(如消息路由中的错误可能引起下游代理采取特定协动作);应用错误是由于特定Diameter应用的问题产生的。
当请求消息产生了协议错误时,则返回一条Diameter头中设置了“E”比特的响应消息,这表明发生了协议错误。于是在响应消息的结果代码(Result-Code)AVP里将放入适当的协议错误值。另一方面,当Diameter实体产生了一个应用错误时,则会返回一条包含有适当结果代码AVP的响应消息。由于应用错误不要求任何Diameter代理的介入,因此该消息直接转发回请求的发起者。
表19-2描述了在结果代码AVP的数据字段中用到的各种类,其32bit长的错误命名空间由IANA维护。结果代码AVP还可以伴随其他能够为错误消息提供额外信息的元素(如对于所有协议错误,都必须有一个错误消息(Error-Message)AVP,其中包含人们可读的错误消息)。
表19-2 Diameter结果代码
19.8 Diameter服务
基本上,Diameter基本协议为Diameter应用提供两种服务,认证和/或授权,以及计费。应用可以只利用认证或授权之一,也可以将授权与认证一起请求从而将二者合并。不论起初是否请求了认证或授权,都可以请求计费服务。
每个Diameter应用都会定义自己的认证和授权命令代码和AVP。由基本协议描述的计费应用在不同应用间共享,只有计费AVP是应用特定的。
19.8.1 认证与授权
认证和授权服务在Diameter内部是互相联系的。客户端通过发出一个auth请求来调用一个服务,根据auth请求中的携带的AVP,对其进行的操作可能是认证或授权(或二者都有)。
认证或者成功或者失败,而Diameter基本协议提供的授权服务则分为有状态模式和无状态模式。在有状态授权中,服务器维护一个会话状态,并且授权会话第的长度是有限的。一个会话的总生存期限由一个授权生存期限和一个宽限期(graceperiod)组成,二者一起代表服务器愿意承担的最大会话长度㊀。当然授权会话也可以由客户端终止或由服务器取消,或者在授权生存期限结束时重新授权。这些分功能由Diameter基本协议提供。
两种授权工作模式对应于有状态授权FSM和无状态授权FSM,所有支持认证和授权服务的Diameter节点必须遵守这些FSM。
19.8.2计费
Diameter基本协议为Diameter应用提供计费服务。当计国会话没有激活时,在Diameter客户端或Diameter服务器里都不会给它预留资源©。一个成功的计费请求(ACR)将激活一个计费会话,其中交换的计费记录根据计费服务类型可分成两类:
• 可测长度服务具有清晰定义的开始和结束。当服务开始时产生一条计费记录,在服务结束时发送另一条。中间的计费记录可选地在可测长度会话期间按一定时间间隔生成。
• 一次性事件是没有可测服务长度的服务。在一次性事件中,记录服务开始和服务结束的计费记录实际上是重合的,因此,一次性事件仅产生单个计费记录。
会话的计费策略由计费服务器或对用户会话授权的服务器来指定,这称为"计费的服务器指挥模型"。计费服务器指挥客户端选择使用可测长度服务计费还是一次性事件计费,它还可选地规定产生中间计费记录所使用的时间间隔。
Diameter计费协议自身具有容错能力,以克服小范围的消息丢失和临时网络故障,以及实现实时计费信息的传递。计费记录与Session-IdAVP®相关联。Session-IdAVP是一个全球惟一的标识符,出现在所有的AAA消息中。此外,如果一个服务由几个不同的会话组成,而每个会话都有一个单独的Session-Id AVP,则使用一个Accounting-Multi-Session-Id AVP来实现多个计费记录之间的关联。
19.9 3 GPP中的特殊Diameter应用
本节列出了3GPPIMS中所采用的两种Diameter应用。第一种是Diameter SIP应用[Draft-ietf-aaa-diameter-sip-app],用于Cx、Dx>Sh和Dh接口(见2.3节描述);第二种是Diameter信用控制应用[Draft-ietf-aaa-diameter-cc],用于Ro接口以提供在线计费功能(见3.12.5.2节)。
19.10 DiameterSIP应用
DiameterSIP应用[Draft-ietf-aaa-diameter-sip-app]定义了二个被SIP服务器用来实现用户认证以及对不同SIP资源进行授权的应用。Diameter SIP应用在功能上与3GPP IMS CX接口相近,但其设计更为通用,使得其他SIP应用情形也能适用。表19-3给出了Cx接口参数和Diameter SIP应用AVPs之间的映射。
表19-3Cx参数与DiameterSIP应用之间的映射
⊙注意,那些没有SIP前缀的AVP名是Diameter基本协议的AVP。
①注意这些AVP名称去掉SIP前缀就是Diameter基础协议的AVP。
作为Diameter SIP应用的基础的通用体系如图19-3所示。代理A和代理B扮演不同的角色:代理A被配置为一个域的边缘代理,代理B配置为一个域的归属地代理。代理A非常类似于IMS中的问询呼叫会话控制功能(I-CSCF)的功能,而代理B类似于IMS中的服务-CSCF(S-CSCF)的功能。为了实现冗余和容错,可能还有另外的实现Diameter中继代理或Diameter重定向代理功能的Diameter用户定位器(SL)节点。
Diameter SIP应用定义了一套命令代码(见表19-4),作为Diameter基本协议的扩展。这些命令码执行以下功能:
• UAR/UAA—确定用户是否被授权接受某种服务,如果是,则指出能提供该服务的本地服务器。
• SAR/SAA——给特定用户分配指定的SIP服务器,并以同步方式将用户配置传递给该服务器。
图19-3 Diameter SIP应用体系
表19-4 Diameter SIP应用的命令代码
• LIR/LIA——确定在边缘代理处的下一跳SIP实体。
• MAR/MAA——为某种SIP服务(如SIP注册)进行用户认证和授权。认证可以在Diameter服务器进行或者委托给SIP服务器来作。
• RTR/RTA——由Diameter服务器发起的注册解除。
• PPR/PPA―将用户配置从Diameter服务器异步传递到SIP服务器。
19.11 Diameter信用控制应用
Diameter信用控制应用[Draft-ietf-aaa-diameter-cc]用于各种不同业务的实时信用和成本控制。与后付费的非实时计费相反,这是一种在移动电话市场取得巨大成功的预付费运营模式,也就是说,用户不是每月按账单付费,而是事先购买信用,然后随着业务的使用实时扣费。信用控制应用为信用控制请求定义了一对新的Diameter命令代码(见表19-5)。该应用主要有两部分:
• 成本和信用控制——服务需要进行实时批价(rated),这就意味着给定服务的成本需要实时评估。用户账户也需要根据服务成本的累积而实时地进行扣费或贷取信用。
• 信用授权——可能还需要监视用户账户,看其余额是否足以支付服务。信用需要预留,且未使用的预留需要返还。如果用户余额不足以支付服务费用,服务单元要能够拒绝继续提供该服务。
表19-5Diameter信用控制应用的命令代码
与Diameter基本协议的计费类似,信用控制会话也有两种不同的模型:带有信用预留的信用授权和带有直接借贷的信用授权。带有预留的授权过程类似于对可测长度服务进行计费的过程。首先,进行初始询问,其间信用控制服务器对服务请求进行定价,并从用户账户中预留足够数量的信用。随后,可以可选地继续进行任意数量的中间询问,让服务器可以从用户账户中扣除已使用的信用,其间可能还包含服务器再次进行服务定价和信用预留以实现服务的继续进行。最终的询问向信用控制服务器汇报该服务已终止,用户账户将按照使用的服务数量进行扣减。
第二种模型类似于对一次性事件进行计费。收到信用授权请求时,服务器就从用户账户中扣除适当数额的信用。该模型也可视作一个信用控制会话,只是会话的开始和结束恰好重合而已。无状态模式还支持例如服务价格查询、用户账户余额核对和信用退还等操作。
19.12小结
Diameter协议用于为一定范围内的接入技术提供AAA服务。Diameter大致上基于现有的称为RADIUS的AAA协议,RADIUS协议已广泛用于拨号和终端服务器接入。Diameter协议使用二进制头格式,能够传送各种称为AVP的数据单元。Diameter基本协议规定了传递机制、能力协商、错误处理和协议的扩展性,其中特定Diameter应用规定了特定服务所特有的功能和AVP。除了基本协议(包含计费)以外,3GPPIMS目前还用到了其他两个Diameter应用,即DiameterSIP应用和Diameter信用控制应用。
下一篇
通信知識
本章概述媒體網(wǎng)關(guān)控制(MEGACO)協(xié)議版本1[RFC3525],也稱為H.248[ITU.H248.1]。正如在2.3.15節(jié)和2.3.18節(jié)中所介紹的,該協(xié)議用于第三代合作伙伴項目(3GPP)IP多媒體子系統(tǒng)(IMS)的Mn和Mp參考點。20.1 介紹MEGACO用于媒體網(wǎng)關(guān)和媒體網(wǎng)關(guān)控制器之間,處理多媒體會議期間的信令和會話管理。媒體網(wǎng)關(guān)控制器和媒體網(wǎng)關(guān)構(gòu)成一個主/從關(guān)系。20.2 連接模型 ...
查看更多
分享
一、聯(lián)網(wǎng)報警平臺比較1、市場主要品牌在當(dāng)今快速發(fā)展的安防行業(yè)中,聯(lián)網(wǎng)報警平臺作為......
2025-03-28
一、系統(tǒng)概述1、功能構(gòu)成報警對講系統(tǒng)作為現(xiàn)代安防領(lǐng)域的重要組成部分,具備豐富多樣......
2025-03-25
一、指揮調(diào)度機(jī)的定義和功能1、定義指揮調(diào)度機(jī)是指揮調(diào)度系統(tǒng)中的核心設(shè)備,主要用于......
2025-03-19