# README
rdp
RDP - Redundant Data Protocol
一、概述
冗余传输协议。
1).基于UDP. 算法实现
2).通过冗余包实现可靠传输
3).协议层摒弃定时器以更大提升性能, 依赖外部定时器
4).更短的RTO. (TCP->指数增长, KCP->1.5倍增长, RDP弃用RTO)
5).Ack+Select Ack更快确认机制
6).支持链路探路探测控制冗余包粒度
7).支持分包(传输大包, 但不推荐传输大包)
二、缺点
1).为了更快到达对端, 没有实现拥塞控制, 因此使用在小包传输场景。比如帧同步
三、TODO.
1).根据探测结果动态调整冗余个数
四、协议序
ACK包: [协议头(1字节) + 包类型(1字节) + ack(4字节) + ackBit(4字节)]
数据包: [协议头(1字节) + 包类型(1字节) + seq(4字节) + bodySize(2字节) + 是否子包(1字节) + body]
其他包: [协议头(1字节) + 包类型(1字节)]