陳艷敏 北京電信規劃設計院有限公司工程師
林朝輝 北京電信規劃設計院有限公司高級工程師
分布式IMS系統中P2P群運行機制的研究
陳艷敏 北京電信規劃設計院有限公司工程師
林朝輝 北京電信規劃設計院有限公司高級工程師
在對基于P2P-SIP構建的分布式IMS網絡總體架構進行分析論述的基礎上,重點對分布式IMS系統中主要網元設備的P2P群組織結構和運行機制進行了深入分析和研究。
DSN P2P-SIP 分布式IMS
IP多媒體子系統(IMS)在近年來獲得了大規模的應用與部署,己經逐步成為當前固定和移動通信網絡演進的主流技術,但隨著移動互聯網和Web2.0技術的快速發展,移動通信網絡逐漸顯現IT化趨勢,表現為軟/硬件松耦合,采用通用硬件平臺承載電信應用。但現有IMS網絡都采用集中式的控制方式和數據組織方式,其專用平臺和集中控制特性在移動互聯網和業務多樣化需求快速發展趨勢下存在的單點故障、資源利用率低,可擴展性差以及開發維護成本高等缺點日益凸顯。
為了應對目前移動通信網在網絡發展和業務運營上的挑戰,全球主要的標準化組織ITU-T、3GPP都在積極開展和推進新一代分布式業務網絡(DSN)的技術標準研究工作,DSN是一種融合了分布式(P2P)技術和會話初始化協議(SIP)優點、使用P2P層疊網絡技術、硬件與軟件松耦合的新型電信網絡架構,是核心網長期演進方案。DSN的標準化是一個從理念到標準框架,到基礎協議,再到具體功能架構和業務流程的復雜過程,還處于探索和完善階段,但DSN提出的基于P2P和分布式計算技術的核心網“云化”的設計理念為未來電信核心網提出了基本的演進方向。為了彌補IMS網絡集中控制的不足,目前業界提出了將DSN的關鍵技術P2P-SIP引入到IMS系統,對原有基于SIP的集中式呼叫控制IMS架構進行改造,即通過P2P-SIP協議的引入使IMS中CSCF和HSS核心網元具有分布式特性,從而構建一張分布式IMS網絡,以實現核心網絡的可擴展性、高可靠性和自組織等特性。
分布式IMS的物理拓撲架構在保持和3GPPIMS網絡標準定義結構一致的基礎上,只是在原有的IMS基礎上添加了P2PDHT的覆蓋層,即IMS中的P-CSCF、I-CSCF、S-CSCF、HSS等網絡功能實體通過P2P技術組織在一起,多個I-CSCF、S-CSCF、HSS功能實體構成一個或多個P2P群,核心網P2P群內會話仍采用IMS原有的SIP控制機制,但使用了P2P疊加網方式替代原SIP協議的位置管理和路由定位以及集中式數據存儲。一方面,使用P2P方式來存儲用戶數據信息;另一方面,核心網接入節點使用P2P協議為用戶查找、定位其數據所在的節點獲得服務能力。基于P2P-SIP的分布式IMS網絡結構如圖1所示。
從圖1可以看出,分布式IMS并沒有改變原有IMS的結構和接口關系,只是在原有IMS體系架構的基礎上添加了P2P覆蓋層,即把IMS中的功能實體按照主要功能采用P2P技術組織成P2P的節點群,IMS核心網內部SIP使用P2P疊加網特有的路由方式替代原有的路由機制,根據IMS網元邏輯功能不同,可以把P/I/S-CSCF和HSS分別通過P2P構成2個不同類型的P2P群。其中,P/I/S-CSCF群中的超級節點SN包含兩類功能:基于SIP的會話控制功能和基于P2P的路由查詢和定位功能,SIP會話控制功能和傳統IMS網絡中的功能實體基本一致;HSS群中的超級節點SN也包含兩類功能:基于Diameter的數據控制功能和基于P2P的數據存儲和數據路由功能,通過HSS群替代原有IMS中的HSS。以上分布式IMS架構中的P/I/S-CSCF和HSS群是根據網元實體邏輯功能進行劃分的,但二者也可以基于DHT功能集成在一個物理實體,構成一個P/I/S-CSCF/HSS群,使得網絡控制層的功能能夠均質化,進一步優化整個網絡的路由結構。

圖1 基于P2P-SIP的分布式IMS結構示意圖
3.1 HSS群的組織結構
在IMS中,負責存儲用戶數據的功能實體為HSS,HSS作為整個網絡用戶數據的存儲中心,為CSCF等核心控制設備提供鑒權、認證、路由和業務觸發等功能。在分布式IMS網絡中,HSS通過引入P2P-SIP協議,構建HSS群,組成一個DHT覆蓋網絡,DHT技術本身在數據邏輯分片上有其優勢,它將每個用戶數據的關鍵字進行哈希,得到用戶數據標識Key,并映射到相應的節點標識ID上,這樣,每個用戶數據都可以根據DHT規則映射到對應的HSS節點上,全網所有用戶數據自然被劃分為多個邏輯片段并保存至不同的HSS節點上,采用基于DHT技術的網絡結構來解決分布式IMS網絡中數據分片與數據分配的問題,用戶的唯一標識SIPURI做為每個用戶數據用來進行哈希的關鍵字。圖2給出了一個HSS群的組織結構示意圖。
3.2 HSS群節點的運行機制
從HSS群結構示意圖可以看出,整個網絡中的多臺HSS通過P2P協議構成一個HSS群,群內節點相互協作共同提供服務。如圖3所示,HSS群結構參考了DSN的功能結構設置了一個節點引導服務器,用來記錄網絡中各HSS節點的狀態,任何想要加入HSS群的節點,首先需要通過引導節點服務器獲知網絡中某一個HSS節點信息,稱其為新加入節點的Bootstrap Node,進而通過該引導節點服務器加入到HSS群中,新HSS節點加入群的Bootstrap過程可以分為以下步驟:
(1)新加入的HSS節點向引導節點服務器請求Bootstrap節點。
(2)引導節點服務器返回本地HSS群節點的列表。
(3)新節點把列表中首個節點作為Bootstrap節點并向該Bootstrap節點發送加入請求消息(包含新節點的節點標識)。
(4)Bootstrap節點通過自身路由表找到新節點的后向節點并轉發Join消息。
(5)新節點的后向節點將路由表信息及新節點所應負責保存的用戶數據返回給新節點,新節點復制后向節點的路由表并將自身的節點信息添加至路由表中。

圖2 HSS群結構示意圖

圖3 新HSS節點加入群的Bootstrap過程
(6)新節點通過域內路由表把路由更新消息(有新節點加入)通知域內的其他節點。
(7)收到路由更新消息的節點更新自己的路由表并返回確認消息。至此,新節點己經成功加入網絡并可正常提供服務。
(8)新節點通知引導服務器其已經成功加入網絡。
(9)引導服務器記錄后返回確認消息。
3.3 HSS群內用戶數據的查詢機制
HSS群在DHT路由算法的基礎上,可以快速準確地實現對于用戶數據的查找過程,本節給出了在一個HSS群內的用戶數據查找的具體流程。圖4中用戶A需要和用戶B建立連接,用戶A向他的歸屬服務的S-CSCF1發送呼叫請求,呼叫請求中包含用戶B的URI(Uniform Resource Indicator,統一資源標識符),為了完成該請求,S-CSCF1需要通過查找用戶B的用戶數據來得到用戶B當前提供服務的S-CSCF2的地址,數據查詢的過程可以分為以下步驟:(1)S-CSCF1向其所連接的HSS群接入節點HSS3發出數據查詢請求,請求查詢用戶B的用戶數據,請求中包含用戶B的URI信息,如Bob.chinaunicom.cn。(2)節點HSS3根據查詢請求中用戶B的URI信息通過哈希算法計算得到用戶B的用戶數據的群內唯一的標識符:如Key值=010001010;由于需要的用戶數據屬于本HSS群但并不是由節點HSS3負責,節點HSS3查詢自己的群內路由表,得到和存放所求的用戶數據標識最接近的節點標識ID (010001011)所屬的HSS群節點HSS0的IP地址,并向節點HSS0發出數據查詢請求,此請求中包含需查找數據的群內唯一的標識符。

圖4 群內用戶數據的查詢過程
(3)HSS群節點HSS0收到查詢請求,根據請求中包含的用戶數據群內唯一的標識符,得知此數據是由自己負責的,返回用戶B的用戶數據給節點HSS3。
(4)HSS群節點HSS3把用戶B的用戶數據發送給S-CSCF1,S-CSCF1利用得到的用戶B歸屬服務的S-CSCF2的地址信息就可以和用戶B建立會話連接。
圖5 P/I/S-CSCF群結構示意圖
4.1 P/I/S-CSCF群的組織結構
如圖5所示,在傳統的IMS架構中,CSCF是整個系統的控制核心,其中P-CSCF是用戶接入到系統的入口點,I-CSCF負責消息的路由轉發,需要查詢HSS獲得S-CSCF的位置,S-CSCF負責歸屬地會話控制,在分布式IMS中可將P/I/S-CSCF 3者功能融合為一體,通過引入P2P-SIP協議,構建P/I/S-CSCF群,組成一個DHT覆蓋網絡,通過P2P-SIP協議組建和維護基于DHT的覆蓋網絡,需要完成兩個重要功能:一是對節點操作,包括P/I/S-CSCF節點的加入、離開和路由更新操作,實現DHT疊加網的維護;另一個是用戶層面的操作,包括用戶的注冊、資源定位、SIP會話控制等。
4.2 P/I/S-CSCF群節點的運行機制
在P/I/S-CSCF群中,每個CSCF功能實體稱為彼此的對等節點,對等節點通過Chord協議組織為一個群。按照Chord協議,每個對等節點保存有一個Chord列表,稱為Finger列表。通過Finger列表對群內對等節點進行查詢。當一個新的CSCF對等節點加入到群內時,根據Chord協議,這個對等節點的SIPURI地址會被映射為一個相應的鍵值。該鍵值決定了這個節點在群中的位置,即決定了這個節點的前向節點和后繼節點。每當一個對等節點加入到群中,它需要得到它的前向節點和后繼節點的信息用來建立它自己的Finger列表。當一個CSCF對等節點由于某種原因離開時,P-CSCF群并不會影響這個群的整體性能,它的離開只需讓P-CSCF群內節點獲知,并不需要通知群外不相關節點,這就在最小限度內消除了因為網絡局部變動造成的整體調整。
4.3 P/I/S-CSCF群的接入過程分析
如圖6所示,P/I/S-CSCF群接入節點收到UE的注冊請求后,執行P-CSCF功能,根據Chord協議,為此請求消息哈希一個鍵值。通過此鍵值,這個注冊請求能夠被即將為此UE服務的P/I/S-CSCF對等節點收到,此節點稱為P/I/S-CSCF服務對等節點。如果這個被選中的P/I/S-CSCF服務對等節點沒有能力為這個UE服務或者過于繁忙,它會為這個注冊消息重新哈希鍵值并轉發這個消息給第二個被選中的P/I/S-CSCF對等節點,我們稱它為P/I/S-CSCF替補服務對等節點。這種消息的轉發是群的內部行為,并不需要外部節點知道。在這個過程中,UE并不會察覺到第一個P/I/ S-CSCF服務對等節點的接入失敗,也不需要主動再次獲得任何P/I/S-CSCF信息。

圖6 UE接入P/I/S-CSCF群示意圖
如果不是第一次接入此P/I/S-CSCF群,UE發送的消息中會攜帶P/I/S-CSCF群SIPURI和P/I/S-CSCF服務對等節點SIPURI的綁定信息。UE可以直接發送此消息給這個P/I/S-CSCF服務對等節點。如果這個P-CSCF服務對等節點過于繁忙,它可以為這個消息哈希一個鍵值,暫時把此消息轉發給其他P/I/S-CSCF對等節點處理。這種消息的轉發是群的內部行為,并不需要外部節點知道。在一個群中,某些特殊的功能不需要配置在每一個對等節點上。P/I/S-CSCF服務對等節點有可能沒有能力完成用戶要求的某些功能。P/I/S-CSCF服務對等節點可以把這個業務暫時轉發給其他對等節點處理。在這個過程中,不需要UE進行再注冊,整個過程對UE來說是透明的。
本文在對基于P2P-SIP構建的分布式IMS網絡系統架構進行分析論述的基礎上,重點對分布式IMS系統中主要網元設備的P2P群組織結構和運行機制等關鍵技術進行了分析和研究。雖然分布式IMS網絡的體系架構和演進思路越來越受到業界的普遍認可,但其中還存在很多關鍵性問題沒有得到很好的解決,要想真正取得實用,還需要很長的路要走,需要各方進行深入的研究,并且需要產業鏈各個環節共同努力推進。
1 ITU-T Draft Recommendation Y.dsnarch,Architecture ofDSN
2 王菁,薛海強,彭晉等.一種新型的分布式IMS實現方法.電信科學.2008,2
3 申敏,魏玄.分布式IMS架構與關鍵技術.數字通信.2009,6
4 黃開金,羅國明,陳良. P2PSIP在IMS中的應用研究.電子質量.2011,4
2014-12-09)