張卓筠 中國(guó)聯(lián)合網(wǎng)絡(luò)通信有限公司網(wǎng)絡(luò)技術(shù)研究院高級(jí)工程師,博士
DRA設(shè)備關(guān)鍵功能淺析
張卓筠 中國(guó)聯(lián)合網(wǎng)絡(luò)通信有限公司網(wǎng)絡(luò)技術(shù)研究院高級(jí)工程師,博士
在EPC中,與數(shù)據(jù)管理、策略制定和計(jì)費(fèi)管理等功能相關(guān)的信令會(huì)在Diameter信令網(wǎng)上傳輸,需要引入DRA設(shè)備來組建高效可靠的Diameter信令網(wǎng)。本文分析了DRA設(shè)備的關(guān)鍵技術(shù),包括連接管理、路由尋址、差錯(cuò)處理和邊界網(wǎng)關(guān)幾個(gè)方面,從而保障Diameter信令網(wǎng)的有效運(yùn)行。
DRA路由尋址 差錯(cuò)處理 邊界網(wǎng)關(guān)
在LTE的核心網(wǎng)EPC中,HSS、PCRF等設(shè)備的接口將主要采用具有更高安全性能的Diameter協(xié)議。這樣,與數(shù)據(jù)管理、策略制定和計(jì)費(fèi)管理等功能相關(guān)的信令會(huì)在Diameter信令網(wǎng)上傳輸,因此需要建立一張高效可靠的Diameter信令網(wǎng)來保障。
如果該Diameter信令網(wǎng)中的節(jié)點(diǎn)均采用全互聯(lián)的方式,則會(huì)增加網(wǎng)絡(luò)拓?fù)涞膹?fù)雜度,給運(yùn)營(yíng)商的管理維護(hù)帶來很大的困難;如果采用DRA(Diameter Routing Agent)設(shè)備來轉(zhuǎn)接節(jié)點(diǎn)之間的信令,則會(huì)簡(jiǎn)化網(wǎng)絡(luò)拓?fù)洌档瓦\(yùn)維成本;另外,將DRA設(shè)備作為邊界網(wǎng)關(guān),還可以在國(guó)際漫游中提供隱藏網(wǎng)絡(luò)拓?fù)浜推帘蜗⒌墓δ堋?/p>
DRA設(shè)備的重要作用使得它成為了LTE網(wǎng)絡(luò)中的一個(gè)研究熱點(diǎn),在實(shí)際應(yīng)用中,DRA設(shè)備需具備連接管理、路由尋址、差錯(cuò)處理、邊界網(wǎng)關(guān)等功能。
2.1 Diameter連接狀態(tài)管理
DRA可以與信令網(wǎng)中其他Diameter節(jié)點(diǎn)配置Diameter鏈路組。該Diameter鏈路組由一到多條Diameter鏈路組成,Diameter鏈路組內(nèi)各條鏈路可以工作在負(fù)荷分擔(dān)或者主備方式下;Diameter鏈路組的狀態(tài)是由連接組內(nèi)所有鏈路的狀態(tài)決定的,當(dāng)鏈路組內(nèi)所有鏈路不可用,則該Diameter鏈路組不可用。
對(duì)于靜態(tài)配置的Diameter鏈路,在SCTP鏈路建立成功后,進(jìn)入能力協(xié)議過程,能力協(xié)議成功,鏈路狀態(tài)正常,啟動(dòng)Diameter心跳流程,同時(shí)該鏈路開始轉(zhuǎn)發(fā)Diameter消息。當(dāng)傳輸任務(wù)完成后,DRA可以向?qū)Φ榷税l(fā)送“拆除對(duì)等端連接請(qǐng)求”去激活Diameter鏈路。
2.2 鏈路故障檢測(cè)與恢復(fù)
DRA的鏈路故障檢測(cè)包括基于傳輸層和心跳的兩種故障檢測(cè)方式。
(1)基于傳輸層故障的檢測(cè)與恢復(fù)
當(dāng)DRA檢測(cè)到對(duì)等端的底層SCTP或者TCP連接故障時(shí),鏈路進(jìn)入故障狀態(tài);此時(shí),會(huì)由SCTP或者TCP的客戶端定時(shí)發(fā)起SCTP/TCP連接請(qǐng)求,嘗試恢復(fù)鏈路狀態(tài);當(dāng)DRA檢測(cè)到由于傳輸層故障引起的Diameter鏈路故障時(shí),需要啟動(dòng)該鏈路的倒換機(jī)制,進(jìn)行消息重傳處理。
(2)基于心跳的故障檢測(cè)與恢復(fù)
當(dāng)DRA上的某一Diameter連接正常時(shí),會(huì)啟動(dòng)心跳定時(shí)器。當(dāng)心跳定時(shí)器超時(shí),DRA就發(fā)送DWR消息給對(duì)等端。若發(fā)出DWR心跳消息后,在心跳定時(shí)器時(shí)間內(nèi)未收到來自對(duì)端的Diameter消息,該鏈路處于不可信(Suspect)狀態(tài),啟動(dòng)該鏈路的倒換機(jī)制,進(jìn)行消息重傳處理。
處于Suspect狀態(tài)的Diameter鏈路,若在下一個(gè)Tw周期內(nèi)收到Diameter消息,則鏈路恢復(fù)到正常狀態(tài),重新啟用該鏈路傳送Diameter消息,否則關(guān)閉該Diameter連接。
該Diameter連接關(guān)閉后,DRA啟動(dòng)心跳定時(shí)器。當(dāng)心跳定時(shí)器超時(shí)后,DRA嘗試恢復(fù)關(guān)閉的Diameter連接。發(fā)送DWR后一定時(shí)間內(nèi)收到DWR的響應(yīng)消息DWA,則表示一次DWR/DWA交互成功,若DWR/ DWA消息連續(xù)交互成功次數(shù)達(dá)到連接恢復(fù)次數(shù)門限,則表示Diameter鏈路恢復(fù),重新啟用該Diameter鏈路傳送數(shù)據(jù)。否則,連接恢復(fù)失敗,重新嘗試該連接的恢復(fù)。
DRA具有4種代理類型,分別為Relay Agent、ProxyAgent、RedirectAgent、TranslationAgent。其中,RedirectAgent和TranslationAgent在實(shí)際中使用的場(chǎng)景并不多。
DRA可以根據(jù)Diameter消息內(nèi)容進(jìn)行尋址,包括IMSI、MSISDN、Application ID、Destination-realm、Destination-host、Origin-Realm、Origin-Host、UE IP地址、APN等。
下面舉例說明S6a接口的尋址方案,考慮跨信令區(qū)的漫游場(chǎng)景(見圖1)。
在圖1中,MME根據(jù)IMSI得到服務(wù)該用戶的運(yùn)營(yíng)商級(jí)別的HSS域名,向具備IMSI到HSS地址解析的DRA發(fā)送ULR消息;DRA收到來自MME的位置登記請(qǐng)求,根據(jù)IMSI解析HSS地址,由于用戶為區(qū)域之間漫游,DRA根據(jù)IMSI解析得到該用戶的下一個(gè)區(qū)域的域名,DRA將消息路由到下一個(gè)區(qū)域;跨區(qū)域的DRA收到來自其他區(qū)域的位置登記請(qǐng)求,再次根據(jù)IMSI解析HSS地址,獲取HSS的Hostname,將消息發(fā)送到真正服務(wù)該用戶的HSS設(shè)備。
4.1 路由備份機(jī)制
DRA到任何一個(gè)目的端都應(yīng)該存在2個(gè)或者2個(gè)以上的路由,當(dāng)一個(gè)路由不可用時(shí),消息可以經(jīng)過其他路由發(fā)送。路由之間可以工作在主備模式或是負(fù)荷分擔(dān)模式。當(dāng)工作在主備模式時(shí),DRA會(huì)只選用主用路由來傳送消息;當(dāng)工作在負(fù)荷分擔(dān)模式時(shí),DRA會(huì)按照一定的比例使用所有路由來發(fā)送消息。
4.2 倒換倒回機(jī)制
當(dāng)DRA檢測(cè)到某個(gè)路由不可用時(shí),會(huì)啟動(dòng)Failover過程,將未收到響應(yīng)的請(qǐng)求從請(qǐng)求消息緩存隊(duì)列中取出,通過其他路由重新發(fā)送。重發(fā)的消息的T比特應(yīng)被置位,用于重復(fù)檢測(cè)。一旦DRA設(shè)備檢測(cè)到該故障的路由恢復(fù),則立即啟動(dòng)Failback過程,重新啟用該路由發(fā)送消息。
如圖2所示,DRA1-PEER2為主用路由,DRA1-DRA2為備用路由,當(dāng)DRA1收到來自PEER1的Diameter請(qǐng)求,會(huì)將消息通過DRA1-PEER2的路由發(fā)送出去。如果DRA1-PEER2的路由故障,該Diameter請(qǐng)求消息未能發(fā)送出去或者響應(yīng)消息無法返回,DRA1會(huì)啟動(dòng)Failover過程,將所有未收到響應(yīng)的請(qǐng)求消息,從備用路由DRA1-DRA2重發(fā)。當(dāng)DRA1檢測(cè)到DRA1-PEER2的主用路由恢復(fù),則立即啟動(dòng)Failback過程,停止在備用路由上發(fā)送消息,啟用DRA1-PEER2主用路由發(fā)送消息。

圖1 S6a接口尋址—信令區(qū)間漫游場(chǎng)景

圖2 倒換倒回機(jī)制
4.3 路由重選機(jī)制
當(dāng)檢測(cè)到Diameter請(qǐng)求消息不能正常發(fā)送到目的地,DRA應(yīng)支持啟動(dòng)路由重選過程,將收到錯(cuò)誤響應(yīng)的請(qǐng)求從DRA的請(qǐng)求消息緩存隊(duì)列中取出,通過備用路由重發(fā)消息,此場(chǎng)景下重發(fā)的消息的T比特不置位。
如圖3所示,PEER1-DRA1為主用路由,PEER1-DRA2為備用路由,鏈路正常時(shí),消息通過PEER1-DRA1發(fā)送,如果DRA1到下一跳的多個(gè)路由都出現(xiàn)故障,則返回給PEER1“Unable to Deliver”消息,PEER1收到該消息,可以進(jìn)行路由重選,選擇PEER1-DRA2備用路由發(fā)送消息。

圖3 Diameter路由重選流程圖
4.4 循環(huán)檢測(cè)機(jī)制
DRA設(shè)備的循環(huán)檢測(cè)機(jī)制主要有以下兩種:
(1)DRA根據(jù)接收到的Request消息中的Route_Record是否攜帶本DRA的主機(jī)名進(jìn)行循環(huán)檢測(cè)。
(2)DRA根據(jù)接收到的Request消息中的Route_Record是否攜帶下一跳設(shè)備的主機(jī)名(基于Route-Record)或者下一跳是否為請(qǐng)求消息的對(duì)端節(jié)點(diǎn)(乒乓路由)來檢測(cè)路由循環(huán)。
如果DRA設(shè)備檢測(cè)到出現(xiàn)循環(huán),則會(huì)返回給上一跳節(jié)點(diǎn)“Diameter-Loop-Detected”消息。
DRA設(shè)備也可以作為國(guó)際邊界網(wǎng)關(guān)來提高網(wǎng)絡(luò)安全性。DRA設(shè)備可以防止本網(wǎng)信令點(diǎn)越權(quán)接入其他信令網(wǎng),并屏蔽某些不希望進(jìn)入本地信令網(wǎng)中的消息。DRA也可以根據(jù)特定的規(guī)則對(duì)消息進(jìn)行過濾篩選,并將過濾后的消息轉(zhuǎn)發(fā)到指定的平臺(tái)上。此外,在國(guó)際漫游中,DRA可以刪除記錄的逐跳信息來隱藏歸屬地的網(wǎng)絡(luò)結(jié)構(gòu),并在本地保存該消息的Hop-by-Hop標(biāo)識(shí)和上一跳Diameter節(jié)點(diǎn)信息。另外,也可以存儲(chǔ)并替換消息中的源主機(jī)名,并可根據(jù)映射關(guān)系來恢復(fù)原消息中的源主機(jī)名。
DRA設(shè)備的引入是為了轉(zhuǎn)接Diameter信令網(wǎng)中的信令,從而簡(jiǎn)化網(wǎng)絡(luò)拓?fù)洹_@就要求DRA設(shè)備具有連接管理、路由尋址、差錯(cuò)處理、邊界網(wǎng)關(guān)等功能。本文分析了DRA設(shè)備的4個(gè)關(guān)鍵性能,為后續(xù)的研究工作奠定了基礎(chǔ)。
1 3GPP TR 29.909.Diameter-based ProtocolsUsageandRecommendations in3GPP
2 RFC3588.Diameter Base Protocol
3 3GPPTS 23.203.Policy and Charging ControlArchitecture
4 GSMAPRD IR.88.LTE Roaming Guidelines
2015-08-25)