diameter协议,avp
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. 会话结束:客户端和服务器结束会话,关闭连接。
avp的工作原理

avp的工作原理AVP的工作原理什么是AVPAVP指的是“Attribute-Value Pair”,即属性-值对。
AVP是一种在计算机网络中广泛使用的数据结构,用于在通信协议中传输各种类型的数据。
AVP的结构AVP由三个部分组成:属性名(Attribute)、属性标志(Flags)和属性值(Value)。
属性名用于描述所传输的数据的类型,属性标志用于定义该AVP的属性特性,属性值则是具体的数据内容。
AVP的传输在通信协议中,AVP通常以二进制形式传输,按照一定的规则进行编码和解码。
编码过程将AVP的结构转换为二进制格式,而解码过程将二进制数据转换为AVP的结构。
AVP的应用AVP在各种通信协议中起到重要作用。
常见的应用包括:1.AAA协议中的AVP:AAA(Authentication,Authorization, and Accounting)是一种用于认证、授权和计费的协议,其中使用AVP传输认证和授权信息。
2.DIAMETER协议中的AVP:DIAMETER是一种用于认证、授权和计费的协议,它在AAA协议的基础上进行了扩展,其中使用AVP传输各种类型的数据。
3.RADIUS协议中的AVP:RADIUS(RemoteAuthentication Dial-In User Service)是一种用于远程用户身份认证和计费的协议,其中使用AVP传输用户相关的信息。
AVP的工作原理AVP的工作原理可以总结为以下几个关键步骤:1.配置:在通信协议中定义要传输的AVP的结构以及编码规则。
2.编码:将AVP的结构按照协议定义的编码规则转换为二进制数据。
3.传输:将编码后的AVP通过网络传输到目标设备。
4.解码:目标设备接收到二进制数据后,按照协议定义的解码规则将其转换为AVP的结构。
5.处理:目标设备根据AVP的属性名和属性值进行相应的处理操作。
总结AVP作为一种广泛应用的数据结构,在网络通信中发挥了重要的作用。
IMS系统中Diameter基础协议

Diameter其他相关——域路由表2
服务器标识符:消息会被路由到一个或多个服务器。这些服务器也 Diameter基础协议(Diameter Base Protocol) 必须出现在对等端表中。当本地动作设置为RELAY 或PROXY 时, 该字段包含消息必须被路由到的服务器的标识符。当本地动作设置为 REDIRECT时,该字段包含消息将被重定向到的一个或多个服务器的 标识符; 静态或动态:指定某个路由入口是静态配置的还是动态发现的 生命期:指定某个动态发现的路由表入口的到期时间 必须重点指出,Diameter代理必须至少支持LOCAL、RELAY、PROXY 或REDIRECT操作模式之中的一种。为了与协议规定一致,代理不需要 支持所有的操作模式。中继代理和Proxy不允许重排AVP。 路由表可以包括一个默认入口,为任何与其它入口都不匹配的请求使用。 路由表可以仅包含这样一个入口
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 Diameter节点在源端口上初始化连接后,在端口3868上准备接受连接 一般情况下,对等端的一个给定Diameter实例只能使用一个传输连
Diameter over RADIUS
Diameter协议介绍

命令代 码 272 272 258 258
257 257 280 280
282 282 274 274
缩略语
CCR CCA RAR RAA CER CEA DWR DWA
HUAWEI TECHNOLOGIES CO., LTD.
HUAWEI Confidential
Page 7
第1章 协议概述 第2章 消息结构 第3章 常用命令 第4章 基本流程 第5章 码流解析
HUAWEI TECHNOLOGIES CO., LTD.
HUAWEI Confidential
Page 8
认证、授权和计费一起实现了网络系统对特定用户的网络资源使用情况的 准确记录。这样既在一定程度上有效地保障了合法用户的权益,又能有效 地保障网络系统安全可靠地运行。
HUAWEI TECHNOLOGIES CO., LTD.
HUAWEI Confidential
Page 3
协议优点
Diameter和Radius两者之间的比较 ➢拥有良好的失败机制,支持失败替代(failover)和失败回溯(faiback); ➢拥有更好的包丢弃处理机制,Diameter协议要求对每个消息进行确认; ➢可以保证数据体的完整性和机密性; ➢支持端到端安全,支持TLS和IPSec; ➢引入了“能力协商”能力
HUAWEI TECHNOLOGIES CO., LTD.
HUAWEI Confidential
Page 6
Diameter网络节点
•Diameter Client :处于网络边缘提供接入控制的设备,比如NAS (network access server)。
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协议,avp
篇一:aaa协议diameter和Radius进行比较总结
aaa协议diameter和Radius比较总结今天就把两种主
要的aaa协议diameter和Radius进行比较总结,如下:
(1)Radius固有的c/s模式限制了它的进一步发展。
diameter采用了peer-to-peer模式,peer的任何一端都可以发送消息以发起计费等功能或中断连接。
(2)可靠的传输机制。
Radius运行在udp协议上,并且
没有定义重传机制,而diameter运行在可靠的传输协议tcp、sctp之上。
diameter还支持窗口机制,每个会话方可以动
态调整自己的接收窗口,以免发送超出对方处理能力的请求。
(3)失败恢复机制。
Radius协议不支持失败恢复机制,
而diameter支持应用层确认,并且定义了失败恢复算法和
相关的状态机,能够立即检测出传输错误。
(4)大的属性数据空间。
diameter采用aVp (attributeValuepair)来传输用户的认证和授权信息、交
换用以计费的资源使用信息、中继代理和重定向diameter 消息等。
网络的复杂化使diameter消息所要携带的信息越来越多,因此属性空间一定要足够大,才能满足未来大型复杂网络的需要。
(5)支持同步的大量用户的接入请求。
随着网络规模的不断扩大,aaa服务器需要同时处理的用户请求的数量不断增加,这就要求网络接入服务器能够保存大量等待认证结果的用户的接入信息,而Radius的255个同步请求显然是不够的,diameter可以同时支持232个用户的接入请求。
(6)服务器初始化消息。
由于在Radius中服务器不能主动发起消息,只有客户能发出重认证请求,所以服务器不能根据需要重新认证。
而diameter指定了两种消息类型,重认证请求和重认证应答消息,使得服务器可以随时根据需要主动发起重认证。
(7)diameter还支持认证和授权分离,重授权可以随时根据需求进行。
而Radius中认证与授权必须是成对出现的。
(8)Radius仅仅在应用层上定义了一定的安全机制,但没有涉及到数据的机密性。
diameter要求必须支持ipsec以保证数据的机密性和完整性。
(9)Radius没有明确的代理概念,Radius服务器同时具有proxy服务器和前端服务器的功能。
diameter加入代理来承担Radius服务器的proxy功能
篇二:ocp协议学习标记
ocp协议学习笔记(协议结构和协议格式)
(20xx-06-1022:00:37)
转载▼
标签:分类:
学习笔记杂谈
一、ocp协议结构:
ocp协议是建立在diameter基础协议上的diametercreditcontrolapplication应用协议的具体定义及扩展。
ocp协议采用tcp作为传输层协议。
diametercreditcontrolapplication:dcc应用;
tls:transportlayersecurity,传输层安全;
二、协议格式:
1.消息头格式:ocp协议的数据包是以网络字节顺序传送的。
说明:ocp协议的消息头长度为固定长度20个字节;
a.version:版本号,该版本字段必须置为1,表明diameter版本为1;
b.messagelength:该消息长度字段为3个八位组,指明该diameter消息的字
节长度,包括头字段+aVps;
mandflags:该命令标记字段为8个比特。
已经分配的比特位如下:
R(equest)-如果设置,表明该消息是一个请求。
如果清零,该消息是一个应答。
p(roxiable)–如果设置,表明该消息可以被proxy、中继或者复位向。
如果清零,该消息必须在本地处理。
e(rror)-如果设置,表明该消息包含一个协议差错,且该消息与abnF中描述的该命令不一致。
“e”比特设置的消息一般当作差错消息。
在请求消息中不能设置该比特。
t(potentiallyre-transmittedmessage)-该标记在链路失败过程后被设置,以帮助去除重复的请求。
当重发请求还没有被确认时,需要设置该比特,以作为链路失败而造成的可能的重复包的指示。
当第一次发送
一个请求时,该比特必须被清零,否则发送者必须设置该比特。
diameter代理仅需要关心它们发送的同一请求消息的遍数;其它实体进行的重传不须考虑。
diameter代理接收到一个t比特设置为1的请求,必须在前转该请求时保持t标记的设置。
如果接收到一个以前消息的差错消息(例如协议差错),则不可以设置该标记。
该标记只有在没有接收到任何来自服务器的该请求的应答、且该请求再次被发送的情况下,才能被
设置。
该标记不能在应答消息中设置。
r(eserved)-这些标记比特为将来使用预留,必须设置为0,接收者应当忽略。
mand-code:该命令码字段为3个八位组,用于表明与该消息相关联的命令。
该24位地址空间由ietF的iana负责分配管理。
例如:ceR、cea消息命令码为257,ccR、cca消息命令码为272,dwR、dwa消息命令码为280。
e.application-id:应用id为4个8位组,用于标识该消息可适用于哪个应用。
f.hop-by-hopidentifier:hop-by-hop标识符为(diameter协议,avp)一个无符号32比特整数字段(按网络字节顺序),用来帮助
匹配请求和响应。
发送者必须保证请求中的hop-by-hop 标识符在特定的连接上在任何特定的时间是唯一的,并且保证该数字在经过重启动后仍然唯一。
g.end-to-endidentifier:端到端标识符是一个无符号32比特整数字段(按网络字节顺序),用来检测重复消息。
h.aVps:传递数据的部分,很多aVp头+数据的组合;
例如:dcc客户端和一个dcc服务之间ceR消息的消息头如下:
010000d480000101000000000000000000000000
说明:010000d4---01:dcc应用的版本为1,d4:ceR 消息的长度,10进制值为212,标识该ceR消息长度为212字节;
80000101---80:flags的值为128(10进制),表明是一个请求消息,0101:值为257(10进制)与前面d步骤中ceR消息命令码257吻合;
00000000---application-id,值为0
00000000---hop-by-hop标识符,值为0
00000000---end-to-end标识符,值为0
2.aVp头格式:aVp中的字段必须按网络字节顺序发送。
头的格式如图所示:
说明:
aVpcode:aVp码与制造商id结合,可以唯一标识属性。
aVp1到255为前向兼容Radius预留,无需设置制造商id字段。
256以及大于256的aVp用于diameter,由iana负责分配。
aVp标记:aVp标记字段告知接收者如何处理每个属性。
“r”:(预留)比特不使用,应设置为0。
表示以后的diameter应用可以在aVp头中定义附加的比特,一个未被承认的比特应被看作差错。
“p”比特指明为保证端到端安全需要加密。
“m”比特,称为强制比特,指明对该aVp的支持是否。