TCP协议是互联网应用最广泛的数据传输协议之一,在过去的40年中改变了世界,但也成为了新的技术瓶颈。Cascade Range Networks, Inc CTO/联合创始人 范醒哲在LiveVideoStack线上交流分享中详细解析了TCP面临的困境与可行的解决方案。本文由LiveVideoStack整理而成。
文 / 范醒哲
整理 / LiveVideoStack
直播回放
https://www2.tutormeetplus.com/v2/render/playback?mode=playback&token=9336cda7b1fe4125ab730c818fe1219a
大家好,我是来自Cascade Range Networks的范醒哲,本次我为大家准备的分享主题为“TCP的困境与解决方案”。作为互联网使用最广泛的传输协议,TCP带来巨大改变的同时,也面临一些亟待解决的问题,接下来我将围绕音视频行业与大家讨论以下相关内容:
1. 为什么关注TCP?
为什么我们需要持续关注传输问题?最根本的原因是数据量增长的速度远远超出带宽增长的速度。即使5G时代即将到来,传输问题依旧是技术实践当中的关键性命题。看似5G时代下强大的带宽会让传输问题迎刃而解,但在实践中不难发现数据的增长速度远远更快。随着5G时代到来的是超高清视频、3D、VR、AR等数据量极大需要带宽更多的音视频应用,这就使得带宽成为一项技术瓶颈始终制约音视频行业的未来发展,我们需要一个能够妥善处理带宽问题的解决方案。
我们在音视频社区讨论数据传输,主要是因为数据传输虽然是一个网络概念,却与音视频技术中的各种技术存在一定相关性;而音视频数据现已经成为互联网中数据传输的主要对象,其占比预计会从2016年的51%增长到2021年的67%。
而Live Video方面则会出现4倍的增长,2021年达到13%,这使得我们不能不关心其未来发展。
即使在现在的音视频行业中有很多解决方案都是基于UDP协议,但作为一个承载互联网中大部分应用的传输协议,TCP在可预见的未来依旧是最主要的协议 。
例如对于全球最大的流媒体平台Netflix而言,从Netflix数据中心到CDNs的Outsourcing,从数据中心到Amazon cloud的Cloudsourcing以及用户从Amazon Cloud获取视频数据等数据流的后端都在使用着各种基于TCP的方案。虽然有些后端已经陆续使用基于私有UDP协议方案的大规模数据传输,但前端的大部分数据传输尤其是用户从Amazon Cloud获取视频数据还是基于TCP方案来实现视频分发。
作为未来智慧城市中不可或缺的一部分,安防系统中的智能摄像头到NVR再到云的大部分数据流都是基于TCP实现。一些拥有私有云的企业可能使用基于UDP的解决方案,但如果接入数据至公有云则仍需要TCP进行承载。
除了上述案例,家庭娱乐与未来的远程医疗都需要大量的音视频数据作为支撑,其传输也主要由TCP承载。
2. TCP面临的挑战与问题
TCP作为互联网应用最广的数据传输协议,所面临的挑战值得我们一探究竟。首先,由于今天绝大多数的网络社交、视频、云计算、大数据与智能终端等使用TCP作为底层传输协议的应用都是基于HTTPS实现的,每项应用对性能的要求侧重点不同——交互视频、游戏等侧重低时延,高清视频、在线4K播放等侧重数据传输速度,这些不同应用的不同侧重需求使TCP的设计充满挑战;其次,由于在TCP的研发初期带宽资源较为匮乏,而随着通信技术的发展带宽资源与质量明显提升,互联网带宽已有几个数量级的提升,此时的TCP必须对几十年前的内部架构与工作机制进行一定技术改进才能保证在高带宽中高速的传输数据——如优化TCP的主体架构等,以避免TCP面临一些具有海量数据应用时在速度等性能参数方面力不从心;最后,随着全球数字化及超高清网络音视频应用的层出不穷,远距离与大数据也给TCP带来了很多前所未有的挑战。
具体而言,TCP面临的主要问题是带宽资源的浪费。在互联网初期带宽资源不多,就好比路不宽不好,后