11 新型网络应用(1)

2024-03-20 1114阅读

温馨提示:这篇文章已超过421天没有更新,请注意相关的内容是否还可用!

1.即时通信(IM)系统

        1996 年11 月,以色列Mirabils 公司推出了世界上第一款即时通信软件ICQ(I Seek You,网络寻呼机),宣告了“即时通信(Instant Messaging,IM)”这一概念的诞生。即时通信系统是一种基于Internet 的通信服务,可提供近实时的信息交换和用户状态跟踪。

11 新型网络应用(1)
(图片来源网络,侵删)

        2000 年,IMPP 工作小组提交的关于即时通信系统的RFC 草案,获得了IETF 的批准,成为正式的RFC 文件。IETF 批准的RFC2778 给出了一个抽象的呈现与即时消息系统模型,描述了即时通信系统的功能,勾勒出了即时通信系统的模型框架。

        一个即时通信系统通常包括两种服务:① 一种是呈现服务(Pesence srvice),用户之间相互订阅并获取彼此的状态变更信息;② 另一种是即时消息服务(istant message srvice),用于用户之间相互收发短消息。

        即时通信系统一般釆用两种通信模式:① 用户/服务器模式,在用户/服务器模式中,消息的发送和接收需要通过服务器中转,主流的即时通信软件的文本消息大多使用用户/服务器模式。② 用户/用户模式。消息的发送和接收采用直接的点对点的通信方式,文件传送等大数据量业务通常

使用用户/用户模式。

2.即时通信协议

        微软 MSN釆用 MSNP协议;AOL 采用OSCAR 协议;QQ 采用自己设计的私有协议;由于各厂商自己定义的协议互不开放,因此造成彼此间互不兼容,无法互联互通。

        即时通信开放的协议主要代表有两个:① 一个是基于SIP 协议框架的SIMPLE 协议簇;② 一个是基于JABBER 协议框架的XMPP 协议簇。SIMPLE 协议是对SIP 协议的扩展,以使其更好地支持即时消息服务。XMPP 协议簇是基于XML 语言定义的即时消息协议。

3.SIP(会话初始化协议)

        SIP 是IETF 于1999 年提出的一个信令控制协议,主要内容在RFC3261 中进行定义;SIP 协议位于应用层,目标是方便地创建、管理和终止用户之间的会话。SIP 协议主要是为IP 网络设计的,可以运行于TCP、UDP、SCTP 等各种传输层协议之上。但是,SIP协议本身并不关心承载网络,因此SIP 协议也可工作在ATM、帧中继等承载网中。

4.SIP 系统

        SIP 用户的地址以“SIP”开始,后面类似于E-mail 地址。例如可以使用sip:miyname@my-company.com 表示一个SIP 用户,该用户处于mycompany.com 域中,在mycompany.com 域中的名字为myname。SIP 地址是一个全局性的地址,SIP 系统通过这种统一名字标识符定位和查询SIP 用户。按逻辑功能区分,SIP 系统由4 种元素组成,它们是用户代理(user agent,UA)、代理服务(proxy server)、重定向服务器(redirect server)和注册服务器(registrar)。

4.1 用户代理:

        用户代理由两个部分组成:一部分是用户代理客户机(User Agent Client,UAC),另一部分是用户代理服务器(User Agent Server UAS)。UAC 负责发起呼叫,UAS 负责接收呼叫并作出响应。UAC 和UAS 共同组成UA,存在于用户终端之中。用户通过SIP 用户代与SIP 系统交互,其存在的形式多种多样,如计算机上的即时通信软件、专用的软电话(phone)等。

4.2 代理服务器

        代理服务器负责接收用户代理发来的请求,根据网络策略将请求发给相的服务器,并根据收到的应答对用户作出响应。代理服务器是一个中间元素,既有客户机的性质又有服务器的性质,同时还具有名字解析能力。代理服务器分为有状态代理服务器和无状态代理服务器。

④ 有状态代理服务器需要存储接收到的请求、回送的响应和它转发的请求,而无状态代理服务器一旦转发请求和响应后就忘记所有的信息。

4.3 重定向服务器

        重定向服务器是一个规划SIP 呼叫路径的服务器。

4.4 注册服务器

        用于接收和处理用户端的注册请求,完成用户地址的注册。

5.SIP 消息

5.1 SIP 消息组成

        由一个起始行(start-line)、消息头(message-header)、一个标志消息头结束的空行 CRLF)和可选的消息体(messagebody)组成。其中,消息头由一个或多个宇段组成。

5.2 SIP 消息包括两种类型

        从客户机到服务器的请求消息(request):在请求消息中,起始行为请求行。请求行中一般包括请求方法、请求的SIP 用户地址和SIP 的协议版本。在SIP 协议中有6 种请求方法,它们是INVITE、ACK、OPTIONS、BYE、CANCEL 和REGISTER。

请求方法功能
INVITE邀请用户或服务器参加一个会话
ACK UA向服务器证实它已经收到了对INVITE 请求的最终响应。ACK 只和INVITE 一起使用
OPTIONS请求关于服务器能力的信息。如果服务器认为它能与用户联系,则可用一个能力集晌应
BYE用户终止一次会话,既可O由PT主IO叫NS U请A求发 送,也可由被叫 UA 发送
CANCEL取消一个挂起的呼叫
REGISTER向定位服务器注册UA 的相关信息

5.3 从服务器到客户机的响应消息(response)

        响应消息中,起始行为状态行。状态行中一般包括SIP 的版本号、状态码和一句对该状态的文本描述信息。

6.SIMPLE 协议

        SIMPLE 协议是一组能够提供即时消息服务的通信协议。它由 IETF 的SIMPLE 工作组制定,基本上与RFC2778 定义的即时消息系统模型保持一致。SIMPLE 协议通过对SIP 协议进行扩展,使其支持即时消息服务。

        SIMPLE 增加了NOTIFY、SUBSCRIBE 和MESSAGE 方法支持即时通信。① MESSAGE:用来发送一次性的短消息,即寻呼机模式的即时消息。② SUBSCRIBE:用于观察者(watcher)向服务器订阅其他用户的呈现信息。③ NOTIFY:在用户的呈现信息发生改变时,服务器使用NOTIFY 方法向该用户的订阅用户发送呈现信息。

7.XMPP 系统

        XMPP 协议是一种基于XML 的即时通信协议;XMPP 协议的系统架构沿袭了E-mail 系统的架构;XMPP 系统架构主要由3 种实体组成:XMPP 客户、XMPP 服务器和XMPP 网关:① XMPP 服务器间相互通信,形成一个由XMPP 服务器组成的分布式网络;② XMPP 网关负责XMPP 与非XMPP 系统之间的互联,可以使XMPP 客户和非XMPP 客户进行通信;③ XMPP 客户通过Internet 接入XMPP 系统,可以通过XMPP 系统与其他客户进行通信(如果存在XMPP 网关,XMPP 客户也可以和非XMPP 客户进行通信)。

8.XMPP 系统特点

        用户/服务器中转模式:XMPP 使用用户/服务器通信模式,而不是有些即时消息系统采用的用户/用户模式。从一个用户客户机端发给另一个用户客户机端的XMPP 即时消息都必须通过服务器中转。

        分布式网络系统:XMPP 的网络体系结构与E-mail 系统类似,XMPP 客户和服务器组成一个分布式的网络处理系统,即时消息和呈现信息在这些XMPP 客户和服务器之间传输。XMPP 地址和E-mail 地址形式一样(如stpeter®jabber,org),因此,从一个用户地址即可得知该用户所属的XMPP 服务器。

     简单客户机端:XMPP 的目标之一是必须支持简单客户机端,将复杂性从用户端转移到服务器端。XMPP 系统架构要求用户端必须支持的功能:通过TCP 套接字与XMPP 服务器进行通信、解析组织好的XML 信息包、理解消息数据类型。(目前Google 的Google Talk 和Jive Message 都采用XMPP 协议)。
        XML 数据格式:XML 是XMPP 系统的核心,几乎能表述任何一种结构化数据。

9.XMPP 协议

9.1 寻址方案

        XMPP 通信系统具有统一的寻址方案,XMPP 用户地址的格式必须符合RFC2396 统一资源标识符的语法规定。由于历史原因,XMPP 地址也被称为JID(JabberID7Jab-ber 标识)。JID 用于标识即时消息用户和用户连接的资源,它由域标识符、结点标识符、资源标识3 部分组成,形如node@domaia/resource。其中,域标识符是唯一必需的,通常表不XMPP 服务器或XMPP 网关,必须是一个合法的DNS 域名;结点标识符是一个可选项,以“@”符号分割放在域标识符之前。结点标识符通常是一个使用XMPP 服务的一个用户;资源标识符也是一个可选的标识符,表示具体的资源。资源标识符放在域标识符之后,并以“/”分隔。

9.2 XML 流与XML 节(Stanza)

        XMPP 是一套基于XML 流的协议;XMPP 流中的“节”有3 种类型,它们是消息(message)、呈现(presence)和查询(1/Q,Info/Query)。消息节表示传输的消息,其中消息的接收方、发送方可以使用to、from 等关键字表明;呈现节用来表明用户的状态(如在线、离线等)。当用户的状态改变时,用户端就会在用户到服务器的流中插入一个呈现节,用于表明自身的状态;查询节是一种请求/响应机制。一个实体发送请求,另外一个实体接收请求并进行响应。

10.即时通信实例

        腾讯 QQ、网易泡泡、新浪UC、微软MSN 和雅虎Messenger 等都曾经是非常流行的即吋通信软件。除了实时消息交换和状态跟踪之外,即时消息系统一般还提供一些附加功能,如音频/视频聊天、应用共享、文件传输、文件共享、游戏邀请、远程助理、白板等。

VPS购买请点击我

免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们,邮箱:ciyunidc@ciyunshuju.com。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

目录[+]