Diameter協議

Diameter協議

diameter協議最初是作為radius協議的改進或者替代,它是ietf開發的新一代aaa協議(authentication認證,authorization授權,accounting計費)。authentication(認證)用以對用戶身份進行確認;authorization(授權) 用以確定用戶是否被授權使用某種網路資源;accounting(計費)用以監測用戶使用網路資源的狀況,可依照檢測的記錄對用戶收費。

協議節點


diameter協議中,包括多種類型的diameter節點。除了diameter客戶端和diameter伺服器外,還有diameter中繼、diameter代理、diameter重定向器和diameter協議轉換器。 ● diameter中繼 能夠從diameter請求消息中提取信息,再根據diameter基於域的路由表的內容決定消息發送的下一跳diameter節點。diameter中繼只對過往消息進行路由信息的修改,而不改動消息中的其他內容。 ● diameter代理 根據diameter路由表的內容決定消息發送的下一跳diameter節點。此外,diameter代理能夠修改消息中的相應內容。 ● diameter重定向器 不對消息進行應用層的處理,它統一處理diameter消息的路由配置。當一個diameter節點按照配置將一個不知道如何路由的請求消息發給diameter重定向器時,重定向器將根據其詳盡的路由配置信息,把路由指示信息加入到請求消息的響應里,從而明確地通知該diameter節點的下一跳diameter節點。 ● diameter協議轉換器 主要用於實現radius與diameter,或者tacacs+與diameter之間的協議轉換。上述各種diameter節點,通過配置建立一對一的網路連接,組成一個diameter網路。

協議架構


diameter協議包含ip傳送、安全協議、diameter基礎協議以及不同的應用協議。diameter基礎協議為各種應用協議提供一個基本框架,它定義了協議的傳輸機制、消息格式、消息處理、差錯處理、計費與安全服務等。應用協議依賴基礎協議提供針對某一應用的aaa服務,它是不斷發展變化的。ietf已經確定了一些應用協議的標準,而其它的應用協議的標準尚在制定的過程中。已被確定為協議標準的應用有:移動ip應用協議(mipv4)、網路訪問服務應用協議(nas或nasreq)、信用控制應用協議(credit-control)、擴展認證應用協議(eap)等。尚在討論和制定的標準有:sip應用協議等。如前所述,diameter協議通過tcp或sctp提供可靠的傳輸,通過ipsec和tls來保證傳輸的安全性。diameter在基礎協議的基礎上提供各種應用服務。

協議特點


以前的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消息的頭部包括20個位元組,結構如圖2所示。頭4個位元組是8比特的版本信息和24比特的消息長度(包括消息頭長度)。隨後的4個位元組是8比特的消息標誌位和24比特的命令代碼。命令代碼用來表示這個消息所對應的命令,請求消息和相應的回答消息共享一個命令代碼。應用標識、逐跳標識和端到端標識都有4個位元組,其中應用標識用以指示消息適用的應用,逐跳標識用於判斷請求與應答的對應關係,而端到端標識主要用於重複消息的檢查。消息頭部后的全部位元組就是消息的具體內容,以屬性值對avp(attribute-value-pair)的形式逐個頭尾銜接。avp的格式也是由頭部和數據組成,如圖3所示,結構為:頭4個位元組是avp代碼,下四個位元組由8比特的avp標誌和24比特的avp長度(包括avp頭部長度)構成,avp標誌用於通知接收端如何處理這個屬性。頭部后的位元組就是數據內容。avp內的數據類型,目前包括字元串、32比特整數、64比特整數、32比特浮點數、64比特浮點數,以及avp組等。

協議展望


現在的網際網路協議ipv4支持的地址空間十分有限,而全球移動用戶卻不斷高速增長,達到如此龐大的規模,這就給目前使用的ip協議——ipv4在未來移動通信全ip網路中的應用——帶來如此沉重的壓力。為了解決地址嚴重不足的問題,人們提出了新版本的ip協議——ipv6。ipv6能夠支持的3.4x10e38個惟一的128位地址,令ipv4望塵莫及。由於全球數十億個設備和用戶都需要各自惟一的ip地址,因此這種巨大的編址容量將是實現“始終在線”通信的關鍵因素。儘管人們主要關注的是ipv6的定址能力,但它還擁有其它許多重要優點,如改進和簡化的路由。ipv6還引進了新的安全等級並改善了對移動業務——包括基於wcdma技術的網路的支持,這將隨著中國等人口眾多的國家採用3g而日益重要。因此未來移動通信網路中的aaa協議一定是基於移動ipv6的支持分散式處理的協議。不過,業界需要考慮和解決的問題仍然有許多。ipv4可能是一種成熟而逐漸過時的協議,但它仍然可以做出重要貢獻,並可能在未來一段時間內與ipv6共存和互通。diameter作為瞄準未來網路同時又兼容當前網路的aaa協議,提供了對這兩種版本mip的支持(當然目前主要是對mipv4的支持)。相信隨著未來移動通信系統中全ip網路的部署實施,支持移動ip(包括v4和v6)的diameter協議必將會廣泛地使用到需要對移動終端進行認證、授權和計費的場合之中。