⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rfc2866.txt

📁 RFC规范的翻译稿
💻 TXT
📖 第 1 页 / 共 3 页
字号:
    0                   1                   2
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |      类型      |     长度     |  值 ...
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
类型
类型域是一个八位字节。到目前为止,RADIUS类型域的值在最新的“Assigned Number”RFC【6】中给出了详细的描述。192-223是留给实验使用的,224-240用于描述执行的细节,241-255是预留的,不能使用。本文中涉及到一下的数值:
1-39  (参考RADIUS document【2】)
40 记帐状态类型
41 记帐延迟时间
42 输入字节数
43 输出字节数
44 会话ID
45 授权
46 会话时间
47 输入包总数
48 输出包总数
49 记帐中止事件
50 多会话ID
51 记帐链路计数
60+     (参考RADIUS document【2】)
长度
长度域占有一个字节,表示包括类型、长度、属性值在内的属性的长度。如果收到的记帐请求属性的长度无效,整个请求必须直接丢弃。
属性值域有零个或者更多的字节,包含有属性信息的详细描述。值域的格式和长度是由类型和长度域决定的。
注意,在RADIUS中没有任何的类型是以NUL(十六进制的00)结尾的。在RADIUS中特别是“text”和“string"类型不能以NUL(十六进制的00)结尾。属性具有长度域,因而不必使用中止符号。文本(text)含有用UTF-8编码的10646【7】的特性,字符串(string)含有8位二进制数据。服务器和客户端必须能够处理嵌入的null。
在使用C语言编写RADIUS程序时,注意不要使用strcpy()来处理字符串。
值域的格式是五种数据类型之一。注意:类型“text”是类型“string"的一个子集。
text     1-253个字节,包含UTF-8编码的1046【7】特性。长度为零的文本(text)不必发送;取而代之的是,整个属性域会被直接忽略。
string   1-253个字节,包含二进制数据(数值值从0到十进制数255)。长度为零的字符串(string)不必发送;取而代之的是,整个属性域会被直接忽略。
address  32位的数值,最重要的字节优先。
integer  32位的无符号数,最重要的字节优先。
time    32位的无符号数,最重要的字节优先——seconds since 00:00:00 UTC, January 1, 1970。标准的属性是不使用该数据类型的,但是在这里提到该数据类型主要是以备在将来的属性中使用。
5.1 记帐状态类型
描述
该属性表明当前的记帐请求是表示用户服务开始(start)还是结束(stop)。
它可能被客户端通过指出记帐开始的方式来表示开始记帐(例如:在启动之前),或者通过指明记帐完成的方式来结束记帐(例如:在预定的重新启动之前)。
记帐状态类型的格式概况如下所示。各个域是按照自左向右的顺序发送的。
0                 1                2                 3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |      类型      |     长度     |             值
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
                  值(cont)         |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
类型
40表示记帐状态
长度
6
值域占有四个字节。
1 Start(开始)
2 Stop(停止)
3 Interim-Update(过渡更新)
7 Accounting-On(开始记帐)
8 Accounting-Off(结束记帐)
9-14  Reserved for Tunnel Accounting(为隧道记帐保留)
15 Reserved for Failed(为记帐失败预留)
5.2 记帐延迟时间
描述
该属性表明客户端试图发送该记录所用的时间。用该数据包到达服务器端的时间减去记帐延迟时间就可以知道生成该数据包的大概时间。(网络传输时间被忽略了)。
注意,记帐延迟时间的改变会引起鉴别码的变化;详细资料参见上面关于鉴别码的讨论。
记帐延迟时间的格式概况如下所示。各个域是按照自左向右的顺序发送的。
    0                1                2                 3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |      类型      |      长度     |             值
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
               值 (cont)         |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
类型
41代表记帐延迟时间
长度
6
值域共占有四个字节
5.3 输入字节数
描述
该属性表明在提供用户所需的服务的过程中从端口接收到的字节总数。该属性只有在要求停止记帐的记帐请求数据包中才会出现。
输入字节数的基本格式如下所示。各个域是自左向右传送的。
   0                1                 2                3
   0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |    类型    |   长度    |             值
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
               值 (cont)         |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
类型
42代表输入字节数
长度
6
值域所占的空间是四个字节
5.4 输出字节数
描述
该属性表明在交付用户所需的服务的过程中发送给端口的字节总数。该属性只有在要求停止记帐的记帐请求数据包中才会出现。
输出字节数的基本格式如下所示。各个域是自左向右传送的。
   0                1                 2                 3
   0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |    类型    |   长度    |             值
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
               值 (cont)         |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
类型
43代表输入字节数
长度
6
值域所占的空间是四个字节
5.5 会话Id
描述
该属性是便于在日志文件中的开始和停止记录匹配的唯一的记帐ID。对于一个给定的会话,它的开始和停止记录必须有相同的记帐会话Id。记帐请求包必须有一个记帐会话Id。接入请求包可能含有记帐会话Id;如果接入请求包中含有记帐会话Id的话,NAS(网络接入服务器)在为该会话产生的记帐请求数据包中必须使用相同的记帐会话Id。
记帐会话Id应当含有UTF编码的10646【7】字符。
例如:有一种实现方式是使用一个8位的16进制数表示,该数的前两位每次重新启动后加一(重启256次之后循环),后六位数字从0到2^24-1,大约共一千六百万,用来计数重启之后登录的用户的个数,
记帐会话Id的属性的大致格式如下。各个域是自左向右传送的。
  0                1                 2
  0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |     类型     |     长度     |  文字 ...
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
类型
44代表记帐会话Id
长度
>=3
字符串
字符串域应当是一个UTF-8编码的10646【7】字符串
5.6 授权
描述
该属性可能包含在记帐请求数据包中,用来说明是怎样给用户授权的:是通过RADIUS、网络接入服务器本身,还是通过另外一个远程授权协议。不需授权就能提供服务的用户不可以生成记帐包。
授权属性的大致格式如下。各个域是自左向右传送的。
   0                 1                 2                3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |      类型      |      长度     |             值
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
                 值 (cont)         |
        +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
类型
45表示记帐包的授权属性
长度
6
值域占四个字节的空间
1 RADIUS
2 Local
3 Remote
5.7 会话时间
描述
该属性表明用户接受服务的时间。这个属性只在记帐状态类型为记帐停止的记帐请求数据包中出现。
该属性的大致格式如下。各个域是自左向右传送的。
   0                 1                 2                3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |      类型      |      长度     |             值
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
                 值 (cont)         |
        +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
类型
46代表会话时间
长度
6
值域共占四个字节的空间
5.8 输入数据包
描述
该属性表明在为某个用户提供服务的过程中从端口接收到的数据包的总数。该属性只能在记帐状态为记帐停止的数据包中出现。
记帐输入数据包的大致格式如下。各个域是自左向右传输的。
    0                 1                2                3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |      类型      |      长度     |             值
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
                 值 (cont)         |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
类型
47代表输入包总数
长度
6
值域共占四个字节的空间
5.9 输出包总数
描述
该属性表明在给某个定的用户提供服务的过程中给端口发送的数据包的总数。这个属性只能在记帐状态类型为记帐停止的记帐请求数据包中出现。
记帐输出包属性的大致格式如下。各个域是自左向右传送的。
    0                1                 2                3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |      类型      |      长度     |             值
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
                 值 (cont)         |
        +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
类型
48代表输出包
长度
6
值域总共占有四个字节的空间
5.10  记帐中止事件
描述
该属性表明对话是怎样中止的。这属性只能在记帐状态为记帐停止的记帐请求数据包中出现。

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -