UDP的可靠传输协议QUIC

UDP的可靠传输协议QUIC

TCP与UDP的对比:
UDP的可靠传输协议QUIC_第1张图片
TCP与UDP格式的对比:
UDP的可靠传输协议QUIC_第2张图片

如何做到可靠性传输

1)ARQ协议
ARQ协议即是自动重传请求,它有三种主要模式:
1.即停等式
2.回退n帧
3.选择性重传

重传机制:
1.发送方没有收到ack请求重传
2.接收端收到包需要有缺失。

RTO:重传超时时间
RTT:往返延时,由三部分组成:链路传播时间,末端系统处理时间和路由器缓存中的排队和处理时间

2)流量控制
控制发送方发送速率。接收方通过发送确认报文段中的窗口(单位为字节)大小,来控制发送方下次能发送的数据量的大小。当发送方停止发送时,有两种恢复方法:
1.接收方读走了数据,然后把接收窗口更新给发送方。
2.发送方隔一段时间就发送一个探测包去询问。

拥塞控制算法:慢启动和快恢复。
慢启动:对方接收窗口为0后,即使对方窗口恢复为32,我方发送数据也是从1或2开始慢慢增加发送数量。
快恢复:

UDP可靠性能设计

设计目的:出于实时性考虑

KCP协议在哪些方便有优势:
UDP的可靠传输协议QUIC_第3张图片
UDP的可靠传输协议QUIC_第4张图片

一个UDP报文有一个或者多个segment分片。用户不需要关心segment,kcp自动将用户数据划分为多个segment,再把segment封装到udp报文里去。

UDP的可靠传输协议QUIC_第5张图片

你可能感兴趣的:(C++服务器开发,网络,udp,网络协议)