XMPP协议详解.doc
上传人:sy****28 上传时间:2024-09-13 格式:DOC 页数:28 大小:143KB 金币:14 举报 版权申诉
预览加载中,请您耐心等待几秒...

XMPP协议详解.doc

XMPP协议详解.doc

预览

免费试读已结束,剩余 18 页请下载文档后查看

14 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

RFC3920可扩展消息出席协议(XMPP):核心ExtensibleMessagingandPresenceProtocol(XMPP):Core可扩展消息出席协议:核心RFC3920摘要:此文档定义了可扩展消息出席协议(XMPP)的核心特性:协议使用XML元素在任意两个网络端点间近实时的交换结构化信息。当XMPP为交换XML数据提供一般化,可扩展的框架时,它主要用于建立满足RFC2779募词毕⒂氤鱿τ玫男枨蟆?1介绍1.1概要XMPP是一个开放的可扩展标记语言[XML]协议,用于近实时的消息、出席与请求-响应服务。基本语法语义最初是由Jabber开源社区在1999年开发的。2002年,XMPP工作组授权开发一个Jabber协议的改写本,将适用于IETF的即时消息(IM)与出席技术。作为XMPP工作组的成果,此文档定义了XMPP1.0的核心内容;提供即时消息与出席功能的扩展需求定义在RFC2779[IM-REQS]中,由XMPP:即时消息与出席[XMPP-IM]指定。1.2术语文档中的大写关键字:"MUST","MUSTNOT","REQUIRED","SHALL","SHALLNOT","SHOULD","SHOULDNOT","RECOMMENDED","MAY","OPTIONAL"在BCP14,在RFC2119[TERMS]中描述。2一般架构2.1概述虽然XMPP并未与任何特定网络架构结合,但到目前为止,它大致上已经由一个客户-服务器的架构实现了。其中,客户端利用XMPP访问基于[TCP]连接的一个服务器,并且,服务器间也通过TCP连接进行彼此间的通信。XMPPClient------------Server------------ServerTCPTCP下图为此架构的高层视图(-表示使用XMPP通信,=表示使用任何其它协议通信)C1----S1---S2---C3|C2----+--G1===FN1===FC1符号表示如下:1)C1,C2,C3=XMPP客户端2)S1,S2=XMPP服务器3)G1=网关:在XMPP与外部协议(非XMPP)的消息网络间转换。4)FN1=外部消息网络5)C1=外部消息网络的客户端2.2服务器服务器作为XMPP通信担当智能抽象层。它的主要责任是:1)管理连接其它实体的会话,以XML流格式(第4节)在已授权的客户端、服务器以及其它实体间来回传送。2)通过XML流在实体间路由具有合适地址的XML节(第9节)。大多数与XMPP兼容的服务器设想有能力存储客户端的数据(例:基于XMPP即时消息与出席应用的用户的联系列表);在这种情况下,XML数据由服务器自身代表客户端直接处理,并不路由到其它实体。2.3客户端大多数客户端通过[TCP]连接直接连到服务器,并且使用XMPP,充分利用由服务器及任何相关服务所提供的功能。多种资源(例如:设备或位置)可能代表每个被授权客户端同时连到服务器上。每个资源均由定义在地址方案(第3节)下的XMPP地址的资源标识符来区别(例如:<node@domain/home>vs.<node@domain/work>)。客户端与服务器的推荐连接端口为5222,已由IANA注册(参考端口编号(15.9节))。2.4网关网关是服务器端的一种特殊服务,它的主要功能是将XMPP翻译成外部消息系统所使用的协议(非XMPP),也可将数据翻译回XMPP。例如EMAIL网关(参考[SMTP]),InternetRelayChat(参考[IRC]),SIMPLE(参考[SIIMPLE],SessionInitiationProtocolforInstantMessagingandPresenceLeveragingExtensions),短消息服务(SMS),遗留即时消息服务,诸如AIM,ICQ,MSNMessenger,Yahoo!InstantMessenger。网关与服务器间的通信,网关与外部消息系统间的通信,均未在此文档中定义。2.5网络由于每个服务器由网络地址指定,并且由于服务器与服务器间的通信是客户与服务器协议的直接扩展,实际上,系统由互相通信的服务器网络组成。举个例子,<juliet@example.com>能与<romeo@example.net>交换消息、出席,以及其它信息。这是使用网络寻址标准的消息协议(例如[SMTP])所熟悉的模式。任意两服务器间的通信是可选的。如果可通信,此类通信就应当发生在绑定到[TCP]连接的