如何为UDP协议进行拥塞控制?

Mat*_*att 12 c linux udp

我有一个自定义的UDP协议,有多个发送器/接收器,旨在尽可能快地发送大文件.它是基于客户端/服务器的.

如何检测LAN上的拥塞以降低发送UDP数据包的速率?

编辑:请不要评论UDP的使用是否合适.此协议使用UDP,但在到达时将数据包重组为整个文件.

重新提出问题:拥塞控制算法如何工作以及如何检测拥塞?

小智 14

这假设您必须使用UDP(TCP将是首选).

在应用程序内,网络拥塞的唯一指示是IP数据包丢失.根据您的协议的具体情况,您可能希望对每个数据报输出进行编号,如果接收方发现它丢失了一些(或使它们无序),请向发送方发送一条消息(或多个)表示丢失了IP数据包并减速.

有一种称为RTP(实时传输协议)的协议,用于实时流应用程序.

RTP在UDP和RTCP(实时传输控制协议)上运行,与RTP协同工作,提供QoS(服务质量)的措施,如丢包,延迟,抖动等,以便向发送方报告,以便知道何时减速或更改编解码器.

不是说你可以使用RTP,但是看看它是如何工作的可能会有所帮助.