TCP流量控制与滑动窗口机制
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
滑动窗口的动态调整
TCP传输过程中的滑动窗口并不是固定不变 的,在传输过程会动态调整。 接收方会不断地将自己的接收窗口大小通 告发送方,发送方将接收方通告的窗口大 小作为发送窗口大小。
滑动窗口的Байду номын сангаас态调整
发送方在两种情况下会停止发送数据: 发送窗口中全是已发送未确认的数据:网 络传输延迟大 接收方的接收窗口大小为零:接收方进程 处理速度太慢
接收ACK=1,achk=2 ,rwnd=4
滑动窗口
1 2 3 4 5 6 7 8 9 10 11 …… 发送分组5
滑动窗口
1 2 3 4 5 6 7 8 9 10 11 …… 发送分组6 如果没有收到 ACK=1,ack=3则 窗口不滑动 不再发送数据
滑动窗口
1 2 3 4 5 6 7 8 9 10 11 …… 发送分组6 ACK=1,ack=4,rwnd=3 发送端 窗口不能大于接受端窗口,所以滑 动调整为3
滑动窗口机制
发送数据一方可以在一定条件下连续发送 若干个分组,而不必每次发送都要在前一 个分组的确认信息收到后进行。 通过设定的数据发送区间进行控制
滑动窗口
1 2 3 4 5 6 7 8 9 10 11 ……
初始窗口
滑动窗口
1 2 3 4 5 6 7 8 9 10 11 …… 发送分组1
滑动窗口
滑动窗口
1 2 3 4 5 6 7 8 9 10 11 …… 发送分组5 丢失 ACK=1,ack=5,rwnd=3 发送分组7
滑动窗口
1 2 3 4 5 6 7 8 9 10 11 …… 发送再次分组5
滑动窗口
1 2 3 4 5 6 7 8 9 10 11 …… TCP为每一个连接设置一个持续计时器 (persistence timer)。只要TCP的一 方收到对方的零窗口通知,就启动该计 时器,周期性的发送一个零窗口探测报 文段。对方就在确认这个报文的时候给 出现在的窗口大小(注意:TCP规定, 即使设置为零窗口,也必须接收以下几 种报文段:零窗口探测报文段、确认报 文段和携带紧急数据的报文段)
1 2 3 4 5 6 7 8 9 10 11 …… 发送分组2
滑动窗口
1 2 3 4 5 6 7 8 9 10 11 …… 发送分组3
滑动窗口
1 2 3 4 5 6 7 8 9 10 11 ……
接收ACK=1,ack=1 rwnd=4
滑动窗口
1 2 3 4 5 6 7 8 9 10 11 ……
接收ACK=1 ack=8 rwnd=0 发 送端不允许在发送
滑动窗口协议的效率
滑动窗口的大小和网络接收分组的速度有关。 如窗口的大小等于1,则滑动窗口协议就退化为简 单的肯定确认协议。 增加窗口大小,就可以减少,甚至消除网络的空 闲状态。 分组发送速度应当与网络传输分组的能力相匹配。 如果网络中的分组处于饱和状态,就能够获得最 高的分组吞吐率。
TCP流量控制与滑动窗口机制
流量控制与滑动窗口机制 TCP实体在端设备中为每个连接开设两个缓 冲区,
一个是接收缓冲区,用来接收对方发送来的数 据。 第二个是发送缓冲区,TCP实体从应用进程接 收数据,存贮在发送缓冲区。
流量控制与滑动窗口机制
当网络连接的两端速度不匹配时,发送端 的发送速度快于接收端的处理能力时,便 会出现快速的发送端将慢速的接收端淹没 的现象,导致数据丢失。 为了防止由于发送端与接收端之间的不匹 配而引起数据丢失,TCP采用滑动窗口进行 流量控制。