- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Jabber/XMPP 简介 Messia 2009-06-10 一、XMPP概述 XMPP(可扩展消息处理现场协议)是基于可扩展标记语言(XML)的协议,它用于即时消息(IM)以及在线现场探测。 XMPP的前身是Jabber,一个开源形式组织产生的网络即时通信协议。 二、 XMPP体系架构 XMPP的基本网络结构 ,xmpp定义了3个角色 Client Server Gateway 通信能够在这三者的任意两个之间双向发生。服务器同时承担了客户端信息记录,连接管理和信息的路由功能。网关承担着与异构即时通信系统的互联互通,异构系统可以包括SMS(短信),MSN,ICQ等。基本的网络形式是单客户端通过TCP/IP连接到单服务器,然后在之上传输XML。 客户端利用xmpp(基于TCP/IP)访问server,传输的是XML Client--------Server----Client TCP TCP TCP 二、 XMPP体系架构 XMPP server:其内核是一个XMPP路由器,完成基本组件间的数据包交换和路由。 功能: 1.会话管理器:负责客户端会话认证,在线状态,用户联系表等 2.数据存储器(XDB):连接数据库系统,保持用户信息、通信日志等 3.连接器管理器:管理与客户端之间的连接 4.服务器连接器:管理xmpp服务器之间的连接 5.传输器:建立xmpp服务器与非xmpp服务器通信 三、XMPP工作原理图 XMPP工作原理说明 所有从一个client到另一个client的jabber消息和数据都要通过xmpp server。 1.client连接到server 2.server利用本地目录系统的证书对其认证 3.client制定目标地址,让server告知目标状态 4.server查找,连接并进行相互认证 5.client间进行交互 四、XMPP地址模式 统一的JID(jabber identifier) JID=[ node”@” ] domain [ “/” resource ] eg: cyber@/res domain:服务器域名 node: 用户名 resource:属于用户的位置或设备 一个用户可以同时以多种资源与同一个XMPP服务器连接 五、XMPP xml消息格式定义 xmpp xml包括3个元素:简单示例: stram presence status/ /prensence message body/ /message iq bind/ /iq /stream XMPP xml消息格式定义-presence presence-此元素确定用户的状态 presence from=cyber1@/contact to=cyber2@/contact statusonline/status /presence XMPP xml消息格式定义-message message-用于两个用户之间发送信息 message from=cyber1@/contact to=cyber2@/contact Type=“chat” bodyHello/body /message XMPP xml消息格式定义-iq iq-信息/请求,是一个请求-响应机制,管理xmpp服务器上两个用户的转换,允许他们通过相应的xml格式的查询和响应 iq from=cyber1@/contact Id=“id1” Type=“result” /iq Iq的主要属性:type,包括: Get:获取当前域值 Set:设置或替换get查询的值 Result:说明成功的响应了先前的查询 Error:查询和响应中出现的错误 六、XMPP的安全机制 XMPP协议簇 XMPP登录身份认证协议 XMPP采用SASL作为身份认证协议 SASL包含的信息: 服务名:XMPP 初始序列 交换序列 安全层协商 顺序:[TCP]?[TLS]?[SASL]?[XMPP] XMPP TLS XMPP采用TLS的“START-TLS”扩展来为通信双方提供加密性和数据完整性服务 Spark 登录xmpp服务器过程示例 C—client S—server 步骤: 1.client初始流给server C: stream:stream to= xmlns=jabber:client xmlns:stream=/streams version=1.0“ 2.server使用一个流标记作为响应发给client S: stream:stream from=‘cyber xmlns=jabber:client xml
原创力文档


文档评论(0)