面试题答案
一键面试可能遇到的问题
- 重传超时时间(RTO)不准确:高延迟网络中,往返时间(RTT)波动大,传统基于平均RTT计算RTO的方式难以适应,RTO设置过长会导致数据传输延迟增大,过短则会造成不必要的重传。
- 重传风暴:不稳定网络下,数据包丢失频繁,若重传机制不合理,可能导致大量数据包同时重传,进一步加重网络拥塞,形成重传风暴。
- 确认应答(ACK)丢失:ACK在传输过程中也可能因网络不稳定而丢失,这会导致发送方误以为数据包未被接收而进行不必要的重传。
- 快速重传机制局限性:快速重传依赖于连续收到多个重复ACK来触发重传,但在高延迟网络中,重复ACK到达可能延迟,不能及时触发重传,影响数据传输效率。
优化措施
- 自适应RTO调整:采用更复杂的算法,如Jacobson/Karels算法,动态跟踪RTT变化并调整RTO,使其能更好适应网络延迟波动。
- 拥塞控制优化:改进拥塞控制算法,如采用BBR(Bottleneck Bandwidth and Round-trip propagation time)算法,在高延迟网络中能更准确地估计带宽和延迟,避免拥塞,减少重传。
- 选择性重传:发送方只重传真正丢失的数据包,而不是从丢失数据包开始的所有后续数据包,提高重传效率,减少网络带宽浪费。
- 前向纠错(FEC):在发送数据时添加冗余信息,接收方利用这些冗余信息恢复丢失的数据包,减少重传需求。
- ACK机制优化:引入带外确认、累积确认和快速确认等机制,提高ACK传输的可靠性和及时性,避免不必要的重传。