通信协议:TCP、UDP、RUDP和QUIC

来由:最近在查看路由器的流量分析时发现,排名靠前的APP名称叫QUIC,但我没有安装过这个APP啊,警觉之下查阅相关文档,引出了下文。

QUIC是什么APP?

通信协议就是网络通信中的规则,常见的有TCP协议和UDP协议两种。

第一种:TCP协议
英文名:Transmission Control Protocol
中文名:传输控制协议
协议说明:TCP是一种面向连接的、可靠的、基于字节流的传输层通信协议。

举例:打电话,需要双方都接通,才能进行对话
特点:效率低,数据传输比较安全
典型应用:http、https、ftp 、网络游戏账号登陆

第二种:UDP协议
英文名:User Datagram Protocol
中文名:数据报协议
协议说明:UDP是一种面向无连接的传输层通信协议。
举例:发短信,不需要双方建立连接,But,数据报的大小应限制在64k以内
特点:效率高,数据传输不安全,容易丢包
典型应用:DHCP、DNS、IP电话(VoIP)、网络游戏操作控制、视频会议

正是由于上述两种通信协议各有优缺点,网络工程师们想找到一种能去劣取优的通信协议,所以就出现了后来的RUDP,即可信赖(Reliable)的UDP。

典型的一种RUDP就是google工程师2012年开发的QUIC(Quick UDP Internet Connections),使用UDP进行多路传输的协议,它改进了TCP、TLS及HTTP2的部分特性,能够大幅提升WEB传输的性能(15%以上)。QUIC具有连接建立延时低、改进的拥塞控制、没有队头阻塞的多路复用、连接迁移等优点。

10年过去了,QUIC并没有全面推广开来,但已经是不容忽视的一种实用通信协议了,有人认为QUIC的优点使其迟早会替代TCP和UDP。

当然也有观点认为:TCP/UDP是通用协议,重在简单和通用;QUIC是一种针对浏览器和HTTP Server间通讯进行优化的专用协议,针对它所面对的问题域做了很多取舍,不存在后者代替前者的可能。

所以,我家网络使用量排名靠前的是使用QUIC通信协议的APP,具体是哪一系列或哪一个APP就不知道了,只是从这里也可以看到QUIC的应用正在越来越广!

补充知识:

还有一种重要的RUDP是SCTP(Stream Control Transmission Protocol)。其典型应用为WebRTC及其DataChannel:著名的直播平台的推流几乎都用 WebRTC【观看用CDN】;国内提供音视频、流媒体PaaS和SaaS服务的软件也基本基于 WebRTC 开发,通过WebRTC进行实时通信,使用RTCDataChannel交换数据。

另外开源的RUDP有:KCP、UDP、ENet、Raknet、Aeron、RSocket。

发表评论

您的电子邮箱地址不会被公开。