什么是RUTP协议?RUDP协议在视频会议系统中的应用
RUTP协议是通过UDP数据包来实现数据可靠传输的协议,其协议是建立在无连接的UDP协议基础上的应用层协议,主要通过发送确认包给接受者,然后对数据包进行丢包重发,实现数据的可靠传输。在视频会议系统的开发当中,需要处理实时的音、视频及其他的一些数据,RUTP协议怎样用于我们的视频会议系统的开发呢?首先,我们先要了解RUTP协议的特点,然后我们分析一下在网络视频会议系统中的哪些数据传输可以通过RUTP协议进行,最后我们列举一下几个重要的开源RUTP库。
1、RUTP协议特点
RUTP协议主要是解决TCP协议和UDP协议存在的弊端,TCP协议是面对有连接的传输协议,其传输的数据通过三次握手和滑动窗口协议实现了数据的可靠传输,但TCP协议由于需要三次握手,因此其传输实时性比较差,很难应用于实时的数据传输;UDP协议刚好于TCP协议相反,UDP协议是面向无连接的传输协议,数据只是在不断地进行发送,而没有对数据进行丢包和排序处理,不能进行网络的QOS保证,因此UDP协议不能保持数据的可靠性。而RUTP协议能在TCP协议和UDP协议中寻求了最好的平衡点,它主要是通过滑动窗口、丢包重发、拥塞控制等算法,实现数据的实时可靠传输,因此RUTP既能实现数据的实时传输,又能保证数据的可靠性。由此可见,在我们的视频会议系统的开发过程中,使用RUTP协议进行数据传输,比我们直接单纯用TCP协议或者UDP协议要好。
2、在视频会议系统中的应用
RUTP协议有那么多好处,我们是不是在视频会议系统的开发中,全部的数据都要用RUTP协议进行传输呢?答案是否定的,RUTP协议只是在TCP协议和UTP协议中寻求最好的平衡点,但其可靠性和实时性都处于两者的中间,比如可靠性,RUTP的在正常的网络条件下,数据是可靠的,但如果在极端的网络条件下,其可靠性不如TCP协议的三次握手和滑动窗口协议;而在实时性方面,RUTP协议须要对数据进行带外数据的控制,其实时性比无连接UDP协议要低许多。因此在视频会议系统中,数据如果符合既要保持实时性和可靠性,才需要使用到RUTP协议,这些数据一般是音频、视频及屏幕共享等数据,而一些如控制信令、文本信息等数据,其数据只要求可靠性而不要求实时性,一般建议使用TCP协议来进行传输。
3、开源的RUTP库
在开源的项目当中,有几个非常值得我们关注的RUTP开源库,利用这些RUTP库,可以加快我们的视频会议系统的开发进度,从而迅速实现音、视频的实时可靠的传输。在RUTP开源库中,最着名的是UDT开源库,UDT传输库主要是用RUTP协议来实现数据的实时可靠传输,它的数据传输效率非常高,在网络条件较好的情况下能传输流量非常大的可靠性实时数据,但在网络堵塞非常严重的情况下,UDP还会一直传输数据,会导致网络越来越堵塞、数据可靠性不能保证的情况发送。因此我们需要对网络进行判断,如果出现网络堵塞的情况下,就不再使用UDT库进行数据传输,因此在网络堵塞情况下,还采用它会造成网络的更堵塞的情况。另外一个RUTP开源库是Raknet,Raknet开源库是一个游戏引擎,主要是应用于游戏中的音频数据的实时传输,因此Raknet库也非常适合于视频会议系统的实时数据传输。但Raknet库也存在一些问题,经过在不同的网络条件下的测试,当在网络条件比较差的情况下,其数据传输较慢,一些数据不能实时地达到接送方,而Raknet库的版本较多,不同的版本其传输效率都不一样,因此我们需要对这些库进行实际的测试。综合这两个RUTP开源库,它们在低带宽的情况下,都存在数据越来越堵塞的情况下,因此我们在视频会议系统中利用这些RUTP库,需要了解这些库的优点和缺点,在网络条件较差的情况下,要及时进行数据流量控制,保证数据的实时可靠的传输。
本文转自d1net(转载)
网络安全——传输层安全协议(2) 通过之前文章我们对于SSL协议进行了一定了解网络安全——传输层安全协议 本章将会继续讲解SSL握手协议与SSL记录协议。
互联网和传输层协议 互联网是一个非常庞大的结构,从整体来看,互联网是一个立体的、庞大的网状结构。但是如果将它放大、再放大,将镜头拉近,在微观层面,我们会看到一个个网络、一台台设备,还会看到大量的封包在交换、有设备在不断地改变封包的走向、损坏的封包被重发、一个个光电信号被转化和传输。
比原链技术社区最近提出了一套资产规范提议,该提议允许在issue类型的交易中实现标准资产token。该标准定义资产在链上的基本功能,以及发行人通过智能合约管理资产的规范。
相关文章
- Android应用性能优化最佳实践.1.1 Android Studio的优势
- iOS12系统应用发送邮件中的附件
- iOS12系统应用开发发送邮件
- 【快应用】Deeplink跳转快应用返回时出现两次系统添加桌面图标提示
- 【快应用】Win7系统使用华为IDE无法运行和调试项目
- 华为帐号助游戏类应用轻松实现数字资产的跨端延续
- Centos系统 tomcat 中的应用与北京时间相差8小时
- 《循序渐进Linux(第2版) 基础知识 服务器搭建 系统管理 性能调优 虚拟化与集群应用》——第2章 Linux系统的安装与基础配置 2.1安装需求
- 《iOS应用开发》——1.3节到处看看
- 《Android 应用测试指南》——第1章,第1.1节简史
- 《Android应用开发从入门到精通》——导读
- STM32应用实例八:与多台MS5803压力传感器I2C通讯
- 生物识别门禁系统要求高 电子锁仍有较大应用市场
- 移动端APP应用版本升级更新方案:整包更新及资源在线升级(热更新)
- stm32F40x系统滴答定时器计算方法及应用(寄存器版本)
- 北京大学建立大数据分析与应用技术国家工程实验室
- 【快应用】快应用中控制swiper自动和手动滑动的切换
- 分区索引的应用和实践 - 阿里云RDS PostgreSQL最佳实践
- 深度解析光伏分发的系统中逆变器应用知识
- 德江多措施推进大数据应用“智慧德江”建设
- 系统架构设计师-面向服务的架构设计及其应用
- OA系统选型指南:看物业系统如何深度应用OA办公系统
- 语音分析应用场景——来电原因分析与运营效率提升