新聞中心

        EEPW首頁 > 手機與無線通信 > 設計應用 > Diameter協議結構特點研究

        Diameter協議結構特點研究

        作者: 時間:2011-04-23 來源:網絡 收藏

        介紹

        本文引用地址:http://www.104case.com/article/156364.htm

          ● 簡介

          系列是IETF開發的新一代AAA。AAA即Authentication(認證)、Authorization(授權)、Accounting(計費)。Authentication(認證)用以對用戶身份進行確認;Authorization(授權) 用以確定用戶是否被授權使用某種網絡資源;Accounting(計費)用以監測用戶使用網絡資源的狀況,可依照檢測的記錄對用戶收費。

          ● 協議的

          以前的AAA協議如RADIUS、TACACS主要是針對PPP服務和終端服務而設計的。隨著網絡技術的發展,新的接入方式如無線接入、DSL接入、移動IP陸續出現,以太網也不斷發展,AAA中的網絡訪問服務器(NAS)自身也逐漸變得越來越復雜。這些發展變化,對AAA協議提出了新的要求。原有的AAA協議已經不能充分滿足這些要求,而新一代AAA協議-Diameter協議卻可以滿足這些需求,主要包括如下幾個方面:

          (1) 良好的故障切換機制。Diameter協議支持應用層的信息確認和失效檢測機制。

          (2) 傳輸層安全。Diameter協議通過IPsec和TLS保證傳輸的安全性,其中TLS對于客戶端來講是可選的。

          (3) 可靠的傳輸。Diameter協議通過TCP或SCTP提供可靠的傳輸。

          (4) 支持各種類型的代理,包括中繼代理、重定向代理、Proxy代理、協議轉換代理。

          (5) 支持服務器發起消息。例如服務器可以發消息要求客戶端重新認證。

          (6) 保持與現有網絡AAA協議(如RADIUS)的兼容性。

          (7) 支持節點間的能力協商機制。

          (8) 支持對等端自主發現和配置機制。

          (9) 支持漫游。Diameter協議定義了域間漫游、消息路由及安全傳輸,能夠提供安全漫游服務。

          ● Diameter協議的框架

          Diameter協議包含IP傳送、安全協議、Diameter基礎協議以及不同的應用協議。Diameter基礎協議為各種應用協議提供一個基本框架,它定義了協議的傳輸機制、消息格式、消息處理、差錯處理、計費與安全服務等。應用協議依賴基礎協議提供針對某一應用的AAA服務,它是不斷發展變化的。IETF已經確定了一些應用協議的標準,而其它的應用協議的標準尚在制定的過程中。已被確定為協議標準的應用有:移動IP應用協議(MIPv4)、網絡訪問服務應用協議(NAS或NASREQ)、信用控制應用協議(Credit-Control)、擴展認證應用協議(EAP)等。尚在討論和制定的標準有:SIP應用協議等。

          如前所述,Diameter協議通過TCP或SCTP提供可靠的傳輸,通過Ipsec和TLS來保證傳輸的安全性。Diameter在基礎協議的基礎上提供各種應用服務。

          ● Diameter協議的消息格式

          Diameter基礎協議定義了Diameter協議的消息格式:

          Diameter消息的頭部包括20個字節。頭4個字節包括8比特的版本信息(目前是1)和24比特的消息長度(包含頭部的長度)。

          隨后的4個字節包括8比特的消息標志位和24比特的命令代碼。消息標志位有R、P、E、T。R為1或0分別表示請求(Request)和應答(Answer);P表示本消息是否允許被代理處理、被轉發或重定向;E表示是否為消息錯誤;T表示本消息是重發的消息。r為保留的標志位。

          命令代碼用來表示這個消息所對應的命令(其中0至255保留給RADIUS后向兼容),基礎協議定義了如下幾個基本的命令代碼:

          而Diameter應用協議會根據需要添加必要的命令代碼,例如NAS應用協議定義了下面的命令代碼:

          再舉例來說,3GPP(R5)向IANA(網絡地址分配機構)申請保留了300~313的命令代碼,用于3G的應用,目前已經定義了如下的命令用于Cx/Dx/Sh/Dh接口(目前這些命令尚未被現有的IETF的Diameter協議所定義):

          隨后的12個字節分別為應用標識、逐跳標識和端到端標識,其中應用標識用以指示消息所適用的應用:

          逐跳標識用于幫助匹配請求與響應的對應關系,例如I-CSCF發UAR消息向HSS查詢應選擇哪個S-CSCF,HSS發UAA回應查詢請求;UAR和UAA的逐跳標識是相同的。

          端到端標識主要用于重復消息的檢查。

          消息頭部之后為屬性值對(AVP),一個消息中可以包括多個AVP。AVP中包含了認證、授權、計費、消息的路由和安全等信息。

          ● AVP的格式

          V標志位表示本AVP有無Vendor-ID字段。若V標志位為1,則需要Vendor-ID不能為0。若V標志位為0,則表示沒有Vendor-ID。

          M標志位表示本AVP是否是強制性的。如果收到M為1的AVP,若Diameter客戶端或服務器端或代理不能識別此AVP或AVP的值,必須丟棄此AVP。

          P標志位表示本AVP是否需要端對端安全加密。

          若V標志位為0,則AVP code使用的是IANA組織定義的AVP code值。基本協議中定義了一些基本的AVP Code和數據(Data)的類型。其中AVP Code 1至255用于與原有Radius協議兼容。各個應用協議也根據應用的不同分別定義了相應的AVP Code以及Data類型。由于AVP Code較多,這里不一一列舉,僅舉二例:

          Vendor-ID為廠商的標識,例如3GPP組織的Vendor-ID為10415。若Vendor-ID不為0,則廠商可以定義自己的AVP code和Data類型。這里也僅舉3GPP在TS29.229中定義的AVP的兩個例子:



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 洛川县| 济宁市| 剑河县| 揭西县| 阳高县| 巨鹿县| 南岸区| 手游| 无为县| 横山县| 襄垣县| 寿阳县| 孟州市| 黄冈市| 清新县| 白玉县| 百色市| 武鸣县| 红安县| 和龙市| 招远市| 静安区| 沽源县| 天镇县| 察隅县| 宜丰县| 常山县| 潼关县| 漳州市| 宜兴市| 岚皋县| 常州市| 龙里县| 饶河县| 凌云县| 通渭县| 顺义区| 西盟| 桦甸市| 东至县| 福建省|