TCP滑动窗口机制

1、数据分片

在这里插入图片描述

2、滑动窗口机制

2.1 单一发送总是要等回复,效率太低:

在这里插入图片描述

2.2 设置窗口,提升效率

以下的窗口大小为3:
在这里插入图片描述
窗口大小指的是可以发送数据包的最大数量。在实际使用中,它可以分为两部分。第一部分表示数据包已经发送,但未得到确认应答包;第二部分表示允许发送,但未发送的数据包。在进行数据包发送时,当发送了最大数量的数据包(窗口大小数据包)时,有时不会同时收到这些数据包的确认应答包,而是收到部分确认应答包。那么,此时窗口就通过滑动的方式,向后移动,确保下一次发送仍然可以发送窗口大小的数据包。这样的发送方式被称为滑动窗口机制。设置窗口大小为 3,滑动窗口机制原理如下:
在这里插入图片描述

3、数据重发

3.1 只要收到三个包中最后一个应答包(回应包丢了的情况),就继续正常发送

在这里插入图片描述

3.2 当发送的数据报丢了,会进行3次提醒,重新发送后,之后恢复正常

在这里插入图片描述

4、TCP流控制

双方协商窗口大小
在这里插入图片描述
如果在接收端返回的确认应答包中,窗口设置为 0,则表示现在不能接收任何数据。这时,发送端将不会再发送数据包,只有等待接收端发送窗口更新通知才可以继续发送数据包。
如果这个更新通知在传输中丢失了,那么就可能导致无法继续通信。为了避免这样的情况发生,发送端会时不时地发送窗口探测包,该包仅有1个字节,用来获取最新的窗口大小的信息。如下:

在这里插入图片描述

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
TCP滑动窗口机制包括以下几种: 1. 停止等待协议(Stop-and-Wait Protocol):发送方每发送一段数据就停下来等待确认,接收方每接收到一段数据就发送确认,确认号表示接收成功的最后一个字节的序号。缺点是通信效率低下,因为发送方必须等待确认才能发送下一段数据。 2. 1比特滑动窗口协议(1-bit Sliding Window Protocol):发送方在等待确认时,可以同时发送多个数据包,最多可以发送两个未确认的数据包,即窗口大小为1。接收方接收到数据后,如果数据正确无误,则发送确认;如果数据有误,则不发送确认,发送方会在一定时间后重新发送数据。 3. 固定窗口大小协议(Fixed Window Protocol):发送方和接收方都有一个固定的窗口大小,发送方可以发送窗口中的所有数据,而接收方只有在窗口中的所有数据都正确接收后才会发送确认。缺点是窗口大小固定,不能根据网络状况进行动态调整,可能会导致网络拥塞或通信效率低下。 4. 可变窗口大小协议(Variable Window Protocol):发送方和接收方的窗口大小可以根据网络状况进行动态调整,以提高网络通信效率。发送方可以根据接收方的确认信息来调整窗口大小,而接收方则可以根据自己的处理能力和网络状况来调整窗口大小。这种协议可以提高网络通信效率,但也需要更复杂的算法和机制来实现。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值