即时通讯技术(IM)支持用户在线实时交谈。如果要发送一条信息,用户需要打开一个小窗口,以便让用户及其朋友在其中输入信息并让交谈双方都看到交谈的内容。大多数常用的即时通讯发送程序都会提供各种各样的功能:
- 即时通讯 - 在用户和在线朋友之间来回发送信息
- 聊天 - 创建用户与朋友或工友的自定义聊天室
- 网页链接 - 共享用户喜爱的网址
- 支持图片 - 浏览朋友计算机中的图片
- 支持声音 - 给朋友播放音乐
- 支持文件传输 - 直接将文件发送给朋友,以便于共享
- 交谈 - 使用 Internet,而不是电话,与朋友们进行真正的交谈
- 影音串流内容 - 实时或准实时的股市行情或新闻
有许多的 IM 系统,如 AOL IM、Yahoo IM 和 MSN IM,它们使用了不同的技术,而且它们互不兼容。为了创建即时通讯的统一标准,人们经过了多次尝试:IETF 的对话初始协议(SIP)和 即时通讯对话初始协议和表示扩展协议(SIMPLE)、应用交换协议(APEX)、显示和即时通讯协议(PRIM)及基于 XML 且开放的可扩展通讯和表示协议(XMPP)协议(常称为 Jabber 协议)。人们多次努力,试图统一各大主要 IM 供应商的标准(AOL、Yahoo 及 Microsoft),但无一成功,且每一种 IM 仍然继续使用自己所拥有的协议。
这些常用的即时通讯传送协议如下:
- 可扩展通讯和表示协议(XMPP):用于流式传输准实时通信、表示和请求 - 响应服务等的 XML 元素。XMPP 基于 Jabber 协议,是用于即时通讯的一个开放且常用的协议。尽管 XMPP 没有被任何指定的网络架构所融合,它还是经常会被用于客户机 / 服务器架构当中,客户机需要利用 XMPP 协议通过 TCP 连接来访问服务器,而服务器也是通过 TCP 连接进行相互连接。
- 即时通讯对话初始协议和表示扩展协议(SIMPLE):SIMPLE 协议为 SIP 协议指定了一整套的架构和扩展方面的规范,而 SIP 是一种网际电话协议,可用于支持 IM /消息表示。SIP 能够传送多种方式的信号,如 INVITE 信号和 BYE 信号分别用于启动和结束会话。 SIMPLE 协议在此基础上还增加了另一种方式的请求,即 MESSAGE 信号,可用于发送单一分页的即时通讯内容,即分页模式的即时通讯。SUBSCRIBE 信号用于请求把显示信息发送给请求者,而 NOTIFY 信号则用于传输显示信息。较长 IM 对话的参与者们需要传输多种的延时信息,它们使用 INVITE 和一个叫做消息会话中继协议(MSRP)。与 SIMPLE 协议结合,MSRP 协议可用于 IM 的文本传输,正如与 SIP 协议相结合,RTP 协议就可以用于传输 IP 电话中的语音数据包一样。
- Jabber: Jabber 是一种开放的、基于 XML 的协议,用于即时通讯消息的传输与表示。国际互联网中成千上万的服务器都使用了基于 Jabber 协议的软件。Jabber 系统中的一个关键理念是 “传输”,也叫做“网关”,支持用户使用其它协议访问网络 — 如 AIM 和 ICQ、MSN Messenger 和 Windows Messenger、SMS 或 E-mail。
- 即时通讯通用结构协议(CPIM):CPIM 定义了通用协议和消息的格式,即时通讯和显示服务都是通过 CPIM 来达到 IM 系统中的协作。
网际转发聊天协议(IRCP):IRCP 支持两个客户计算机之间、一对多(全部)客户计算机和服务器对服务器之间的通信。该协议为大多数网际即时通讯和聊天系统提供了技术基础。IRC 协议在 TCP/IP 网络系统中已经得到了开发,尽管没有需求指定这是 IRC 协议的唯一操作环境。IRC 协议是一种基于文本的协议,使用最简单的客户端程序就可作为其连接服务器的接口(socket)程序。
即时通讯技术概述 (Instant Message (IM) Technology Overview)