AAA和radius協議學習

  1. AAA和RADIUS簡介
    1. AAA 概述

AAA 是Authentication(認證)、Authorization(授權)和Accounting(計費)的簡稱。它提供對用戶進行認證、授權和計費三種安全功能。具體如下:

  1. 認證(Authentication):驗證用戶是否可以獲得訪問權,確定哪些用戶可以訪問網絡。
  2. 授權(Authorization):授權用戶可以使用哪些服務。
  3. 計費(Accounting):記錄用戶使用網絡資源的情況。

AAA 一般採用客戶/服務器結構,客戶端運行於被管理的資源側,服務器上則集中存放用戶信息。這種結構既具有良好的可擴展性,又便於用戶信息的集中管理。

    1. 認證功能,AAA 支持以下認證方式:
  1. 不認證:對用戶非常信任,不對其進行合法檢查,一般情況下不採用這種方式。
  2. 本地認證:將用戶信息(包括本地用戶的用戶名、密碼和各種屬性)配置在NAS(Network Access Server)服務器上。本地認證的優點是速度快,可以爲運營降低成本;缺點是存儲信息量受設備硬件條件限制。
  3. 遠端認證:支持通過RADIUS 協議進行遠端認證,由NAS 服務器作爲Client端,與RADIUS 服務器通信。對於RADIUS 協議,可以採用標準RADIUS 協議或華爲公司的擴展RADIUS 協議。
    1. 授權功能,AAA 支持以下授權方式:
  1. 直接授權:對用戶非常信任,直接授權通過。
  2. 本地授權:根據NAS 服務器上爲本地用戶帳號配置的相關屬性進行授權。
  3. RADIUS 認證成功後授權:RADIUS 協議的認證和授權是綁定在一起的,不能單獨使用RADIUS 進行授權。
    1. 計費功能,AAA 支持以下計費方式:
  1. 不計費:不對用戶計費。
  2. 遠端計費:支持通過RADIUS 服務器進行遠端計費。
    1. RADIUS 概述

AAA 是一種管理框架,因此,它可以用多種協議來實現。在實踐中,人們最常使用RADIUS 協議來實現AAA。

RADIUS的全稱爲(Remote Access Dail-In User Service),它是對遠程撥號用戶訪問進行認證的一種協議,是在RADIUS Server和RADIUS Client之間進行認證、授權、計費的協議標準。認證即辨別用戶是誰的過程,通常該過程通過輸入有效的用戶名和密碼實現;授權是指對完成認證過程的用戶授予相應權限,解決他能做什麼的問題,在一些身份認證的實現中,認證和授權是統一在一起的;計費(Accounting)則是統計用戶做過什麼的過程,包括用戶使用的時間和費用,可通過用戶佔用系統的時間、接收和發送的信息量來衡量。

RADIUS採用Client/Server模型,在NAS上運行的是Client端,負責將用戶信息傳送到指定的RADIUS服務器上,並根據服務器返回的結果進行相應的處理。RADIUS服務器包括兩種類型:授權認證服務器和計費服務器。授權認證服務器(RADIUS Authentication Server)負責接受用戶的連接請求、驗證用戶身份,並返回給客戶需要的相關配置信息。一個授權認證服務器也可以作爲RADIUS客戶的代理,將其連接到另一個授權認證服務器。計費服務器(RADIUS Accounting Server)負責接受用戶計費開始請求和計費結束請求,並實現計費功能。

RADIUS具有以下屬性:

  1. RADIUS以Client/Server模式工作,實現了對遠程用戶的身份認證、授權和計費功能。
  2. RADIUS Client主要用來將用戶信息傳遞給RADIUS Server;Server則對用戶進行認證,並返回用戶的配置信息。
  3. 爲保證傳輸的安全性,在Client和Server之間傳送的數據均以MD5方式加密。
  4. 認證具有靈活性。採取多種認證機制,主要包括PAP和CHAP。

 

  1. RADIUS協議
    1. 協議棧

AAA網元是核心網的網絡實體之一,目前業務接口協議都是RADIUS協議,營帳接口沒有標準協議接口,一般是基於TCP/IP的SOCKET命令行接口,但是針對不同的網絡(例如CDMA、GPRS、WiMax、DSL等等),業務接口(認證和計費接口)、後臺數據的組織結構和營帳接口都存在很大的差別,但是主要的差別都是在應用層面,具體就是RADIUS協議參數和存儲的用戶數據的不同。

目前AAA服務器在多種核心網中應用,例如CDMA1x、EVDO、WiMax、GRPS、窄帶、有線寬帶、IP電話等等,主要實現用戶的認證、授權和計費功能,在不同的網絡類型中業務接口目前都是用RADIUS協議,下圖爲RADIUS參考協議棧:

 

圖1 RADIUS參考協議棧

      RADIUS協議是基於UDP協議的,在UDP數據域中封裝RADIUS數據包.一個完整的RADIUS數據包是被封裝在UDP的數據域中,在那UDP目標端口域指定爲1812 (十進制數)。

在應答數據包生成時,源端口號和目的端口號進行顛倒。RADIUS早期的配置中是使用的UDP的1645端口號,它是與數據矩陣服務(datametrics)衝突。標準RADIUS端口號是1812。以下是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

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   |     編碼      |  標識符       |            長度               |

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   |                                                               |

   |                        鑑別碼                                 |

   |                                                               |

   |                                                               |

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   |    屬性 ...

+-+-+-+-+-+-+-+-+-+-+-+-+-

 

編碼

編碼域是一位字節,確定RADIUS數據包的類型。在接收到一個無效編碼域的地數據包後,該數據包只是會被簡單的丟棄。RADIUS指定了如下編碼:

取值

數據包類型

1

接入請求(Access-Request)

2

接入允許(Access-Accept)

3

接入拒絕(Access-Reject)

4

記賬請求(Accounting-Request)

5

記賬迴應(Accounting-Response)

11

接入詢問(Access-Challenge)

12

服務器狀態(Status-Server(experimental))

13

客戶機狀態(Status-Client(experimental))

255

保留(Reserved)

    編碼4和編碼5在RADIUS記賬文檔中描述。編碼12和編碼13爲有可能出現的應用保留。

標識符

標識符域是一個字節,用於比較請求與回覆。如果在一個很短的時間片段裏,一個請求有相同的客戶源IP地址、源UDP端口號和標識符,RADIUS服務器會認爲這是上一個重複的請求。

長度

長度域是兩個字節。它指明瞭包括編碼、標識符、長度、鑑別碼和屬性域在內的數據包的長度。在數據包長度以外的字節位必須以填充數對待,在接收時忽略它。如果包的長度比指定的短,則此包會被直接丟棄。最小的長度是20,最大的長度是4096。

鑑別碼

    鑑別碼域是十六個字節。最重要的字節是被第一個傳輸的。這個值是被用於驗證來自RADIUS服務器的回覆,和密碼隱藏算法。

請求鑑別碼

在接入請求數據包中,鑑別碼值是一個十六個字節的隨機二進制數,被稱爲請求鑑別碼。在機密的整個生存週期中(如RADIUAS服務器和客戶端共享的機密),這個值應該是不可預測的,並且是唯一的,因爲具有相同密碼的重複請求值,使黑客有機會用已截取的響應回覆用戶。因爲同一機密可以被用在不同地理區域中的服務器的驗證中,所以請求認證域應該具有全球和臨時唯一性。

接入是請求數據包中的請求鑑別碼值應該也是不可預測的,以免黑客矇騙服務器,對一個可預測的將來的請求進行響應,然後以此響應爲基礎,對未來的接入請求僞裝成那臺服務器。

雖然如像RADIUS這樣的協議是沒有能力防衛通過實時活動監聽攻擊和竊取認證過的對話內容,但是唯一的不可預測的請求的存在很大範圍內預防了對認證系統的攻擊。

NASRADIUS共享機密。請求認證執行的共享機密是用單向MD5哈氏算法產生一個十六位的摘要值,此值同用戶輸入的密碼進行異或,異或值放置在接入請求數據包中的用戶密碼屬性域中。在屬性單元中可以瞭解到更爲詳細關於用戶密碼的信息。

響應鑑別碼

接入請求、接入拒絕和接入盤問數據包中鑑別碼值叫做響應鑑別碼,它包含了在一串字節流上的計算出的單向MD5散列,這些二進制數是由RADIUS數據包組成,以編碼域開始,包括標識符,長度,來自接入請求數據包的請求鑑別碼,和執行共享機密的響應屬性。即

ResponseAuth =MD5 (Code+ID+Length+RequestAuth+Attributes+Secret)

其中 "+"表示連接。

管理標記

     機密(在客戶端和RADIUS服務器端共享的密碼)應該至少和一個精選的密碼一樣寬大和不可預測。密碼長度至少應該在十六字節以上。寬大密碼範圍能有效提供對窮舉搜尋攻擊的防衛。機密禁止爲空(長度爲零),因爲這會簡化數據包的僞造。

     RADIUS服務器必須使用RADIUS用戶UDP數據包中的源IP地址來決定應該使用那一個共享機密,因此RADIUS請求是可以被代理的。

     在使用轉發代理時,當代理轉發一個請求時,代理必須根據要轉發的方向來更改每個數據包,代理可以添加一個代理狀態屬性(Proxy-State Attribute),而當代理轉發一個響應時,如果它已經添加了一個代理狀態屬性,則必須把這個屬性去除掉。代理狀態屬性總是在其他代理狀態屬性之後添加或去除,除此之外不存在任何關於屬性在屬性列表中位置設定。因爲接入允許和接入拒絕數據包是對完整數據包的內容進行認證,所以代理狀態屬性的拆除會使包上的簽字無效,所以代理不得不對數據包重新簽發。

 

    1. 認證授權

數據包類型

      1. 接入請求

描述

接入請求是被用來傳送給RADIUS服務器的,傳送的信息被用來決定一個用戶是否被允許接入一個特定的NAS和是否提供用戶要求的特定服務器。一個希望對一個用戶進行認證的操作必須傳送一個編碼域值爲1的數據包。

    一旦收到來自有效客戶端的請求,服務器端就必須回覆一個適當的數據包。

    接入請求應當包含用戶名屬性,必須包含或者是一個NAS的IP地址屬性,或者是一個NAS標識符屬性(或者是兩者)。

    接入請求必須包含或者是用戶密碼,或者是CHAP密碼,或者是一個狀態值。接入請求禁止同時包含用戶密碼和CHAP密碼。如果將來的擴展要求傳送其他種類的驗證信息,可用這些擴展的屬性替代接入請求中的用戶密碼或CHAP密碼。

    接入請求應該包含一個NAS端口號屬性或者是NAS端口類型屬性或者是兩者同時包含,除非被要求的接入類型不涉及端口,或者是NAS不在它的端口中不區分。

    接入請求可以包含附加屬性作爲服務器的提示信息,但服務器不一定採納提示信息。

    在一個用戶密碼出現時,使用一種基於RSA實驗室的(Message Digest Algorithm MD5)的方法對它進行隱藏。

    以下是對接入請求數據包格式的總結。域的傳輸是從左向右。

    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

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   |   編碼        |  標識符       |            長度               |

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   |                                                               |

   |                     請求鑑別碼                                |

   |                                                               |

   |                                                               |

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   |   屬性...

   +-+-+-+-+-+-+-+-+-+-+-+-+-

編碼

1 用於接入請求。

標識符

無論什麼時候屬性域的內容發生變化,或者收到一個先前請求的有效回覆,標識符域也必須隨着變化。對中繼來說,標識符域一定要保持不變。

請求鑑別碼

請求鑑別碼值必須在每次使用新標識符時隨之改變。

屬性值

屬性域的長度是可變的,包含一個服務種類所必須的屬性列表,和其他任何希望的可選屬性。

      1. 接入允許

描述

接入允許數據包是由RADIUS服務器發送的,給開始交付服務的用戶提供必需的詳細的配置信息。如果一個收到的接入請求數據包中所有屬性值都被接受,那麼RADIUS操作必須發送一個編碼域爲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

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   |    編碼       |  標識符       |            長度               |

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   |                                                               |

   |           響應鑑別碼                                          |

   |                                                               |

   |                                                               |

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   |  屬性 ...

   +-+-+-+-+-+-+-+-+-+-+-+-+-

編碼

    2 用於接入允許。

標識符

標識符域是引發此數據包的接入請求標識符域的拷貝。

響應鑑別碼

響應鑑別碼值是由接入請求值計算得來得,如前所述。

屬性值 

     屬性域的長度是可變的,可以包含從零到任意多的屬性。

      1. 接入拒絕

描述

如果接收到的任何屬性值是不可接受的,那麼RADIUS服務器發送一個編碼域爲3的數據包(接入拒絕)。它可能包含一條和多於一條返回消息屬性,此消息是文本信息,NAS可以把這些信息顯示給用戶。

以下是接入拒絕數據包格式的總結。域是從左到右傳輸的。

 

    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

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   |     編碼      |  標識符       |           長度                |

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   |                                                               |

   |                     響應鑑別碼                                |

   |                                                               |

   |                                                               |

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   |  屬性 ...

   +-+-+-+-+-+-+-+-+-+-+-+-+-

 

編碼

    3用於接入拒絕。

標識符

標識符域是引發此數據包的接入請求標識符域的拷貝。

響應鑑別碼

響應鑑別碼值是由接入請求值計算得來得,如前所述。

屬性

屬性域的長度是可變的,可以包含從零到任意多的屬性。

      1. 接入盤問

描述

如果RADIUS服務器想要傳輸一個盤問,來要求用戶回覆一個響應,那麼RADIUS服務器必須通過傳輸一個代碼域是11的數據包(接入盤問)響應用戶的接入請求。

域屬性可以有一個或多個返回消息屬性,而可以有單個狀態屬性或者一個也沒有。具體廠商(Vendor-Specific)、空閒超時(Idle-Timeout)、會話超時(Session-Timeout)和代理狀態屬性可以包含其中。這篇文檔定義的其他屬性是不允許出現在接入盤問中的。

在接收一個接入盤問數據包時,標識符域要與審理中的接入請求的標識符域進行對比。另外,響應鑑別碼域必須包含對審理中的接入請求的正確響應。無效的數據包會被直接丟棄。

若NAS不支持盤問/響應,它必須把收到的接入盤問看作收到了接入拒絕。

若NAS支持盤問/響應,收到有效的接入盤問意味着NAS應該發送一個新的接入請求。如果有文本信息的話,NAS應該顯示給用戶,提示用戶做出響應。它會接着發送一個原始的接入請求,其中請求ID和請求鑑別碼都是新的,用戶密碼屬性被加密的用戶響應所代替,如果有的話,還包括來自接入盤問的狀態屬性。出現在此接入請求的狀態屬性只能包含0或1兩個常量值。

支持PAP的NAS可以發送回覆消息給撥號端用戶,並應用此客戶端的PAP響應於新的接入請求數據包,好像此響應是用戶此響應是用戶早已輸入的。如果NAS不支持,它必須把接入盤問看作爲接入拒絕來對待。

以下是接入盤問數據包格式的總結。域是從左向右傳輸

  

    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

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   |    編碼       |  標識符       |            長度               |

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   |                                                               |

   |                     響應鑑別碼                                |

   |                                                               |

   |                                                               |

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   |  屬性 ...

   +-+-+-+-+-+-+-+-+-+-+-+-+-

 

編碼

    11 用於接入盤問

標識符

      標識符域是引發此數據包的接入請求標識符域的拷貝。

響應鑑別碼

     響應鑑別碼值是由接入請求值計算得來得,如前所述。

屬性

      屬性域的長度是可變的,可以包含從零到多個屬性。

      1. 屬性

     RADIUS屬性在請求和回覆中攜帶詳細的認證、授權、信息和配置細節。

     RADIUS數據包的長度域指示了屬性列表的結束處。

     一些屬性可以被包含一次或多次。這樣的結果是在特徵細節和在每個特徵描述中指定。在屬性這一節的最後提供了一個總結性的表格。

    如出現同一類型的多個屬性,則這個同一類型多個屬性的順序必須在代理時保持不變。而不同類型的屬性順序是不需做到這一點。RADIUS服務器和客戶端禁止在不同類型的屬性間存在依賴關係。RADIUS服務器和客戶端也禁止要求同一類型的屬性是相鄰的。

    屬性描述限制了屬性可以存在於那幾類數據包,而所有可用的數據包類僅限制在本文檔已經定義的幾類數據包中,即接入請求、接入允許、接入拒絕和接入盤問(編碼爲1、2、3和11)。其他文檔定義的其他種類的數據包也可以使用這裏描述的屬性。要確定哪些屬性允許在記賬請求(Accounting-Request)和記賬迴應(Accounting-Response)數據包中使用,可以參考RADIUS記賬文檔。

    就像這兒定義的數據包只允許某一些屬性出現在其中,未來備忘錄中定義的新的屬性也應該指定新的屬性可以出現在那些類型數據包中。

     以下是屬性格式的總結,域的傳輸是從左向右。

    

    0                   1                   2

    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-

   |    類型       |    長度       |  值 ...  

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-

類型

類型域是一個字節。更新的RADIUS類型域值是在最近的“已分配號碼(Assigned Numbers )”RFC [6]中進行了說明。192223爲實驗用保留,值224240爲應用細節保留,值241255保留,不應該被使用。

RADIUS客戶端可以忽略不可辨識類型的屬性。

    這個協定涉及以下值:

   

1      用戶名                    User-Name

2      用戶密碼                  User-Password

3      CHAP密碼                  CHAP-Password

4      NAS IP地址                NAS-IP-Address

5      NAS端口                   NAS-Port

6      服務類型                   Service-Type

7      幀協議                Framed-Protocol

8      分幀IP地址配置          Framed-IP-Address

9      IP網絡掩碼配置         Framed-IP-Netmask

10      路由方法配置         Framed-Routing

11      篩選器標識                Filter-Id

12      最大傳輸單元配置        Framed-MTU

13      壓縮協議配置          Framed-Compression

14      登錄的主機IP 地址         Login-IP-Host

15      登錄的服務                 Login-Service

16      登錄的TCP端口            Login-TCP-Port

17      未分配                     (unassigned)

18      回覆消息                   Reply-Message

19      回叫電話號碼               Callback-Number

20      回叫ID                     Callback-Id

21      未分配                   (unassigned)

22      路由配置                Framed-Route

23      IPX網絡數字配置        Framed-IPX-Network

24      狀態                      State

25      類別                      Class

26      供應商細節                Vendor-Specific

27      會話時限                  Session-Timeout

28      空閒時限                  Idle-Timeout

29      終止動作                  Termination-Action

30      用戶撥打的電話號碼     Called-Station-Id

31      用戶打出的電話號碼        Calling-Station-Id

32      網絡接入服務器標識符      NAS-Identifier

33      代理狀態                  Proxy-State

34      登錄的LAT服務            Login-LAT-Service

35      登錄的LAT節點           Login-LAT-Node

36      登錄的LAT組              Login-LAT-Group

37      AppleTalk鏈路配置      Framed-AppleTalk-Link

38      AppleTalk網絡配置     Framed-AppleTalk-Network

39      AppleTalk區域配置      Framed-AppleTalk-Zone

40-59   爲記賬保留                (reserved for accounting)

60      CHAP盤問                  CHAP-Challenge

61      網絡接入服務器端口類型     NAS-Port-Type

62      端口數限制                 Port-Limit

63      登錄的LAT端口             Login-LAT-Port

 

長度

長度域是一個字節,它指定了包括類型、長度和值域在內的屬性長度。如果在接收到的接入請求中屬性的長度是無效的,應該發送一個接入拒絕數據包。如果在接收到的接入允許、接入拒絕和接入盤問中屬性的長度是無效的,該數據包必須處理爲接入拒絕,或者直接丟棄。

    值域可以爲零或者多個字節,包括屬性的詳細信息。值域的格式和長度由域的類型和長度決定。

    應當注意的是,在RADIUS協議中沒有任何數據類型是以NUL(十六進制數的00)結尾。特別是RADIUS中文本類型和字符串類型不是以NUL結尾的。屬性有表明長度的長度域,所以不需要使用終止符。文本包含UTF-8編碼的ISO10646 [7]字符,字符和字符串包含二進制數值。服務器間和服務器與客戶機間必須能處理已嵌入的NUL。在用C語言處理字符串時,RADIUS應用者應當注意不可使用strcpy( )函數。

    值域的格式是五個數據類型中的一個。注意文本類型是字符串類型的一個子集。

    文本     包含UTF-8編碼的ISO 10646 [7]字符的1到253個字節。零長度文本禁止發送,而是忽略整個屬性。

    字符串   包含二進制數值(值得範圍是從十進制數的0到十進制數的255)的1到253個字節。零長度字符串禁止發送,而是忽略整個屬性。

    地址      32位二進制數值,最重要的字節排第一字節。

    整數      32位無符號的二進制數值,最重要的字節排第一字節。

    時間      32位無符號的二進制數值,最重要的字節排第一字節。UTC 1970年1月1日零時零分起。標準屬性不使用這個數據類型,這個數據類型在這兒出現是因爲在將來屬性中有可能的使用到它。

        1. 用戶名

描述

    這個屬性顯示用戶用來驗證的姓名。如果存在的話,用戶名必須通過接入請求數據包發送出去。

    用戶名也可以在接入允許數據包中發送,在這種情況下,客戶端應該在會話中所有記賬請求數據包中使用接入允許數據包中的用戶名。如果接入允許包含服務類型(爲Rlogin)和用戶名屬性,當執行Rlogin功能時,NAS可以使用已返回的用戶名。

     以下是用戶名屬性格式的總結。域的傳輸是從左向右。

    

    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

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-

   |    類型       |    長度       |  字符串  ...

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-

類型

1用於用戶名

長度

    大於或者等於3

字符串

字符串域是一個或多個字節。NAS可以限制用戶名的最大長度,但是推薦處理能力至少因該是63個字節。

用戶名形式可以是以下幾種中的一個:

文本             僅包含UTF-8編碼ISO 10646[7]字符。

網絡接口標識符   網絡接口標識符是在RFC2486中說明。

專用名稱         一個用於公共關鍵認證系統的ASM.1形式的名字。

        1. 用戶密碼

描述

    這個屬性顯示的是需要被驗證的用戶密碼,或者是在接入盤問提示下的用戶輸入。它只能用在接入請求數據包中。

    在傳輸時,密碼是被隱藏起來的。首先在密碼的末尾用nulls代替填補形成多個十六個字節的二進制數。單向MD5散列是通過一串字節流計算出的,該字節流由共享機密和跟隨其後的請求鑑別碼組成。這個值同密碼的第一個16個字節段相異或,然後將異或結果放在用戶密碼屬性字符串域中的第一組16個字節中。

    如果密碼長於16個字節,則第二次單向MD5散列對一串字節流進行計算,該字節流由共享機密和跟隨其後的第一次異或結果組成。這個散列結果與密碼的第二組16個字節段相異或,然後將異或結果放在用戶密碼屬性字符串域中的第二組16個字節段中。

    如果需要,這個計算過程可以重複。每一個異或結果被用於和共享機密一道生成下一個散列,再與下一個密碼段相異或,但最大不超過128個字節。

    這個計算方法是來自《網絡安全》的109頁到110頁,作者是Kaufman,Perlman 和Speciner[9]。以下是這種方法更爲精確的解釋:

    調用共享機密S和僞隨機128位請求認證鑑別碼RA。把密碼按16個字節爲一組劃分爲P1、P2等等,在最後一組的結尾處用用null填充以形成一個完整的16字節組。調用以加密的數據組c(1)、c(2)等,b1、b2等是我們將用到的中間值。

   

        b1 = MD5(S + RA)       c(1) = p1 異或 b1

         b2 = MD5(S + c(1))     c(2) = p2 異或b2

                .                       .

                .                       .

                .                       .

         bi = MD5(S + c(i-1))   c(i) = pi 異或 bi

    現在密碼字符串包含c(1)+c(2)+...+c(i),其中“+”表示串聯。

    在接收時,這個過程被反過來,從而生成原始的密碼。

    以下是密碼屬性格式的總結。域的傳輸是從左向右。

   

    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用於用戶密碼。

長度

    長度值在18到130之間。

字符串

    字符串域的長度在16到128個字節之間。

        1. CHAP密碼

描述

     這個屬性表示PPP(點對點傳輸協議)的CHAP(盤問握手認證協議)用戶在響應盤問時的響應值。此值只能用在接入請求數據包中。

     如果出現在數據包中的CHAP盤問值是出現在CHAP盤問屬性(60)中,其他情況可以在請求鑑別碼域中找到。(什麼意思?)

    以下是CHAP密碼屬性格式的總結。域的傳輸是從左向右。

    

    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 4 5 6 7 8 9

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-

   |     類型      |    長度       |  CHAP標識    |  字符串 ...

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-

類型

3用來表示CHAP密碼。

長度

19

CHAP標識

     這個域是一個字節,包括來自用戶CHAP響應的CHAP的標識符。

字符串

     字符串域是十六個字節,包括來自用戶的CHAP響應。

        1. 網絡接口服務器IP地址

描述

這個屬性指出了用戶正在請求認證的NAS的IP地址,這個屬性值對NAS來說在一臺指定的RADIUS服務器的範圍內應該是唯一的。NAS-IP地址屬性只能在接入請求數據包中使用。或者是NAS-IP或者是NAS標識符必須有一個出現在接入請求數據包中。

     注意,NAS-IP地址一定不能用來選擇認證請求的共享機密。接入請求數據包中的源IP地址必須用來選擇共享機密。

     以下是網絡接口服務器IP地址屬性格式的總結。域的傳輸是從左向右。

     

    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

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   |    類型       |    長度       |            地址            

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

            地址 (內容)            |

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

類型

    4用於NAS-IP地址。

長度

   6

地址

地址域是4個字節。

        1. NAS端口

描述

這個屬性指出了正在認證用戶的NAS物理端口號。NAS-IP端口號屬性只能在接入請求數據包中使用。需要注意的是,這裏使用的“端口”應當理解爲與NAS的物理連接,不能理解爲TCP或者UDP的端口號。如果NAS對它的端口進行區分,那麼或者NAS-Port或者NAS-Port-Type或者是兩者同時應該出現在接入請求數據包中。

以下是NAS端口屬性格式的總結。域的傳輸是從左向右。

 

   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

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   |     類型      |    長度       |             值

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

              值 (內容)            |

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

類型

    5用於NAS-Port地址。

長度

   6

這個值域是4個字節。

        1. 服務類型

描述

    這個屬性指出了用戶請求的服務種類,或者是已提供給用戶的服務類型。此屬性可以在接入請求數據包和接入允許數據包中使用。作爲NAS,它不必執行所有的服務類型,所以對於未知的和不支持的Service-Types,就像收到了接入拒絕那樣處理。

以下是服務種類屬性格式的總結。域的傳輸是從左向右。

   

    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

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   |     類型      |    長度       |             值

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

              值 (內容)         |

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

類型

     6用於Service-Type。

長度

     6

     值域是4個字節。

     1                登錄

     2                配置

     3                回叫登錄

     4                回叫配置

     5                出網

     6                管理

     7                NAS提示

     8                只認證

     9                NAS回叫提示

     10               撥叫檢查

     11               回叫管理

以下是使用在接入允許中的服務類型的定義。若服務類型用在接入請求中,則認爲是給RASIUS服務器的提示,此提示告訴RADIUS,NAS有理由相信這種服務類型是用戶更喜歡的,但RADIUS不一定要接受這個提示。

登錄           用戶應該連接到的主機。

配置[R1]       開始時用戶應該爲配置的協議,如PPP或SLIP。

回叫登錄       用戶應該先斷開,並回叫,然後連接到一個主機。

回叫配置       用戶應該先斷開並回叫,然後 應該爲用戶啓動一個Framed Protocol,

如PPP或SLIP。

出站             用戶應該被允許訪問外部設備。

管理      用戶應該被允許有權使用NAS的管理界面,因爲該界面能執行特權命令。

NAS提示      用戶在NAS的命令提示符下輸入指令,來自此命令提示符的指令是不能得到執行的。

認證專用      只有認證被請求,沒有任何授權信息需要在請求接收數據包中返回(典型情況是被代理服務器使用,而不是NAS自己)。

NAS回叫提示      用戶應該先斷開與服務器的連接,然後回叫和在NAS提供的指令提示下執行非特權指令。

撥叫檢查      NAS使用在接入請求數據包中表明正在接收一個撥叫請求,RADIUS服務器應該送回一個Access-Accept數據包接受這個撥叫,或者是一個接入拒絕數據包拒絕這個撥叫,典型情況是基於Called-Station-Id和Calling-Station-Id屬性。推薦在接入請求數據包中使用Calling-Station-Id的值代替User-Name的值

回叫管理      用戶首先應該斷開連接,然後回叫,這時允許有權訪問NAS的管理界面,因爲該界面能執行特權命令。

        1. 幀協議

描述

    這個屬性表明了被用於配置接入的框架。它可以用在接入請求數據包和接入允許數據包中。

以下是配置協議屬性格式的總結。域的傳輸是從左向右。

   

    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

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   |     類型      |    長度       |             值

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                  值 (內容)            |

  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

類型

   7用於配置協議。

長度

   6

   值域是4個字節。

   1            PPP

   2            SLIP

3    AppleTalk Remote Access Protocol (ARAP)

   4    Gandalf proprietary SingleLink/MultiLink protocol

   5    Xylogics proprietary IPX/SLIP

   6    X.75 Synchronous

        1. IP地址配置

描述

    這個屬性表明了爲用戶配置的地址。它可以使用在接入允許數據包中,或者由NAS使用在接入請求數據包,作爲一個給服務器的提示,告訴服務器它推薦該地址,但服務器不一定要接受這個提示。

以下是配置IP地址屬性格式的總結。域的傳輸是從左向右。

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

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   |     類型      |    長度       |            地址

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

            地址 (內容)                 |

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

類型

    8用於配置IP地址。

長度

   6

地址

   這個地址域是4個字節。值oxFFFFFFFF表明NAS應該允許選擇一個地址(例如,已協商好的)。值oxFFFFFFFE表明NAS應該爲用戶選擇一個地址(例如,NAS分配一個由它管理的地址池中的地址)。其他有效值表明NAS用這個值作爲用戶的IP地址。

        1. IP網絡掩碼配置

描述

    當用戶是網絡的路由器時,這個屬性表明對這臺路由器的IP網絡掩碼配置。這個屬性可以出現在接入允許數據包。也可以作爲一個NAS給服務器的提示用在接入請求數據包,提示推薦的網絡掩碼,但是服務器不一定要接受這個提示。

以下是配置IP網絡掩碼屬性格式的總結。域的傳輸是從左向右。

 

    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

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   |     類型      |    長度       |            地址   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

            地址(內容)             |

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

類型

9用於配置IP網絡掩碼。

長度

6

地址

    地址域是4個字節,指定用戶的IP網絡掩碼。

        1. 路由方法配置

描述

    當用戶是網絡的路由器時,這個屬性表明了用戶的路由方法。它只能用在接入請求數據包中。

  以下是配置路由方法屬性格式總結。域的傳輸是從左向右。

  

 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

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   |     類型      |    長度       |            值

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

              值 (內容)            |

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

類型

   10用於網絡配置方法。

長度

    6

    值域是4個字節。

    0           空                                  none

    1         發送路由數據包                      Sending routing packets

    2       監聽路由數據包                                  Listening for routing packets

    3         發送和監聽                                        Send and Listen

        1. 篩選器編號

描述

    這個屬性表明了篩選器列表中該用戶的篩選器的名字。篩選器編號可以在接入請求數據包中發送,此包中可以擁有零個或多個篩選器編號。

    通過名稱鑑別一個篩選器列表允許在不同的NAS上使用篩選器,而不考慮篩選器列表的實現細節。

   以下是篩選器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

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-

   |     類型      |    長度       |  文本 ...

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-

類型

   11用於篩選器編號。

長度

   大於或者等於3。

文本

   這個文本域是一個或多個字節,它的內容是依賴具體實現的。它的存在是爲了提高協議的可讀性,而且一定不會影響協議的運作。推薦該消息使用UTF-8編碼的10646字符[7]。

        1. MTU配置

描述

    當這個屬性沒有與其他的方式(如PPP)進行協商是時,這個屬性表明了爲用戶配置的最大傳輸單元。這個屬性可以用在接入允許數據包中,也可以用在接入請求數據包中,作爲一個NAS給服務器的提示,向服務器推薦一個值,但服務器不一定會接受這個提示。

  以下是配置MTU屬性格式的總結。域的傳輸是從左向右。

 

    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

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   |     類型      |    長度       |             值

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

              值 (內容)            |

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

類型

   12用於配置MTU。

長度

   6

   這個值域是4個字節。不管域的大小,值得範圍是從64到65535。

        1. 壓縮協議配置

描述 

   這個屬性指出了該連接使用的的壓縮協議。這個屬性可以用在接入允許數據包中,也可以作爲NAS給服務器的提示用在接入請求數據包中,提示服務器這是推薦的壓縮率協議,但服務器不一定會接受這個提示。

    可以發送多於一種的壓縮率協議。在適當的的鏈路通信中使用合適的壓縮協議是NAS的責任。

   以下是配置壓縮率屬性格式的總結。域的傳輸是從左向右。

   

    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

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   |     類型      |    長度       |             值

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

              值 (內容)            |

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

類型

   13用於配置壓縮率。

長度

   6

   這個值域是4個字節。

   0                 空

   1                 VJ TCP/IP header compression [10]

   2                   IPX header compression

   3            Stac-LZS compression

        1. 登錄IP主機

描述

    當登錄服務屬性已經被包括時,此屬性指出了一個連接用戶的系統。也可以作爲NAS給服務器的提示用在接入請求數據包中,提示服務器這是推薦使用的主機,但服務器不一定會接受這個提示。

    以下是登錄IP主機屬性格式的總結。域的傳輸是從左向右。

 

  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

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   |     類型      |    長度       |           地址

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

            地址 (內容)            |

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

類型

   14用於登錄IP主機。

長度

   6

地址

這個地址域是4個字節。值oxFFFFFFFF表明NAS應該允許用戶選擇地址。值0表明NAS應該選擇一個與用戶連接主機。其他值表明NAS應該連接給用戶的地址。

        1. 登錄服務

描述

   這個屬性表明連接到登錄主機的用戶使用的服務。它只能用於接入允許數據包。

    以下是登錄服務屬性格式的總結。域的傳輸是從左向右。

 

    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

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   |     類型      |    長度       |             值

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

              值 (內容)            |

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

類型

   15用於登錄服務。

長度

   6

   值域是4個字節。

   0                        Telnet

   1                         Rlogin

   2                         TCP Clear

   3                         PortMaster (proprietary)

   4                         LAT

   5                X25-PAD

   6                         X25-T3POS

   8                TCP Clear Quiet (suppresses any NAS-generated connect string )

        1. 登錄TCP端口

描述

    當登錄服務屬性也出現時,這個屬性表明用於連接用戶的TCP端口。它只能用於接入允許數據包。

    以下是登錄TCP端口屬性格式的總結。域的傳輸是從左向右。

    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

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   |    類型       |    長度       |             值

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

              值 (內容)            |

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

類型

   16用於登錄TCP端口

長度

   6

   這個值域是4個字節。不論域的大小,值得範圍是從0到65535。

        1. 未分配

描述

   屬性類型17還沒有被分配。

        1. 回覆消息

描述

   這個屬性指定了可以顯示給用戶的文本信息。

    使用在接入允許數據包中,此消息是一種成功信息

    使用在接入拒絕數據包中,是一個失敗信息。該信息可以表示爲一種對話信息,在用戶嘗試另一個接入請求之前,它可以以一個對話框消息的形式來提示用戶。

   使用在接入盤問數據包中,該信息可以以對話框的形式提示用戶做出響應。

    多個回覆信息可以包含在一個數據包中,如果其中的一些需要顯示,則它們的顯示順序必須是它們在數據包內的順序。

    以下是回覆信息屬性格式的總結。域的傳輸是從左向右。

 

   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

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-

   |     類型      |    長度       |  文本 ...

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-

類型

   18用於回覆信息。

長度

   大於等於3。

文本

    文本域可以是一個或多個字節,它的內容是依賴於執行的。它的存在是爲了提高協議的可讀性,而且一定不會影響協議的運作。推薦在消息使用UTF-8編碼的ISO10646字符[7]。

        1. 回叫號碼

描述

    這個屬性表明了一個用於用戶回叫的撥號字符串。它可以使用在接入允許數據包中,當它使用在接入請求數據包中,是作爲一個給服務器的提示出現的,告訴服務器有一個回叫服務希望執行,但是服務器不一定要接受這個提示。

    以下是回傳數屬性格式的總結。域的傳輸是從左向右。

 

  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

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-

   |     類型      |    長度       |  字符串 ...

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-

類型

   19用於回傳數。

長度

   大於或者等於3。

字符串

    字符串域是一個或多個字節。信息的實際格式是站點或應用的細節,而且一個強壯的應用應該支持這個域作爲不區分的字節序列。

    這個域的允許的使用範圍的規劃超出了本文檔討論的範圍。

        1. 回叫Id

    這個屬性表明了被調用位置的名稱,它由NAS解釋。它可以使用在接入允許數據包中。

    以下是回傳編號屬性格式的總結。域的傳輸是從左向右。

  

 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

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-

   |     類型      |    長度       |  字符串 ...

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-

類型

   20用於回傳編號。

長度

大於或等於3。

字符串

    字符串域是一個或多個字節。信息的實際格式是站點或應用的細節,而且一個強壯的應用應該支持這個域作爲不區分的字節序列。

    這個域的允許的使用範圍的規劃超出了本文檔討論的範圍。

 

        1. 未分配

描述

   屬性類型21沒有被分配。

        1. 路由配置

描述

    這個屬性提供了在NAS上爲用戶提供配置的路由的信息。它可以用在允許接入數據包中,而且能出現多次。

    以下是配置路由屬性格式的總結。域的傳輸是從左向右。

   

    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

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-

   |     類型      |    長度       |  文本 ...

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-

類型

   22用於配置路由。

長度

   大於或等於3。

文本

    文本域是一個或多個字節,文本內容是與實現相關的。它是在不影響協議的運行情況下提高協議的可讀性。推薦在消息中包含UTF-8編碼的ISO10646[7]字符。

    對於IP路由來說,文本應該包含一個以點分四組形式的目標地址前綴,其後可以跟隨一個斜槓和十進制長度說明符,長度說明符說明前綴使用了多少個高位字節。在這之後,緊接着一個空格、一個點分四組形式的網關地址、一個空格和一個或多個被空格分割的規格。例如,“192.168.1.0/24 192.168.1.1 1 2 -1 3 400”。長度說明符可以被忽略,在忽略的情況下,默認8位爲A類地址前綴,16位爲B類地址前綴,24位爲C類地址前綴。例如,“192.168.1.0 192.168.1.1 1”。

    無論什麼時候,網關地址被指定爲“0.0.0.0”,用戶的IP地址應該被指定爲網關地址。

   

        1. IPX網絡配置

描述

    這個屬性表明了分配給用戶的IPX網絡號碼。它可以用在接入允許數據包中。

    以下是配置IPX網絡屬性格式總結。域的傳輸是從左向右。

 

    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

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   |    類型       |    長度       |             值

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                 值 (內容)         |

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

類型

   23用於配置IPX網絡。

長度

   6

   值域是4個字節。值0xFFFFFFFE表明NAS應該爲用戶挑選IPX網絡(例如,從NAS管理的一個或多個IPX網絡池中分配)。其他值應該被用於與用戶連接的IPX網絡。

        1. 狀態

描述

    這個屬性可以在由服務器發送給客戶端的接入盤問數據包中出現,然後,如果有對盤問響應的新接入請求,則此屬性應該在接入請求包中不作任何修改地從客戶端發送到服務器端。

 

    這個屬性也可以在接入允許數據包中由服務器發送給客戶端,這個數據包中還包含了有RADIUS請求(RADIUS-Request)值的終止行爲屬性(Termination-Request Attribute)。如果NAS通過發送一個新的關於終止當前會話的接入請求來執行終止行爲(Termination-Action),則在這個接入請求中必須包含沒有改變的狀態屬性。

    在狀態屬性的任何使用中,客戶端禁止本地解釋屬性。一個數據包只能有一個狀態屬性或一個都沒有。狀態屬性的使用是依賴於實現相關的。

    以下是狀態屬性格式的總結。域的傳輸是從左向右。

   

    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

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-

   |     類型      |    長度       |  字符串 ...

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-

類型

   24用於狀態。

長度

   大於或等於3。

字符串

    字符串域是一個或多個字節。信息的實際格式是站點或應用的細節,而且一個強壯的應用應該支持這個域作爲不區分的字節序列。

    這個域的允許的使用範圍的規劃超出了本文檔討論的範圍。

        1. 類別

描述

    這個屬性可在接入允許數據包中由服務器發送給客戶端,如果支持記賬服務,該屬性應該作爲記賬請求數據包的一部分在不作任何修改的前提下,由客戶端發送到記賬服務器。客戶端一定不能在本地解釋屬性。

    以下是狀態屬性格式的總結。域的傳輸是從左向右。

 

 

    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

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-

   |     類型      |    長度       |  字符串 ...

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-

類型

   25用於級別屬性。

長度

   大於或等於3。

字符串

    字符串域是一個或多個字節。信息的實際格式是站點或應用的細節,而且一個強壯的應用應該支持這個域作爲不區分的字節序列。

    這個域的允許的使用範圍的規劃超出了本文檔討論的範圍。

        1. 供應商特性

描述

    這個屬性應用於允許供應商支持不適於常規使用的屬性擴展。此屬性禁止對RADIUS協議中的操作有影響。

    服務器不具備去解釋由客戶端發送過來的供應商特性信息時,則服務器必須忽略它(雖然這樣過程可以被記錄下來)[R2]。沒有收到預期的供應商特性信息得情況下,客戶端應該嘗試在沒有它的情況下運作,儘管他們這樣做(並報告它們正在這樣做)是在降級模式中。

    以下是具體廠商屬性格式的總結。域的傳輸是從左向右。

 

    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

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   |     類型      |  長度         |            供應商Id

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

        供應商Id (內容)              |  字符串...

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-

類型

   26用於供應商特徵。

長度

大於或等於7。

供應商ID

     在網絡字節順序中,高位的字節是0,低3位字節是供應商的(SMI)網絡個人管理器編碼(Network Management Private Enterprise Code),正如在“已分配號(Assigned Number)”RFC[6]中的定義。

字符串

    字符串域是一個或多個字節。信息的實際格式是站點或應用的細節,而且一個強壯的應用應該支持這個域作爲不區分的字節序列。

    這個域的允許的使用範圍的規劃超出了本文檔討論的範圍。

    字符串域應該按照供應商類型/供應商長度/值域的順序編碼,如下面所示。屬性特性域依賴於該屬性的供應商的定義。以下是一個使用這種方法對供應商特性屬性編碼的例子。

    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

      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

      |    類型       |  長度         |            賣主Id

      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

            賣主Id (內容)            | 買主類型       | 賣主長度      |

      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

      |   屬性特徵...

      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-

     多個子屬性可以被編碼在一個具體廠商屬性中,雖然不必不得不這樣做[R3]。

        1. 會話超時

描述

    這個屬性設置在會話終止或提示出現前,提供給用戶服務的最大秒數。這個屬性可以在接入允許數據包和接入盤問數據包中,由服務器發送給客戶端。

    以下是會話超時屬性格式的總結。域的傳輸是從左向右。

   

    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

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   |     類型      |    長度       |             值

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

              值 (內容)            |

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

類型

   27用於會話超時。

長度

6

    這個域是4個字節,包含一個32位的無符號整數,此數表示了用戶被允許通過NAS保持連接的最大秒數。

        1. 空閒超時

描述

    這個屬性設置在會話終止或提示出現前,允許用戶空閒連接的連續時間的最大秒數。這個屬性可以用在接入允許數據包和接入盤問數據包中,由服務器發送給客戶端。

    以下是空閒超時屬性格式的總結。域的傳輸是從左向右。

 

    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

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   |     類型      |    長度       |             值

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

              值 (內容)            |

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

類型

   28用於空閒超時。

長度

    6

    這個域是4個字節,包含一個32位無符號的整數,該整數說明在由NAS斷開連接前,用戶被允許的最大連續空閒秒數。

        1. 終止動作

描述

    這個屬性說明在指定的服務完成後,NAS應該採用什麼樣的動作。此屬性只能用在接入允許數據包中。

    以下是終止動作屬性格式的總結。域的傳輸是從左向右。

   

    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

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   |     類型      |    長度       |             值

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

              值 (內容)            |

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

類型

    29用於終止動作屬性。

長度

     6

    這個值域是4個字節。

    0                     默認(Default)

    1                             RADIUS請求(RADIUS-Request)

    如果這個值被設置爲RADIUS請求,依據指定服務的終止,NAS可以發送一個新的接入請求給RADIUS服務器,如果存在的話,還包括狀態屬性。

        1. 撥出號碼

描述

     使用被叫號碼識別(Dialed Number Identification,DNIS)或者是類似技術,這個屬性允許NAS在接入請求數據包中發送被用戶撥叫的電話號碼。注意,這個電話號碼是與打入的電話號碼不同。而且,這個屬性只能用在接入請求數據包中。

     以下是被叫站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

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-

   |    類型       |    長度       |  字符串 ...

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-

類型

    30用於撥出號碼屬性。

長度

    大於或者等於3

字符串

    字符串域是一個或多個字節,包含用戶撥入的電話號碼。

    信息的實際形式是站點或應用程序細節。推薦使用UTF-8編碼的10646 [7]字符,但作爲一個強壯的應用應該支持這個域作爲一個未區分的字節來。

    這個域能被使用的範圍的規定是在這篇文檔說明的範圍之外的。

        1. 撥入號碼

描述

    在使用自動號碼標識(Automatic Number Identification,ANI)或者其他相似的技術,這個屬性允許NAS在接入請求數據包中發送撥入的電話號碼。此屬性只能用在接入請求數據包。

    以下是呼叫站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

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-

   |     類型      |    長度       |  字符串 ...

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-

類型

    31用於呼叫站ID屬性。

長度

    大於或者等於3。

字符串

    字符串域是一個或多個字節,包含用戶撥入的電話號碼。

    信息的實際形式是站點或應用的細節。推薦使用UTF-8的10646字符編碼,但作爲一個強壯的應用應該把這個域作爲不可區分的字節串來支持。

    這個域可被使用的範圍的劃分是在這篇文檔說明的範圍之外。

        1. NAS標識符

描述

    這個屬性包含一個字符串,此字符串鑑別接入請求數據包是由那個NAS服務器生成的。此屬性只能用在接入請求數據包中。在接入請求數據包中必須包含NAS的IP地址或者是NAS標識符。

    注意NAS標識符禁止選擇用於認證請求數據包的共享機密。接入請求數據包的源IP地址必須用於選擇共享機密。

    以下是NAS標識符屬性格式的總結。域的傳輸是從左向右。

   

    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

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-

   |     類型      |    長度       |  字符串 ...

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-

類型

   32用於NAS標識符屬性。

長度

   大於或者等於3。

字符串

    字符串域是一個或多個字節,而且在RADIUS服務器的有效範圍內,這個字符串對於NAS來說應該是唯一的。例如,一個完全合格的域名是適合做NAS標識符的。

    信息的實際形式是站點或應用的細節,而且一個強壯的應用應該把這個域作爲不可區分的字節串來支持。

    這個域可被使用的範圍的劃分是在這篇文檔說明的範圍之外。

        1. 代理狀態

描述

    當轉發一個接入請求數據包時,這個屬性可以由一個代理服務器發送到另一個服務器,而且在接入允許數據包、接入拒絕數據包和接入盤問數據包中返回的該屬性不能做任何修改。在一個代理服務器收到一個對應它的請求的響應時,它必須在轉發這個響應給NAS之前,去除它自己的代理狀態屬性(這個包中最後一個代理狀態屬性)。

    如果在轉發數據包時需要添加代理狀態屬性,則這個屬性必須添加在任何一個已存在的屬性之後。

    除了當前服務器添加的代理狀態屬性外,其他任何屬性內容對當前服務器來說都是不透明的,而且是禁止對協議的運作有任何影響的。

    代理狀態屬性的使用時依賴於應用的。關於此屬性的功能描述是在本文檔的討論範圍之外的。

    以下是代理狀態屬性格式的總結。域的傳輸是從左向右。

   

    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

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-

   |    類型       |    長度       |  字符串 ...

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-

類型

    33用於代理狀態屬性。

長度

    大於或者等於3。

字符串

    字符串域是一個或多個字節。信息的實際形式是站點或者應用的細節,而且一個強壯的應用應該把這個域作爲不可區分的字節串來支持。

    這個域可被使用的範圍的劃分是在這篇文檔說明的範圍之外。

        1. 登錄LAT服務

描述

     這個屬性描述了用戶通過局域網傳輸協議(LAT)連接的系統。此屬性可以用在接入請求數據包中,但僅僅是當LAT被指定爲登錄服務時。它也可以用在接入請求數據包中,作爲一個給服務器的提示,但是服務器不一定接受這個提示。

     當管理員在處理分簇系統時,如,VAX分簇系統或Alpha分簇系統,可以使用這個服務屬性。在這樣的環境中,幾個不同的分時共享主機可以共享相同的資源(磁盤、打印機,等等),管理員給每一個共享主機提供一個共享資源的接口(服務)。在這種情況下,在簇中每一個主機通過LAT廣播廣告它們的服務。

    老練的用戶通常知道那一個服務提供者(或那些機器)是更快的,所以更願意在初始化LAT連接時使用節點名。有的情況下,作爲載入平衡的源形式,一些管理員讓一些特定的用戶使用某部分機器(雖然LAT它自己知道如何做可以載入動態平衡)。

    以下是登錄局域網傳輸協議服務屬性格式的總結。域的傳輸是從左向右。

 

    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

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-

   |     類型      |    長度       |  字符串 ...

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-

類型

    34用於登錄LAT服務屬性。

長度

     大於或者等於3。

字符串

     字符串域是一個或者多個字節。它包含以使用爲目的的LAT服務的身份。LAT的結構允許此字符串包含$(美元符)、-(連詞符)、.(原點)、_(下劃線)、數字、大寫字母、小寫字母和ISO Latin-1 字符集擴展[11]。所有LAT字符串比較是不區別大小寫。

        1. 登錄LAT節點

描述

     這個屬性指明瞭通過LAT用戶將被自動連接的節點。僅僅當LAT被指定爲登錄服務時,它可以在接入允許數據包中使用。它也可以作爲一個給服務器的提示使用在接入請求數據包中,但是服務器不一定接受這個提示。

    以下是登錄LAT節點屬性格式的總結。域的傳輸是從左向右。

 

   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

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-

   |     類型      |    長度       |  字符串 ...

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-

類型

    35用於登錄LAT節點。

長度

    大於或者等於3。

字符串

    字符串域是一個或多個字節,包含與用戶連接的LAT節點的身份。LAT的結構允許此字符串包含$(美元符)、-(連詞符)、.(原點)、_(下劃線)、數字、大寫字母、小寫字母和ISO Latin-1 字符集擴展[11]。所有LAT字符串比較是不區別大小寫。

        1. 登錄LAT

描述

    這個屬性包含一個字符串,此字符串指定了一個用戶被授權使用的LAT組編碼。僅僅當LAT被指定爲登錄服務時,它可以在接入允許數據包中使用。它也可以作爲一個給服務器的提示使用在接入請求數據包中,但是服務器不一定接受這個提示。

    LAT支持256個不同的組編碼,LAT把它們當作接入權利表格使用。LAT把組編碼按一個256位的位圖加密。

    管理員可以在LAT服務提供者處分配一個或者多個組編碼位,而且LAT服務提供者將只接受那些組編碼已經設置在位圖中地連接。管理員給每一個用戶分配一個有授權組編碼的位圖,LAT可以從操作系統中得到這些授權的編碼組,並在發送給服務提供者的請求數據包中使用它們。

    以下是登錄LAT組屬性格式的總結。域的傳輸是從左向右。

   

    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

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-

   |     類型      |    長度       |  字符串 ...

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-

類型

    36用於登錄LAT組屬性。

長度

    34

字符串

    這個字符串域是32個字節位圖,第一個字節最重要。一個強壯的應用應該把這個域作爲不可區分的字節串來支持。

    這個域可被使用的範圍的劃分是在這篇文檔說明的範圍之外。

        1. 配置AppleTalk連接

描述

     這個屬性指明瞭被用於用戶串行連接的AppleTalk網絡數目,其中的用戶是另一個AppleTalk路由器。它只能用在接入允許數據包中。當用戶爲另外的路由器時,此屬性不被使用。

    以下是配置AppleTalk連接屬性格式的總結。域的傳輸是從左向右。

   

    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

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   |    類型       |    長度       |             值

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

              值 (內容)            |

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

類型

   37用於配置AppleTalk連接屬性。

長度

    6

    值域是4個字節。無論此域的是多大,值得範圍都是從0到65535。使用某認得帶寬的情況下,特殊值0表明這是一個未編號的串行連接。在1到65535範圍中(包括65535)的任何一個值意味着在用戶和NAS間的串行線應該被分配那個值作爲AppleTalk網絡號。

        1. 配置AppleTalk網絡

描述

     這個屬性指明瞭NAS應該試探分配給用戶AppleTalk節點的AppleTalk網絡數目。它只能用在接入允許數據包中。當用戶爲另外的路由器時,此屬性不被使用。這個屬性多個實例說明NAS可以是試探的使用指定的任何數量地網絡。

    以下是配置AppleTalk網絡屬性格式的總結。域的傳輸是從左向右。

   

    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

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   |     類型      |    長度       |             值

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

              值 (內容)            |

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

類型

    38用於配置AppleTalk網絡屬性。

長度

     6

     值域是4個字節。無論此域的是多大,值得範圍都是從0到65535。使用某認得帶寬的情況下,特殊值0表明NAS應該分配一個網絡給用戶。在1到65535範圍中(包括65535)的任何一個值表示在AppleTalk網絡中,NAS應該試探性的爲用戶找到一個地址。

        1. 配置AppleTalk區域

描述

 

    這個屬性指定了被用戶使用的AppleTalk某認區域。它只能用在接入允許數據包中。多個實例在同一個數據包中是不允許的。

    以下是配置AppleTalk區域屬性格式的總結。域的傳輸是從左向右。

  

 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 4

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-

   |     類型      |    長度       |  字符串 ...

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-

類型

   39用於配置AppleTalk區域屬性。

長度

   大於或等於3。

字符串

    此字符串是用於這個用戶的某認AppleTalk區域的名字。一個強壯的應用應該把這個域作爲不可區分的字節串來支持。

    這個域可被使用的範圍的劃分是在這篇文檔說明的範圍之外。

        1. CHAP盤問

描述

    這個屬性包含了由NAS發送給PPP盤問握手認證協議(PPP Challenge-Handshake Authentication Protocol,CHAP)用戶的CHAP盤問。它只能使用在接入請求數據包中。

    如果CHAP盤問值是16個字節長,則這個屬性可以被請求鑑別碼域代替。

    以下是CHAP盤問屬性格式的總結。域的傳輸是從左向右。

   

  

 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

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-

   |     類型      |    長度       |    字符串...

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-

類型

    60用於CHAP盤問.

長度

    大於或者等於7。

字符串

    此字符串域包含CHAP盤問。

        1. NAS端口類型

描述

    這個屬性指定了用於鑑別用戶的NAS物理端口類型。此屬性可以被NAS端口屬性代替,或者NAS端口屬性附加於此屬性之後。它只能用於接入請求數據包中。如果NAS對它的端口進行區別的話,或者是NAS端口類型,或者是NAS端口屬性,或者是同時兩者應該出現在接入請求數據包中。

    以下是NAS端口類型屬性格式的總結。域的傳輸是從左向右。

   

    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

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   |     類型      |    長度       |             值

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

              值 (內容)            |

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

類型

   61用於NAS端口類型。

長度

    6

    此值域是4個字節。“虛擬”定義爲通過某種傳輸協議同NAS的連接,而不是通過一個物理端口。例如,如果一個用戶遠程登錄到NAS服務器,把自己作爲一個網外設備使用者來驗證,接入請求或許包括NAS端口類型等於虛擬,將這作爲一個提示給RADIUS服務器,告訴它用戶不是在物理端口上。

 

      0         異步                   Async

      1      同步                          Sync

      2      ISDN同步               ISDN Sync

      3       ISDN異步V.120         ISDN Async V.120

      4       ISDN同步V.110         ISDN Async V.110

      5       虛擬                   Virtual

      6       個人手機系統因特網接入論壇標準     PIAFS

      7       動態主機控制規程        HDLC Clear Channel

      8       X.25

      9       X.75

      10      G.3傳真協議             G.3 Fax

      11      對稱用戶傳輸協議         SDSL - Symmetric DSL

      12      非對稱用戶傳輸模式(無載波振幅相位模式)ADSL-CAP - Asymmetric DSL, Carrierless Amplitude Phase Modulation

      13      非對稱用戶傳輸模式(離散多音頻技術)    ADSL-DMT - Asymmetric DSL, Discrete Multi-Tone

      14      ISDN數字用戶線                         IDSL - ISDN Digital Subscriber Line

      15      以太網                                  Ethernet

      16      未知類型的數字用戶線                    xDSL - Digital Subscriber Line of unknown type

      17      電纜                                    Cable

      18      無線――其他                            Wireless - Other

      19      無線――IEEE802.11                      Wireless - IEEE 802.11

      PIAFS是一種通常使用在日本的無線ISDN形式,代表個人手機系統因特網接入論壇標準(Personal Handyphone System(PHS) Internet Access Forum Standard,PIAFS)。

        1. 端口限制

描述

     這個屬性設置由NAS提供給用戶端口的最大數目。這個屬性可以在接入請求數據包中由服務器發送給用戶。它更多的用在與多連接的PPP[12]或相似的應用有關聯的應用上。它也可以使用在由NAS發送給服務器的提示中,此提示告訴服務器有多少端口將被用到,但是服務器不一定要接受這個提示。

    以下是端口限制屬性格式的總結。域的傳輸是從左向右。

 

    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

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   |    類型       |    長度       |             值

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

              值 (內容)            |

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

類型

    62用於端口限制屬性。

長度

    6

    這個域是4個字節,包含一個32位的無符號整數,此無符號整數標識在NAS上用戶被允許連接的最大端口數目。

        1. 登錄LAT端口

描述

    這個屬性指定通過LAT用戶將連接到的端口。在僅僅LAT被指定爲登錄服務時,此屬性可以使用在接入允許數據包中。它也可以作爲一個給服務器的提示使用在接入請求數據包中,但服務器不一定接受這個提示。

    以下是登錄LAT端口屬性格式的總結。域的傳輸是從左向右。

 

    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

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-

   |    類型       |    長度       |  字符串 ...

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-

類型

   63用於登錄LAT端口屬性。

長度

   大於或者等於3。

字符串

這個屬性域是一個或者多個字節,包含使用中端口的身份。LAT結構允許字符串包含$(美元符)、-(連詞符)、.(原點)、_(下劃線)、數字、大小寫字母和ISO Latin-1字符擴展集。所有LAT字符串比較是不區分大小寫的。

        1. 屬性表

    以下的表格提供了一個嚮導,說明屬性可以在那些數據包中找到,數量是多少。

請求

允許

拒絕

盤問

#

屬性

0-1

0-1

0

0

1

User-Name

0-1

0

0

0

2

User-Password[Note 1]

0-1

0

0

0

3

CHAP-Password[Note 1]

0-1

0

0

0

4

NAS-IP-Address[Note 2]

0-1

0

0

0

5

NAS-Port

0-1

0-1

0

0

6

Service-Type

0-1

0-1

0

0

7

Framed-Protocol

0-1

0-1

0

0

8

Framed-IP-Address

0-1

0-1

0

0

9

Framed-IP-Netmask

0

0-1

0

0

10

Framed-Routing

0

0+

0

0

11

Filter-Id

0-1

0-1

0

0

12

Framed-MTU

0+

0+

0

0

13

Framed-Compression

0+

0+

0

0

14

Login-IP-Host

0

0-1

0

0

15

Login-Service

0

0-1

0

0

16

Login-TCP-Port

0

0+

0+

0+

18

Reply-Message

0-1

0-1

0

0

19

Callback-Number

0

0-1

0

0

20

Callback-Id

0

0+

0

0

22

Framed-Route

0

0-1

0

0

23

Framed-IPX-Network

0-1

0-1

0

0-1

24

State

0

0+

0

0

25

Class

0+

0+

0

0+

26

Vendor-Specific

0

0-1

0

0-1

27

Session-Timeout

0

0-1

0

0-1

28

Idle-Timeout

0

0-1

0

0

29

Termination-Action

0-1

0

0

0

30

Called-Station-Id

0-1

0

0

0

31

Calling-Station-Id

0-1

0

0

0

32

NAS-Identifier

0+

0+

0+

0+

33

Proxy-State

0-1

0-1

0

0

34

Login-LAT-Service

0-1

0-1

0

0

35

Login-LAT-Node

0-1

0-1

0

0

36

Login-LAT-Group

0

0-1

0

0

37

Framed-AppleTalk-Link

0

0+

0

0

38

Framed-AppleTalk-Network

0

0-1

0

0

39

Framed-AppleTalk-Zone

0-1

0

0

0

60

CHAP-Challenge

0-1

0

0

0

61

NAS-Port-Type

0-1

0-1

0

0

62

Port-Limit

0-1

0-1

0

0

63

Login-LAT-Port

Note1

接入請求數據包必須包含用戶密碼、CHAP密碼或者狀態。接入請求數據包禁止同時包含用戶密碼和CHAP密碼。如果將來協議擴展,允許傳送其他種類的認證信息,則擴展屬性在接入請求數據包中使用時,該屬性應該發送用戶密碼或者CHAP密碼。

Note2:

接入請求數據包禁止包含NAS的IP地址或者NAS標識符,或者是同時包含兩者。

以下這個表說明說明上個包中記錄的意思。

    0      這個屬性不能出現在這個數據包中

    0+     零個或者多個該屬性的實例可以出現在這個數據包中

    0-1    零個或者一個個屬性的實例可以出項在這個數據包中

    1      必須有一個該屬性的實例出現在這個數據包中,但只能有一個屬性存在

 

    1. 計費

數據包類型

      1. 記帳請求

描述

記帳請求包是由客戶端(典型的情況是網絡接入服務器或者它的代理)送到RADIUS記帳服務器,並將用於爲某個用戶提供的某種服務提供記帳的信息通知RADIUS記帳服務器。客戶端發送一個將編碼域置爲4(記帳請求)的RADIUS數據包。

一收到記帳請求,如果服務器能夠成功的記錄下記帳包的話,必須馬上發送一個記帳響應應答;如果記錄記帳包失敗,不得發送任何應答。在RADIUS接入請求和接入許可包中的任何有效屬性出了一下的幾種屬性:用戶密碼、CHAP密碼、應答信息、狀態不能出現在RADIUS記帳請求包中之外,其他的屬性在RADIUS記帳請求包中都是有效的。在RADIUS記帳請求中必須包含NAS-IP-Address(網絡接入服務器的IP地址)或者NAS-Identifer(網絡接入服務器標識符)。在請求包中還應當包含NAS-port(網絡接入服務器端口號)或者NAS-Port-Type(網絡接入服務器端口類型)屬性,或者兩者都包含;除非該服務不會設計任何端口或者網絡接入服務器(NAS)對它的各個端口不作區分。

如果記帳請求包包含了一個Framed-IP-Address,該屬性中必須包含用戶的IP地址。如果接入許可使用了一個專門的值以告訴網絡接入服務器(NAS)爲用戶分配一個IP地址,記帳請求中的Framed-IP-Address(如果有的話)必須包含實際分配給用戶的IP地址。

記帳請求包的格式概況如下所示。各個域是自左向右傳輸的。

    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

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   |     編碼      |   標識符   |              長度                |

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   |                                                               |

   |                        請求鑑別碼                             |

   |                                                               |

   |                                                               |

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   |  屬性...

   +-+-+-+-+-+-+-+-+-+-+-+-+-

編碼

4代表記帳請求

標識符

當屬性域的內容發生改變或者是已經收到當前請求的有效的應答,標識符域必須改變。在內容不發生任何改變的情況下的重發,標識符必須保持不變。

需要注意的是,如果記帳請求屬性中包括訪問延遲時間,該包重發時,訪問延遲時間值會被更新。同時也改變了屬性域的內容,需要新的新的標識符和請求鑑別碼。

請求鑑別碼

記帳請求的請求鑑別碼是一個佔有16個8位字節的MD5哈希值,該值的計算方法已在上述的“請求鑑別碼”中給出。

屬性

屬性域的長度各不相同,其中包含着一系列的屬性。

      1. 記帳響應

描述

記帳響應包是由RADIUS記帳服務器發給客戶端的,用來通知客戶端記帳請求已被接收,並且成功的記錄下來。如果記帳請求被成功的記錄下來,RADIUS記帳服務器必須發送一個編碼域被置爲5(記帳響應)的數據包。客戶端一收到記帳響應,標識符域就會去和一個等待應答的記帳請求相匹配。響應鑑別碼域必須含有對等待應答的記帳請求的正確響應。無效的數據包會被直接丟棄。

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

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   |      編碼      |   標識符   |             長度            |

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   |                                                               |

   |                           響應鑑別碼                          |

   |                                                               |

   |                                                               |

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   |  屬性 ...

   +-+-+-+-+-+-+-+-+-+-+-+-+-

編碼

5代表記帳響應

標識符

標識符域是對引起這次響應的記帳請求的標識符域的一個拷貝。

響應鑑別碼

記帳響應的響應鑑別碼是一個佔有16個8位字節的MD5哈希值,該值的計算方法已在上述的“響應鑑別碼”中給出。

屬性

屬性域的長度各不相同,它可能包含了一系列的零或者更多的屬性。

      1. 屬性

RADIUS屬性包括有請求和響應的鑑別、授權、記帳方面的詳細信息。

有些屬性可能會不止一次的被包括進去。這樣做的結果是該屬性在每個屬性域中都得到詳盡的描述。

屬性列表的結束是由RADIUS包的長度來決定的。

屬性域格式的概況如下所示。各個域是自左向右發送的。

    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。標準的屬性是不使用該數據類型的,但是在這裏提到該數據類型主要是以備在將來的屬性中使用。

        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(爲記帳失敗預留)

        1. 記帳延遲時間

描述

該屬性表明客戶端試圖發送該記錄所用的時間。用該數據包到達服務器端的時間減去記帳延遲時間就可以知道生成該數據包的大概時間。(網絡傳輸時間被忽略了)。

注意,記帳延遲時間的改變會引起鑑別碼的變化;詳細資料參見上面關於鑑別碼的討論。

記帳延遲時間的格式概況如下所示。各個域是按照自左向右的順序發送的。

    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

值域共佔有四個字節

        1. 輸入字節數

描述

該屬性表明在提供用戶所需的服務的過程中從端口接收到的字節總數。該屬性只有在要求停止記帳的記帳請求數據包中才會出現。

輸入字節數的基本格式如下所示。各個域是自左向右傳送的。

   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

值域所佔的空間是四個字節

        1. 輸出字節數

描述

該屬性表明在交付用戶所需的服務的過程中發送給端口的字節總數。該屬性只有在要求停止記帳的記帳請求數據包中才會出現。

輸出字節數的基本格式如下所示。各個域是自左向右傳送的。

   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

值域所佔的空間是四個字節

        1. 會話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】字符串

        1. 授權

描述

該屬性可能包含在記帳請求數據包中,用來說明是怎樣給用戶授權的:是通過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

        1. 會話時間

描述

該屬性表明用戶接受服務的時間。這個屬性只在記帳狀態類型爲記帳停止的記帳請求數據包中出現。

該屬性的大致格式如下。各個域是自左向右傳送的。

   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

值域共佔四個字節的空間

        1. 輸入數據包

描述

該屬性表明在爲某個用戶提供服務的過程中從端口接收到的數據包的總數。該屬性只能在記帳狀態爲記帳停止的數據包中出現。

記帳輸入數據包的大致格式如下。各個域是自左向右傳輸的。

    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

值域共佔四個字節的空間

        1. 輸出包總數

描述

該屬性表明在給某個定的用戶提供服務的過程中給端口發送的數據包的總數。這個屬性只能在記帳狀態類型爲記帳停止的記帳請求數據包中出現。

記帳輸出包屬性的大致格式如下。各個域是自左向右傳送的。

    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

值域總共佔有四個字節的空間

        1. 記帳中止事件

描述

該屬性表明對話是怎樣中止的。這屬性只能在記帳狀態爲記帳停止的記帳請求數據包中出現。

該屬性的大致格式如下。各個域是自左向右傳送的。

    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)         |

       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

類型

49代表記帳中止事件

長度

6

值域共佔四個字節的空間。包含一個表示記帳中止事件的數字。數字和事件的對應關係如下:

1 用戶請求

2 數據丟失

3 服務丟失

4 休息時間到

5 會話超時

6 管理員重置

7 管理員重啓

8 端口錯誤

9 NAS(網絡接入服務器)錯誤

10 NAS請求

11 NAS重啓

12 端口不再需要

13 端口被搶佔

14 端口掛起

15 服務難以獲得

16 回調

17 用戶錯誤

18 主機請求

中止事件描述如下:

用戶請求    用戶請求中止該項服務。例如:用LCP(連接控制協議)中止或者退出。

數據丟失    DCD(數據載波檢測)在端口處丟失。

服務丟失    無法再提供服務;例如:用戶與主機之間的連接中斷。

休息時間到  休息計數器滿。

會話超時    最大會話時間長度已到

管理員重置  管理員從新分配端口或者會話

管理員重啓  管理員結束NAS(網絡接入服務器)的服務,例如:在重新啓動NAS之前。   

端口錯誤    NAS(網絡接入服務器)在端口檢測到錯誤,這就要求中止會話。

NAS請求    NAS(網絡接入服務器)不是由於故障而要求中止會話,具體原因不在這裏另外列舉。

NAS重啓   NAS(網絡接入服務器)結束會話,以進行非管理性的重啓(“系統性事故”——“crash”)。

端口不再需要  NAS結束會話是因爲資源的使用已經低於最低水平線了。(例如:帶寬需求算法判定該端口已經不再需要了)。

端口被搶佔  NAS(網絡接入服務器)結束會話以便於將端口分配給優先級更高的應用。

端口被掛起  NAS(網絡接入服務器)結束對話以便於掛起一個虛擬會話。

服務難以獲得  NAS(網絡接入服務器)無法提供要求的服務。

回調        NAS(網絡接入服務器)中止當前的會話,以便於爲新的會話執行回調操作。

用戶錯誤    用戶的輸入有錯,導致中止會話。

主機請求    登錄主機正常中止會話。

        1. 多會話Id

描述

該屬性是唯一的一個便於在同一個日誌文件中的多個相關的會話聯繫起來的記帳ID。連接起來的每個會話都有自己唯一的會話Id,但是它們有相同的多會話Id。強烈建議多會話Id使用UTF-8編碼的10646【7】字符。

該數性的大致格式如下。各個域是自左向右傳輸的。

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

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   |     類型     |     長度     |  字符串 ...

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

類型

50代表多會話Id

長度

>=3

字符串

字符串域應當使用UTF-8編碼的10646字符

        1. 記帳鏈路計數

描述

該屬性給出了生成記帳記錄是所知道的一個給定的多鏈路會話的鏈路總數。NAS(網絡介入服務器)在所有的可能含有多條鏈路的記帳請求中都有可能含有記帳鏈路計數這個屬性。

該屬性的大致格式如下。各個域是自左向右傳輸的。

   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)           |

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

類型

51代表記帳鏈路數

長度

6

值域佔四個字節。其內容是在多會話中目前所知道的鏈路的數目。

它可能會被用來便於記帳服務器知道到何時爲止給定的多鏈路會話的所有記錄都已經到了。當記帳服務器收到的記帳請求的狀態類型=stop(停止),而且具有相同的多會話Id、唯一的會話Id的會話記錄的總數等於目前知道記帳鏈路計數的最大值時,多鏈路會話的所有記帳停止請求已經全部收到了。

下面給出一個8個記帳請求的例子,以便於理解。爲了清楚起見,只給出了相關的屬性,但是,其他的屬性也是在記帳請求中存在的。

多會話Id

會話Id

狀態類型

鏈路計數

"10"

"10"

start

1

"10"

"11"

start

2

"10"

"11"

Stop

2

"10"

"12"

Start

3

"10"

"13"

Start

4

"10"

"12"

Stop

4

"10"

"13"

Stop

4

"10"

"10"

Stop

4

        1. 屬性列表

下表中給出了在記帳請求包中可能會遇到的屬性的概覽。除了代理狀態以及服務提供商的信息(可能有)之外,沒有其他的屬性會在響應數據包中出現。

 

記帳請求

#

屬性

0-1

 

用戶名

0

 

用戶密碼

0

 

CHAP密碼

0-1

 

網絡接入服務器(NAS)IP地址[Note1]

0-1

 

網絡接入服務器(NAS)端口

0-1

 

服務類型

0-1

 

幀協議

0-1

 

幀IP地址

0-1

 

幀IP子網掩碼

0-1

 

幀路由

0+

 

過濾器編號

0-1

 

幀MTU(移動式測試裝置)

0+

 

幀壓縮

0+

 

登錄主機IP

0-1

 

登錄服務

0-1

 

登錄TCP端口

0

 

應答消息

0-1

 

回調數值

0-1

 

回調Id

0+

 

幀路由

0-1

 

IPX(以太網的一個協議)網絡幀

0

 

狀態

0+

 

0+

 

服務提供商信息

0-1

 

會話超時

0-1

 

空閒時間到

0-1

 

中止動作

0-1

 

被叫終端的IP

0-1

 

呼叫終端的IP

0-1

 

網絡接入服務器(NAS)標識符

0+

 

代理狀態

0-1

 

登錄局域網運輸協議(LAT)服務

0-1

 

登錄局域網運輸協議(LAT)節點

0-1

 

登錄局域網運輸協議(LAT)組

0-1

 

用AppleTalk協議(mac機所用的一種網絡協議)鏈接的幀

0-1

 

AppleTalk網絡幀

0-1

 

AppleTalk區域的幀

1

 

記帳狀態類型

0-1

 

記帳延遲時間

0-1

 

輸入字節總數

0-1

 

輸出字節總數

1

 

記帳會話Id

0-1

 

授權

0-1

 

會話時間

0-1

 

輸入數據包

0-1

 

輸出數據包

0-1

 

記帳中止事件

0+

 

多會話Id

0+

 

鏈路計數

0

 

CHAP難題

0-1

 

網絡接入服務器(NAS)端口類型

0-1

 

端口侷限

0-1

 

登錄局域網運輸協議(LAT)接口

Note1:記帳請求包中必須含有一個網絡接入服務器(NAS)IP地址或者一個網絡接入服務器標識符(或者兩者都有)。

下表中給出了上面的表格中輸入的定義。

0  禁止該屬性存在

0+   可能存在該屬性的0個或者更多個實例

0-1  可能有零個或者一個該屬性存在

1 剛好有一個屬性存在,而且該屬性是必須的

 

發佈了10 篇原創文章 · 獲贊 0 · 訪問量 2846
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章