建议和反馈

请填写你的反馈内容

问答 > 链客Talk > 问答详情
已解决

YOUChain 为什么要使用QUIC代替TCP?10LK

YOUChain 为什么要使用QUIC代替TCP?

2020-04-09
0
请先登陆或注册

YOUChain有链2020-05-27

Caravel是一种交互式的共识协议,所以在共识过程中会产生大量的数据,占用比较高的网络消耗。在实际的公网中,数据包的丢失是不可避免的,TCP协议的核心在于"丢包必须处理",在丢包发生时,连接会进行阻塞,从而等待数据包的恢复,这是由于TCP协议的拥塞控制机制决定的。TCP使用滑动窗口用来动态调整发送速率,而丢包恢复的过程中,滑动窗口总有停等的时刻,会消耗一个RTT,相当于50~100msg的时间。另外在丢包时会发送速率会减半,所以带宽利用率也不高。QUIC协议在连接上进行了IO多路复用,针对每个数据传输流提供了独立的丢包恢复机制和滑动窗口机制,若单个传输流发生丢包,不会影响其他的数据传输,更好的提高了数据的传输效率和带宽的利用。

 

QUIC默认支持TLS加密技术,并且连接建立消耗一个RTT优于TCP的TLS加密连接建立。

 

移动网络设备一直是我们的重点,移动网络中的设置IP和端口会跟随连接的基站进行变化的,TCP协议使用了四元组(源IP,源端口,目的IP,目的端口)来唯一标识连接,如四元组中的任何一个元素发生改变,连接都需要重新建立。QUIC在连接建立后会生成一个ID来表示连接,当节点的IP或端口发生改变后,可以无需重新建立连接,通过ID继续进行数据通信,对移动设备的用户体验正好。


投一票
评论(0)
赞赏(0)

求助中

解决了这个问题,预计可以帮助到

  • 0
  • 2
  • 4
  • 7
  • 6
邀请

感谢您的善举,每一次解答会成为新人的灯塔,回答被采纳后获得20算力和相应的LK币奖励