找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4098|回復: 0
打印 上一主題 下一主題
收起左側

Diameter 的強大 ===== IMS Cx 接口

[復制鏈接]
跳轉到指定樓層
樓主
ID:107189 發(fā)表于 2016-3-5 18:09 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
一直不明白 為什么 Diameter協議能充當 IMS中HSS網元的唯一接口,想象中的Diameter只充當 鑒權/授權/計費功能,而HSS卻存在用戶數據同步,位置管理等功能。Diameter如何能實現用戶數據同步,位置更新等操作呢?
今天和同事討論了一下,查了一下資料,發(fā)現Diameter協議的確很強大,可擴展型很強。
===========================================================
Cx接口
用戶和服務數據永久的儲存在HSS。這些集中化的數據會在用戶注冊或者收到會話請求時需要被I-CSCF和S-CSCF使用。因此,需要在CSCF和HSS間有接口。這個接口就叫做Cx,所選中的協議就是Diameter。接口上的流程被分為三大類:位置管理、用戶檔案處理和用戶認證。一般來講,這里的描述只涵蓋成功的情況,不包括出錯的情況。結果信息數據元可以被用來攜帶請求失敗的原因信息。如果有錯誤發(fā)生,應答消息通常情況下不會進一步攜帶其它信息數據元。下表是Cx接口上的一些Diameter命令: 命令名稱
用途
縮寫
發(fā)送源
目的地

User-Authorization-Request/Answer
在注冊的過程中I-CSCF使用該命令來獲取S-CSCF的名字或者所需的S-CSCF的能力。注銷時,I-CSCF使用該命令來獲取S-CSCF的名字。
UAR
UAA
I-CSCF
HSS
HSS
I-CSCF

Server-Assignment-Request/Answer
更新HSS中記錄的為用戶提供服務的S-CSCF的名字,把用戶描述下載到S-CSCF中。
SAR
SAA
S-CSCF
HSS
HSS
S-CSCF

Location-Info-Request/Answer
在會話建立過程中,I-CSCF使用命令來獲得為用戶提供服務的S-CSCF名字,或者S-CSCF選擇所需要的S-CSCF能力。
LIR
LIA
I-CSCF
HSS
HSS
I-CSCF

Multimedia-Auth-Request/Answer
在S-CSCF和HSS間交換用以支持終端用戶和網絡間認證所需要的數據。
MAR
MAA
S-CSCF
HSS
HSS
S-CSCF

Registration-Termination-Request/Answer
HSS使用命令來注銷用戶的一個或者多個公共標識符。
RTR
RTA
HSS
S-CSCF
S-CSCF
HSS

Push-Profile-Request/Answer
當用戶數據改變時,HSS使用命令來同步更新S-CSCF中的用戶數據。
PPR
PPA
HSS
S-CSCF
S-CSCF
HSS


表格 1 Cx接口命令
2.3.4.1 位置管理過程
位置管理流程又可以被進一步分成兩類:注冊和注銷、位置信息檢索。
I-CSCF 和HSS 間的注冊和注銷流程
當I-CSCF通過Mw接口從P-CSCF收到一個注冊請求的時候,它會發(fā)起一個用戶注冊狀態(tài)查詢,也就是標準中的User-Authorization-Request(UAR)命令。這條命令中包含:
· 私有用戶標識符——從網絡的視角來唯一標識一個用戶的標識符。他標識用戶的訂閱和正確的認證數據(更多關于私有用戶標識符的信息請參考3.4.1.1節(jié))。
· 公共用戶標識符——被注冊的標識符(更多關于公共用戶標識符的信息請參考3.4.1.2節(jié))。
· 訪問點網絡標識符——在IMS漫游的情況下用來標識訪問點IMS網絡。HSS可以基于這個標識符來加強漫游限制。
· 路由信息——如果I-CSCF知道的話,可以包含HSS的地址。如果I-CSCF不知道HSS的地址的話,那它就在消息中帶上目的域名(例如,SLF會來解析出一個正確的HSS)。
· 授權類型——定義了三種授權信息數據元的可能值:
· REGISTRATION——當注冊(REGISTER)消息攜帶的過期值(expires)不為零時設置這個值。
· REGISTRATION_CAPABILITIES——當注冊(REGISTER)攜帶的消息過期值(expires)不為零,并且I-CSCF需要查詢S-CSCF的能力時設置這個值。
· DE_REGISTRATION——當注冊(REGISTER)消息攜帶的過期值(expires)為零時設置這個值。
收到UAR命令后,HSS發(fā)送回User-Authorization-Answer(UAA)命令。這個消息包含:
· 結果——指示UAR命令的結果。
· S-CSCF名字和/或S-CSCF能力(如果UAR請求沒有因為包含的公共用戶標識符和私有用戶標識符不屬于同一用戶而被拒絕),取決于用戶當前的注冊狀態(tài)。
如果用戶在HSS中還沒有分配一個S-CSCF,或者I-CSCF顯示的請求S-CSCF的能力,那么會返回S-CSCF的能力。否則,就返回S-CSCF的名字。當S-CSCF的能力被返回時,I-CSCF就需要去進行如3.9節(jié)描述的S-CSCF選擇。
S-CSCF 和HSS 間的注冊和注銷流程
我們已經解釋過了I-CSCF是如何找到為提供用戶服務的S-CSCF。完成這個以后I-CSCF將SIP REGISTER請求轉發(fā)給這個S-CSCF。當S-CSCF收到這個SIP REGISTER消息后,它發(fā)送Server-Assignment-Request(SAR)命令給HSS。SAR被用來通知HSS,當過期值(expires)不為0時這個S-CSCF將為用戶提供服務。類似的,如果過期值是0,那么這個SAR就被用來通知HSS,這個S-CSCF不再為用戶提供服務。發(fā)送SAR命令的一個前提是,用戶已經成功的被S-CSCF認證。SAR命令包括:
· 私有用戶標識符——參考UAR命令。
· 公共用戶標識符——要被注冊或者注銷的標識符(更多關于公共用戶標識符得細節(jié)請參考3.4.1.2節(jié))。
· 路由信息——如果S-CSCF知道的話,可以包含HSS的地址。如果S-CSCF不知道HSS的地址的話,那它就在消息中帶上目的域名。
· S-CSCF名字——這個S-CSCF的SIP URI。
· 服務指派類型(Server Assignment Type)——服務指派類型包含了為什么執(zhí)行這次請求的信息(例如:注冊、重新注冊、到未注冊用戶的會話、用戶發(fā)起的注銷、S-CSCF發(fā)起的注銷、以及認證失。。
· 用戶數據已取得(User Data Already Available)——向HSS指示S-CSCF是否已經獲取了為用戶提供服務所需的用戶檔案(user profile)。
· 用戶數據請求類型(User Data Request Type)——告訴HSS,S-CSCF是要下載一個完整的檔案(complete profile)、已注冊檔案(registered profile)或者未注冊檔案(unregistered profile)。
在收到SAR命令后,HSS會發(fā)送回一個(Server-Assignment-Answer)SAA作為響應。消息內容包括:
· 結果——指示SAR命令的結果。
· 用戶檔案——基于SAR中Server Assignment Type和User Data Already Available兩個參數來發(fā)送用戶描述(用戶描述在3.11節(jié)介紹)。
· 計費信息——包含計費功能實體的地址。這是個可選的消息項。
前面一節(jié)介紹了I-CSCF如何處理Cx接口上用戶發(fā)起的注冊和注銷過程(用戶發(fā)起或者S-CSCF發(fā)起)。關于網絡發(fā)起的注銷過程,還需要有更多的操作(UE被偷或者訂閱結束)。這種情況下,由HSS通過使用Registration-Termination-Request(RTR)命令來發(fā)起注銷。RTR命令包括:
· 私有用戶標識符——從網絡的視角看唯一標識一個用戶的標識符。他標識用戶的訂閱和正確的認證數據(更多關于私有用戶標識符的信息請參考3.4.1.1節(jié))。
· 公共用戶標識符——一個或多個被注冊的標識符(更多關于公共用戶標識符的信息請參考3.4.1.2節(jié))。
· 路由信息——為用戶提供服務的S-CSCF的名字。
· 注銷原因——包含一個決定S-CSCF行為的原因碼,以及一個可選的用來顯示給用戶的文本消息。
Registration-Termination-Answer(RTA)命令對RTR進行應答,它只是簡單的指示了請求處理的結果。需要注意的是,可以通過只包含私有用戶標識符來一口氣注銷用戶所有的公共用戶標識符。
位置獲取過程
前面我們介紹了I-CSCF在收到一個SIP REGISTER消息時,如何使用用戶注冊狀態(tài)查詢請求(UAR命令)來找到S-CSCF。相應的,當收到一個非REGISTER時也需要一個過程來找到S-CSCF。這個過程使用了Location-Info-Request(LIR)命令。命令包括了:
· 公共用戶標識符——SIP請求的請求地址(request URI)域。
· 路由信息——如果I-CSCF知道的話,可以包含HSS的地址。如果I-CSCF不知道HSS的地址的話,那它就在消息中帶上目的域名。
HSS發(fā)回一個Location-Info-Answer(LIA)命令進行應答。消息內容包括:
· 結果——指示LIA命令的結果。
· S-CSCF名字和/或S-CSCF能力——如果還沒有給用戶分配S-CSCF,那么就返回后者。否則就返回前者。
2.3.4.2 用戶檔案處理過程
像剛才所說的,在注冊的過程中使用SAR和SAA,用戶檔案和服務相關的數據通過Cx接口從HSS下載到S-CSCF中。然而,在以后S-CSCF仍然為用戶提供服務時,用戶檔案可能會改變。為了更新S-CSCF中的用戶檔案,HSS發(fā)送一個Push-Profile-Request(PPR)命令。這個消息中包含:
· 私有用戶標識符——從網絡的視角來唯一標識一個用戶的標識符。(更多關于私有用戶標識符的信息請參考3.4.1.1節(jié))。
· 路由信息——為用戶提供服務的S-CSCF的名字。
· 用戶檔案——包含更新的用戶檔案(用戶描述在3.11節(jié)介紹)。
更新在用戶數據改變后立刻發(fā)生。但是有一種例外的情況:如3.8.5節(jié)描述的S-CSCF正為一個未注冊的用戶服務或者被保留給一個未注冊的用戶,如果已注冊相關的服務數據發(fā)生改變,那么HSS不會發(fā)送PPR命令。Push-Profile-Request(PPA)命令用來應答PPR,并簡單指示請求執(zhí)行的結果。
2.3.4.3 認證過程
IMS用戶的認證依賴一個預先配置好的共享密鑰。共享密鑰和序列號被保存在UE的IP多媒體服務標識模塊(ISIM)中和網絡中的HSS中。因為是由S-CSCF來控制用戶認證,這就有必要在Cx接口上傳輸安全性數據。當S-CSCF需要認證用戶的時候,它就向HSS發(fā)送一個Multimedia-Auth-Request(MAR)命令。這個消息中包含:
· 私有用戶標識符——從網絡的視角來唯一標識一個用戶的標識符。他標識用戶的訂閱和正確的認證數據(更多關于私有用戶標識符的信息請參考3.4.1.1節(jié))。
· 公共用戶標識符——一個或多個被注冊的標識符(更多關于公共用戶標識符的信息請參考3.4.1.2節(jié))。
· S-CSCF名字——包含S-CSCF的SIP URI。
· 路由信息——如果S-CSCF知道的話,可以包含HSS的地址。如果S-CSCF不知道HSS的地址的話,那它就在消息中帶上目的域名。
· 認證項目(Authentication Items)數量——關于S-CSCF一次想下載幾組認證向量的信息?梢砸淮蜗螺d多組認證向量(例如運營商會希望后續(xù)重新認證所有的重新注冊)。
· 認證數據(Authentication Data)——包含認證方案(authentication scheme)(例如Digest-AKAv1-MD5)和同步失敗情況下的認證信息。
HSS發(fā)送一個MAA進行應答。應答消息包含:
· 結果——MAR的處理結果。
· 私有用戶標識符——從網絡的視角來唯一標識一個用戶的標識符。他標識用戶的訂閱和正確的認證數據(更多關于私有用戶標識符的信息請參考3.4.1.1節(jié))。
· 公共用戶標識符——被認證的標識符(更多關于公共用戶標識符的信息請參考3.4.1.2節(jié))。
· 認證項目(Authentication Items)數量——包含認證向量的數量。
· 認證數據(Authentication Data)——包含認證向量,它包括認證方案(authentication scheme)(例如Digest-AKAv1-MD5)、認證信息(認證質疑(challenge)RAND和令牌AUTN)、授權信息(期望結果(expected response)或XRES)、完整性密鑰、以及一個可選的保密性密鑰。另外,它還包括了項目號,這被用來指示當多個認證向量被返回時認證向量被使用的順序。

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表