32

我试图了解拥塞窗口和接收窗口之间的区别。

据我了解,接收器窗口是接收器可以获取数据包的缓冲区。Congestion 窗口也是如此,它告诉我们 Receiver 的能力范围,并根据丢失的数据包等进行更改。

那么它们之间有什么区别呢?

4

2 回答 2

56

简而言之:接收窗口由接收者管理,接收者将窗口大小发送给发送者。窗口大小宣布接收缓冲区中仍然空闲的字节数,即发送者仍然可以发送而不需要接收者确认的字节数。

拥塞窗口是发送方强加的窗口,用于避免超出网络路径中间的某些路由器。发送方,每发送一个段,都会稍微增加拥塞窗口,即发送方将允许自己有更多未完成的发送数据。但是如果发送方检测到丢包,它会将窗口减半。这背后的基本原理是,发送者假设数据包丢失是由于某处的缓冲区溢出而发生的(这几乎总是正确的),因此发送者希望保留更少的数据“在飞行中”以避免将来进一步的数据包丢失。

更多信息,请从这里开始:http ://en.wikipedia.org/wiki/Slow-start

于 2012-12-01T22:50:32.977 回答
-1

最初,将 CongWindow 设置为等于一个数据包。然后它将第一个数据包发送到网络并等待确认。如果这个数据包的确认在定时器用完之前到达,发送方将 CongWindow 增加一个数据包并发出两个数据包。一旦所有这些数据包在超时前得到确认,CongWindow 就会增加 2 — 每个已确认的段一个。现在 CongWindow 的大小是 4 个数据包,因此发送方发送了 4 个数据包。只要 CongWindow 的大小低于阈值并且在相应的超时到期之前收到确认,这种指数增长就会继续。一个重要的区别是 CongWindow 的大小会发生变化,但接收窗口的大小始终是恒定的。

于 2019-06-01T02:36:19.063 回答