什么是三比特滑动窗口协议?


滑动窗口协议是一种传输控制协议。为了保存发送和接收的数据包,发送方和接收方都维护一个有限的缓冲区。发送方发送的每个数据包都必须由接收方确认。

发送方为发送的每个数据包维护一个计时器,并在一定时间内未收到确认的数据包将被重新发送。发送方会在收到窗口中第一个数据包的确认之前发送一整个窗口的数据包。这导致更高的传输速率,因为发送方可以在不等待每个数据包确认的情况下发送多个数据包。

接收方会通告一个窗口大小,告诉发送方它可以接收多少数据,以防止发送方填满接收方的缓冲区。

3 比特滑动窗口协议

3 比特滑动窗口协议被称为基于数据包的协议,它包含数据传输协议。它用于传输控制协议和数据链路层。

解释

3 比特滑动窗口协议可以用以下图表表示:

在 3 比特滑动窗口中,发送方在收到确认之前一次发送三个帧。滑动窗口指的是发送方和接收方两侧保存帧的虚拟框。

例如:

2 5 6 2 1 3 9
2 5 6 2 1 3 9
2 5 6 2 1 3 9
2 5 6 2 1 3 9
2 5 6 2 1 3 9

分步解释如下:

步骤 1 - 上述块表示大小为 3 的滑动窗口。

步骤 2 - 接收方在收到来自发送方的帧后,会发送一个确认 (ACK),其中包含它期望接收的下一帧的编号。

步骤 3 - 上图显示了 3 比特滑动窗口的发送窗口和接收窗口之间信号传输的一个示例。您可以看到发送方首先向接收方发送 1、2 和 3,然后在收到接收方接收 1 的确认并从接收方发送 4 后,发送方再次发送 4。发送 5 和 6 的工作方式类似。

步骤 4 - 但是这个过程有时会遇到错误。如果接收方在接收帧时遇到某些错误,则接收方不会发送 ACK。对于这些情况,发送方会为每个帧的 ACK 接收维护一个超时。

步骤 5 - 如果超过时间,则发送方会重新发送该帧,如果该帧不存在则将其添加到接收方,否则忽略它。

步骤 6 - 另一个错误是接收方发送 ACK 但在发送方收到它之前丢失了。类似地,也会使用超时来处理此错误。

更新于: 2021 年 9 月 11 日

1K+ 浏览量

开启您的 职业生涯

通过完成课程获得认证

开始学习
广告