XMPP_協(xié)議介紹免費版_第1頁
XMPP_協(xié)議介紹免費版_第2頁
XMPP_協(xié)議介紹免費版_第3頁
XMPP_協(xié)議介紹免費版_第4頁
XMPP_協(xié)議介紹免費版_第5頁
已閱讀5頁,還剩21頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、Jabber/XMPP 簡介簡介Messia 2009-06-10一、一、XMPP概述概述 XMPP(可擴展消息處理現(xiàn)場協(xié)議)是基于可擴展標(biāo)記語言(XML)的協(xié)議,它用于即時消息(IM)以及在線現(xiàn)場探測。 XMPP的前身是Jabber,一個開源形式組織產(chǎn)生的網(wǎng)絡(luò)即時通信協(xié)議。 二、二、 XMPP體系架構(gòu)體系架構(gòu) XMPP的基本網(wǎng)絡(luò)結(jié)構(gòu) ,xmpp定義了3個角色 Client Server Gateway 通信能夠在這三者的任意兩個之間雙向發(fā)生。服務(wù)器同時承擔(dān)了客戶端信息記錄,連接管理和信息的路由功能。網(wǎng)關(guān)承擔(dān)著與異構(gòu)即時通信系統(tǒng)的互聯(lián)互通,異構(gòu)系統(tǒng)可以包括SMS(短信),MSN,ICQ等?;?/p>

2、的網(wǎng)絡(luò)形式是單客戶端通過TCP/IP連接到單服務(wù)器,然后在之上傳輸XML。 客戶端利用xmpp(基于TCP/IP)訪問server,傳輸?shù)氖荴ML Client-Server-Client TCP TCP TCP二、二、 XMPP體系架構(gòu)體系架構(gòu) XMPP server:其內(nèi)核是一個XMPP路由器,完成基本組件間的數(shù)據(jù)包交換和路由。 功能: 1.會話管理器:負(fù)責(zé)客戶端會話認(rèn)證,在線狀態(tài),用戶聯(lián)系表等 2.數(shù)據(jù)存儲器(XDB):連接數(shù)據(jù)庫系統(tǒng),保持用戶信息、通信日志等 3.連接器管理器:管理與客戶端之間的連接 4.服務(wù)器連接器:管理xmpp服務(wù)器之間的連接 5.傳輸器:建立xmpp服務(wù)器與非xm

3、pp服務(wù)器通信XMPP ClientXMPP ClientXMPP ServerDNS ServerXMPP ServerOther ServerXMPP ClientXMPP Client三、三、XMPP工作原理圖工作原理圖Xml流Protocol GatewayXMPP工作原理說明工作原理說明 所有從一個client到另一個client的jabber消息和數(shù)據(jù)都要通過xmpp server。 1.client連接到server 2.server利用本地目錄系統(tǒng)的證書對其認(rèn)證 3.client制定目標(biāo)地址,讓server告知目標(biāo)狀態(tài) 4.server查找,連接并進(jìn)行相互認(rèn)證 5.client

4、間進(jìn)行交互四、四、XMPP地址模式地址模式 統(tǒng)一的JID(jabber identifier) JID= node” domain “/” resource eg: domain:服務(wù)器域名 node: 用戶名 resource:屬于用戶的位置或設(shè)備 一個用戶可以同時以多種資源與同一個XMPP服務(wù)器連接五、五、XMPP xml消息格式定義消息格式定義 xmpp xml包括3個元素:簡單示例: XMPP xml消息格式定義消息格式定義-presence -此元素確定用戶的狀態(tài) online XMPP xml消息格式定義消息格式定義-message -用于兩個用戶之間發(fā)送信息 Hello XMPP

5、 xml消息格式定義消息格式定義-iq -信息/請求,是一個請求-響應(yīng)機制,管理xmpp服務(wù)器上兩個用戶的轉(zhuǎn)換,允許他們通過相應(yīng)的xml格式的查詢和響應(yīng) Iq的主要屬性:type,包括: Get:獲取當(dāng)前域值 Set:設(shè)置或替換get查詢的值 Result:說明成功的響應(yīng)了先前的查詢 Error:查詢和響應(yīng)中出現(xiàn)的錯誤六、六、XMPP的安全機制的安全機制 XMPP協(xié)議簇XMPPSASLTLSTCPSimple Authentication and Security LayerTransport Layer SecurityXMPP登錄身份認(rèn)證協(xié)議登錄身份認(rèn)證協(xié)議XMPP采用SASL作為身份認(rèn)證

6、協(xié)議 SASL包含的信息: :XMPP 順序:TCPTLSSASLXMPPXMPP TLS XMPP采用TLS的“START-TLS”擴展來為通信雙方提供加密性和數(shù)據(jù)完整性服務(wù)Spark 登錄登錄xmpp服務(wù)器過程示例服務(wù)器過程示例Cclient Sserver步驟: 1.client初始流給初始流給serverC: 2.server使用一個流標(biāo)記作為響應(yīng)發(fā)給使用一個流標(biāo)記作為響應(yīng)發(fā)給client S:Spark 登錄登錄xmpp服務(wù)器過程示例服務(wù)器過程示例3.Server發(fā)送發(fā)送STARTTLS擴展給擴展給client,并帶有認(rèn)證機制與任何其他流特征,并帶有認(rèn)證機制與任何其他流特征 S: P

7、LAIN DIGEST-MD5 zlib Spark 登錄登錄xmpp服務(wù)器過程示例服務(wù)器過程示例4. Client發(fā)送發(fā)送STARTTLS命令給命令給ServerC:5.Server通知通知Client它被允許處理它被允許處理 S:Note:client與server TLS協(xié)商失敗,server通知client TLS協(xié)商失敗,并關(guān)閉流與TCP連接Spark 登錄登錄xmpp服務(wù)器過程示例服務(wù)器過程示例6. 如果如果TLS協(xié)商成功,協(xié)商成功,client初始化一個新流初始化一個新流給給serverC:Spark 登錄登錄xmpp服務(wù)器過程示例服務(wù)器過程示例7.Server靠發(fā)送帶有任何可利

8、用流特征的流頭作為響應(yīng)靠發(fā)送帶有任何可利用流特征的流頭作為響應(yīng)S: PLAIN DIGEST-MD5 zlib Spark 登錄登錄xmpp服務(wù)器過程示例服務(wù)器過程示例8.Client選擇一個認(rèn)證機制選擇一個認(rèn)證機制C:AGh4dwAx9.Server通知通知client認(rèn)證成功認(rèn)證成功S:Note:如果認(rèn)證不成功,server通知client認(rèn)證失敗,并關(guān)閉流Spark 登錄登錄xmpp服務(wù)器過程示例服務(wù)器過程示例10.如果認(rèn)證成功,如果認(rèn)證成功,client初始化一個新流給初始化一個新流給serverC:Spark 登錄登錄xmpp服務(wù)器過程示例服務(wù)器過程示例11.Server依靠流頭來響

9、應(yīng)依靠流頭來響應(yīng)client,并伴隨有另外的特征,并伴隨有另外的特征 S: zlib Spark 登錄登錄xmpp服務(wù)器過程示例服務(wù)器過程示例12.資源綁定:資源綁定:client發(fā)送一個類型為發(fā)送一個類型為set的的iq,并包,并包含所需綁定的資源節(jié)點含所需綁定的資源節(jié)點C:sparkSpark 登錄登錄xmpp服務(wù)器過程示例服務(wù)器過程示例13.如果如果server為為client產(chǎn)生了一個資源標(biāo)識符或是接受了由產(chǎn)生了一個資源標(biāo)識符或是接受了由客戶端提供的資源標(biāo)識符,它必須返回一個類型為客戶端提供的資源標(biāo)識符,它必須返回一個類型為result的的iq節(jié)點給節(jié)點給client,并必須包含,并必須包含子節(jié)點,來為子節(jié)點,來為server決定的已連接資源指定全決定的已連接資源指定全JIDS:sparkusernamecyber/spark Spark 登錄登錄xmpp服

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論