TCP滑动窗口
前言:TCP窗口控制数据传输速率
窗口是缓存的一部分,用来暂时存放字节流
- 发送方和接收方各有一个窗口
发送窗口和接收窗口
- 接收方通过响应报文首部的窗口字段告诉发送方自己的窗口大小,发送方参照该值设置发送窗口大小,进行流量控制
发送窗口内的数据都允许被发送,接收窗口内的数据都允许被接收
- 发送窗口:每发送一个数据,窗口右移动一位
- 接收窗口:每交付给主机一位,窗口向右移动一位
TCP流量控制
流量控制的目的:控制发送方数据发送速率,保证接收方来得及接收
接收方发送的确认报文中,接收方窗口大小字段可以用来控制发送方窗口大小,进而控制发送速率
实际应用中,为了进行流量控制,发送端会主动时不时发送一个窗口探测的数据段,探测接收端窗口大小
窗口探测数据段仅仅包含一个字节,用来获取最新的窗口大小信息+