Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Xmpp

269 views

Published on

.

Published in: Art & Photos
  • Be the first to comment

  • Be the first to like this

Xmpp

  1. 1. XML 期末報告 XML and Instant Messaging: XMPP 指導教授:葉慶隆指導教授:葉慶隆 GI1.02GI1.02 吳登傑吳登傑
  2. 2. OutlineOutline  XMPPXMPP 的簡介與起源的簡介與起源  XMPPXMPP 的架構的架構  資料傳輸的實例資料傳輸的實例  XMPPXMPP 所使用到的安全機制所使用到的安全機制  優點分析優點分析  缺點分析缺點分析  未來發展未來發展
  3. 3. XMPPXMPP 的簡介與起源的簡介與起源  XMPPXMPP :: the Extensible Messaging and Presence Protocolthe Extensible Messaging and Presence Protocol  是一種以是一種以 XMLXML 為基礎的開放式即時通訊協定為基礎的開放式即時通訊協定  位於網路協議層級的應用層位於網路協議層級的應用層  XMPPXMPP 也是目前主流的四種即時通訊協定之一也是目前主流的四種即時通訊協定之一  目前目前 XMPPXMPP 的技術被的技術被 Google TalkGoogle Talk 所使用所使用
  4. 4. XMPPXMPP 發展史發展史  19981998 年:年: Jeremie MillerJeremie Miller 開始了開始了 JabberJabber 這個項目這個項目  20002000 年:年: Jabber Open SourceJabber Open Source 精製化之後正式公開發表精製化之後正式公開發表  20042004 年年 1010 月:月: IETFIETF 將協定標準化成為網路的標準協定之將協定標準化成為網路的標準協定之 一一  20052005 年年 88 月:月: Google TalkGoogle Talk 推出推出  20062006 年年 11 月月 1717 日:日: Google TalkGoogle Talk 用戶可與其他用戶可與其他 JabberJabber 公共公共 網路的用戶對談網路的用戶對談
  5. 5. XMPP相關規範XMPP相關規範  XMPPXMPP 主要的核心架構制定於主要的核心架構制定於 RFC 3920RFC 3920 。目前與。目前與 XMPPXMPP 有關的有關的 RFCRFC 文文 件共有下列這幾項:件共有下列這幾項: RFC 編號 名稱 內容描述 RFC 3920 XMPP Core XMPP 核心程式 RFC 3921 XMPP IM XMPP 即時通訊、狀況 RFC 3922 XMPP CPIM Mapping XMPP & CIMP RFC 3923 XMPP E2E XMPP 點對點的簽名和物件加密 RFC 4622 XMPP URI RFC 4854 XMPP URN
  6. 6.  XMPPXMPP 的簡介與起源的簡介與起源  XMPPXMPP 的架構的架構  資料傳輸的實例資料傳輸的實例  XMPPXMPP 所使用到的安全機制所使用到的安全機制  優點分析優點分析  缺點分析缺點分析  未來發展未來發展
  7. 7. XMPPXMPP 的架構的架構 Server1 Server2 Server3 Client Client Client Client Client Client Client Client Client Server 和 Server 使用 Port 5269 進行傳輸 Client 和 Server 使用 Port 5222 進行傳輸
  8. 8. XMPPXMPP 的定址功能的定址功能  每一個用戶都有屬於自己的每一個用戶都有屬於自己的 JID (Jabber Identifier )JID (Jabber Identifier )  JIDJID 分成兩個部份:分成兩個部份: node identifiernode identifier 和和 domain identifierdomain identifier  node identifiernode identifier 就是所謂的用戶名稱就是所謂的用戶名稱  domain identifierdomain identifier 則是似服器名稱則是似服器名稱  格式如下:格式如下: node identifier @ domain identifiernode identifier @ domain identifier
  9. 9. OutlineOutline  XMPPXMPP 的簡介與起源的簡介與起源  XMPPXMPP 的架構的架構  資料傳輸的實例資料傳輸的實例  XMPPXMPP 所使用到的安全機制所使用到的安全機制  優點分析優點分析  缺點分析缺點分析  未來發展未來發展
  10. 10. 資料傳輸的實例資料傳輸的實例 (1/2)(1/2) 下面是 Client1 連接到一個伺服器,發送一條消息給 Client2 ,最後登出的過程: Client1: <?xml version="1.0"?> <stream:stream xmlns:stream="http://etherx.jabber.org/streams"xmlns="jabber:client" to="server.com"> Server: <stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' from='server.com' id='1461777714'> Client1: <iq type="set" id="auth_2" to="server.com" > <query xmlns="jabber:iq:auth"> <username>Client1</username> <password>mypassword</password> <resource>Work</resource> </query> </iq>
  11. 11. 資料傳輸的實例資料傳輸的實例 (2/2)(2/2) Server: <iq from="server.com" id='auth_2' type='result'/> Client1: <message to="Client2@example.com" > <subject>hello</subject> <body>Hi, I am Client1. </body> </message> <presence type="unavailable" > <status>Logged out</status> </presence> </stream:stream> Server: </stream:stream>
  12. 12. OutlineOutline  XMPPXMPP 的簡介與起源的簡介與起源  XMPPXMPP 的架構的架構  資料傳輸的實例資料傳輸的實例  XMPPXMPP 所使用到的安全機制所使用到的安全機制  優點分析優點分析  缺點分析缺點分析  未來發展未來發展
  13. 13. XMPPXMPP 所使用到的安全機制所使用到的安全機制  TLSTLS (( Transport Layer Security protocolTransport Layer Security protocol ):): XMPPXMPP 使用了使用了 TLSTLS 來防止來防止 XML streamXML stream 傳送過程被篡改、竊聽。傳送過程被篡改、竊聽。  SASLSASL (( Simple Authentication and Security Layer protocolSimple Authentication and Security Layer protocol )) :在建立好:在建立好 TLSTLS 之後就要用到之後就要用到 SASLSASL 來驗證來驗證 XML streamXML stream 。。  Resource BindingResource Binding :在:在 SASLSASL 建立成功之後可以藉由建立成功之後可以藉由 <bind><bind> 和和 </bind></bind> 標籤傳送的標籤傳送的 ClientClient 位址以確保資料傳送至位址以確保資料傳送至 ClientClient 的安全性。的安全性。  Server DialbackServer Dialback :確保:確保 ServerServer 和和 ServerServer 連結過程中的安全與連結過程中的安全與 正確性 。正確性 。
  14. 14. XMPPXMPP 所使用到的安全機制所使用到的安全機制 對象 所使用到的安全機制 Client TLS 、 SASL 、 Resource Binding Server TLS 、 SASL 、 Resource Binding 和 Server dialback 通訊協定的順序是: TCP→TLS→SASL→XMMP
  15. 15.  XMPPXMPP 的簡介與起源的簡介與起源  XMPPXMPP 的架構的架構  資料傳輸的實例資料傳輸的實例  XMPPXMPP 所使用到的安全機制所使用到的安全機制  優點分析優點分析  缺點分析缺點分析  未來發展未來發展
  16. 16. 優點分析優點分析  分散式:沒有固定的中央伺服器。分散式:沒有固定的中央伺服器。  開放標準:協定是自由、開放、公開的,並且易於瞭解。開放標準:協定是自由、開放、公開的,並且易於瞭解。  安全性:安全性: SASLSASL 和和 TSLTSL 已經在已經在 XMPPXMPP 核心技術規格中。核心技術規格中。  靈活性:不僅能用於即時通訊軟體中。靈活性:不僅能用於即時通訊軟體中。  擴展性: 藉由擴展性: 藉由 XMLXML 的的 NamespaceNamespace 特性,可以產生個人化特性,可以產生個人化 。。
  17. 17.  XMPPXMPP 的簡介與起源的簡介與起源  XMPPXMPP 的架構的架構  資料傳輸的實例資料傳輸的實例  XMPPXMPP 所使用到的安全機制所使用到的安全機制  優點分析優點分析  缺點分析缺點分析  未來發展未來發展
  18. 18. 缺點分析缺點分析  可伸縮性:可伸縮性: XMPPXMPP 的可伸縮度其實不好,當遇到多人的對的可伸縮度其實不好,當遇到多人的對 話時會產生過多的網路開銷。話時會產生過多的網路開銷。  沒有二進制數據:沒有二進制數據: XMPPXMPP 協議的數據通常是被編碼成一個協議的數據通常是被編碼成一個 長長 XMLXML 文件,限制了它直接傳輸原始二進制數據的能力文件,限制了它直接傳輸原始二進制數據的能力 。。
  19. 19. 未來發展未來發展   目前市面上存在著各式各樣不同的即時通訊軟體,  目前市面上存在著各式各樣不同的即時通訊軟體, 各個軟體供應者都各自使用各自的傳輸協定,而各個通各個軟體供應者都各自使用各自的傳輸協定,而各個通 訊協定都各有其優缺點,然而,不得不面對的是『通用訊協定都各有其優缺點,然而,不得不面對的是『通用 化』的問題。化』的問題。   當愈來愈多的供應者出現,隨之而來的是愈來愈多  當愈來愈多的供應者出現,隨之而來的是愈來愈多 的傳輸協定,這會導致使用者被切割成好幾個不同的群的傳輸協定,這會導致使用者被切割成好幾個不同的群 組,這樣一來不僅會導致使用者的不方便性,也會提昇組,這樣一來不僅會導致使用者的不方便性,也會提昇 供應者在開發上的成本。因此,目前阻礙即時通訊發展供應者在開發上的成本。因此,目前阻礙即時通訊發展 的最大阻礙即是標準和協定的不統一,使得不同系統之的最大阻礙即是標準和協定的不統一,使得不同系統之 間無法聯繫。間無法聯繫。
  20. 20. THE ENDTHE END

×