• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • RADIUS(遠程用戶撥號認證系統)記帳協議

    發表于:2007-05-26來源:作者:點擊數: 標簽:
    摘要 本文描述了在網絡接入服務器和共享的記帳服務器之間傳送記帳信息的 協議 。 實現RADIUS記帳 協議 的注意事項 本文證明了RADIUS記帳 協議 。早期 開發 的RADIUS記帳 協議 使用的是端口號為1646的UDP端口,它和“sa-msg-port"服務互相沖突。為RADIUS 協議

    摘要
    本文描述了在網絡接入服務器和共享的記帳服務器之間傳送記帳信息的協議。
    實現RADIUS記帳協議的注意事項
    本文證明了RADIUS記帳協議。早期開發的RADIUS記帳協議使用的是端口號為1646的UDP端口,它和“sa-msg-port"服務互相沖突。為RADIUS協議正式分配的端口號為1813。

    目 錄

    RADIUS(遠程用戶撥號認證系統)記帳協議 1
    摘要 1
    實現RADIUS記帳協議的注意事項 1
    1.簡介 2
    1.1 必要的說明 2
    1.2 術語 2
    2.操作 2
    2.1 代理 3
    3.包格式 3
    4.包的類型 4
    4.1 記帳請求 4
    4.2 記帳響應 4
    5. 屬性 5
    5.1 記帳狀態類型 6
    5.2 記帳延遲時間 6
    5.3 輸入字節數 7
    5.4 輸出字節數 7
    5.5 會話Id 7
    5.6 授權 8
    5.7 會話時間 8
    5.8 輸入數據包 8
    5.9 輸出包總數 9
    5.10 記帳中止事件 9
    5.11 多會話Id 10
    5.12 記帳鏈路計數 10
    5.13 屬性列表 11
    6. IANA(國際互聯網分配的數字標準)因素 12
    7. 安全因素 12
    8. 更改記錄 12
    9.參考文獻 12
    10. 說明 13



    1.簡介
    經營為眾多的用戶提供的串口線路和modem池會帶來巨大的管理支持方面的需求。由于根據定義,modem池是通向外部世界的鏈路,因此它對安全、認證、記帳都有很高的要求。這些需求可以通過維護一個用戶數據庫來實現,該數據庫包含認證(驗證用戶的名字和密碼)和配置細節——為用戶提供的服務的類型(如:SLIP,PPP,te.net,rlogin等)。
    RADIUS(遠程用戶撥號認證系統)文檔【2】詳細說明了用于認證和授權的RADIUS協議。本文擴展了RADIUS協議的應用,使其包括了從網絡接入服務器給RADIUS記帳服務器傳遞信息的應用。
    本文廢棄了RFC2139【1】。它與RFC2139之間的差別的概要在附錄“更改記錄”中可以找到。
    RADIUS記帳協議的主要特征如下:
    客戶/服務器模式
    網絡接入服務器是RADIUS記帳服務器的客戶端??蛻舳素撠煂⒂脩舻挠泿ば畔鬟f給指定的RADIUS記帳服務器。
    RADIUS記帳服務器負責接收記帳請求,并給客戶端返回一個響應信息,表明記帳請求被成功的接收。RADIUS記帳服務器可以作為其他類型的記帳服務器的代理。
    網絡安全
    客戶端與RADIUS記帳服務器之間的交互是通過共享密鑰的使用來鑒別的,這個共享密鑰根本不會通過網絡傳送。
    協議的可擴充性
    所有的事務都是由不同長度的屬性-長度-值的三元組構成的。新的屬性值的加入不會影響到原有協議的執行。
    1.1 必要的說明
    本文中的關鍵詞"MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", 以及"OPTIONAL"與RFC2119【3】中的描述的意義是相同的。這些關鍵詞意義與其是否大寫無關。
    1.2 術語
    本文使用了以下的術語:
    服務 網絡接入服務器為撥入用戶提供的某種服務,如:PPP或者Telnet。
    會話 網絡接入服務器為撥入用戶提供的每一個服務都會建立一個會話。會話的開始給出了最初提供服務的位置,會話的最后給出了服務結束的位置。如果網絡接入服務器支持的話,一個用戶可以有多個并行或者串行的會話。對于每一個會話,都會產生一個獨立的H會話ID(Aclearcase/" target="_blank" >cct-Session-ID)。
    直接丟棄
    這就是說應用程序不對包進行任何處理就直接丟棄。SHOULD的執行提供了記錄錯誤的能力,其中包括了被直接丟棄的包的內容;而且,SHOULD會記錄下統計計數器中的事件。
    2.操作
    當一個客戶端的配置采用RADIUS記帳協議時,在開始提供服務的時候它會生成一個記帳包,該記帳包描述了正在提供的服務的類型以及為之提供服務的用戶,它將被送至RADIUS記帳服務器。記帳服務器會返回一個表明該記帳包已經收到的應答。服務中止時,客戶端會產生一個記帳中止數據包,該數據包中描述了提供的服務的類型以及隨機統計報表(如:服務所用的時間、輸入輸出的字節數或者輸入、輸出包的情況)。該數據包會被送至RADIUS記帳服務器,服務器會返回一個表示該數據包已經收到的應答。
    記帳請求(無論是開始記帳還是中止記帳的請求)是通過網絡提交給RADIUS記帳服務器的。最好是讓客戶端使用某種形式的后退機制,使得客戶端不斷的發送記帳請求包直到收到應答信息為止。如果在一段時間內沒有收到返回的響應信息,記帳請求就會被重發幾次。如果主服務器壞掉或者是無法到達客戶端可以向后備服務器轉發記帳請求信息??梢砸幎ㄔ趯χ鞣掌髦卦囀∫欢ǖ拇螖抵蠡蛘呤遣捎醚h調度算法的方式允許使用后備服務器。重試和放棄算法是目前正在研究的一個課題,在本文中就不再贅述了。
    RADIUS記帳服務器可以向其他的服務器發出請求,來滿足記帳請求,被請求的服務器充當一個客戶端。
    如果RADIUS記帳服務器不能成功的處理記帳包,服務器一定不能(MUST NOT)給客戶端發送應答信息。
    2.1 代理
    參閱“RADIUS”RFC【2】中關于RADIUS代理的描述,RADIUS記帳代理服務器的工作方式與RADIUS代理服務器是相同的,如下例所示。
    1. NAS向轉發服務器發送記帳請求。
    2. 轉發服務器將記帳請求記錄下來(如果必要的話),在其他的代理服務器的狀態屬性之后增加自己的代理狀態信息(如果必要的話),更新鑒別碼,將這些請求轉發給遠程服務器。
    3. 遠程服務器將記帳請求記錄下(如果必要的話),將所有的代理狀態屬性按順序原封不動的從請求數據報復制到響應數據包,把記帳響應送給轉發服務器。
    4. 轉發服務器剝離最后的代理狀態(如果在第二步加了的話),更新響應鑒別碼,將記帳響應發給NAS。
    轉發服務器不得更改當前數據包中已經存在的代理狀態或者類屬性。
    轉發服務器可能以通過(pass through)的方式完成轉發的功能,也就是說,轉發服務器一收到數據包就重新發送;或者轉發服務器自身完成重發功能,例如:在轉發服務器和遠程服務器之間的網絡鏈接與網絡接入服務器(NAS)和轉發服務器之間的鏈接相比有很大不同的情況。
    當代理服務器被用來執行轉發功能的時候,要特別的注意確保轉發算法是健壯的、可擴展的。
    3.包格式
    嚴格的講,RADIUS記帳協議包應該位于UDP數據域【4】,它的目標端口號是1813(十進制數)。
    當產生一個應答的時候,源端口和目的地址端口互換。
    本文定義了RADIUS協議。早期的RADIUS記帳是通過端口號為1646的UDP端口來實現的,它和“sa-msg-port”服務相沖突。為RADIUS記帳服務正式分配的端口號是1813。
    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記帳編碼分配如下:
    4 記帳請求
    5 記帳相應
    標識符
    標識符域是一個八位字節,用于請求和應答的匹配。如果請求包具有相同的源ip地址、源UDP端口號,并且在很短的一段時間內出現了相同的標識符,RADIUS就可以檢測到重復的請求。
    長度
    長度域占有兩個八位的字節。它表明了該包所包含的編碼、標識符、長度、鑒別碼以及屬性域的總長度。在長度域限定的范圍之外的八位字節必須作為填充字節,在接收時不予處理。如果包的實際長度小于長度域中給出的值,該包必須被直接丟棄。包的最小長度是20,最大長度是4095。
    鑒別碼
    鑒別碼域占有16個八位的字節。最重要的字節先傳輸。該域的值用來鑒別客戶端和RADIUS記帳服務器之間的信息。
    請求鑒別碼
    在記帳請求包中,鑒別碼的值是一個占有16個八位字節的MD5【5】校驗和,稱作請求鑒別碼。
    網絡接入服務器(NAS)和RADIUS記帳服務器共享一個密鑰。記帳請求包中的鑒別碼中包含對一個由編碼+標識符+長度+16個為0的八位字節+請求屬性+共享密鑰(在這里,+表示將各個字符連接起來)所構成的八位字節流進行某種方式的MD5哈希計算得到的代碼。這個占有16個8位字節的MD5哈希值被存儲到記帳請求包的鑒別碼域中。
    注意記帳請求中的請求鑒別碼不得與RADIUS接入請求的請求鑒別碼的生成方式相同,因為在記帳請求中沒有用戶口令這一屬性。
    響應鑒別碼
    在記帳響應包中的鑒別碼域稱作響應鑒別碼。它包含對一個由記帳響應編碼、標識符、長度、來自于將要被應答的記帳請求包的請求鑒別碼以及響應屬性(如果有的話)、共享密鑰構成的八位字節流進行某種方式的MD5哈希計算得到的代碼。這個占有16個8位字節的MD5哈希值被存儲到記帳響應包的鑒別碼域中。
    屬性
    屬性可能會包含多個實例,在這種情況下同種類型的各個屬性的排列應當保持一定的順序。但是,不同類型的各個屬性的排列順序是任意的。
    4.包的類型
    RADIUS包的類型是由位于包的第一個八位字節的編碼域的值決定的。
    4.1 記帳請求
    描述
    記帳請求包是由客戶端(典型的情況是網絡接入服務器或者它的代理)送到RADIUS記帳服務器,并將用于為某個用戶提供的某種服務提供記帳的信息通知RADIUS記帳服務器??蛻舳税l送一個將編碼域置為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哈希值,該值的計算方法已在上述的“請求鑒別碼”中給出。
    屬性
    屬性域的長度各不相同,其中包含著一系列的屬性。
    4.2 記帳響應
    描述
    記帳響應包是由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哈希值,該值的計算方法已在上述的“響應鑒別碼”中給出。
    屬性
    屬性域的長度各不相同,它可能包含了一系列的零或者更多的屬性。
    5. 屬性
    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。標準的屬性是不使用該數據類型的,但是在這里提到該數據類型主要是以備在將來的屬性中使用。
    5.1 記帳狀態類型
    描述
    該屬性表明當前的記帳請求是表示用戶服務開始(start)還是結束(stop)。
    它可能被客戶端通過指出記帳開始的方式來表示開始記帳(例如:在啟動之前),或者通過指明記帳完成的方式來結束記帳(例如:在預定的重新啟動之前)。
    記帳狀態類型的格式概況如下所示。各個域是按照自左向右的順序發送的。
    0 1 2 3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    | 類型 | 長度 | 值
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    值(cont) |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    類型
    40表示記帳狀態
    長度
    6

    值域占有四個字節。
    1 Start(開始)
    2 Stop(停止)
    3 Interim-Update(過渡更新)
    7 Accounting-On(開始記帳)
    8 Accounting-Off(結束記帳)
    9-14 Reserved for Tunnel Accounting(為隧道記帳保留)
    15 Reserved for Failed(為記帳失敗預留)
    5.2 記帳延遲時間
    描述
    該屬性表明客戶端試圖發送該記錄所用的時間。用該數據包到達服務器端的時間減去記帳延遲時間就可以知道生成該數據包的大概時間。(網絡傳輸時間被忽略了)。
    注意,記帳延遲時間的改變會引起鑒別碼的變化;詳細資料參見上面關于鑒別碼的討論。
    記帳延遲時間的格式概況如下所示。各個域是按照自左向右的順序發送的。
    0 1 2 3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    | 類型 | 長度 | 值
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    值 (cont) |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    類型
    41代表記帳延遲時間
    長度
    6

    值域共占有四個字節
    5.3 輸入字節數
    描述
    該屬性表明在提供用戶所需的服務的過程中從端口接收到的字節總數。該屬性只有在要求停止記帳的記帳請求數據包中才會出現。
    輸入字節數的基本格式如下所示。各個域是自左向右傳送的。
    0 1 2 3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    | 類型 | 長度 | 值
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    值 (cont) |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    類型
    42代表輸入字節數
    長度
    6

    值域所占的空間是四個字節
    5.4 輸出字節數
    描述
    該屬性表明在交付用戶所需的服務的過程中發送給端口的字節總數。該屬性只有在要求停止記帳的記帳請求數據包中才會出現。
    輸出字節數的基本格式如下所示。各個域是自左向右傳送的。
    0 1 2 3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    | 類型 | 長度 | 值
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    值 (cont) |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    類型
    43代表輸入字節數
    長度
    6

    值域所占的空間是四個字節
    5.5 會話Id
    描述
    該屬性是便于在日志文件中的開始和停止記錄匹配的唯一的記帳ID。對于一個給定的會話,它的開始和停止記錄必須有相同的記帳會話Id。記帳請求包必須有一個記帳會話Id。接入請求包可能含有記帳會話Id;如果接入請求包中含有記帳會話Id的話,NAS(網絡接入服務器)在為該會話產生的記帳請求數據包中必須使用相同的記帳會話Id。
    記帳會話Id應當含有UTF編碼的10646【7】字符。
    例如:有一種實現方式是使用一個8位的16進制數表示,該數的前兩位每次重新啟動后加一(重啟256次之后循環),后六位數字從0到2^24-1,大約共一千六百萬,用來計數重啟之后登錄的用戶的個數,
    記帳會話Id的屬性的大致格式如下。各個域是自左向右傳送的。
    0 1 2
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    | 類型 | 長度 | 文字 ...
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    類型
    44代表記帳會話Id
    長度
    >=3
    字符串
    字符串域應當是一個UTF-8編碼的10646【7】字符串
    5.6 授權
    描述
    該屬性可能包含在記帳請求數據包中,用來說明是怎樣給用戶授權的:是通過RADIUS、網絡接入服務器本身,還是通過另外一個遠程授權協議。不需授權就能提供服務的用戶不可以生成記帳包。
    授權屬性的大致格式如下。各個域是自左向右傳送的。
    0 1 2 3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    | 類型 | 長度 | 值
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    值 (cont) |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    類型
    45表示記帳包的授權屬性
    長度
    6

    值域占四個字節的空間
    1 RADIUS
    2 Local
    3 Remote
    5.7 會話時間
    描述
    該屬性表明用戶接受服務的時間。這個屬性只在記帳狀態類型為記帳停止的記帳請求數據包中出現。
    該屬性的大致格式如下。各個域是自左向右傳送的。
    0 1 2 3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    | 類型 | 長度 | 值
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    值 (cont) |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    類型
    46代表會話時間
    長度
    6

    值域共占四個字節的空間
    5.8 輸入數據包
    描述
    該屬性表明在為某個用戶提供服務的過程中從端口接收到的數據包的總數。該屬性只能在記帳狀態為記帳停止的數據包中出現。
    記帳輸入數據包的大致格式如下。各個域是自左向右傳輸的。
    0 1 2 3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    | 類型 | 長度 | 值
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    值 (cont) |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    類型
    47代表輸入包總數
    長度
    6

    值域共占四個字節的空間
    5.9 輸出包總數
    描述
    該屬性表明在給某個定的用戶提供服務的過程中給端口發送的數據包的總數。這個屬性只能在記帳狀態類型為記帳停止的記帳請求數據包中出現。
    記帳輸出包屬性的大致格式如下。各個域是自左向右傳送的。
    0 1 2 3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    | 類型 | 長度 | 值
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    值 (cont) |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    類型
    48代表輸出包
    長度
    6

    值域總共占有四個字節的空間
    5.10 記帳中止事件
    描述
    該屬性表明對話是怎樣中止的。這屬性只能在記帳狀態為記帳停止的記帳請求數據包中出現。
    該屬性的大致格式如下。各個域是自左向右傳送的。
    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(網絡接入服務器)中止當前的會話,以便于為新的會話執行回調操作。
    用戶錯誤 用戶的輸入有錯,導致中止會話。
    主機請求 登錄主機正常中止會話。
    5.11 多會話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字符
    5.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
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    | 類型 | 長度 | 值
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    值(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
    5.13 屬性列表
    下表中給出了在記帳請求包中可能會遇到的屬性的概覽。除了代理狀態以及服務提供商的信息(可能有)之外,沒有其他的屬性會在響應數據包中出現。

    # 屬性
    0-1 用戶名
    0 用戶密碼
    0 CHAP密碼
    0-1 網絡接入服務器(NAS)IP地址【Note 1】
    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)接口
    【Note 1】記帳請求包中必須含有一個網絡接入服務器(NAS)IP地址或者一個網絡接入服務器標識符(或者兩者都有)。
    下表中給出了上面的表格中輸入的定義。
    0 禁止該屬性存在
    0+ 可能存在該屬性的0個或者更多個實例
    0-1 可能有零個或者一個該屬性存在
    1 剛好有一個屬性存在,而且該屬性是必須的
    6. IANA(國際互聯網分配的數字標準)因素
    在本文中給出的包的類型編碼、屬性類型、屬性值的定義都已經被國際互聯網分配的數字標準(IANA)注冊在RADIUS名稱范圍內,并且在RFC2865【2】的“IANA 因素”部分給出了詳細的描述。
    7. 安全因素
    安全問題已經在記帳請求、記帳響應中的關于鑒別碼的部分中討論過了。采用的是一個從不再網絡上傳輸的公共密鑰的形式。
    8. 更改記錄
    * 用UTF-8編碼代替US-ASCII編碼。
    * 增加了關于代理的附加注釋。
    * 要求幀IP地址應當包含用戶的真正的IP地址。
    * 如果會話ID是在接入請求中發送的,它必須在該會話記帳請求中也使用這個ID。
    * 在記帳狀態類型中的添加了一些新值。
    * 增加一個關于IANA因素的部分。
    * 更新了參考文獻。
    * 將文本字符串定義成字符串的字集,從而更加明確了UTF-8編碼的使用。
    9.參考文獻
    [1] Rigney, C., "RADIUS Accounting", RFC2139, April 1997.
    [2] Rigney, C., Willens, S., Rubens, A. and W. Simpson, "Remote
    Authentication Dial In User Service (RADIUS)", RFC2865, June
    2000.
    [3] Bradner, S., "Key words for use in RFCs to Indicate Requirement
    Levels", BCP 14, RFC2119, March, 1997.
    [4] Postel, J., "User Datagram Protocol", STD 6, RFC768, August
    1980.
    [5] Rivest, R. and S. Dusse, "The MD5 Message-Digest Algorithm", RFC
    1321, April 1992.
    [6] Reynolds, J. and J. Postel, "Assigned Numbers", STD 2, RFC1700,
    October 1994.
    [7] Yergeau, F., "UTF-8, a transformation format of ISO 10646", RFC
    2279, January 1998.
    [8] Alvestrand, H. and T. Narten, "Guidelines for Writing an IANA
    Considerations Section in RFCs", BCP 26, RFC2434, October 1998.
    10. 說明
    RADIUS協議和RADIUS記帳協議最初是由利文斯敦(Livingston)公司的Steve
    Willens為他們的PortMaster系列網絡接入服務器設計的。

    原文轉自:http://www.kjueaiud.com

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>