直径协议是什么?

7

我有三个简单的问题。

  1. 直白解释一下Diameter协议是什么?
  2. Diameter协议的用途是什么?
  3. 如何使用Diameter协议?

我在网上搜索了实用的解释,但没有找到。只有一些技术废话。


2
我不知道该怎么做得比wikipedia页面更好。它回答了你所有的问题:1)“Diameter是一种计算机网络的认证、授权和计费协议,是RADIUS的一种替代方案。”2)“Diameter协议最初由Pat R. Calhoun、Glen Zorn和Ping Pan于1998年开发,旨在提供一个认证、授权和计费(AAA)框架,以克服RADIUS的局限性。RADIUS存在可靠性、可扩展性、安全性和灵活性等问题。”3)请参见“应用程序”部分。 - David Schwartz
4个回答

8
根据ITU的规定,DIAMETER是RADIUS的继任者(好了两倍)。不,这不是一个玩笑。在许多电信网络中,RADIUS仍然被用作授权、认证和会计协议服务器的接口(通常只称为AAA)。RADIUS的问题在于:
1.它建立在UDP之上——RADIUS数据包可能会丢失。 2.它从未被设计用来处理超过短的属性/值对。 3.虽然它是可扩展的,但它仅限于特定于供应商的属性(VSAs)。
当Livingston incorporated制造Portmaster终端/调制解调器服务器时,这些都是美好的事情。(啊,回到那个时代……我可以听到telebit trailblazers的声音……)但那是当19.2Kb UUCP很酷的时候。
DIAMETER旨在解决现代世界的这些问题。首先,它基于TCP。这解决了掉线的问题。我们现在知道数据包不会在"半路"上丢失。我们还可以加密流。另外,由于使用了TCP, DIAMETER可以具有更大的属性集合(我们称之为AVPs)。因此,传递简单的键/值对之外的值集合变得更容易了。
例如,在DIAMETER中,你可以进行登录请求,发送远远超过用户名/密码的内容。例如,您可以发送课程位置,在登录时告诉AAA用户在哪里(也许有地理位置访问规则)。并且,因为我们有一个更强大、更富有表现力的语言来表达事物,AAA不仅可以传达是/否,还可以传达特定是的规则或不是的原因。
这有所帮助吗?

这对我很有帮助。这是一个非常好的、直接的解释,比复制粘贴的答案要好得多。谢谢你。 - Marco Zink

5

我在IBM网站上找到了这篇关于Diameter协议的完整文章

介绍

Diameter协议是从RADIUS协议中衍生出来的,具有许多方面的改进,通常被认为是下一代身份验证、授权和计费(AAA)协议。Diameter协议在IMS架构中广泛使用,以便IMS实体交换AAA相关信息。由于IMS系统可能是电信行业的下一个大事件,我们认为了解Diameter协议的本质对于理解IMS架构是必要的。本文概述了Diameter协议及其工作原理。对于对IMS中AAA如何工作感兴趣或想要实现Diameter应用程序的开发人员来说,本文是一个很好的起点。

随着新技术和应用程序的出现,例如无线网络和移动IP,身份验证和授权的要求大大增加,访问控制机制比以往任何时候都更加复杂。现有的远程身份验证拨号用户服务(RADIUS)协议可能无法满足这些新要求;需要的是一种新协议,能够实现新的访问控制功能,同时保持进一步扩展的灵活性。这就是Diameter协议发挥作用的地方。


4
除了Hamed在之前的回答中提到的IBM的“Diameter简介”文章外,思科的文章“认证、授权和计费概述”也提供了一些有关Diameter的有趣信息,并将其与RADIUS进行了比较。
  1. “认证识别用户;授权确定该用户可以做什么;计费监控网络使用时间。”“Diameter是下一代AAA协议,克服了(几个)RADIUS的不足之处。”

  2. “RADIUS协议在NAS和RADIUS认证服务器之间传递认证、授权和配置信息。”(在此上下文中,NAS是网络访问服务器,提供对受保护网络的访问的网关。)…“由多个网络访问服务器的供应商实现,RADIUS已获得广泛客户支持。”RADIUS具有有限数量的属性代码(包括用户名和密码、服务类型、登录信息等),因此开发人员利用其“特定于供应商的属性”(VSA)来交换自定义数据,以专有方式扩展RADIUS的范围,但仍在其限制范围内(例如,属性值不超过253字节)。那么为什么要使用Diameter?Diameter提供了更大的灵活性(更长的数据字段、可扩展性、能力协商)、更高的性能(“32位对齐”)、更高的可靠性和可用性(TCP和STCP支持、更好的确认机制和错误消息、故障转移)、增强的安全性(“端到端安全性”)等。

  3. 就像FreeRADIUS实现了一个FOSS RADIUS服务器,您可以在服务器上安装它,以便您的其他应用程序和设备(例如执行802.1X认证的Wi-Fi接入点或有线交换机)可以与之交互,FreeDiameter是一个FOSS Diameter框架,您可以在服务器上安装它。然而,尽管TMCNews的文章{{link6:“Diameter在IMS中的作用”}}(2007年)提到“Diameter已被3GPP在IMS标准集中广泛采用”,但我还没有看到任何消费者或小型企业级应用程序或设备使用Diameter。另一方面,据报道,Diameter通过“翻译代理”(IBM)与RADIUS兼容,以便于迁移。例如,FreeDiameter具有一个扩展,称为“RADIUS / Diameter可扩展网关”(app_radgw.fdx),其“目的是允许RADIUS客户端与Diameter服务器一起工作”。但是,文档还警告说“将RADIUS消息转换为Diameter是一项相当复杂的任务。翻译插件可能需要进行微调以适应您的特定需求。”


4

Diameter是一种身份验证、授权和计费(AAA)协议。如果我们考虑OSI分层模型,它在应用层上工作。

AAA协议的示例:

任何尝试访问网络(例如互联网服务提供商)的用户都必须经过由该网络实施的“AAA”过程。 1.认证:网络将验证其是否为认证用户。 2.授权:网络将授权用户请求的服务。 3.计费:网络将跟踪用户使用情况。

在执行上述三个步骤时,网络可能会在任何时候拒绝用户使用服务,这就是安全性得以维护的方式,因此AAA协议的重要性。

因此,Diameter基本上是一种基于消息的协议,其中可能发生AAA过程,并且AAA节点交换消息并接收节点之间交换的每条消息的正面/负面确认。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接