~ubuntu-branches/ubuntu/natty/freeradius/natty-security

« back to all changes in this revision

Viewing changes to doc/rfc/rfc2866.txt

  • Committer: Bazaar Package Importer
  • Author(s): Chuck Short
  • Date: 2010-01-04 21:40:02 UTC
  • mfrom: (1.1.14 upstream) (4.1.5 sid)
  • Revision ID: james.westby@ubuntu.com-20100104214002-41gcmr2dd7sebn58
Tags: 2.1.8+dfsg-1ubuntu1
Resynchronize with Debian. 

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
 
2
 
 
3
 
 
4
 
 
5
 
 
6
 
 
7
 
Network Working Group                                          C. Rigney
8
 
Request for Comments: 2866                                    Livingston
9
 
Category: Informational                                        June 2000
10
 
Obsoletes: 2139
11
 
 
12
 
 
13
 
                           RADIUS Accounting
14
 
 
15
 
Status of this Memo
16
 
 
17
 
   This memo provides information for the Internet community.  It does
18
 
   not specify an Internet standard of any kind.  Distribution of this
19
 
   memo is unlimited.
20
 
 
21
 
Copyright Notice
22
 
 
23
 
   Copyright (C) The Internet Society (2000).  All Rights Reserved.
24
 
 
25
 
Abstract
26
 
 
27
 
   This document describes a protocol for carrying accounting
28
 
   information between a Network Access Server and a shared Accounting
29
 
   Server.
30
 
 
31
 
Implementation Note
32
 
 
33
 
   This memo documents the RADIUS Accounting protocol.  The early
34
 
   deployment of RADIUS Accounting was done using UDP port number 1646,
35
 
   which conflicts with the "sa-msg-port" service.  The officially
36
 
   assigned port number for RADIUS Accounting is 1813.
37
 
 
38
 
Table of Contents
39
 
 
40
 
   1.     Introduction ....................................    2
41
 
     1.1    Specification of Requirements .................    3
42
 
     1.2    Terminology ...................................    3
43
 
   2.     Operation .......................................    4
44
 
     2.1    Proxy .........................................    4
45
 
   3.     Packet Format ...................................    5
46
 
   4.     Packet Types ...................................     7
47
 
     4.1    Accounting-Request ............................    8
48
 
     4.2    Accounting-Response ...........................    9
49
 
   5.     Attributes ......................................   10
50
 
     5.1    Acct-Status-Type ..............................   12
51
 
     5.2    Acct-Delay-Time ...............................   13
52
 
     5.3    Acct-Input-Octets .............................   14
53
 
     5.4    Acct-Output-Octets ............................   15
54
 
     5.5    Acct-Session-Id ...............................   15
55
 
 
56
 
 
57
 
 
58
 
Rigney                       Informational                      [Page 1]
59
 
 
60
 
RFC 2866                   RADIUS Accounting                   June 2000
61
 
 
62
 
 
63
 
     5.6    Acct-Authentic ................................   16
64
 
     5.7    Acct-Session-Time .............................   17
65
 
     5.8    Acct-Input-Packets ............................   18
66
 
     5.9    Acct-Output-Packets ...........................   18
67
 
     5.10   Acct-Terminate-Cause ..........................   19
68
 
     5.11   Acct-Multi-Session-Id .........................   21
69
 
     5.12   Acct-Link-Count ...............................   22
70
 
     5.13   Table of Attributes ...........................   23
71
 
   6.     IANA Considerations .............................   25
72
 
   7.     Security Considerations .........................   25
73
 
   8.     Change Log ......................................   25
74
 
   9.     References ......................................   26
75
 
   10.    Acknowledgements ................................   26
76
 
   11.    Chair's Address .................................   26
77
 
   12.    Author's Address ................................   27
78
 
   13.    Full Copyright Statement ........................   28
79
 
 
80
 
1.  Introduction
81
 
 
82
 
   Managing dispersed serial line and modem pools for large numbers of
83
 
   users can create the need for significant administrative support.
84
 
   Since modem pools are by definition a link to the outside world, they
85
 
   require careful attention to security, authorization and accounting.
86
 
   This can be best achieved by managing a single "database" of users,
87
 
   which allows for authentication (verifying user name and password) as
88
 
   well as configuration information detailing the type of service to
89
 
   deliver to the user (for example, SLIP, PPP, telnet, rlogin).
90
 
 
91
 
   The RADIUS (Remote Authentication Dial In User Service) document [2]
92
 
   specifies the RADIUS protocol used for Authentication and
93
 
   Authorization.  This memo extends the use of the RADIUS protocol to
94
 
   cover delivery of accounting information from the Network Access
95
 
   Server (NAS) to a RADIUS accounting server.
96
 
 
97
 
   This document obsoletes RFC 2139 [1].  A summary of the changes
98
 
   between this document and RFC 2139 is available in the "Change Log"
99
 
   appendix.
100
 
 
101
 
   Key features of RADIUS Accounting are:
102
 
 
103
 
      Client/Server Model
104
 
 
105
 
          A Network Access Server (NAS) operates as a client of the
106
 
          RADIUS accounting server.  The client is responsible for
107
 
          passing user accounting information to a designated RADIUS
108
 
          accounting server.
109
 
 
110
 
 
111
 
 
112
 
 
113
 
 
114
 
Rigney                       Informational                      [Page 2]
115
 
 
116
 
RFC 2866                   RADIUS Accounting                   June 2000
117
 
 
118
 
 
119
 
          The RADIUS accounting server is responsible for receiving the
120
 
          accounting request and returning a response to the client
121
 
          indicating that it has successfully received the request.
122
 
 
123
 
          The RADIUS accounting server can act as a proxy client to
124
 
          other kinds of accounting servers.
125
 
 
126
 
      Network Security
127
 
 
128
 
          Transactions between the client and RADIUS accounting server
129
 
          are authenticated through the use of a shared secret, which is
130
 
          never sent over the network.
131
 
 
132
 
      Extensible Protocol
133
 
 
134
 
          All transactions are comprised of variable length Attribute-
135
 
          Length-Value 3-tuples.  New attribute values can be added
136
 
          without disturbing existing implementations of the protocol.
137
 
 
138
 
1.1.  Specification of Requirements
139
 
 
140
 
   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
141
 
   "SHOULD", "SHOULD NOT", "RECOMMENDED",  "MAY", and "OPTIONAL" in this
142
 
   document are to be interpreted as described in RFC 2119 [3].  These
143
 
   key words mean the same thing whether capitalized or not.
144
 
 
145
 
1.2.  Terminology
146
 
 
147
 
   This document uses the following terms:
148
 
 
149
 
   service   The NAS provides a service to the dial-in user, such as PPP
150
 
             or Telnet.
151
 
 
152
 
   session   Each service provided by the NAS to a dial-in user
153
 
             constitutes a session, with the beginning of the session
154
 
             defined as the point where service is first provided and
155
 
             the end of the session defined as the point where service
156
 
             is ended.  A user may have multiple sessions in parallel or
157
 
             series if the NAS supports that, with each session
158
 
             generating a separate start and stop accounting record with
159
 
             its own Acct-Session-Id.
160
 
 
161
 
   silently discard
162
 
             This means the implementation discards the packet without
163
 
             further processing.  The implementation SHOULD provide the
164
 
             capability of logging the error, including the contents of
165
 
             the silently discarded packet, and SHOULD record the event
166
 
             in a statistics counter.
167
 
 
168
 
 
169
 
 
170
 
Rigney                       Informational                      [Page 3]
171
 
 
172
 
RFC 2866                   RADIUS Accounting                   June 2000
173
 
 
174
 
 
175
 
2.  Operation
176
 
 
177
 
   When a client is configured to use RADIUS Accounting, at the start of
178
 
   service delivery it will generate an Accounting Start packet
179
 
   describing the type of service being delivered and the user it is
180
 
   being delivered to, and will send that to the RADIUS Accounting
181
 
   server, which will send back an acknowledgement that the packet has
182
 
   been received.  At the end of service delivery the client will
183
 
   generate an Accounting Stop packet describing the type of service
184
 
   that was delivered and optionally statistics such as elapsed time,
185
 
   input and output octets, or input and output packets.  It will send
186
 
   that to the RADIUS Accounting server, which will send back an
187
 
   acknowledgement that the packet has been received.
188
 
 
189
 
   The Accounting-Request (whether for Start or Stop) is submitted to
190
 
   the RADIUS accounting server via the network. It is recommended that
191
 
   the client continue attempting to send the Accounting-Request packet
192
 
   until it receives an acknowledgement, using some form of backoff.  If
193
 
   no response is returned within a length of time, the request is re-
194
 
   sent a number of times.  The client can also forward requests to an
195
 
   alternate server or servers in the event that the primary server is
196
 
   down or unreachable.  An alternate server can be used either after a
197
 
   number of tries to the primary server fail, or in a round-robin
198
 
   fashion.  Retry and fallback algorithms are the topic of current
199
 
   research and are not specified in detail in this document.
200
 
 
201
 
   The RADIUS accounting server MAY make requests of other servers in
202
 
   order to satisfy the request, in which case it acts as a client.
203
 
 
204
 
   If the RADIUS accounting server is unable to successfully record the
205
 
   accounting packet it MUST NOT send an Accounting-Response
206
 
   acknowledgment to the client.
207
 
 
208
 
2.1.  Proxy
209
 
 
210
 
   See the "RADIUS" RFC [2] for information on Proxy RADIUS.  Proxy
211
 
   Accounting RADIUS works the same way, as illustrated by the following
212
 
   example.
213
 
 
214
 
   1.    The NAS sends an accounting-request to the forwarding server.
215
 
 
216
 
   2.    The forwarding server logs the accounting-request (if desired),
217
 
         adds its Proxy-State (if desired) after any other Proxy-State
218
 
         attributes, updates the Request Authenticator, and forwards the
219
 
         request to the remote server.
220
 
 
221
 
 
222
 
 
223
 
 
224
 
 
225
 
 
226
 
Rigney                       Informational                      [Page 4]
227
 
 
228
 
RFC 2866                   RADIUS Accounting                   June 2000
229
 
 
230
 
 
231
 
   3.    The remote server logs the accounting-request (if desired),
232
 
         copies all Proxy-State attributes in order and unmodified from
233
 
         the request to the response packet, and sends the accounting-
234
 
         response to the forwarding server.
235
 
 
236
 
   4.    The forwarding server strips the last Proxy-State (if it added
237
 
         one in step 2), updates the Response Authenticator and sends
238
 
         the accounting-response to the NAS.
239
 
 
240
 
   A forwarding server MUST not modify existing Proxy-State or Class
241
 
   attributes present in the packet.
242
 
 
243
 
   A forwarding server may either perform its forwarding function in a
244
 
   pass through manner, where it sends retransmissions on as soon as it
245
 
   gets them, or it may take responsibility for retransmissions, for
246
 
   example in cases where the network link between forwarding and remote
247
 
   server has very different characteristics than the link between NAS
248
 
   and forwarding server.
249
 
 
250
 
   Extreme care should be used when implementing a proxy server that
251
 
   takes responsibility for retransmissions so that its retransmission
252
 
   policy is robust and scalable.
253
 
 
254
 
3.  Packet Format
255
 
 
256
 
   Exactly one RADIUS Accounting packet is encapsulated in the UDP Data
257
 
   field [4], where the UDP Destination Port field indicates 1813
258
 
   (decimal).
259
 
 
260
 
   When a reply is generated, the source and destination ports are
261
 
   reversed.
262
 
 
263
 
   This memo documents the RADIUS Accounting protocol.  The early
264
 
   deployment of RADIUS Accounting was done using UDP port number 1646,
265
 
   which conflicts with the "sa-msg-port" service.  The officially
266
 
   assigned port number for RADIUS Accounting is 1813.
267
 
 
268
 
   A summary of the RADIUS data format is shown below.  The fields are
269
 
   transmitted from left to right.
270
 
 
271
 
 
272
 
 
273
 
 
274
 
 
275
 
 
276
 
 
277
 
 
278
 
 
279
 
 
280
 
 
281
 
 
282
 
Rigney                       Informational                      [Page 5]
283
 
 
284
 
RFC 2866                   RADIUS Accounting                   June 2000
285
 
 
286
 
 
287
 
    0                   1                   2                   3
288
 
    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
289
 
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
290
 
   |     Code      |  Identifier   |            Length             |
291
 
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
292
 
   |                                                               |
293
 
   |                         Authenticator                         |
294
 
   |                                                               |
295
 
   |                                                               |
296
 
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
297
 
   |  Attributes ...
298
 
   +-+-+-+-+-+-+-+-+-+-+-+-+-
299
 
 
300
 
 
301
 
   Code
302
 
 
303
 
      The Code field is one octet, and identifies the type of RADIUS
304
 
      packet.  When a packet is received with an invalid Code field, it
305
 
      is silently discarded.
306
 
 
307
 
      RADIUS Accounting Codes (decimal) are assigned as follows:
308
 
 
309
 
           4       Accounting-Request
310
 
           5       Accounting-Response
311
 
 
312
 
   Identifier
313
 
 
314
 
      The Identifier field is one octet, and aids in matching requests
315
 
      and replies.  The RADIUS server can detect a duplicate request if
316
 
      it has the same client source IP address and source UDP port and
317
 
      Identifier within a short span of time.
318
 
 
319
 
   Length
320
 
 
321
 
      The Length field is two octets.  It indicates the length of the
322
 
      packet including the Code, Identifier, Length, Authenticator and
323
 
      Attribute fields.  Octets outside the range of the Length field
324
 
      MUST be treated as padding and ignored on reception.  If the
325
 
      packet is shorter than the Length field indicates, it MUST be
326
 
      silently discarded.  The minimum length is 20 and maximum length
327
 
      is 4095.
328
 
 
329
 
   Authenticator
330
 
 
331
 
      The Authenticator field is sixteen (16) octets.  The most
332
 
      significant octet is transmitted first.  This value is used to
333
 
      authenticate the messages between the client and RADIUS accounting
334
 
      server.
335
 
 
336
 
 
337
 
 
338
 
Rigney                       Informational                      [Page 6]
339
 
 
340
 
RFC 2866                   RADIUS Accounting                   June 2000
341
 
 
342
 
 
343
 
   Request Authenticator
344
 
 
345
 
      In Accounting-Request Packets, the Authenticator value is a 16
346
 
      octet MD5 [5] checksum, called the Request Authenticator.
347
 
 
348
 
      The NAS and RADIUS accounting server share a secret.  The Request
349
 
      Authenticator field in Accounting-Request packets contains a one-
350
 
      way MD5 hash calculated over a stream of octets consisting of the
351
 
      Code + Identifier + Length + 16 zero octets + request attributes +
352
 
      shared secret (where + indicates concatenation).  The 16 octet MD5
353
 
      hash value is stored in the Authenticator field of the
354
 
      Accounting-Request packet.
355
 
 
356
 
      Note that the Request Authenticator of an Accounting-Request can
357
 
      not be done the same way as the Request Authenticator of a RADIUS
358
 
      Access-Request, because there is no User-Password attribute in an
359
 
      Accounting-Request.
360
 
 
361
 
   Response Authenticator
362
 
 
363
 
      The Authenticator field in an Accounting-Response packet is called
364
 
      the Response Authenticator, and contains a one-way MD5 hash
365
 
      calculated over a stream of octets consisting of the Accounting-
366
 
      Response Code, Identifier, Length, the Request Authenticator field
367
 
      from the Accounting-Request packet being replied to, and the
368
 
      response attributes if any, followed by the shared secret.  The
369
 
      resulting 16 octet MD5 hash value is stored in the Authenticator
370
 
      field of the Accounting-Response packet.
371
 
 
372
 
   Attributes
373
 
 
374
 
      Attributes may have multiple instances, in such a case the order
375
 
      of attributes of the same type SHOULD be preserved.  The order of
376
 
      attributes of different types is not required to be preserved.
377
 
 
378
 
4.  Packet Types
379
 
 
380
 
   The RADIUS packet type is determined by the Code field in the first
381
 
   octet of the packet.
382
 
 
383
 
 
384
 
 
385
 
 
386
 
 
387
 
 
388
 
 
389
 
 
390
 
 
391
 
 
392
 
 
393
 
 
394
 
Rigney                       Informational                      [Page 7]
395
 
 
396
 
RFC 2866                   RADIUS Accounting                   June 2000
397
 
 
398
 
 
399
 
4.1.  Accounting-Request
400
 
 
401
 
   Description
402
 
 
403
 
      Accounting-Request packets are sent from a client (typically a
404
 
      Network Access Server or its proxy) to a RADIUS accounting server,
405
 
      and convey information used to provide accounting for a service
406
 
      provided to a user.  The client transmits a RADIUS packet with the
407
 
      Code field set to 4 (Accounting-Request).
408
 
 
409
 
      Upon receipt of an Accounting-Request, the server MUST transmit an
410
 
      Accounting-Response reply if it successfully records the
411
 
      accounting packet, and MUST NOT transmit any reply if it fails to
412
 
      record the accounting packet.
413
 
 
414
 
      Any attribute valid in a RADIUS Access-Request or Access-Accept
415
 
      packet is valid in a RADIUS Accounting-Request packet, except that
416
 
      the following attributes MUST NOT be present in an Accounting-
417
 
      Request:  User-Password, CHAP-Password, Reply-Message, State.
418
 
      Either NAS-IP-Address or NAS-Identifier MUST be present in a
419
 
      RADIUS Accounting-Request.  It SHOULD contain a NAS-Port or NAS-
420
 
      Port-Type attribute or both unless the service does not involve a
421
 
      port or the NAS does not distinguish among its ports.
422
 
 
423
 
      If the Accounting-Request packet includes a Framed-IP-Address,
424
 
      that attribute MUST contain the IP address of the user.  If the
425
 
      Access-Accept used the special values for Framed-IP-Address
426
 
      telling the NAS to assign or negotiate an IP address for the user,
427
 
      the Framed-IP-Address (if any) in the Accounting-Request MUST
428
 
      contain the actual IP address assigned or negotiated.
429
 
 
430
 
   A summary of the Accounting-Request packet format is shown below.
431
 
 
432
 
   The fields are transmitted from left to right.
433
 
 
434
 
    0                   1                   2                   3
435
 
    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
436
 
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
437
 
   |     Code      |  Identifier   |            Length             |
438
 
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
439
 
   |                                                               |
440
 
   |                     Request Authenticator                     |
441
 
   |                                                               |
442
 
   |                                                               |
443
 
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
444
 
   |  Attributes ...
445
 
   +-+-+-+-+-+-+-+-+-+-+-+-+-
446
 
 
447
 
 
448
 
 
449
 
 
450
 
Rigney                       Informational                      [Page 8]
451
 
 
452
 
RFC 2866                   RADIUS Accounting                   June 2000
453
 
 
454
 
 
455
 
   Code
456
 
 
457
 
      4 for Accounting-Request.
458
 
 
459
 
   Identifier
460
 
 
461
 
      The Identifier field MUST be changed whenever the content of the
462
 
      Attributes field changes, and whenever a valid reply has been
463
 
      received for a previous request.  For retransmissions where the
464
 
      contents are identical, the Identifier MUST remain unchanged.
465
 
 
466
 
      Note that if Acct-Delay-Time is included in the attributes of an
467
 
      Accounting-Request then the Acct-Delay-Time value will be updated
468
 
      when the packet is retransmitted, changing the content of the
469
 
      Attributes field and requiring a new Identifier and Request
470
 
      Authenticator.
471
 
 
472
 
   Request Authenticator
473
 
 
474
 
      The Request Authenticator of an Accounting-Request contains a 16-octet
475
 
      MD5 hash value calculated according to the method described in
476
 
      "Request Authenticator" above.
477
 
 
478
 
   Attributes
479
 
 
480
 
      The Attributes field is variable in length, and contains a list of
481
 
      Attributes.
482
 
 
483
 
4.2.  Accounting-Response
484
 
 
485
 
   Description
486
 
 
487
 
      Accounting-Response packets are sent by the RADIUS accounting
488
 
      server to the client to acknowledge that the Accounting-Request
489
 
      has been received and recorded successfully.  If the Accounting-
490
 
      Request was recorded successfully then the RADIUS accounting
491
 
      server MUST transmit a packet with the Code field set to 5
492
 
      (Accounting-Response).  On reception of an Accounting-Response by
493
 
      the client, the Identifier field is matched with a pending
494
 
      Accounting-Request.  The Response Authenticator field MUST contain
495
 
      the correct response for the pending Accounting-Request.  Invalid
496
 
      packets are silently discarded.
497
 
 
498
 
      A RADIUS Accounting-Response is not required to have any
499
 
      attributes in it.
500
 
 
501
 
   A summary of the Accounting-Response packet format is shown below.
502
 
   The fields are transmitted from left to right.
503
 
 
504
 
 
505
 
 
506
 
Rigney                       Informational                      [Page 9]
507
 
 
508
 
RFC 2866                   RADIUS Accounting                   June 2000
509
 
 
510
 
 
511
 
    0                   1                   2                   3
512
 
    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
513
 
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
514
 
   |     Code      |  Identifier   |            Length             |
515
 
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
516
 
   |                                                               |
517
 
   |                     Response Authenticator                    |
518
 
   |                                                               |
519
 
   |                                                               |
520
 
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
521
 
   |  Attributes ...
522
 
   +-+-+-+-+-+-+-+-+-+-+-+-+-
523
 
 
524
 
   Code
525
 
 
526
 
      5 for Accounting-Response.
527
 
 
528
 
   Identifier
529
 
 
530
 
      The Identifier field is a copy of the Identifier field of the
531
 
      Accounting-Request which caused this Accounting-Response.
532
 
 
533
 
   Response Authenticator
534
 
 
535
 
      The Response Authenticator of an Accounting-Response contains a
536
 
      16-octet MD5 hash value calculated according to the method
537
 
      described in "Response Authenticator" above.
538
 
 
539
 
   Attributes
540
 
 
541
 
      The Attributes field is variable in length, and contains a list of
542
 
      zero or more Attributes.
543
 
 
544
 
5.  Attributes
545
 
 
546
 
   RADIUS Attributes carry the specific authentication, authorization
547
 
   and accounting details for the request and response.
548
 
 
549
 
   Some attributes MAY be included more than once.  The effect of this
550
 
   is attribute specific, and is specified in each attribute
551
 
   description.
552
 
 
553
 
   The end of the list of attributes is indicated by the Length of the
554
 
   RADIUS packet.
555
 
 
556
 
   A summary of the attribute format is shown below.  The fields are
557
 
   transmitted from left to right.
558
 
 
559
 
 
560
 
 
561
 
 
562
 
Rigney                       Informational                     [Page 10]
563
 
 
564
 
RFC 2866                   RADIUS Accounting                   June 2000
565
 
 
566
 
 
567
 
    0                   1                   2
568
 
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3
569
 
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
570
 
   |     Type      |    Length     |  Value ...
571
 
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
572
 
 
573
 
 
574
 
   Type
575
 
 
576
 
      The Type field is one octet.  Up-to-date values of the RADIUS Type
577
 
      field are specified in the most recent "Assigned Numbers" RFC [6].
578
 
      Values 192-223 are reserved for experimental use, values 224-240
579
 
      are reserved for implementation-specific use, and values 241-255
580
 
      are reserved and should not be used.  This specification concerns
581
 
      the following values:
582
 
 
583
 
           1-39   (refer to RADIUS document [2])
584
 
          40      Acct-Status-Type
585
 
          41      Acct-Delay-Time
586
 
          42      Acct-Input-Octets
587
 
          43      Acct-Output-Octets
588
 
          44      Acct-Session-Id
589
 
          45      Acct-Authentic
590
 
          46      Acct-Session-Time
591
 
          47      Acct-Input-Packets
592
 
          48      Acct-Output-Packets
593
 
          49      Acct-Terminate-Cause
594
 
          50      Acct-Multi-Session-Id
595
 
          51      Acct-Link-Count
596
 
          60+     (refer to RADIUS document [2])
597
 
 
598
 
   Length
599
 
 
600
 
      The Length field is one octet, and indicates the length of this
601
 
      attribute including the Type, Length and Value fields.  If an
602
 
      attribute is received in an Accounting-Request with an invalid
603
 
      Length, the entire request MUST be silently discarded.
604
 
 
605
 
   Value
606
 
 
607
 
      The Value field is zero or more octets and contains information
608
 
      specific to the attribute.  The format and length of the Value
609
 
      field is determined by the Type and Length fields.
610
 
 
611
 
      Note that none of the types in RADIUS terminate with a NUL (hex
612
 
      00).  In particular, types "text" and "string" in RADIUS do not
613
 
      terminate with a NUL (hex 00).  The Attribute has a length field
614
 
      and does not use a terminator.  Text contains UTF-8 encoded 10646
615
 
 
616
 
 
617
 
 
618
 
Rigney                       Informational                     [Page 11]
619
 
 
620
 
RFC 2866                   RADIUS Accounting                   June 2000
621
 
 
622
 
 
623
 
      [7] characters and String contains 8-bit binary data.  Servers and
624
 
      servers and clients MUST be able to deal with embedded nulls.
625
 
      RADIUS implementers using C are cautioned not to use strcpy() when
626
 
      handling strings.
627
 
 
628
 
      The format of the value field is one of five data types.  Note
629
 
      that type "text" is a subset of type "string."
630
 
 
631
 
      text     1-253 octets containing UTF-8 encoded 10646 [7]
632
 
               characters.  Text of length zero (0) MUST NOT be sent;
633
 
               omit the entire attribute instead.
634
 
 
635
 
      string   1-253 octets containing binary data (values 0 through 255
636
 
               decimal, inclusive).  Strings of length zero (0) MUST NOT
637
 
               be sent; omit the entire attribute instead.
638
 
 
639
 
      address  32 bit value, most significant octet first.
640
 
 
641
 
      integer  32 bit unsigned value, most significant octet first.
642
 
 
643
 
      time     32 bit unsigned value, most significant octet first --
644
 
               seconds since 00:00:00 UTC, January 1, 1970.  The
645
 
               standard Attributes do not use this data type but it is
646
 
               presented here for possible use in future attributes.
647
 
 
648
 
5.1.  Acct-Status-Type
649
 
 
650
 
   Description
651
 
 
652
 
      This attribute indicates whether this Accounting-Request marks the
653
 
      beginning of the user service (Start) or the end (Stop).
654
 
 
655
 
      It MAY be used by the client to mark the start of accounting (for
656
 
      example, upon booting) by specifying Accounting-On and to mark the
657
 
      end of accounting (for example, just before a scheduled reboot) by
658
 
      specifying Accounting-Off.
659
 
 
660
 
   A summary of the Acct-Status-Type attribute format is shown below.
661
 
   The fields are transmitted from left to right.
662
 
 
663
 
    0                   1                   2                   3
664
 
    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
665
 
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
666
 
   |     Type      |    Length     |             Value
667
 
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
668
 
              Value (cont)         |
669
 
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
670
 
 
671
 
 
672
 
 
673
 
 
674
 
Rigney                       Informational                     [Page 12]
675
 
 
676
 
RFC 2866                   RADIUS Accounting                   June 2000
677
 
 
678
 
 
679
 
   Type
680
 
 
681
 
      40 for Acct-Status-Type.
682
 
 
683
 
   Length
684
 
 
685
 
      6
686
 
 
687
 
   Value
688
 
 
689
 
      The Value field is four octets.
690
 
 
691
 
       1      Start
692
 
       2      Stop
693
 
       3      Interim-Update
694
 
       7      Accounting-On
695
 
       8      Accounting-Off
696
 
       9-14   Reserved for Tunnel Accounting
697
 
      15      Reserved for Failed
698
 
 
699
 
5.2.  Acct-Delay-Time
700
 
 
701
 
   Description
702
 
 
703
 
      This attribute indicates how many seconds the client has been
704
 
      trying to send this record for, and can be subtracted from the
705
 
      time of arrival on the server to find the approximate time of the
706
 
      event generating this Accounting-Request.  (Network transit time
707
 
      is ignored.)
708
 
 
709
 
      Note that changing the Acct-Delay-Time causes the Identifier to
710
 
      change; see the discussion under Identifier above.
711
 
 
712
 
   A summary of the Acct-Delay-Time attribute format is shown below.
713
 
   The fields are transmitted from left to right.
714
 
 
715
 
    0                   1                   2                   3
716
 
    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
717
 
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
718
 
   |     Type      |    Length     |             Value
719
 
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
720
 
              Value (cont)         |
721
 
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
722
 
 
723
 
 
724
 
 
725
 
 
726
 
 
727
 
 
728
 
 
729
 
 
730
 
Rigney                       Informational                     [Page 13]
731
 
 
732
 
RFC 2866                   RADIUS Accounting                   June 2000
733
 
 
734
 
 
735
 
   Type
736
 
 
737
 
      41 for Acct-Delay-Time.
738
 
 
739
 
   Length
740
 
 
741
 
      6
742
 
 
743
 
   Value
744
 
 
745
 
      The Value field is four octets.
746
 
 
747
 
5.3.  Acct-Input-Octets
748
 
 
749
 
   Description
750
 
 
751
 
      This attribute indicates how many octets have been received from
752
 
      the port over the course of this service being provided, and can
753
 
      only be present in Accounting-Request records where the Acct-
754
 
      Status-Type is set to Stop.
755
 
 
756
 
   A summary of the Acct-Input-Octets attribute format is shown below.
757
 
   The fields are transmitted from left to right.
758
 
 
759
 
    0                   1                   2                   3
760
 
    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
761
 
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
762
 
   |     Type      |    Length     |             Value
763
 
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
764
 
              Value (cont)         |
765
 
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
766
 
 
767
 
   Type
768
 
 
769
 
      42 for Acct-Input-Octets.
770
 
 
771
 
   Length
772
 
 
773
 
      6
774
 
 
775
 
   Value
776
 
 
777
 
      The Value field is four octets.
778
 
 
779
 
 
780
 
 
781
 
 
782
 
 
783
 
 
784
 
 
785
 
 
786
 
Rigney                       Informational                     [Page 14]
787
 
 
788
 
RFC 2866                   RADIUS Accounting                   June 2000
789
 
 
790
 
 
791
 
5.4.  Acct-Output-Octets
792
 
 
793
 
   Description
794
 
 
795
 
      This attribute indicates how many octets have been sent to the
796
 
      port in the course of delivering this service, and can only be
797
 
      present in Accounting-Request records where the Acct-Status-Type
798
 
      is set to Stop.
799
 
 
800
 
   A summary of the Acct-Output-Octets attribute format is shown below.
801
 
   The fields are transmitted from left to right.
802
 
 
803
 
    0                   1                   2                   3
804
 
    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
805
 
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
806
 
   |     Type      |    Length     |             Value
807
 
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
808
 
              Value (cont)         |
809
 
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
810
 
 
811
 
   Type
812
 
 
813
 
      43 for Acct-Output-Octets.
814
 
 
815
 
   Length
816
 
 
817
 
      6
818
 
 
819
 
   Value
820
 
 
821
 
      The Value field is four octets.
822
 
 
823
 
5.5.  Acct-Session-Id
824
 
 
825
 
   Description
826
 
 
827
 
      This attribute is a unique Accounting ID to make it easy to match
828
 
      start and stop records in a log file.  The start and stop records
829
 
      for a given session MUST have the same Acct-Session-Id.  An
830
 
      Accounting-Request packet MUST have an Acct-Session-Id.  An
831
 
      Access-Request packet MAY have an Acct-Session-Id; if it does,
832
 
      then the NAS MUST use the same Acct-Session-Id in the Accounting-
833
 
      Request packets for that session.
834
 
 
835
 
      The Acct-Session-Id SHOULD contain UTF-8 encoded 10646 [7]
836
 
      characters.
837
 
 
838
 
 
839
 
 
840
 
 
841
 
 
842
 
Rigney                       Informational                     [Page 15]
843
 
 
844
 
RFC 2866                   RADIUS Accounting                   June 2000
845
 
 
846
 
 
847
 
      For example, one implementation uses a string with an 8-digit
848
 
      upper case hexadecimal number, the first two digits increment on
849
 
      each reboot (wrapping every 256 reboots) and the next 6 digits
850
 
      counting from 0 for the first person logging in after a reboot up
851
 
      to 2^24-1, about 16 million.  Other encodings are possible.
852
 
 
853
 
   A summary of the Acct-Session-Id attribute format is shown below.
854
 
   The fields are transmitted from left to right.
855
 
 
856
 
    0                   1                   2
857
 
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3
858
 
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
859
 
   |     Type      |    Length     |  Text ...
860
 
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
861
 
 
862
 
   Type
863
 
 
864
 
      44 for Acct-Session-Id.
865
 
 
866
 
   Length
867
 
 
868
 
      >= 3
869
 
 
870
 
   String
871
 
 
872
 
      The String field SHOULD be a string of UTF-8 encoded 10646 [7]
873
 
      characters.
874
 
 
875
 
5.6.  Acct-Authentic
876
 
 
877
 
   Description
878
 
 
879
 
      This attribute MAY be included in an Accounting-Request to
880
 
      indicate how the user was authenticated, whether by RADIUS, the
881
 
      NAS itself, or another remote authentication protocol.  Users who
882
 
      are delivered service without being authenticated SHOULD NOT
883
 
      generate Accounting records.
884
 
 
885
 
   A summary of the Acct-Authentic attribute format is shown below.  The
886
 
   fields are transmitted from left to right.
887
 
 
888
 
    0                   1                   2                   3
889
 
    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
890
 
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
891
 
   |     Type      |    Length     |             Value
892
 
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
893
 
              Value (cont)         |
894
 
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
895
 
 
896
 
 
897
 
 
898
 
Rigney                       Informational                     [Page 16]
899
 
 
900
 
RFC 2866                   RADIUS Accounting                   June 2000
901
 
 
902
 
 
903
 
   Type
904
 
 
905
 
      45 for Acct-Authentic.
906
 
 
907
 
   Length
908
 
 
909
 
      6
910
 
 
911
 
   Value
912
 
 
913
 
      The Value field is four octets.
914
 
 
915
 
      1      RADIUS
916
 
      2      Local
917
 
      3      Remote
918
 
 
919
 
5.7.  Acct-Session-Time
920
 
 
921
 
   Description
922
 
 
923
 
      This attribute indicates how many seconds the user has received
924
 
      service for, and can only be present in Accounting-Request records
925
 
      where the Acct-Status-Type is set to Stop.
926
 
 
927
 
   A summary of the Acct-Session-Time attribute format is shown below.
928
 
   The fields are transmitted from left to right.
929
 
 
930
 
    0                   1                   2                   3
931
 
    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
932
 
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
933
 
   |     Type      |    Length     |             Value
934
 
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
935
 
              Value (cont)         |
936
 
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
937
 
 
938
 
   Type
939
 
 
940
 
      46 for Acct-Session-Time.
941
 
 
942
 
   Length
943
 
 
944
 
      6
945
 
 
946
 
   Value
947
 
 
948
 
      The Value field is four octets.
949
 
 
950
 
 
951
 
 
952
 
 
953
 
 
954
 
Rigney                       Informational                     [Page 17]
955
 
 
956
 
RFC 2866                   RADIUS Accounting                   June 2000
957
 
 
958
 
 
959
 
5.8.  Acct-Input-Packets
960
 
 
961
 
   Description
962
 
 
963
 
      This attribute indicates how many packets have been received from
964
 
      the port over the course of this service being provided to a
965
 
      Framed User, and can only be present in Accounting-Request records
966
 
      where the Acct-Status-Type is set to Stop.
967
 
 
968
 
   A summary of the Acct-Input-packets attribute format is shown below.
969
 
   The fields are transmitted from left to right.
970
 
 
971
 
    0                   1                   2                   3
972
 
    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
973
 
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
974
 
   |     Type      |    Length     |             Value
975
 
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
976
 
              Value (cont)         |
977
 
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
978
 
 
979
 
   Type
980
 
 
981
 
      47 for Acct-Input-Packets.
982
 
 
983
 
   Length
984
 
 
985
 
      6
986
 
 
987
 
   Value
988
 
 
989
 
      The Value field is four octets.
990
 
 
991
 
5.9.  Acct-Output-Packets
992
 
 
993
 
   Description
994
 
 
995
 
      This attribute indicates how many packets have been sent to the
996
 
      port in the course of delivering this service to a Framed User,
997
 
      and can only be present in Accounting-Request records where the
998
 
      Acct-Status-Type is set to Stop.
999
 
 
1000
 
   A summary of the Acct-Output-Packets attribute format is shown below.
1001
 
   The fields are transmitted from left to right.
1002
 
 
1003
 
 
1004
 
 
1005
 
 
1006
 
 
1007
 
 
1008
 
 
1009
 
 
1010
 
Rigney                       Informational                     [Page 18]
1011
 
 
1012
 
RFC 2866                   RADIUS Accounting                   June 2000
1013
 
 
1014
 
 
1015
 
    0                   1                   2                   3
1016
 
    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
1017
 
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
1018
 
   |     Type      |    Length     |             Value
1019
 
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
1020
 
              Value (cont)         |
1021
 
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
1022
 
 
1023
 
   Type
1024
 
 
1025
 
      48 for Acct-Output-Packets.
1026
 
 
1027
 
   Length
1028
 
 
1029
 
      6
1030
 
 
1031
 
   Value
1032
 
 
1033
 
      The Value field is four octets.
1034
 
 
1035
 
5.10.  Acct-Terminate-Cause
1036
 
 
1037
 
   Description
1038
 
 
1039
 
      This attribute indicates how the session was terminated, and can
1040
 
      only be present in Accounting-Request records where the Acct-
1041
 
      Status-Type is set to Stop.
1042
 
 
1043
 
   A summary of the Acct-Terminate-Cause attribute format is shown
1044
 
   below.  The fields are transmitted from left to right.
1045
 
 
1046
 
    0                   1                   2                   3
1047
 
    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
1048
 
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
1049
 
   |     Type      |    Length     |             Value
1050
 
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
1051
 
              Value (cont)         |
1052
 
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
1053
 
 
1054
 
 
1055
 
 
1056
 
 
1057
 
 
1058
 
 
1059
 
 
1060
 
 
1061
 
 
1062
 
 
1063
 
 
1064
 
 
1065
 
 
1066
 
Rigney                       Informational                     [Page 19]
1067
 
 
1068
 
RFC 2866                   RADIUS Accounting                   June 2000
1069
 
 
1070
 
 
1071
 
   Type
1072
 
 
1073
 
      49 for Acct-Terminate-Cause
1074
 
 
1075
 
   Length
1076
 
 
1077
 
      6
1078
 
 
1079
 
   Value
1080
 
 
1081
 
      The Value field is four octets, containing an integer specifying
1082
 
      the cause of session termination, as follows:
1083
 
 
1084
 
      1       User Request
1085
 
      2       Lost Carrier
1086
 
      3       Lost Service
1087
 
      4       Idle Timeout
1088
 
      5       Session Timeout
1089
 
      6       Admin Reset
1090
 
      7       Admin Reboot
1091
 
      8       Port Error
1092
 
      9       NAS Error
1093
 
      10      NAS Request
1094
 
      11      NAS Reboot
1095
 
      12      Port Unneeded
1096
 
      13      Port Preempted
1097
 
      14      Port Suspended
1098
 
      15      Service Unavailable
1099
 
      16      Callback
1100
 
      17      User Error
1101
 
      18      Host Request
1102
 
 
1103
 
      The termination causes are as follows:
1104
 
 
1105
 
      User Request         User requested termination of service, for
1106
 
                           example with LCP Terminate or by logging out.
1107
 
 
1108
 
      Lost Carrier         DCD was dropped on the port.
1109
 
 
1110
 
      Lost Service         Service can no longer be provided; for
1111
 
                           example, user's connection to a host was
1112
 
                           interrupted.
1113
 
 
1114
 
      Idle Timeout         Idle timer expired.
1115
 
 
1116
 
      Session Timeout      Maximum session length timer expired.
1117
 
 
1118
 
      Admin Reset          Administrator reset the port or session.
1119
 
 
1120
 
 
1121
 
 
1122
 
Rigney                       Informational                     [Page 20]
1123
 
 
1124
 
RFC 2866                   RADIUS Accounting                   June 2000
1125
 
 
1126
 
 
1127
 
      Admin Reboot         Administrator is ending service on the NAS,
1128
 
                           for example prior to rebooting the NAS.
1129
 
 
1130
 
      Port Error           NAS detected an error on the port which
1131
 
                           required ending the session.
1132
 
 
1133
 
      NAS Error            NAS detected some error (other than on the
1134
 
                           port) which required ending the session.
1135
 
 
1136
 
      NAS Request          NAS ended session for a non-error reason not
1137
 
                           otherwise listed here.
1138
 
 
1139
 
      NAS Reboot           The NAS ended the session in order to reboot
1140
 
                           non-administratively ("crash").
1141
 
 
1142
 
      Port Unneeded        NAS ended session because resource usage fell
1143
 
                           below low-water mark (for example, if a
1144
 
                           bandwidth-on-demand algorithm decided that
1145
 
                           the port was no longer needed).
1146
 
 
1147
 
      Port Preempted       NAS ended session in order to allocate the
1148
 
                           port to a higher priority use.
1149
 
 
1150
 
      Port Suspended       NAS ended session to suspend a virtual
1151
 
                           session.
1152
 
 
1153
 
      Service Unavailable  NAS was unable to provide requested service.
1154
 
 
1155
 
      Callback             NAS is terminating current session in order
1156
 
                           to perform callback for a new session.
1157
 
 
1158
 
      User Error           Input from user is in error, causing
1159
 
                           termination of session.
1160
 
 
1161
 
      Host Request         Login Host terminated session normally.
1162
 
 
1163
 
5.11.  Acct-Multi-Session-Id
1164
 
 
1165
 
   Description
1166
 
 
1167
 
      This attribute is a unique Accounting ID to make it easy to link
1168
 
      together multiple related sessions in a log file.  Each session
1169
 
      linked together would have a unique Acct-Session-Id but the same
1170
 
      Acct-Multi-Session-Id.  It is strongly recommended that the Acct-
1171
 
      Multi-Session-Id contain UTF-8 encoded 10646 [7] characters.
1172
 
 
1173
 
   A summary of the Acct-Session-Id attribute format is shown below.
1174
 
   The fields are transmitted from left to right.
1175
 
 
1176
 
 
1177
 
 
1178
 
Rigney                       Informational                     [Page 21]
1179
 
 
1180
 
RFC 2866                   RADIUS Accounting                   June 2000
1181
 
 
1182
 
 
1183
 
    0                   1                   2
1184
 
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3
1185
 
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
1186
 
   |     Type      |    Length     |  String ...
1187
 
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
1188
 
 
1189
 
   Type
1190
 
 
1191
 
   50 for Acct-Multi-Session-Id.
1192
 
 
1193
 
   Length
1194
 
 
1195
 
   >= 3
1196
 
 
1197
 
   String
1198
 
 
1199
 
   The String field SHOULD contain UTF-8 encoded 10646 [7] characters.
1200
 
 
1201
 
5.12.  Acct-Link-Count
1202
 
 
1203
 
   Description
1204
 
 
1205
 
   This attribute gives the count of links which are known to have been
1206
 
   in a given multilink session at the time the accounting record is
1207
 
   generated.  The NAS MAY include the Acct-Link-Count attribute in any
1208
 
   Accounting-Request which might have multiple links.
1209
 
 
1210
 
   A summary of the Acct-Link-Count attribute format is show below.  The
1211
 
   fields are transmitted from left to right.
1212
 
 
1213
 
    0                   1                   2                   3
1214
 
    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
1215
 
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
1216
 
   |     Type      |    Length     |             Value
1217
 
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
1218
 
              Value (cont)         |
1219
 
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
1220
 
 
1221
 
 
1222
 
 
1223
 
 
1224
 
 
1225
 
 
1226
 
 
1227
 
 
1228
 
 
1229
 
 
1230
 
 
1231
 
 
1232
 
 
1233
 
 
1234
 
Rigney                       Informational                     [Page 22]
1235
 
 
1236
 
RFC 2866                   RADIUS Accounting                   June 2000
1237
 
 
1238
 
 
1239
 
   Type
1240
 
 
1241
 
      51 for Acct-Link-Count.
1242
 
 
1243
 
   Length
1244
 
 
1245
 
      6
1246
 
 
1247
 
   Value
1248
 
 
1249
 
      The Value field is four octets, and contains the number of links
1250
 
      seen so far in this Multilink Session.
1251
 
 
1252
 
      It may be used to make it easier for an accounting server to know
1253
 
      when it has all the records for a given Multilink session.  When
1254
 
      the number of Accounting-Requests received with Acct-Status-Type =
1255
 
      Stop and the same Acct-Multi-Session-Id and unique Acct-Session-
1256
 
      Id's equals the largest value of Acct-Link-Count seen in those
1257
 
      Accounting-Requests, all Stop Accounting-Requests for that
1258
 
      Multilink Session have been received.
1259
 
 
1260
 
      An example showing 8 Accounting-Requests should make things
1261
 
      clearer.  For clarity only the relevant attributes are shown, but
1262
 
      additional attributes containing accounting information will also
1263
 
      be present in the Accounting-Request.
1264
 
 
1265
 
      Multi-Session-Id   Session-Id   Status-Type   Link-Count
1266
 
      "10"               "10"         Start         1
1267
 
      "10"               "11"         Start         2
1268
 
      "10"               "11"         Stop          2
1269
 
      "10"               "12"         Start         3
1270
 
      "10"               "13"         Start         4
1271
 
      "10"               "12"         Stop          4
1272
 
      "10"               "13"         Stop          4
1273
 
      "10"               "10"         Stop          4
1274
 
 
1275
 
5.13.  Table of Attributes
1276
 
 
1277
 
   The following table provides a guide to which attributes may be found
1278
 
   in Accounting-Request packets.  No attributes should be found in
1279
 
   Accounting-Response packets except Proxy-State and possibly Vendor-
1280
 
   Specific.
1281
 
 
1282
 
 
1283
 
                      #     Attribute
1284
 
                      0-1   User-Name
1285
 
                      0     User-Password
1286
 
                      0     CHAP-Password
1287
 
 
1288
 
 
1289
 
 
1290
 
Rigney                       Informational                     [Page 23]
1291
 
 
1292
 
RFC 2866                   RADIUS Accounting                   June 2000
1293
 
 
1294
 
 
1295
 
                      0-1   NAS-IP-Address [Note 1]
1296
 
                      0-1   NAS-Port
1297
 
                      0-1   Service-Type
1298
 
                      0-1   Framed-Protocol
1299
 
                      0-1   Framed-IP-Address
1300
 
                      0-1   Framed-IP-Netmask
1301
 
                      0-1   Framed-Routing
1302
 
                      0+    Filter-Id
1303
 
                      0-1   Framed-MTU
1304
 
                      0+    Framed-Compression
1305
 
                      0+    Login-IP-Host
1306
 
                      0-1   Login-Service
1307
 
                      0-1   Login-TCP-Port
1308
 
                      0     Reply-Message
1309
 
                      0-1   Callback-Number
1310
 
                      0-1   Callback-Id
1311
 
                      0+    Framed-Route
1312
 
                      0-1   Framed-IPX-Network
1313
 
                      0     State
1314
 
                      0+    Class
1315
 
                      0+    Vendor-Specific
1316
 
                      0-1   Session-Timeout
1317
 
                      0-1   Idle-Timeout
1318
 
                      0-1   Termination-Action
1319
 
                      0-1   Called-Station-Id
1320
 
                      0-1   Calling-Station-Id
1321
 
                      0-1   NAS-Identifier [Note 1]
1322
 
                      0+    Proxy-State
1323
 
                      0-1   Login-LAT-Service
1324
 
                      0-1   Login-LAT-Node
1325
 
                      0-1   Login-LAT-Group
1326
 
                      0-1   Framed-AppleTalk-Link
1327
 
                      0-1   Framed-AppleTalk-Network
1328
 
                      0-1   Framed-AppleTalk-Zone
1329
 
                      1     Acct-Status-Type
1330
 
                      0-1   Acct-Delay-Time
1331
 
                      0-1   Acct-Input-Octets
1332
 
                      0-1   Acct-Output-Octets
1333
 
                      1     Acct-Session-Id
1334
 
                      0-1   Acct-Authentic
1335
 
                      0-1   Acct-Session-Time
1336
 
                      0-1   Acct-Input-Packets
1337
 
                      0-1   Acct-Output-Packets
1338
 
                      0-1   Acct-Terminate-Cause
1339
 
                      0+    Acct-Multi-Session-Id
1340
 
                      0+    Acct-Link-Count
1341
 
                      0     CHAP-Challenge
1342
 
 
1343
 
 
1344
 
 
1345
 
 
1346
 
Rigney                       Informational                     [Page 24]
1347
 
 
1348
 
RFC 2866                   RADIUS Accounting                   June 2000
1349
 
 
1350
 
 
1351
 
                      0-1   NAS-Port-Type
1352
 
                      0-1   Port-Limit
1353
 
                      0-1   Login-LAT-Port
1354
 
 
1355
 
   [Note 1] An Accounting-Request MUST contain either a NAS-IP-Address
1356
 
   or a NAS-Identifier (or both).
1357
 
 
1358
 
   The following table defines the above table entries.
1359
 
 
1360
 
      0     This attribute MUST NOT be present
1361
 
      0+    Zero or more instances of this attribute MAY be present.
1362
 
      0-1   Zero or one instance of this attribute MAY be present.
1363
 
      1     Exactly one instance of this attribute MUST be present.
1364
 
 
1365
 
6.  IANA Considerations
1366
 
 
1367
 
   The Packet Type Codes, Attribute Types, and Attribute Values defined
1368
 
   in this document are registered by the Internet Assigned Numbers
1369
 
   Authority (IANA) from the RADIUS name spaces as described in the
1370
 
   "IANA Considerations" section of RFC 2865 [2], in accordance with BCP
1371
 
   26 [8].
1372
 
 
1373
 
7.  Security Considerations
1374
 
 
1375
 
   Security issues are discussed in sections concerning the
1376
 
   authenticator included in accounting requests and responses, using a
1377
 
   shared secret which is never sent over the network.
1378
 
 
1379
 
8.  Change Log
1380
 
 
1381
 
   US-ASCII replaced by UTF-8.
1382
 
 
1383
 
   Added notes on Proxy.
1384
 
 
1385
 
   Framed-IP-Address should contain the actual IP address of the user.
1386
 
 
1387
 
   If Acct-Session-ID was sent in an access-request, it must be used in
1388
 
   the accounting-request for that session.
1389
 
 
1390
 
   New values added to Acct-Status-Type.
1391
 
 
1392
 
   Added an IANA Considerations section.
1393
 
 
1394
 
   Updated references.
1395
 
 
1396
 
   Text strings identified as a subset of string, to clarify use of
1397
 
   UTF-8.
1398
 
 
1399
 
 
1400
 
 
1401
 
 
1402
 
Rigney                       Informational                     [Page 25]
1403
 
 
1404
 
RFC 2866                   RADIUS Accounting                   June 2000
1405
 
 
1406
 
 
1407
 
9.  References
1408
 
 
1409
 
   [1]  Rigney, C., "RADIUS Accounting", RFC 2139, April 1997.
1410
 
 
1411
 
   [2]  Rigney, C., Willens, S., Rubens, A. and W. Simpson, "Remote
1412
 
        Authentication Dial In User Service (RADIUS)", RFC 2865, June
1413
 
        2000.
1414
 
 
1415
 
   [3]  Bradner, S., "Key words for use in RFCs to Indicate Requirement
1416
 
        Levels", BCP 14, RFC 2119, March, 1997.
1417
 
 
1418
 
   [4]  Postel, J., "User Datagram Protocol", STD 6, RFC 768, August
1419
 
        1980.
1420
 
 
1421
 
   [5]  Rivest, R. and S. Dusse, "The MD5 Message-Digest Algorithm", RFC
1422
 
        1321, April 1992.
1423
 
 
1424
 
   [6]  Reynolds, J. and J. Postel, "Assigned Numbers", STD 2, RFC 1700,
1425
 
        October 1994.
1426
 
 
1427
 
   [7]  Yergeau, F., "UTF-8, a transformation format of ISO 10646", RFC
1428
 
        2279, January 1998.
1429
 
 
1430
 
   [8]  Alvestrand, H. and T. Narten, "Guidelines for Writing an IANA
1431
 
        Considerations Section in RFCs", BCP 26, RFC 2434, October 1998.
1432
 
 
1433
 
10.  Acknowledgements
1434
 
 
1435
 
   RADIUS and RADIUS Accounting were originally developed by Steve
1436
 
   Willens of Livingston Enterprises for their PortMaster series of
1437
 
   Network Access Servers.
1438
 
 
1439
 
11.  Chair's Address
1440
 
 
1441
 
   The RADIUS working group can be contacted via the current chair:
1442
 
 
1443
 
   Carl Rigney
1444
 
   Livingston Enterprises
1445
 
   4464 Willow Road
1446
 
   Pleasanton, California  94588
1447
 
 
1448
 
   Phone: +1 925 737 2100
1449
 
   EMail: cdr@telemancy.com
1450
 
 
1451
 
 
1452
 
 
1453
 
 
1454
 
 
1455
 
 
1456
 
 
1457
 
 
1458
 
Rigney                       Informational                     [Page 26]
1459
 
 
1460
 
RFC 2866                   RADIUS Accounting                   June 2000
1461
 
 
1462
 
 
1463
 
12.  Author's Address
1464
 
 
1465
 
   Questions about this memo can also be directed to:
1466
 
 
1467
 
   Carl Rigney
1468
 
   Livingston Enterprises
1469
 
   4464 Willow Road
1470
 
   Pleasanton, California  94588
1471
 
 
1472
 
   EMail: cdr@telemancy.com
1473
 
 
1474
 
 
1475
 
 
1476
 
 
1477
 
 
1478
 
 
1479
 
 
1480
 
 
1481
 
 
1482
 
 
1483
 
 
1484
 
 
1485
 
 
1486
 
 
1487
 
 
1488
 
 
1489
 
 
1490
 
 
1491
 
 
1492
 
 
1493
 
 
1494
 
 
1495
 
 
1496
 
 
1497
 
 
1498
 
 
1499
 
 
1500
 
 
1501
 
 
1502
 
 
1503
 
 
1504
 
 
1505
 
 
1506
 
 
1507
 
 
1508
 
 
1509
 
 
1510
 
 
1511
 
 
1512
 
 
1513
 
 
1514
 
Rigney                       Informational                     [Page 27]
1515
 
 
1516
 
RFC 2866                   RADIUS Accounting                   June 2000
1517
 
 
1518
 
 
1519
 
13.  Full Copyright Statement
1520
 
 
1521
 
   Copyright (C) The Internet Society (2000).  All Rights Reserved.
1522
 
 
1523
 
   This document and translations of it may be copied and furnished to
1524
 
   others, and derivative works that comment on or otherwise explain it
1525
 
   or assist in its implementation may be prepared, copied, published
1526
 
   and distributed, in whole or in part, without restriction of any
1527
 
   kind, provided that the above copyright notice and this paragraph are
1528
 
   included on all such copies and derivative works.  However, this
1529
 
   document itself may not be modified in any way, such as by removing
1530
 
   the copyright notice or references to the Internet Society or other
1531
 
   Internet organizations, except as needed for the purpose of
1532
 
   developing Internet standards in which case the procedures for
1533
 
   copyrights defined in the Internet Standards process must be
1534
 
   followed, or as required to translate it into languages other than
1535
 
   English.
1536
 
 
1537
 
   The limited permissions granted above are perpetual and will not be
1538
 
   revoked by the Internet Society or its successors or assigns.
1539
 
 
1540
 
   This document and the information contained herein is provided on an
1541
 
   "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
1542
 
   TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
1543
 
   BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
1544
 
   HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
1545
 
   MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
1546
 
 
1547
 
Acknowledgement
1548
 
 
1549
 
   Funding for the RFC Editor function is currently provided by the
1550
 
   Internet Society.
1551
 
 
1552
 
 
1553
 
 
1554
 
 
1555
 
 
1556
 
 
1557
 
 
1558
 
 
1559
 
 
1560
 
 
1561
 
 
1562
 
 
1563
 
 
1564
 
 
1565
 
 
1566
 
 
1567
 
 
1568
 
 
1569
 
 
1570
 
Rigney                       Informational                     [Page 28]
1571