HUAWEITECHNOLOGIESCO.,LTD.基本概念和应用ISSUE1.0HUAWEITECHNOLOGIESCO.,LTD.HUAWEIConfidentialPage2协议是业务的载体,业务是协议的实体HUAWEITECHNOLOGIESCO.,LTD.HUAWEIConfidentialPage3参考资料RFC3588IMS测试工具组HUAWEITECHNOLOGIESCO.,LTD.HUAWEIConfidentialPage4学习完此课程,您将会:对Diameter协议有基本的了解知道Diameter协议在IMS的基本应用HUAWEITECHNOLOGIESCO.,LTD.HUAWEIConfidentialPage5第1章基本概述第2章3GPP应用——Cx、Sh第3章3GPP应用——Charging第4章标准进展HUAWEITECHNOLOGIESCO.,LTD.HUAWEIConfidentialPage6Diameter起源Diameter协议的最初提出是作为Radius协议的改进或者替代,它的引入是作为支持基于IP技术的AAA协议认证(Authentication)用户在使用网络系统中的资源时对用户身份的确认。授权(Authorization)网络系统授权用户以特定的方式使用其资源。计费(Accounting)网络系统收集、记录用户对网络资源的使用,以便向用户收取资源使用费用,或者用于审计等目的认证、授权和计费一起实现了网络系统对特定用户的网络资源使用情况的准确记录。这样既在一定程度上有效地保障了合法用户的权益,又能有效地保障网络系统安全可靠地运行。Diameter协议在IMS之中主要用于Rf接口(离线计费接口),Ro接口(实时计费接口),Cx(I-CSCF\S-CSCF与HSS的接口)等HUAWEITECHNOLOGIESCO.,LTD.HUAWEIConfidentialPage7Diameter协议栈IP/IPSecTCPSCTPTLS(传输层安全)Diameter基本协议Diameter协议应用HUAWEITECHNOLOGIESCO.,LTD.HUAWEIConfidentialPage8Diameter角色在Diameter协议之中,每一个(支持Diameter协议的)网络功能节点都称为Peer。任何一个Peer至少充当如下角色之一:DiameterClientDiameterServerDiameterRelayAgentDiameterProxyAgentDiameterRedirectorAgentDiameterTranslationAgent至少充当上述角色之一的含义是:一个Peer可能同时充当上述多种角色。HUAWEITECHNOLOGIESCO.,LTD.HUAWEIConfidentialPage9角色——Client/Server发起请求消息方被称为DiameterClient接收并处理请求方被称为DiameterServerDiameter协议中,哪个节点作为Client,哪个节点作为Server仅仅是一个逻辑概念,在Diameter协议层没有实际的物理实现上的差别Diameter协议是对等协议(Peer-To-Peerprotocol)HUAWEITECHNOLOGIESCO.,LTD.HUAWEIConfidentialPage10角色——Client/ServerCSCFASMGCFCCFACRACAClientServerS-CSCFHSSRTR/PPRRTA/PPAClientServerscene1scene2HUAWEITECHNOLOGIESCO.,LTD.HUAWEIConfidentialPage11角色——RelayAgentDiameter协议层的角色基于路由规则转发消息包不会更改消息体减轻了client和server的配置压力HUAWEITECHNOLOGIESCO.,LTD.HUAWEIConfidentialPage12角色——RedirectAgentDiameter协议层的角色:当DiameterRelayAgent无法寻找到恰当的路由时,可以将消息通过缺省路由发给RedirectAgent,由后者指定一个特定路由响应给DiameterRelayAgent,后者重定向该消息存在的价值之一是集中配置域内所有的路由信息本身并不转发任何消息HUAWEITECHNOLOGIESCO.,LTD.HUAWEIConfidentialPage13角色——Proxy/TranslationAgentProxyAgent是Diameter应用层的角色能够基于路由规则转发消息包能够基于特殊的代理功能需求去修改消息包的内容TranslationAgent是Diameter应用层的角色提供了协议转换的功能保证了传统AAA协议和新协议的互通HUAWEITECHNOLOGIESCO.,LTD.HUAWEIConfidentialPage14消息结构——消息头Version:目前全部填写1;MessageLength:填写包含消息头的整个消息的长度;R:请求消息填写为1,响应消息填写为0;P:本消息是否可以被转发,Diameter基本协议命令字CER\DPR\DWR不能被转发;E:如果本消息是响应消息,并且指明了某种错误信息,则置为1;T:本消息是否是重发消息;Command-Code:消息命令字,响应消息和对应的请求消息的命令字是一样的;Diameter协议的基本命令字包括CER\CEA(257),DWR\DWA(280),DPR\DPA(282);Application-ID:消息涉及的应用IDHop-by-Hop,End-to-End:在本胶片消息路由部分详细描述。HUAWEITECHNOLOGIESCO.,LTD.HUAWEIConfidentialPage15消息结构——消息体以AVP为单位,每个AVP携带了一个具体的消息参数值每个AVP包含AVP头和Data部分AVPCode:AVP的类别,例如Original-HostAVP的Code值为264;V:本AVP头之中是否出现Vendor-ID字段;M:本AVP是否属于必需AVP,就一个特定的Diameter命令而言,有一些AVP是必须出现的,例如Original-HostAVP和Original-RealmAVP在任何Diameter消息之中都是必须出现的,Session-IDAVP在Diameter的计费应用命令字之中必须出现;P:本AVP的数据部分是否经过了加密;AVPLength:本AVP包含数据部分的长度,注意任何AVP的数据部分长度都必须为4的整数倍,不够的以’\0’填充;Vendor-ID:可选,标识生成本AVP值的设备的供应商,IANA给华为分配的Vendor-ID值为2011;Data:记录具体的数据值,具体数据的类型是由AVPCode决定的。HUAWEITECHNOLOGIESCO.,LTD.HUAWEIConfidentialPage16常用命令1——CER\CEACapabilities-Exchange-RequestCER::=DiameterHeader:257,REQ{Origin-Host}{Origin-Realm}1*{Host-IP-Address}{Vendor-Id}{Product-Name}[Origin-State-Id]*[Supported-Vendor-Id]*[Auth-Application-Id]*[Inband-Security-Id]*[Acct-Application-Id]*[Vendor-Specific-Application-Id][Firmware-Revision]*[AVP]Capabilities-Exchange-AnswerCEA::=DiameterHeader:257{Result-Code}{Origin-Host}{Origin-Realm}1*{Host-IP-Address}{Vendor-Id}{Product-Name}[Origin-State-Id][Error-Message]*[Failed-AVP]*[Supported-Vendor-Id]*[Auth-Application-Id]*[Inband-Security-Id]*[Acct-Application-Id]*[Vendor-Specific-Application-Id][Firmware-Revision]*[AVP]CER\CEA是Diameter基本协议命令字,应用于连接建立过程中的能力协商。HUAWEITECHNOLOGIESCO.,LTD.HUAWEIConfidentialPage17常用命令2——DWR\DWADevice-Watchdog-RequestDWR::=DiameterHeader:280,REQ{Origin-Host}{Origin-Realm}[Origin-State-Id]Device-Watchdog-AnswerDWA::=DiameterHeader:280{Result-Code}{Origin-Host}{Origin-Realm}[Error-Message]*[Failed-AVP][Original-State-Id]DWR\DWA也是Diameter基本协议命令字,实际上就是握手消息。HUAWEITECHNOLOGIESCO.,LTD.HUAWEIConfidentialPage18常用命令3——DPR\DPADisconnect-Peer-RequestDPR::=DiameterHeader:282,REQ{Origin-Host}{Origin-Realm}{Disconnect-Cause}Disconnect-Peer-AnswerDPA::=DiameterHeader:282{Result-Code}{Origin-Host}{Origin-Realm}[Error-Message]*[Failed-AVP]DPR\DPA是Diameter基本协议命令字,当Peer发生问题需要终止时通知对端中断连接。HUAWEITECHNOLOGIESCO.,LTD.HUAWEIConfidentialPage19端到端连接ClientServerConnectionEstablishCERCEANode1Node2ConnectionReleaseDPRDPANode1Node2DWRDWACapabilitiesExchangeReleaseConnectionStatusWatchingHUAWEITECHNOLOGIESCO.,LTD.HUAWEIConfidentialPage20路由过程——路由请求消息(一)对请求消息的路由过程:(1)任何一个DiameterPeer接收到请求消息后,首先判断是否为CER(能力交换请求)\DWR(握手请求)\DPR(断连请求)消息,然则按照Peer基本状态机进行成立;(2)如果不是,首先判断消息之中是否没有Destination-HostAVP和Destination-RealmAVP处理,如果是,则交给本端上层应用处理;(3)如果存在Destination-HostAVP字段,−如果其值等于本端标识,如果成立,则交给本端上层应用处理;−如果其值等于一个与本端直接相连的Peer标识,则直接转发给该Peer处理;(4)当(3)的条件都不成立,则判断Destination-RealmAVP字段−如果该字段值等于本端可以支持的域范围,并且本端可以