登录控制台
首页 新闻资讯 行业资讯 干货分享丨一文读懂即时通讯和实时通讯的区别

干货分享丨一文读懂即时通讯和实时通讯的区别

作者:蔚可云 时间:2023-01-19

即时通讯(IM)和实时通讯是一套网络通讯系统,其本质都是对信息进行转发。最大的不同点是对信息传递的时间规定。二者的区别可以从以下几个方面详细了解。


干货分享丨一文读懂即时通讯和实时通讯的区别


一、应用场景


  • 即时通讯:文字聊天、语音消息发送、文件传输、音视频播放等,通俗讲就是发短信。


干货分享丨一文读懂即时通讯和实时通讯的区别

  • 实时通讯:语音电话、视频电话会议、网络电话等,通俗讲就是打电话。


二、产品需求


即时通讯:主要要求可靠,考核送达率。假如发一条短信,结果对方没收到,你还相信短信吗?


干货分享丨一文读懂即时通讯和实时通讯的区别

实时通讯:主要要求低延时和接通率。

  • 低延时:你打电话每说一句,对方得几秒钟才有回应,这电话你也讲不下去了吧。

  • 接通率:打电话时你这边显示接通了,实际上对面的手机毫无反应,就是没接通。这跟短信没送到,造成的恶劣影响是一样的。


三、技术环节


即时通讯技术环节:消息发送和确认,【消息接入端、服务端消息逻辑处理,服务端消息缓存和存储,转发,服务端用户状态管理,心跳机制,消息发送端】、消息接收和确认。


实时通讯技术环节:采集、前处理、编码、【服务端接入、转发、服务端接入】、解码、播放和渲染。这些技术环节重合的部分是:信息转发。


四、传输协议


公共互联网上,最常用的通讯协议有TCP、UDP。


  • TCP:Transmission Control Protocol,传输控制协议是基于连接的协议,也就是说,在正式收发数据前,必须和对方建立可靠的连接。有延时不可控的特点。

  • UDP:User Data Protocol,用户数据报协议,是与TCP相对应的协议。它是面向非连接的协议,它不与对方建立连接,而是直接就把数据包发送过去。存在丢包、抖动、延时的特征。


干货分享丨一文读懂即时通讯和实时通讯的区别

即时通讯:系统为了保证连接的可靠性,最常用的是TCP协议或者类TCP连接协议。这类协议的特点是追求连接的可靠性,而造成了延时的不可控性,超过2秒的延时响应是常态,甚至几十分钟的延时响应,而电信级的实时通讯标准是400ms,而基于互联网的实时通讯需要另辟蹊径,开创出新的传输解决方案。这又与应用场景相关了。发短信,延时几秒钟送达,对使用者影响不大。


实时通讯:会采用 UDP 作为基础传输协议。在设计低延时的实时通讯服务时,UDP 表现要比 TCP 好得多。因为实时通讯中,低延时比可靠性更重要。打电话,几秒的延迟是不能忍受的。


TCP协议封装了消息的重传机制,在丢包的情况下,采用TCP协议的应用程序几乎无法优化这个重传机制,来达到低延时的效果。特别是在移动互联网络中,超过30%丢包时,TCP 的延时可以到几十分钟, 超过 50%丢包时,甚至很容易断开。在同样丢包30%的链路上,UDP还可以传输数据,TCP就无法进行实时通讯了。


基于UDP协议,加上对丢包的情况开发了各种算法进行补偿,一方面尽量保证和恢复数据的连续性。另外一方面,当某些数据包无法恢复时,会丢弃对应的音视频数据包,而不会影响后续的实时通讯服务。


五、成本问题


成本涉及到的环节有:服务端接入、存储和转发。二者成本会产生差异的环节有:


服务端方面,从它的接入方式来看,即时通讯采用TCP协议来保证可靠性,可能会建立多个连接,相比无连接的UDP传输方式,这是一种昂贵的传输方式。实时通讯可以基于UDP协议,与服务端建立灵活的、快速的接入机制。


存储方面,实时通讯在服务端是实时转发,不会在服务端存储数据,而即时消息系统一般会将缓存转为存储数据,包括富媒体数据,会占用大量的存储空间,产生更多的存储成本。


成本方面,传输同样信息量的数据,基于TCP的即时通讯方式,更侧重于可靠性,会优先采用多线机房的传输方式,成本比较高。


而基于UDP的实时通讯方式,会优先选取最优路径进行传输数据,并可动态调整传输路径,能够高效的利用带宽,提高传输效率,降低成本。

热门推荐

产品推荐