




免費預覽已結束,剩余9頁可下載查看
下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
Diameter協(xié)議學習筆記一(協(xié)議介紹)一、摘要: Diameter協(xié)議主要為應用程序提供認證、鑒權、計費框架,即AAA,并支持本地AAA和漫游場景下的AAA。二、介紹: AAA協(xié)議、例如TACACS、RADIUS起初是為了提供PPP及終端接入,隨著Internet及新的接入技術的發(fā)展,包括無線、DSL、移動IP, 以太網(wǎng)路由、網(wǎng)絡訪問服務器(NAS)在復雜和密集性方面有所增強,這對AAA協(xié)議提出了新的要求。例如,網(wǎng)絡訪問對AAA 協(xié)議提出的要求總結有以下這些: Failover(故障轉移)RADIUS協(xié)議沒有定義failover機制,因此,failover的行為隨著程序的實現(xiàn)不同而各異,為了提供一個明確定義的failover行為,Diameter支持應用層的應答,并定義failover的西裝算法和偶聯(lián)狀態(tài)機。 傳輸層安全 RADIUS在定義了應用層的認證,但僅使用了響應包,RADEXT定義了另外的認證,但僅要求在EAP session中使用,且支持屬性隱藏。RFC3162為RADIUS定義了IPsec,但對其支持并沒有做要求,Diameter強制要求支持IPSec,TLS的支持可選擇。 可靠傳輸 RADIUS運行在UDP上,且沒有定義重傳行為,所有,可靠性因實現(xiàn)不同而各異。Diameter運行在可靠的傳輸層(TCP, SCTP)上。 代理支持 RADIUS沒有明確地規(guī)定支持agent,包括Proxies, Redirects, Relays。Diameter明確地定義了代理的行為。 服務器發(fā)起消息 RADIUS中對于服務器發(fā)起消息的支持是可選的,這就使用一些如主動斷鏈、或者重新認證或重新鑒權等特性實現(xiàn)困難。服務器發(fā)起消息在Diameter中強制要求支持。 可審核性 RADIUS沒有定義數(shù)據(jù)對象安全機制,結果,不受信任的代理可能修改屬性或都包頭,并且不會被檢測出來,結合對能力協(xié)商機制的缺失,無法預期結果會發(fā)生什么。Diameter也沒有定義數(shù)據(jù)對象安全機制,但支持能力協(xié)商。 轉換支持 Diameter使用的通用協(xié)議數(shù)據(jù)單元(PDU)與RADIUS不同,但支持向前兼容RADIUS,所以兩種協(xié)議可以部署在同一網(wǎng)絡中。 能力協(xié)商 RADIUS不支持錯誤消息、能力協(xié)商、及表示屬性強制/非強制的標志位。因此RADIUS的客戶端和服務端不擔心對方的能力,它們可能不會成功地協(xié)商一個相互接受的服務,或者在一些情況下,需要知道哪些服務對端已經(jīng)實現(xiàn),以上幾點Diameter均支持。 對端發(fā)現(xiàn)及配置 RADIUS要求人工配置服務端或客戶端的名稱或地址,相應地增加了秘密的共享,帶來管理和安全上的負擔。通過DNS,Diameter可以動態(tài)發(fā)現(xiàn)對端,并通過傳輸層安全來保證。 漫游支持 RADIUS不提供對proxyr的明確支持,缺少可審核性、傳輸層安全,使得在漫游場景下容易引發(fā)安全問題,Diameter支持域內漫游、消息路由、可審核性、傳輸層安全特性,可提供可安全和可靠的漫游。術語: AAA 認證、鑒權、計費 Accounting(計費) 為能力計劃制定、審計、賬單、費用分配等目的而進行資源使用的信息的收集動作。 Accounting Record (計費記錄) 記錄某個用戶在整個會話期間資源消費的情況, Authentication(認證) 校驗一個實體一致性的動作。 Authorization(鑒權) 決定一個請求實體是否允許訪問某項資源。 AVP (屬性值對)Diameter消息由一個報文頭后跟一個或多個Attribute-Value-Pairs(AVPs),一個AVP包含一個頭用于協(xié)議細節(jié)數(shù)據(jù)(例如路由信息)。 Broker (代理) 代理是一個用于AAA架構中的商業(yè)術語,可以是relay, proxy,或者redirect agent。 Diameter Agent(Diameter 代理) 指一個提供relay、proxy、redirect或翻譯服務的diameter結點。 Diameter Client(Diameter 客戶端)為一個處于網(wǎng)絡邊緣的,提供訪問控制的設備。如NAS。 Diameter Node(Diameter 節(jié)點) 為一個實現(xiàn)了diameter協(xié)議的主機進程,其行為為客戶端、代理、服務端之一。 Diameter Peer (Diameter 對端) 為一個具有直連連接的diameter節(jié)點。 Diameter Security Exchange (diameter 安全交換) 為一個進程,兩個diameter節(jié)點可以通過它建立端到端的安全。 Diameter Server(diameter 服務端) 用于處理指定域中認證、鑒權、計費請求。 End-to-End Security (端到端安全) TLS和IPSec提供逐跳的安全,當relays或proxy很復雜時,逐跳的安全不能保證全部的diameter用戶會話,端到端安全為兩個diameter節(jié)點間的安全,或者Agent間的,這種安全保證了整個dimeter傳送路徑上的安全。 Home Realm(歸屬域) 為一個維護帳戶關系的管理域。 Interim accounting(臨時計費) 一個臨時計費消息提供一個用戶會話的使用快照,通常為一個用戶會話在設備重啟或者網(wǎng)絡問題出現(xiàn)時提供部分的計費。 Local Realm(本地域) 一個提供服務的管理域。 Multi-Sessin(多會話) 一個多會話表示多個會話的邏輯連接,多會話使用Acct-Multi-Session-Id來跟蹤。 Network Access Identifier(網(wǎng)絡接入標識) 即NAI,用來在diameter協(xié)議中提取一個用戶的標識及域。用于在認證中識別用戶,域用來消息路由。 Proxy Agent or Proxy (代理) 除傳輸請求和響應外,代理制定與資源有關的策略,通常用來完成NAS設備狀態(tài)的跟蹤,代理在收到一個服務端的響應前不會對客戶端的請求進行應答。當策略被違反時,它們可能會生成一個拒絕消息。因此,代理需要理解通過它們傳輸?shù)南⒌恼Z義,它們可能不支持所有的diameter應用。 Realm(域) 在NAI中跟在符號之后的字符串,NAI的域要求為唯一的,且為DNS域的分段,用于判斷消息是否滿足本地處理的條件,或者被路由或重定向。 Real-time Accounting(實時計費) 它包含在一個限定的時間窗內處理資源使用的信息,時間限制通常用來限制風險。 Relay Agent or Relay(中繼代理或轉播) 轉播請求和響應基于路由相關的AVPs和路由表,中繼不會制定策略,他們不會檢查或更改非路由AVPs,因此,中繼從不產(chǎn)生消息,不需要理解消息的語義或者非路由AVPs,可能會處理八種diameter應用或消息類型,因此,中繼依據(jù)路由和域來做決定,并且不保存NAS資源使用的狀態(tài)或會話。 Redirect Agent(重定向代理) 與其在客戶端和服務端間傳遞消息,重定向代理涉及客戶端和服務端,并允許它們直接通信,所以重定向代理不出現(xiàn)在傳輸路徑中,它們從不修改客戶端和服務端傳輸?shù)娜魏蜛VPs,也不產(chǎn)生消息,可以處理任何消息類型,盡管它們可能僅配置為重定向特定類型的消息,與Proxy代理相比,重定向代理不保存會話或NAS資源相關的狀態(tài)。 Security Association(安全偶聯(lián)) 一個安全的偶聯(lián)是指兩個端點之間的diameter會話,此會話允許端點完整且可信地通信,包括中繼和/或Proxy。 Session(會話) 會話是指一個事件相關的活動。每個應用應該為會話的開始和結束提供指導,所有具有相同會話標識的diameter包被認為同一個會話的一部分。 Sub-session(子會話) 一個子會話表示一個明確的服務(例如Qos),這些服務可能同時或連續(xù)發(fā)生(例如同時產(chǎn)生的語音和同一會話中傳輸?shù)臄?shù)據(jù))。此類會話由Accounting-Sub-Session-Id來跟蹤。 Transaction state(傳輸狀態(tài)) Diameter協(xié)議要求代理來維護傳輸狀態(tài),用于failover。傳輸狀態(tài)暗指一個請求,逐跳標識被保存,且原來存儲對應應答接收時的初始值字段被本地唯一標識符替代,當拒絕一個應答時請求的狀態(tài)被釋放。 Translation Agent(傳輸代理) 是指為一個具有狀態(tài)的dimaeter節(jié)點,用于在diameter和其它的AAA協(xié)議(如RADIUS)間進行翻譯。 Translation Connection(傳輸連接) 一個傳輸連接是指直接存在于兩個diameter對端間的TCP或SCTP連接,或者說端到端連接。 Upstream(上行) 用來標識一個特定的diameter消息從接入設備到歸屬服務器的傳送方向。 User(用戶) 產(chǎn)生請求或使用某些資源的實體,支持diameter客戶端產(chǎn)生一個請求。 鏈接和會話的區(qū)別: 鏈接為傳輸層概念,會話為應用層的概念,通過AVP Session-Id來標識,兩者之前沒有聯(lián)系。如下圖: +-+ +-+ +-+ | Client | | Relay | | Server | +-+ +-+ +-+ peer connection A peer connection B User session x Figure 1: Diameter connections and sessions 對端表 用于消息傳遞和路由表全使用,包括以下信息:1. Host標識:包括Origin-Host AVP,在CER/CEA消息中使用。2. StatusT:對端實體的狀態(tài)。3. Static or Dynamic:指對端是靜態(tài)配置的還是動態(tài)發(fā)現(xiàn)。4. Expiration time:指使用動態(tài)發(fā)現(xiàn)機制時刷新超時的時長。5. TLS Enablee: 與對端通信時是否使用TLS。 基于域名的路由表1. 域名:用于查找路由表時使用的主鍵。2. 應用程序標識:使用一個Vendor id和一個applicaiont id標識,其為路由表的第二主鍵。3. Local Action:決定消息如何處理,有以下幾個選項: LOCAL:本地處理,不需要路由到下一個服務器。 RELAY:路由到下一跳,注意不修改任何非路由的AVP。 PROXY:路由到下一跳,注意可能會在消息中添加新的AVP。 REDIRECT:具有一個源diameter服務器的標識,且將消息返回給發(fā)送者。4. 服務器標識:必須出現(xiàn)在對端表中,當Local Action為RELAY或PROXY時,此字段標識消息被路由到的地址,當為REDIRECT時,表示消息應該重定向到的一個或多個服務器。5. Static or Dynamic:路由信息是靜態(tài)配置還是動態(tài)發(fā)現(xiàn)。6. Expirationtime:與對端表中的含義相同。另外,路由表必須包含一條默認路由。Diameter消息應用層的路由1.創(chuàng)建和發(fā)送Request消息:1)產(chǎn)生一個Request消息時,必須遵守下列規(guī)則:設置頭部的Command code;設置頭部的R位;設置頭部的End-to-End為本地的唯一值;Origin-Host和Origin-Realm AVPs必須攜帶,用來標識消息的源地址;Destination-Host和Destination-Realm AVPs需根據(jù)以下規(guī)則設置;a)不能被Proxy的消息一定不能帶Destination-Realm and Destination-Host AVPs;b)如果消息是發(fā)往某個realm而不是具體的host,則只攜帶Destination-Realm AVP;c)如果消息是發(fā)往某個具體的host,則需要同時攜帶Destination-Realm and Destination-Host AVPs;如果消息有可能被轉發(fā),則消息中還必須攜帶下列AVP之一:an Acct-Application-Id AVP, an Auth-Application-Id AVP or a Vendor-Specific-Application-Id AVP;2)當發(fā)送一個Request消息時,無論是源主機發(fā)送還是Agent轉發(fā),都需要執(zhí)行下列操作:a)設置頭部的Hop-by-Hop為本地的唯一值;b)將該消息放入Pending Request消息隊列;2.收到Request消息:1)當一個Diameter節(jié)點收到一個Request消息后,有如下四種可能的處理方式:a)如果滿足如下條件,則本地處理:Destination-Host AVP包含了本地host的標識,或者Destination-Host AVP不存在, Destination-Realm AVP經(jīng)過在路由表中查詢被配置為本地處理,或者Destination-Host和Destination-Realm都不存在;b)如果Destination-Host AVP存在于本地的Peer table中,則執(zhí)行Request Forwarding:c)如果沒有本地處理也沒有進行Request forwarding,則根據(jù)Destination-Realm AVP和Auth-Application-Id或Acct-Application-Id或Vendor-Specific-Application-Id查找Realm Routing Table,執(zhí)行Request Routing;d)返回錯誤DIAMETER_UNABLE_TO_DELIVER;注意:這里區(qū)分了Request forwarding和Request Routing;本文其它地方提到的“轉發(fā)”都是泛指消息非本地處理的情況;2)Request消息在被Relay或者Proxy的時候,Relay Agent和Proxy Agent需要做如下工作:a)在轉發(fā)出去的Request消息中插入Route-Record AVP,里面包含發(fā)送該Request消息的主機標識;b)保存和該Request消息相關的:Protocol,IP Address,Port,Hop-by-Hop標識;保存這些信息是為了收到與該Reqeuest消息對應的Answer消息后能夠將Answer消息正確的轉發(fā)出去;3.創(chuàng)建Answer消息:當一個Request消息被本地處理后,必須按照如下規(guī)則創(chuàng)建并發(fā)送Answer消息:從Request消息中拷貝Hop-by-Hop填入Answer消息;將本地主機標識作為Origin-Host AVP;Destination-Host和Destination-Realm AVPs不允許出現(xiàn)在Answer消息中;加上Result-Code AVP指示成功與否.如果Reqeust消息中包含了Session-Id,那么Answer消息中也應該包含該值;在Request消息中的任何Proxy-Info AVPs都應原封不動的拷貝到Answer消息中;P位需要和Request消息中保持一致;End-to-End需要和Request消息中保持一致;4.收到Answer消息:當收到一個Answer消息時需要如下操作:檢查其Hop-by-Hop,從Pending Request隊列中找到與其一致的Reqeust消息,然后將Reqeust消息從Pending Request隊列中刪除;如果是Agent收到Answer消息,Agent需要將Hop-by-Hop替換為先前保存的Reqeust中的Hop-by-Hop,然后再將Answer消息轉發(fā)出去;下圖是Diameter節(jié)點經(jīng)由Relay Agent發(fā)送一個Request消息給并收到Answer消息的示意圖,該圖主要為了說明Hop-by-Hop和End-to-End兩個標識的作用:Diameter基礎協(xié)議摘要Diameter是新一代AAA協(xié)議,可以承載與TCP或者SCTP協(xié)議之上,被廣泛應用于IMS,LTE網(wǎng)絡中。RFC3588定義了Diameter的基礎協(xié)議,各種應用可以在此基礎上對其進行擴展(主要是定義新的Application ID,Command和AVP);基礎協(xié)議中包括一個基本的Accounting功能,如果需要Authentication或者Authorization通常需要進行對基礎協(xié)議擴展。1.基本概念:Connection:是傳輸層的概念,負責在兩端直接傳輸Diameter消息;Session:是應用層的概念,可以用Session-id這AVP來標識;下圖展示了Connection與Session的區(qū)別;+-+-+-+| Client | Relay | Server |+-+-+-+peer connection Apeer connection BUser session xDestination Host:用于標識一臺運行Diameter應用的主機,命名方式類似DNS格式,但并不是域名,只是一個標識符而已,一臺運行Diameter應用的主機可以支持一個或者多個Diameter應用;Destination Realm:用于標識一組運行Diameter應用的主機,可以將多臺Host劃歸為一個Realm中;Peer Table:用于消息路由的數(shù)據(jù)配置,Peer table中的主機都是能和本地主機之間通信的(也就是說中間無需經(jīng)過消息轉發(fā)),格式如下表:Host identityStatusTStatic or DynamicExpiration R-OR-Opendynamically10Realm-Based Routing Table:用于消息路由的數(shù)據(jù)配置,格式如下表:Realm NameApplication IdentifierLocal ActionServer IdentifierStatic or DynamicExpiration timeexample16777250RELAYstatically0example16777272RELAYdynamically102.Diameter Agents:Relay Agents:對消息進行轉發(fā),只增加或者刪除路由信息,而不會修改任何應用層信息;在CER/CEA進行能力交互時,需要返回自己支持的Application ID為Relay Application Identifier;使用Relay Agents的好處是簡化網(wǎng)絡的復雜性,不需要對所有Diameter節(jié)點都進行復雜的配置,比如只需配置節(jié)點讓Diameter消息轉發(fā)到Relay Agents,然后在Relay Agents上進行比較全面的路由配置即可。Proxy Agents:Proxy Agents也負責轉發(fā)消息,與Relay Agent不同的是,它需要理解應用層的信息,進而維護Transaction的狀態(tài);在CER/CEA進行能力交互時,需要返回自己支持的所有Application ID;Redirect Agents:收到Diameter消息后不進行轉發(fā),而是回復一個應答消息給發(fā)送者,應答消息中包含一個或者多個地址,告訴發(fā)送者應該將消息發(fā)往這些地址;Translation Agents:完成Radius和Diameter協(xié)議之間的轉換;3.消息格式:MAC headerIPheaderSCTP|TCPheaderDiameter headerData :1)Diameter header:0001020304050607080910111213141516171819202122232425262728293031VersionMessage lengthFlagsCodeRPETrrrrApplication IDHop by Hop IDEnd to End IDAVP :Version:Diameter的版本號,目前為1;Message length:包含頭部在內的消息長度,也就是頭部+所有AVP的長度之和;Flags:R(equest):如果置位表示這是一個Request消息;P(roxiable):如果被置位說明該消息可以被轉發(fā),否則必須本地處理;E(rror):如果置位,說明產(chǎn)生了一個協(xié)議錯誤,只能出現(xiàn)在Answer消息中;T:如果被置位,說明該消息有可能是一個被重傳的消息;r:保留位;Code:消息命令碼,用來標識各種Diameter消息,由IANA負責統(tǒng)一分配;Application ID:用來表示不同的Diameter應用,由IANA負責統(tǒng)一分配;Hop by Hop ID:用來匹配Request和Answer消息,在一個指定的Connection上的任何時間都必須是唯一的;該值在Diameter消息轉發(fā)時會被Agent修改;End to End ID:用來識別重復消息;該值在本地的一段時間內必須是唯一的,傳輸過程中一直保持不變;目標主機會根據(jù)該值和Or
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 倉儲設備維護與管理員聘用與服務協(xié)議
- 高端車庫抵押貸款合同范本
- 管道損壞協(xié)議書范本
- 采棉企業(yè)員工勞動合同范本
- 車貸保證金及違約責任規(guī)范合同
- 環(huán)保工程場地調查與合同
- 磁通量索力實時監(jiān)測技術研究與應用
- 泥石流區(qū)橋梁清淤導流工程方案
- 非煤礦山安全操作規(guī)程
- 風冷機房空調的安裝與驗收標準
- 《熊貓小四》知識點匯-總以及這本書閱讀題測試
- 《膽管炎的護理》課件
- 中國概況(英文版)課件
- 2025年中國orc低溫余熱發(fā)電系統(tǒng)行業(yè)分析及發(fā)展趨勢預測
- 中醫(yī)護理疑難病例討論
- 2025年江蘇啟東市勞務技術經(jīng)濟開發(fā)有限公司招聘筆試參考題庫含答案解析
- 房屋市政工程施工現(xiàn)場安全風險分級管控與防范措施清單
- 山西焦煤招聘筆試題庫2025
- DB50-T 1808-2025“一表通”智能報表市級業(yè)務數(shù)據(jù)規(guī)范
- 房屋市政工程生產(chǎn)安全重大事故隱患判定檢查表(2024版)
- 高企研發(fā)費用培訓
評論
0/150
提交評論