设为首页收藏本站language→→ 语言切换

鸿鹄论坛

 找回密码
 论坛注册

QQ登录

先注册再绑定QQ

查看: 3068|回复: 3
收起左侧

[分享] Diameter协议报文格式

[复制链接]
 成长值: 62830
发表于 2017-11-24 16:12:28 | 显示全部楼层 |阅读模式
网络协议报文格式大全
http://bbs.hh010.com/thread-531884-1-1.html
(出处: 鸿鹄论坛)
Diameter协议报文格式
Diameter协议是IETF的AAA工作组作为下一代的AAA协议标准,由RADIUS协议演进而来。
Diameter目前主要应用于移动通信系统,固网接入主要使用RFC2865的Radius协议。随着固网与无线网络融合,统一认证计费授权服务器的趋势越来越迫切,固网接入支持Diameter协议栈已成为普遍需求。
报文格式图1 Diameter协议栈结构

                               
登录/注册后可看大图

图2 Diameter报文格式

                               
登录/注册后可看大图



字段长度含义
Version1字节必须置为1,表示Diameter协议版本号为1。
Message Length3字节表示Ditameter消息长度,包括Diameter的头部域。
Command Flags1字节此字段格式如下: 0 1 2 3 4 5 6 7+-+-+-+-+-+-+-+-+|R P E T r r r r|+-+-+-+-+-+-+-+-+
  • R(equest) - 如果置1,表示消息为请求消息,如果置0,表示消息为应答消息。
  • P(roxiable) - 如果置1,表示消息可能被代理、中继或重定向。如果置0,表示消息必须本地处理。
  • E(rror) - 如果置1,表示消息包含协议错误,不符合ABNF的定义。带有E比特置位的通常表示错误消息。在请求消息中该比特不应该置位。
  • T(Potentially re-transmitted message) - 当发送的请求还没得到确认时,此标记置位,表示可能因为链路故障导致消息的重复。 第1次发送的请求消息中此标记必须置0。应答消息中此标记也应该置0。
  • r(eserved) - 预留将来使用,必须设置为0,接收时忽略。
Command-Code3字节命令代码,代码值由IANA分配,其中0xFFFFFE -0xFFFFFF预留给实验用。
  • Abort-Session-Request (ASR): 274
  • Abort-Session-Answer (ASA): 274
  • Accounting-Request (ACR): 271
  • Accounting-Answer (ACA): 271
  • Capabilities-Exchange-Request (CER): 257
  • Capabilities-Exchange-Answer (CEA): 257
  • Device-Watchdog-Request (DWR): 280
  • Device-Watchdog-Answer (DWA): 280
  • Disconnect-Peer-Request (DPR): 282
  • Disconnect-Peer-Answer (DPA): 282
  • Re-Auth-Request (RAR): 258
  • Re-Auth-Answer (RAA): 258
  • Session-Termination-Request (STR): 275
  • Session-Termination-Answer (STA): 275
Application-ID4字节用来标记消息的应用,该应用可能是认证、计费或者厂家特殊应用。
Hop-by-Hop Identifier4字节逐跳标记,用来匹配请求和应答,通常是一个自动增加的编号,从一个随机的数开始增加。应答消息里的此字段如果无法识别,消息将被丢弃。
End-to-End Identifier4字节用于检测重复消息。
AVPs变长Diameter消息使用AVP来封装信息。

图3 AVP消息格式

                               
登录/注册后可看大图



字段长度含义
AVP Code4 bytesAVP Code字段和Vendor-Id字段一起唯一标识了一个属性。1 – 255 预留用于和RADIUS后向兼容,不需要携带Vendor-Id字段。256及以上的值用于Diameter协议,由IANA分配。
V1 bitV(Vendor-Specific bit)位用来标识AVP头部是否必须携带Vendor-ID字段。
M1 bitM(Mandatory)位用来标识此AVP是否必须携带。
P1 bitP位用来标识是否需要加密。
Reserved5 bits保留位。
AVP Length3 bytes表示AVP的字节数,包括AVP Code、AVP Length、AVP Flags、Vendor-ID、AVP data字段。
Vendor-ID4 bytesIANA分配的厂家标识。如果V比特置位,AVP必须携带Vendor-ID字段。
DataVariable包括0个或多个属性。


报文示例图4 Diameter报文(使用TCP封装)

                               
登录/注册后可看大图

图5 Diameter报文(使用SCTP封装)

                               
登录/注册后可看大图


参考标准
标准描述
RFC 3588Diameter Base Protocol





发表于 2020-2-2 21:20:00 | 显示全部楼层
dddddddddddddddd
板凳 2020-2-2 21:20:00 回复 收起回复
回复 支持 反对

使用道具 举报

发表于 2024-10-29 19:35:25 | 显示全部楼层
Diameter基本协议旨在为本地和漫游情况下的网络访问或IP移动等应用程序提供身份验证、授权和计费(AAA)框架。本文档指定了所有Diameter应用程序使用的消息格式、传输、错误报告、记帐和安全服务。本文档中定义的Diameter基本协议淘汰了RFC 3588和RFC 5719,并且必须得到所有新Diameter实现的支持。
现在更新到了RFC6733里面。
地板 2024-10-29 19:35:25 回复 收起回复
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 论坛注册

本版积分规则

QQ|Archiver|手机版|小黑屋|sitemap|鸿鹄论坛 ( 京ICP备14027439号 )  

GMT+8, 2024-12-26 15:01 , Processed in 0.056538 second(s), 13 queries , Redis On.  

  Powered by Discuz!

  © 2001-2024 HH010.COM

快速回复 返回顶部 返回列表