Diameter协议.
Diameter协议

Diameter协议协议名称:Diameter协议一、引言Diameter协议是一种用于网络认证、授权和计费的应用层协议。
该协议是对RADIUS协议的扩展和改进,旨在提供更强大的功能和更高的性能。
本协议规定了Diameter协议的标准格式和相关规范,以确保在网络环境中的各种应用能够进行安全、可靠的通信。
二、协议目的Diameter协议的主要目的是提供一种通用的认证、授权和计费机制,以支持各种网络应用。
该协议旨在解决RADIUS协议在安全性、可扩展性和功能性方面的局限性,并提供更高效的网络通信。
三、协议范围Diameter协议适用于各种网络环境,包括但不限于移动通信网络、互联网服务提供商、企业内部网络等。
该协议可用于实现用户认证、访问控制、计费和账单管理等功能。
四、协议结构1. 消息格式:Diameter协议使用固定长度的消息头和可变长度的消息体来传输信息。
消息头包括版本号、消息类型、消息长度等字段,用于标识和解析消息。
消息体根据具体应用需求而定,可以包含各种类型的属性和值。
2. 消息交互:Diameter协议支持客户端-服务器模型,客户端发送请求消息给服务器,服务器则返回响应消息。
协议还支持重传机制、超时处理和错误处理等机制,以确保消息的可靠传输和处理。
3. 安全性:Diameter协议提供了多种安全机制,包括消息加密、认证和完整性保护等。
协议支持使用TLS/SSL协议进行安全传输,并支持数字签名和密钥协商等功能,以保护通信过程中的数据安全。
五、协议功能Diameter协议具有以下主要功能:1. 认证和授权:协议支持各种认证机制,包括基于密码、数字证书和令牌等。
通过认证,可以验证用户的身份,并授权其访问网络资源。
2. 计费和账单管理:协议支持实时计费和账单管理功能,可以记录用户的网络使用情况,并生成详细的账单信息。
3. 会话管理:协议支持会话的建立、维护和终止,可以跟踪用户的会话状态,并在需要时进行会话切换和重定向。
Diameter协议

Diameter协议协议名称:Diameter协议一、介绍Diameter协议是一种用于网络认证、授权和计费(AAA)的应用层协议。
它是RADIUS(远程身份验证拨号用户服务)协议的继任者,被广泛应用于3G、4G、5G挪移网络和互联网服务提供商(ISP)等领域。
本协议旨在提供一种可靠、安全和可扩展的AAA解决方案。
二、协议结构Diameter协议采用客户端-服务器模型,其中客户端发起请求,服务器对请求进行处理并返回响应。
协议基于TCP或者SCTP(流控制传输协议)进行传输,使用基于XML的语法进行消息编码。
1. 消息格式Diameter协议定义了多种类型的消息,包括请求消息、答复消息和错误消息。
每一个消息由消息头和消息体组成。
消息头包含以下字段:- Version:指定协议的版本号。
- Length:指定整个消息的长度。
- Flags:包含一些标志位,如请求标志位、答复标志位等。
- Command Code:指定消息的类型,如认证请求、授权答复等。
- Application ID:指定应用程序标识符。
- Hop-by-Hop Identifier:用于跟踪消息的惟一标识符。
- End-to-End Identifier:用于跟踪请求和响应的惟一标识符。
消息体包含特定类型消息的参数和属性。
每一个参数由以下字段组成:- AVP Code:指定属性的类型。
- Vendor ID:指定属性所属的供应商。
- Data Type:指定属性的数据类型。
- Length:指定属性值的长度。
- Value:包含属性的值。
2. 安全性Diameter协议提供了多种安全机制,确保消息的机密性、完整性和可靠性。
其中包括:- 消息加密:使用TLS(传输层安全)协议对消息进行加密,防止信息泄露。
- 消息完整性:使用消息摘要算法对消息进行签名,确保消息在传输过程中不被篡改。
- 认证和授权:使用数字证书对通信双方进行身份验证,并授权访问特定资源。
Diameter协议

Diameter协议协议名称:Diameter协议一、引言Diameter协议是一种网络协议,用于在计算机网络中进行认证、授权和计费(AAA)服务。
该协议是对早期的RADIUS协议的改进和扩展,旨在提供更强大、更可靠的AAA服务。
本协议的目标是为各种网络应用提供一种统一的AAA解决方案。
二、协议范围Diameter协议适用于各种网络环境,包括有线网络、移动网络和互联网。
它可以用于支持各种应用,如移动通信、互联网接入、虚拟专用网(VPN)等。
本协议定义了Diameter协议的消息格式、协议行为和相关的扩展机制。
三、协议要素1. 消息格式Diameter协议定义了一组消息格式,用于在网络节点之间进行通信。
每个消息由消息头和消息体组成。
消息头包含了协议版本、消息长度、消息类型等字段,用于标识和解析消息。
消息体包含了具体的协议操作,如认证请求、授权请求等。
2. 协议行为Diameter协议规定了网络节点之间的协议行为。
节点可以扮演客户端角色或服务器角色,根据需要发送和接收不同类型的消息。
协议规定了消息的交互流程,包括请求-应答模式、重传机制等。
协议还定义了各种错误和异常情况的处理方式。
3. 扩展机制Diameter协议提供了一种灵活的扩展机制,允许定义新的消息类型、属性和值。
扩展机制基于协议的基本结构,通过添加新的扩展字段来实现。
协议规定了扩展字段的格式和解析方式,以确保兼容性和互操作性。
四、协议流程Diameter协议的典型流程包括以下几个步骤:1. 建立连接:客户端和服务器之间建立TCP或TLS连接,用于消息的传输。
2. 会话认证:客户端向服务器发送认证请求,服务器进行认证,并返回认证应答。
3. 授权请求:客户端向服务器发送授权请求,请求特定资源的访问权限。
4. 授权应答:服务器根据策略和权限进行授权,并返回授权应答。
5. 计费记录:服务器记录用户的资源使用情况,并生成计费记录。
6. 会话结束:客户端和服务器结束会话,关闭连接。
Diameter基础协议介绍

Peer discovery and configuration Agent support
Dynamic discovery of peers through DNS Proxies, Redirects, Relays
Diameter传输
Diameter基础协议运行在TCP和SCTP(Stream Control Transmission Protocol,流控制传输协议)传输协议的3868端口上 Diameter客户端必须支持TCP或SCTP,Diameter代理和 服务器必须两者都支持。以后版本将强制客户端支持SCTP
BGCF
Mj
IMMGCF MGW Mn
Mb
Mg Mr
S-CSCF
Mw
HSS
Dx
SLF
MRFP
Mp Mb Mb Mb
MRFC
P-CSCF
Gm
UE
Ut
IMS Subsystem
秘密▲
Diameter 基础协议 Diameter基础协议(Diameter Base Protocol)
•Diameter协议的框架结构 •Diameter传输 •Diameter消息加密 •Diameter实体 •Diameter其他相关
连接和会话之间并没有关系,一个会话可以跨越多个连接,
而用于多会话的Diameter消息也可以在一个单独的连接中传送
客户
中继
服务器
对等端连接A 用户会话X
对等端连接B
连接与会话示意图
Diameter其他相关——对等端表
对等端表被用在消息前转过程中,同时还要参考域路由表 对等端表包含以下字段:
Diameter基础协议(Diameter Base Protocol)
Diameter协议介绍

字节开始表示地址。 Time:以OctetString 为基础,表示从1900 年1 月1 日0 时起的秒数,到
2036 年02 月7 日6 点28 分16 秒截止。 UTF8String:使用UTF-8 传输格式。可变长度需要标具体使用情况。 DiameterIdentity:唯一表示DCC 节点,用于重复连接和路由环路检测。
HUAWEI TECHNOLOGIES CO., LTD.
HUAWEI Confidential
Page 14
常用命令
命令名
Credit-Control-Request Credit-Control-Answer Re-Auth-Request Re-Auth-Answer Capabilities-Exchange-Request Capabilities Exchange Answer Device-Watchdog-Request Device-Watchdog-Answer
HUAWEI TECHNOLOGIES CO., LTD.
HUAWEI Confidential
Page 6
Diameter网络节点
•Diameter Client :处于网络边缘提供接入控制的设备,比如NAS (network access server)。
Diameter协议解析AAA服务的协议标准

Diameter协议解析AAA服务的协议标准Diameter协议是一种网络协议,用于进行认证、授权和计费(AAA)服务的传输。
本文将对Diameter协议在AAA服务中的协议标准进行解析,从消息格式、消息类型、属性-值对和AAA服务器等方面进行详细阐述。
一、消息格式Diameter协议中的消息格式由消息头和消息体两部分组成。
消息头包括协议版本号、消息长度、标志位、消息类型、请求/答复位等字段,用于标识消息的类型和属性。
消息体包含一系列的属性-值对,用于传递具体的AAA服务数据。
二、消息类型Diameter协议定义了多种消息类型,用于实现不同的AAA服务功能。
其中常用的消息类型包括:1. 认证请求 (AA-Request):用于用户认证的请求消息。
包含用户标识、认证类型和认证数据等属性。
2. 认证答复(AA-Answer):对认证请求的响应消息。
包含认证结果、错误码和错误信息等属性。
3. 授权请求 (AR-Request):用于用户授权的请求消息。
包含用户标识、服务标识和授权操作等属性。
4. 授权答复(AR-Answer):对授权请求的响应消息。
包含授权结果、错误码和错误信息等属性。
5. 计费请求(ACR):用于发送计费数据的请求消息。
包含用户标识、计费类型和计费数据等属性。
6. 计费答复 (ACA):对计费请求的响应消息。
包含计费结果、错误码和错误信息等属性。
三、属性-值对Diameter协议中的消息体由一系列的属性-值对组成,用于描述AAA服务所需的信息。
常见的属性包括:1. 用户标识 (User-Name):用于标识AAA服务的用户。
2. 认证类型 (Auth-Application-Id):用于指定认证的应用标识。
3. 认证数据 (Auth-Session-State):用于传递用户认证的数据。
4. 服务标识 (Service-Context-Id):用于标识AAA服务的具体服务。
5. 授权操作 (Auth-Session-State):用于描述AAA服务的授权操作。
Diameter基础协议介绍

Reliable transport
Capability negotiation
Error handling
No
Roaming support
Secure and scalable roaming
Not suitable for wide-scale deployment
Manually configure requiring name or address No explicit support for agents
BGCF
Mj
IMMGCF MGW Mn
Mb
Mg Mr
S-CSCF
Mw
HSS
Dx
SLF
MRFP
Mp Mb Mb Mb
MRFC
P-CSCF
Gm
UE
Ut
IMS Subsystem
秘密▲
Diameter 基础协议 Diameter基础协议(Diameter Base Protocol)
•Diameter协议的框架结构 •Diameter传输 •Diameter消息加密 •Diameter实体 •Diameter其他相关
秘密▲
Diameter节点在源端口上初始化连接后,在端口3868上准备接受连接 一般情况下,对等端的一个给定Diameter实例只能使用一个传输连
接与其对等端通信。
当向对等端发起连接时,首先尝试SCTP,然后才是TCP
Diameter安全机制
Diameter客户端,如网络接入服务器(NAS)和各种代理必
Diameter其他相关——域路由表1
所有基于域的路由查找都是依靠域路由表来执行的
域路由表入口包含以下字段: Diameter基础协议(Diameter Base Protocol) 域名:该字段通常用作路由表查询中的主关键字。 应用标识符:一个应用是由运营商ID 和应用ID 来标识的。 一个路由入口基于消息中的应用标识AVP 可能拥有不同的目的地。 应用标识符必须用作路由表查询的第二关键字字段 本地动作:本地动作字段用来标识一个消息将被如何处理。 支持以下动作: •LOCAL:本地动作设置为LOCAL 的Diameter 消息可以 在本地处理,无需被路由到其它服务器; •RELAY:所有属于本类型的Diameter 消息必须被路由到 下一跳的服务器,无需修改任何非路由AVP; •PROXY:所有属于本类型的Diameter 消息必须被路由到 下一跳的服务器。本地服务器可以在路由之前通 过将新的AVP 插入到该消息中,来实行本地策略; •REDIRECT:所有属于本类型的Diameter 消息必须附加归 属Diameter 服务器的标识,并且返回给消息的发送者;
Diameter协议

Diameter协议协议名称:Diameter协议一、引言Diameter协议是一种网络协议,用于在计算机网络中进行认证、授权和计费(AAA)服务。
该协议是对早期的RADIUS协议的改进和扩展,旨在提供更高的安全性和可扩展性。
本协议旨在准确描述Diameter协议的标准格式和相关规范,以确保在各种网络环境中实现一致性和互操作性。
二、术语和定义在本协议中,以下术语和定义适用于所有相关方:1. Diameter节点:指运行Diameter协议的网络设备或服务器。
2. Diameter客户端:指向Diameter服务器发送请求的设备或应用程序。
3. Diameter服务器:指接收和处理Diameter请求的设备或应用程序。
4. Diameter消息:指在Diameter协议中进行通信的信息单元,包括请求和响应。
5. Diameter会话:指一系列相关的Diameter消息,用于完成特定的AAA服务。
6. AVP(属性值对):指Diameter消息中的键值对,用于携带各种协议相关的信息。
7. AAA服务:指认证、授权和计费服务,用于管理网络用户的访问和资源使用。
三、协议格式1. Diameter消息格式Diameter消息由消息头和消息体组成。
消息头包含长度、标志位、消息代码和应用标识等字段,用于识别和解析消息。
消息体包含一个或多个AVP,用于携带具体的协议信息。
2. AVP格式AVP由AVP头和AVP值组成。
AVP头包含AVP代码、标志位和长度等字段,用于标识和解析AVP。
AVP值用于携带具体的协议信息,可以是单个值或多个值的集合。
四、协议流程1. 连接建立Diameter客户端与Diameter服务器之间建立TCP或SCTP连接,并进行协议版本协商和安全性认证。
2. 请求和响应Diameter客户端向Diameter服务器发送请求消息,请求特定的AAA服务。
请求消息中包含一个或多个AVP,用于传递相关的用户和服务信息。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Diameter协议的网络架构
Diameter 重定向
2、请求
3、重定向通知
接入设备
1、请求 6、应答
Diameter 中继
4、请求 5、应答
归属 Diameter
服务器
Diameter协议的消息格式
Diameter消息头格式
01234567890123ቤተ መጻሕፍቲ ባይዱ56789012345678901
传输层安全 提供统一的传输层安全机制,Diameter协议要求在传输层, IPSEC是必须的,TLS是可选的。
传输的可靠性 Diameter协议运行于可靠的传输TCP、SCTP之上,保证了 传输的可靠性。 Diameter基本协议运行在TCP和SCTP传输 协议的端口3868上,以后版本将强制
应用层 在会话状态机的基础之上定义Diameter消息的结构和参数, 完成业务的要求。
Diameter协议的功能
AVP信息传送 Diameter连接维护、管理 事务缓存 能力协商 对端发现和配置
Diameter协议的特点
故障恢复 Diameter协议提供统一的故障恢复方式,支持应用层的故障 确认、定义了故障恢复的算法和相应的状态机。
议
Diameter协议的体系架构
连接层 负责维护管理两个对等端之间的Diameter连接状态机,为上 层数据传输提供数据通道。
事务层 负责处理Diameter消息的事务处理部分,包括消息缓存队列 维护、请求消息和响应消息的对应、事务逐跳标识的维护管 理等。
会话层 构建和维护AAA体系的鉴权、授权以及计费的会话状态机。
Diameter协议特点
支持代理 RADIUS没有明确支持代理功能,包括代理服务器、中继服务器、重定 向服务器。而Diameter协议则提供对上述代理的支持。
安全监控 Radius不提供基于数据的安全机制,导致数据在传输过程中被修改而无 法发现。Diameter协议提供可选的CMS功能对数据进行保护。
Diameter协议介绍
内容提要
IMS中的AAA协议:Diameter
Diameter在IMS中的应用
Diameter协议的起源和发展
AAA指的是Authentication(鉴别),Authorization (授权),Accounting(计费)。
RADIUS是目前最常用的认证计费协议之一,它简 单安全,易于管理,扩展性好,所以得到广泛应用。
Diameter 的基础协议 (Base protocol) Diameter 的 CMS (Cryptographic Message Syntax) 密码消息语法协
议 Diameter 的( Mobile IP)移动IP协议 Diameter 的 NAS( Network Access Service) 网络接入服务协议 Diameter 的 EAP (Extensible Authentication Protocol) 可扩展鉴别协
Version
Message Length
Command lags Command-Code
Application-ID
Hop-by-Hop Identifier
End-to-End Identifier
AVPS……..
Diameter消息头格式
Diameter消息头长度为20byte Version:Diameter协议版本号,设置为1 Message Length:包括diameter头的消息长度 Command Flags:命令标记8比特
过渡性支持 因为Diameter和Radius没有共用的数据协议单元,只要有一个同时支持 Radius和Diameter的网关,两种协议可以在同一个网络中使用。
服务器主动发起消息 Diameter协议中定义服务器主动发起消息是必选功能。
Diameter协议的网络架构
客户端(Client) 服务器(Server) 中继(Relay)
01234567 +-+-+-+-+-+-+-+-+ |R P E T r r r r| +-+-+-+-+-+-+-+-+ R(equest) 如果设置表明是请求消息,如果清除表明是应答消息 P(roxiable) 如果设置,该消息可以被代理、中继、重定向;如果清 除,该消息必须本地处理 E(rror) 该bit表示消息包含了协议错误,不能出现在请求消息中
维护事务状态
重定向服务器(Redirect Server)
重定向Agent引导Diameter客户端到服务端,使得它们可以直接通信。
翻译服务器(Translation Server)
用于执行Diameter和其它AAA协议(如RADIUS)之间的协议翻译
Diameter协议的网络架构
中继的功能是根据与路由相关的AVP和域路由表转发请 求和响应
中继可以用来集中一定地理范围内的NAS请求 由于中继不作策略决定,它们不检查或改变非路由AVP 中继不需要维护会话状态,但需要维护事务状态
Diameter协议的网络架构
代理(Proxy )
通过Diameter路由表路由Diameter消息 根据实施策略可以对消息进行修改 需要对资源进行限制的Proxy必须维护会话状态,所有的Proxy必须
随着新的接入技术的引入和接入网络的快速扩容, 越来越复杂的路由器和接入服务器大量投入使用, 对AAA协议提出了新的要求,使得传统的RADIUS 结构的缺点日益明显。
这就需要采用新一代的AAA协议——Diameter 。
Diameter协议的体系架构
Diameter在IETF协议栈结构中的位置
Diameter消息头格式
T(Potentially re-transmitted message) 该标志是用来在倒换过程后防止重复的请求。该标志仅在发送请求后没
有收到任何响应,再次发送请求时设置。只在请求消息中设置。对于 diameter agent,当收到包含Tbit的消息重新转发时必须保持Tbit。 r(eserved) 保留位,必须设置为0,接收者可以忽略这些保留位 Command-Code:3个8位组