TCP 协议有流量控制和拥塞控制,这个控制不止存在于客户端和服务器端,整个连接中的每个设备都会有流量控制和拥塞控制,保证网络不会过度拥挤。UDP 协议没有这些控制,连接中的每一个设备收到数据包就转发,理论上只受物理速度的限制。FinalSpeed把 TCP 包装成 UDP ,把原本控制拥堵的各种协议给废掉了速度自然就快了。 简化模型是这样,实际不能只简单地把 TCP 包装成 UDP 死命转发,还得考虑丢包怎么处理,网络拥塞的情况下怎么处理,有点类似于自己实现一个 TCP 协议,不过这个 UDP 上包装的自定协议只受到客户端和服务器端的影响,连接线路中的其他设备不会影响速度。 这类产品非常多,做得最好的应该是被 IBM 收购的 Aspera 。 另外,线路中只有一个人用 UDP 加速软件的时候速度很好,当有很多人用的时候速度会急剧下降,因为拥塞了,丢包了,要不停重发,重发又导致拥塞(这也是 TCP 协议存在的意义)。。。所以只能是小规模特殊场景下的使用。
作者:匿名用户
链接:https://www.zhihu.com/question/40336042/answer/123933455
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
|