久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

Diameter

 IT女女 2017-03-22
Diameter是新一代AAA協(xié)議,,可以承載與TCP或者SCTP協(xié)議之上,,被廣泛應(yīng)用于IMS,,LTE網(wǎng)絡(luò)中,。RFC3588定義了Diameter的基礎(chǔ)協(xié)議,各種應(yīng)用可以在此基礎(chǔ)上對其進(jìn)行擴(kuò)展(主要是定義新的Application ID,Command和AVP),;基礎(chǔ)協(xié)議中包括一個(gè)基本的Accounting功能,,如果需要Authentication或者Authorization通常需要進(jìn)行對基礎(chǔ)協(xié)議擴(kuò)展。
1. 基本概念:
· Connection: 是傳輸層的概念,,負(fù)責(zé)在兩端直接傳輸Diameter消息,;
· Session: 是應(yīng)用層的概念,可以用Session-id 這AVP來標(biāo)識,;下圖展示了Connection與Session的區(qū)別,;
+--------+ +-------+ +--------+
| Client | | Relay | | Server |
+--------+ +-------+ +--------+
<----------> <---------->
peer connection A peer connection B

<---------------------------------------------------->
User session x
· Destination Host:用于標(biāo)識一臺運(yùn)行Diameter應(yīng)用的主機(jī),命名方式類似DNS格式,,但并不是域名,,只是一個(gè)標(biāo)識符而已,一臺運(yùn)行Diameter應(yīng)用的主機(jī)可以支持一個(gè)或者多個(gè)Diameter應(yīng)用,;
· Destination Realm:用于標(biāo)識一組運(yùn)行Diameter應(yīng)用的主機(jī),,可以將多臺Host劃歸為一個(gè)Realm中;
· Peer Table:用于消息路由的數(shù)據(jù)配置,, Peer table中的主機(jī)都是能和本地主機(jī)之間通信的(也就是說中間無需經(jīng)過消息轉(zhuǎn)發(fā)),,格式如下表:
Host identity         StatusT         Static or Dynamic        Expiration time
abc.example.com        R-Open         statically         0
xyz.example.net        R-Open         dynamically         10
· Realm-Based Routing Table : 用于消息路由的數(shù)據(jù)配置,格式如下表:
Realm Name         Application Identifier         Local Action        Server Identifier         Static or Dynamic         Expiration time
example        16777250        RELAY        abc.example.com        statically         0
example        16777272        RELAY        xyz.example.net        dynamically         10
2. Diameter Agents:
· Relay Agents:對消息進(jìn)行轉(zhuǎn)發(fā),,只增加或者刪除路由信息,,而不會修改任何應(yīng)用層信息;在CER/CEA進(jìn)行能力交互時(shí),,需要返回自己支持的Application ID為Relay Application Identifier ,;使用Relay Agents的好處是簡化網(wǎng)絡(luò)的復(fù)雜性,不需要對所有Diameter節(jié)點(diǎn)都進(jìn)行復(fù)雜的配置,,比如只需配置節(jié)點(diǎn)讓Diameter消息轉(zhuǎn)發(fā)到Relay Agents,然后在Relay Agents上進(jìn)行比較全面的路由配置即可,。
· Proxy Agents:Proxy Agents也負(fù)責(zé)轉(zhuǎn)發(fā)消息,,與Relay Agent不同的是,它需要理解應(yīng)用層的信息,,進(jìn)而維護(hù)Transaction的狀態(tài),;在CER/CEA進(jìn)行能力交互時(shí),需要返回自己支持的所有Application ID,;
· Redirect Agents:收到Diameter消息后不進(jìn)行轉(zhuǎn)發(fā),,而是回復(fù)一個(gè)應(yīng)答消息給發(fā)送者,應(yīng)答消息中包含一個(gè)或者多個(gè)地址,,告訴發(fā)送者應(yīng)該將消息發(fā)往這些地址,;
· Translation Agents:完成Radius和Diameter協(xié)議之間的轉(zhuǎn)換;
3. 消息格式:
MAC header        IP header
SCTP | TCP header
Diameter header        Data :::
1) Diameter header:
00        01        02        03        04        05        06        07        08        09        10        11        12        13        14        15        16        17        18        19        20        21        22        23        24        25        26        27        28        29        30        31
Version
Message length

Flags
Code

R        P        E        T        r        r        r        r       
Application ID

Hop by Hop ID

End to End ID

AVP[] :::
· Version: Diameter的版本號,,目前為1,;
· Message length:包含頭部在內(nèi)的消息長度,,也就是頭部+所有AVP的長度之和;
· Flags:
R(equest):如果 置位表示這是一個(gè)Request消息,;
P(roxiable):如果被置位說明該消息可以被轉(zhuǎn)發(fā),,否則必須本地處理;
E(rror):如果置位,,說明產(chǎn)生了一個(gè)協(xié)議錯(cuò)誤,,只能出現(xiàn)在Answer消息中;
T:如果被置位,,說明該消息有可能是一個(gè)被重傳的消息,;
r:保留位;
· Code:消息命令碼,,用來標(biāo)識各種Diameter消息,,由IANA負(fù)責(zé)統(tǒng)一分配;
· Application ID:用來表示不同的Diameter應(yīng)用,,由IANA負(fù)責(zé)統(tǒng)一分配,;
· Hop by Hop ID:用來匹配Request和Answer消息,在一個(gè)指定的Connection上的任何時(shí)間都必須是唯一的,;該值在Diameter消息轉(zhuǎn)發(fā)時(shí)會被Agent修改,;
· End to End ID:用來識別重復(fù)消息;該值在本地的一段時(shí)間內(nèi)必須是唯一的,,傳輸過程中一直保持不變,;目標(biāo)主機(jī)會根據(jù)該值和Original-Host AVP來判讀是否是重復(fù)消息;
2) AVP header:
00        01        02        03        04        05        06        07        08        09        10        11        12        13        14        15        16        17        18        19        20        21        22        23        24        25        26        27        28        29        30        31
AVP code

AVP flags
AVP length

V        M        P        r        r        r        r        r       
Vendor ID (Optional)

Data :::
· AVP code:用來標(biāo)識一個(gè)AVP,,由IANA來統(tǒng)一分配,;
· AVP flags:
V, Vendor specific: 如果置位說明 Vendor ID 存在;
M, Mandatory:如果置位說明該AVP是必須的,;
P:如果置位說明需要保證該AVP端到端的安全性,;
r:reserved
· AVP length:AVP長度;
· Vendor ID:可選的,,如果AVP flags中的V被置位,,說明該域存在;該值也是由IANA分配的,;
4. Diameter和連接相關(guān)的三對基本消息:
Diamete通過傳輸層TCP/SCTP建立連接后,,傳輸?shù)牡谝粋€(gè)消息就是CER/CEA,通過該消息的交互了解對端都支持哪些應(yīng)用,,看是否有共同的應(yīng)用,;如果對端是Relay Agent,則認(rèn)為肯定存在共同應(yīng)用;獲知對方支持你哪些應(yīng)用后,,發(fā)送消息的時(shí)候就不會發(fā)送對方不認(rèn)識的消息,,對方對收到的不認(rèn)識的消息也不會處理。此外雙方的IP地址也會在CER/CEA消息中交換,。CER/CEA是不能被Proxy,,Relay或者是Redirection的,所以說CER/CEA只能是直連節(jié)點(diǎn)之間的交換,,如果節(jié)點(diǎn)A經(jīng)過Relay Agent發(fā)送消息到節(jié)點(diǎn)B,,那么需要建立兩個(gè)連接,進(jìn)行兩次CER/CEA的交互,。當(dāng)需要斷開連接時(shí),,主動方需要發(fā)起DPR消息給對端指示斷開傳輸層連接。在連接期間,,雙方需要互發(fā)DWR/DWA (Watching Dog) 消息,,用來檢測對方是否處于Active狀態(tài).
5. 如何看規(guī)范中的Diameter命令的ABNF 定義:
具體參見協(xié)議的3.2,這里用一個(gè)例子大概總結(jié)一下:
Example-Request ::= < "Diameter-Header: 9999999, REQ, PXY,,123456 >
<Session-Id> //該AVP必須存在一個(gè),,且位置固定
{ User-Name } //該AVP必須存在一個(gè)
[ Destination-Host ] //該AVP可存在一個(gè)或者不存在
1*{ Origin-Host } //該AVP可存在一個(gè)或者多個(gè)
*[ AVP ] //該AVP可存在零個(gè)或者多個(gè)





    本站是提供個(gè)人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點(diǎn),。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào),。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多