Networking 接收端拥塞控制算法

Networking 接收端拥塞控制算法,networking,tcp,congestion-control,cwnd,Networking,Tcp,Congestion Control,Cwnd,假设我们讨论的是许多发送者向接收者发送数据包的情况。 通常,发送方会通过使用限制发送速率的滑动窗口来控制拥塞 我们有: snd_cwnd = min(cwnd,rwnd) 使用来自网络(路由器、交换机)的显式或隐式反馈信息,发送方将控制cwnd以控制发送速率 通常,rwnd总是足够大,发送方只关心cwnd。但是,如果考虑“代码> RWND < /代码>,使用它来限制 SNDY-CWND < /代码>,它将使拥塞控制更有效。 rwnd是接收器能够接收的数据包(或字节)数。我关心的是发送者的能

假设我们讨论的是许多发送者向接收者发送数据包的情况。
通常,发送方会通过使用限制发送速率的滑动窗口来控制拥塞

我们有:

 snd_cwnd = min(cwnd,rwnd) 
使用来自网络(路由器、交换机)的显式或隐式反馈信息,发送方将控制
cwnd
以控制发送速率

通常,
rwnd
总是足够大,发送方只关心
cwnd
。但是,如果考虑“代码> RWND < /代码>,使用它来限制<代码> SNDY-CWND < /代码>,它将使拥塞控制更有效。

rwnd
是接收器能够接收的数据包(或字节)数。我关心的是发送者的能力

问题:
1.那么,接收方如何知道有多少流向其发送数据包呢?

2.不管怎样,接收者知道发送者的snd吗?

这一切都很混乱

  • 流入接收器的流的数量与任何特定流的rwnd无关。rwnd只是接收缓冲区中为该流保留的空间量

  • 接收方不需要知道发送方的cwnd。这是发件人的问题

  • 您所说的“通常rwnd总是足够大,以至于发件人只关心cwnd”完全是不真实的。接收窗口随每次接收而变化;每一次确认都会重新发布广告;而且它经常降到零

    您的以下语句“如果我们考虑RWND,使用它来限制CWND……”仅仅是对已经发生的事情的描述,如“SNDYCWND= min(CWND,RWND)”。


    否则,它可能构成一个完全不可解释的建议,不必要地修改TCP的流量控制,它已经工作了25年,而且在几年前不起作用:我记得上世纪80年代中期的几次ARPANET冻结。我想了解一下TCP,看看是否有任何方法可以使TCP更好。在拥塞控制算法中,发送方往往是主要的。我认为,如果接收者能告诉发送者有多少流量,发送者会迅速降低发送速率,以便与其他人公平共享。@TaiNguyen但流入接收者的流量本身并不重要。重要的因素是RTT和数据包丢失率,发送方已经知道这些。