您好, 访客   登录/注册

基于SIMPLE协议的即时消息传输机制分析和比较

来源:用户上传      作者: 王可

  摘要:即时消息的应用已经非常普及,政府、公司或个人用户都使用它来传输实时消息。即时消息系统所采用的协议对于即时消息系统的传输容量,效率,安全性都有着直接影响。SIMPLE协议作为IETF制定的标准化协议,在多个即时消息系统中得到运用。该文对SIMPLE协议中的两种消息传输机制:呼叫模式和会话模式进行了分析和比较,并指明了其适用范围。
  关键词:即时消息 ;SIMPLE ; 传输机制
  中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2013)27-6116-02
  即时消息是一种基于互联网的实时消息交换服务,网络上的用户可以利用即时消息软件实现多媒体信息的交换。
  自从上个世纪90年代出现ICQ软件后,即时消息软件得到飞速发展,被政府、企事业单位、个人用户广泛使用。具有代表性的即时消息软件有OICQ,MSN,Gtalk等,可以部署于手机或PC平台上。SIMPLE(SIP for Instant Messaging and Presence Leveraging Extensions )协议是由IETF组织制定的标准化协议,是SIP协议针对即时消息业务的扩展。微软和IBM都致力于在它们的即时通信系统中实现这个协议。该文对SIMPLE协议中的消息传输机制进行了分析和比较。
  1 基于SIMPLE协议的消息传输机制
  1) 呼叫模式
  从图中可以看出,与SIP协议中的INVITE请求消息不同,MESSAGE请求消息不会触发一个新的会话,每条MESSAGE消息之间没有联系。User1充当UAC,User2充当UAS的角色,代理服务器Proxy收到User1发来的消息后,根据消息头部Request-URI字段的值在数据库中查找目的地信息,找到后将该请求消息转发给User 2。User 2收到后回200 OK响应消息,说明请求消息已经被成功接收,并将显示给用户看。考虑到拥塞控制的因素, UAC在没有收到最终响应之前,不能开始针对相同的用户的MESSAGE事务。
  2) 会话模式
  流程图中包含有SIP协议和MSRP协议的消息。User1和User2开始即时通讯之前需要建立MSRP会话。在User1发送给User2的INVITE请求消息和User2回送的200 OK 响应消息中带有SDP会话描述信息,借助于SDP的提供/响应模型,User1和User2成功交换了MSRP会话协商信息。接下来User1向User2发起TCP连接,User2接受后,MSRP会话关系就建立了。MSRP SEND请求消息中包含有双方实际交换的即时消息文本,MSRP 200 OK响应消息仅仅用于确认已经收到对端发来的请求消息,不能携带及时消息文本。即时消息通话结束后,某一方发送SIP BYE请求消息结束会话。可以看出,MSRP会话信息对于SIP协议而言不过就是普通的媒体流,和语音呼叫时传输的媒体流没有任何区别。
  2 结论
  SIMPLE协议的呼叫模式是将用户之间交互的即时消息放在信令消息MESSAGE的消息体当中来传输的,信令流和媒体流走的是相同的路径。这种消息传输机制实施起来比较简单,也不会触发SIP会话,适用于用户之间少量消息的传输。如果用户之间传输大量即时消息,且即时消息中除了文本还包含有音频视频之类的多媒体信息时,可能会影响到其他信令消息的传输。
  SIMPLE协议的会话模式是将用户之间交互的即时消息放在媒体流当中来传输的,信令流和媒体流走的是不同的路径。MSRP协议具体负责即时消息的会话协商工作,SIP协议仅仅负责信令的传输,起的是沟通桥梁的作用。呼叫模式中用户交互的即时消息需要经过代理服务器的中继传输,而会话模式不需要,从而减轻了代理服务器的负担。因此,会话模式更能够适应用户之间大量多媒体消息或者是多个用户群组模式消息的传输。如果考虑到安全因素,呼叫模式中每传输一次MESSAGE消息就需要对用户进行安全认证,而会话模式只需要在会话建立的时候对用户进行安全认证,开销要小的多。
  参考文献:
  [1] Rosenberg J, Schulzrinne H, “SIP: Session Initiation Protocol”. RFC 3261. (Standards Track). 2002
  [2] Campbell, Rosenberg."Session Initiation Protocol (SIP)Extension for Instant Messaging", RFC 3428, 2002.
  [3] Campbell, ,Mahy.R, and C. Jennings, "The Message Session Relay Protocol (MSRP)", RFC 4975, 2007.
转载注明来源:https://www.xzbu.com/8/view-4485751.htm