DIAMETER 协议是为诸如网络访问或 IP 移动等应用程序提供认证,授权和计费(AAA)结构所设计。同时Diameter 也有意应用于本地和漫游两种情况下的认证,授权和计费。Diameter 协议是作为 RADIUS 协议的改进版而设计。DIAMETER 协议不能解决 RADIUS 模式中的缺陷。DIAMETER 之后的基本概念用于提供可扩展的基础协议,从而可为新的接入技术提供 AAA 服务。DIAMETER 并不采用与 RADIUS 协议相同的数据单元,但却与 RADIUS 反向兼容来减少移植。
诸如 TACACS 和 RADIUS 这样的传统 AAA 协议最初是为提供拨号 PPP 以及终端服务器访问而被采用。随着时间的推移,互联网的成长和新的接入技术的引入,包括无线、DSL、移动 IP 和以太网,路由器和网络访问服务器(NAS)在复杂性和密度方面,都有了一定的增强,人们对 AAA 协议也提出了新的需求,在这样的情形下,DIAMETER 协议应运而生。
DIAMETER 协议按照一项基础协议和一组应用程序而定义。这种设计方式下允许协议可延伸至新的接入技术。这个基础协议是用来为可靠的传输信息发送以及错误处理提供基本 机制。
这个基础协议必须与一个 Diameter 应用程序协力执行。每个应用程序依赖于基础协议服务来支持特定类型的网络访问。移动 IPv4 和 NASREQ(网络访问服务器需求)是主要的两大应用程序。NASREQ 应用程序支持拨号 PPP/IP 并且意于替代 RADIUS。下图表描述了 Diameter 结构:
这个基础协议定义了基本的 Diameter 信息格式。Diameter 信息中的数据作为属性值对(AVPs)收集进行运载。Diameter 基础协议的数据包格式显示如下:
Version:必须设置为1,表示 Diameter 版本1。
Command Flags:八位标识。
Command-Code:使用3个八位组段,配合信息传送需求。
Application-ID:4个八位组,用来识别信息可使用到的应用程序。这个应用程序可以是一个认证程序,一个计费程序,也可以是运营商专用 程序。
Hop-by-Hop Identifier:32位无符号整数段,用来匹配请求和回复。
End-to-End Identifier:32位无符号整数段,用来探测重复信息。
AVPs:属性值对(AVP:Attribute Value Pair)是一种与 Diameter 信息相关的信息封装方法。一个 AVP 就像一种 RADIUS 属性。一些 AVP 是用于 Diameter 基础协议,另一些意向用于 Diameter 应用程序(如 NASREQ),更有一些是为使用 Diameter 的更高级终端系统应用程序所应用。Diameter AVP 头格式如下:
AVP Code:与运营商- ID 段相结合,唯一识别属性。AVP 数值从1到255供与 RADIUS 反向兼容所用。
AVP Flags:通知接收方每个属性必须如何处理。r(reserved)位表示预留位,不使用,应该设置为0。
AVP Length:三个八位组,表示 AVP 中所含八位组的数量,包括 AVP Code、AVP Length、AVP Flags、Vendor-ID field(如果存在)以及 AVP data。
Vendor-ID:可选段,如果 AVP Flags 段设置了 V 位,该段就存在。可选的四个八位组 Vendor-ID 段包括 IANA,它被分配了 SMI 网络管理专用企业代码值,并且以网络字节顺序编码。
相关协议:RADIUS、TACACS
组织来源:DIAMETER 协议由 IETF 定义于 RFC 3588。
相关链接:http://www.javvin.com/protocol/rfc3588.pdf:Diameter Base Protocol
直径的求法:两遍搜索 (BFS or DFS) 任选一点w为起点,对树进行搜索,找出离w最远的点u。 以u为起点,再进行搜索,找出离u最远的点v。则u到v的路径长度即为树的直径。 简单证明: 如果w在直径上,那么u一定是直径的一个端点。反证:若u不是端点,则从直径另一端点到w再到u的距离比直径更长,与假设矛盾。 如果w不在直径上,且w到其距最远点u的路径与直径一定有一交点c,那么由上一个证明可知,
RFC3588_RFC2030(部分) loading... support (百度翻译,有道翻译) diameter 基本数据 OctetString 数据长度任意(0~)但是整个数据长度必须是4字节的整数倍,不够填充0.有Octet组成,其中octet 八位字符串-一字节--C语言 char;eg.char c='1' (ASCII :49(十
diameter message = diameter header + AVPs Diameter Header Bit offset 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 0 version message length 32 R P
Diameter消息解释 Diameter消息有一个Diameter header和一系列的AVP组成。 Diameter 基础协议的数据包格式显示如下: Version:必须设置为1,表示 Diameter 版本1。 Command Flags:八位标识。 Command-Code:使用3个八位组段,配合信息传送需求。 Application-ID:4个八位组,用来识别信息可使用到的应
diameter协议包含很多协议命令字,基本的有 CER/CEA(257),DWR/DWA(280),DPR/DPA(282)等,对每个命令字,它们的交互过程都是由request和answer组成。因此,对每个命令字,只要能抓取对应的request和answer消息即可获取此过程中所需要的信息。 CER/CEA用于建立连接过程中进行能力协商,DWR/DWA类似于握手消息,DPR/DPA用于因本端
目录 Diameter 协议簇 Diameter(直径)协议,意味是 RADIUS(半径)的改进或者替代,由 IETF 开发,被 AAA 工作组定位为下一代的 3A 协议标准。 Diameter 协议不是一个单一的协议,而是一个协议簇,它包括了基本协议(Diameter Base Protocol)和各种由基本协议扩展而来的应用协议,如:NAS(网络接入服务)协议,EAP(可扩展鉴别)协议,MIP
Diameter消息解释 Diameter消息有一个Diameter header和一系列的AVP组成。 Diameter 基础协议的数据包格式显示如下: Version:必须设置为1,表示 Diameter 版本1。 Command Flags:八位标识。 Command-Code:使用3个八位组段,配合信息传送需求。 Application-ID:4个八位组,用来识别信息可使用到的应
DCC,就是Diameter Credit Control,即信用控制应用,属于应用协议.And it is a peer to peer protocol. Diameter基础协议是各类应用实施的基本协议要求; 传输机制,主要定义Diameter协议传输层的问题及解决方法,还包括失败检测算法和状态机; 拥有各种不同功能的应用(包含DCC)都必须支持基础协议 AAA: Authent
引用 rfc : http://www.ietf.org/rfc/rfc3588.txt RFC 3588 Diameter Based Protocol Table of Contents 1. Introduction................................................. 6
You are given a tree (an undirected connected graph without cycles) and an integer ss. Vanya wants to put weights on all edges of the tree so that all weights are non-negative real numbers and their s
Foreword \text{Foreword} Foreword @zhengrunzhe 大佬的矩阵做法过于神奇,蒟蒻无法理解… 欧拉序的做法确实非常巧妙,但我也想不到这么神仙的做法… 提供一种可能简单一些的 LCT 做法。 由于本人 LCT 无法像大佬那么神,讲的会比较详细一些,也许对其他 LCT 平民玩家更加友好? Solution \text{Solution} Solution 本题有
主要内容:1. 前提条件,2. 配置工作,3. 允许多人进入,4. 可能的问题,5. 替代密码存储,6. 使用多个供应者,7. 超越授权身份验证是验证访问者是否是他们所声称的人的任何过程。授权是允许访问者进入他们想去的地方或获得他们想要的信息的过程。 如果您的网站上的信息仅对一小部分人使用,下面这些技巧将帮助您确保看到这些网页的人员是您想要查看的人。 本文还将介绍保护大多数人将要使用的网站部分的“标准”方法。 1. 前提条件 本文中讨论的指令需要在主服务器配置文件(通常在部分中)或每目录配置文件
Serenity 使用一些抽象(abstractions)来与你的应用程序自身的用户身份验证和授权机制一起工作。 Serenity.Abstractions.IAuthenticationService Serenity.Abstractions.IAuthorizationService Serenity.Abstractions.IPermissionService Serenity.Abst
请求地址 https://api.es.xiaojukeji.com/river/Auth/authorize 返回数据格式 JSON 请求方式 POST 是否需要登录 否 访问授权限制 调用方访问授权后,将返回的授权信息缓存半小时(缓存过期或调用服务时返回401=>access_token不合法或已过期,再重新申请授权),不要每次调用接口都申请一次授权。 请求参数 名称 类型 必选 描述 cli
说明 调用方访问授权后,将返回的授权信息缓存半小时(缓存过期或调用服务时返回401=>access_token不合法或已过期,再重新申请授权),不要每次调用接口都申请一次授权。 地址URL /v1/Auth/authorize 支持格式 Json或普通form HTTP请求方式 POST 是否需要登录 否 请求参数 名称 类型 必选 描述 client_id string yes 申请应用时分配的
问:什么是认证(authentication)? 认证是为了解决"你是谁"的问题。 问:什么是授权(authorization)? 授权是为了解决"你是否有权限"的问题,只有在认证通过之后,才会进行权限检查。 问:SDS是如何认证的? SDS采用了融合云/生态云平台的认证方式,和平台上其他服务相同。 问:融合云SDS是如何认证的? 融合云有org/team/user三个概念,org是资源(表)的拥
Authentication, authorization, and permissions (认证,授权和权限) Access control concepts (访问控制的概念) General process (一般流程) Exposing and hiding models, methods, and endpoints (揭露和隐藏模式,方法和触发点) Hiding methods an
概览 Kubelet 的 HTTPS 端点对外暴露了用于访问不同敏感程度数据的 API,并允许您在节点或者容器内执行不同权限级别的操作。 本文档向您描述如何通过认证授权来访问 kubelet 的 HTTPS 端点。 Kubelet 认证 默认情况下,所有未被配置的其他身份验证方法拒绝的,对 kubelet 的 HTTPS 端点的请求将被视为匿名请求,并被授予 system:anonymous 用户
本书是《Ruby on Rails Tutorial: Learn Web Development with Rails (Third Edition)》一书的简体中文版,由作者 Michael Hartl 授权安道翻译和销售。版权归 Michael Hartl 和安道所有。 本书受版权法保护,任何组织或个人不得以任何形式分发或做商业使用。 书中代码基于 MIT 协议和 Beerware 协议发布