《(45)--20.2 流量控制计算机网络计算机网络.ppt》由会员分享,可在线阅读,更多相关《(45)--20.2 流量控制计算机网络计算机网络.ppt(11页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、20.2 流量控制本讲要点n流量控制的作用n滑动窗口的概念n流量控制的实现方法n重(难)点:如何通过滑动窗口实现流量控制20.2 流量控制n如果发送方把数据发送得过快,接收方就可能来不及接收,这就会造成数据的丢失。n流量控制(flow control)就是让发送方的发送速率不要太快,既要让接收方来得及接收。n利用滑动窗口机制可以很方便地在 TCP 连接上实现流量控制。以字节为单位的滑动窗口nTCP 采用大小可变的滑动窗口进行流量控制。窗口大小的单位是字节。n在 TCP 报文段首部的窗口字段写入的数值就是当前给对方设置的发送窗口数值的上限。n发送窗口在连接建立时由双方商定。但在通信的过程中,接收
2、方可根据自己的资源情况,随时动态地调整对方的发送窗口上限值(可增大或减小)。收到确认即可前移1002003004005006007008009001012013014015016017018011发送窗口可发送不可发送指针n发送方要发送 900 字节长的数据,划分为 9 个 100 字节长的报文段,而发送窗口确定为 500 字节。n发送方只要收到了对方的确认,发送窗口就可前移。n发送 TCP 要维护一个指针。每发送一个报文段,指针就向前移动一个报文段的距离。收到确认即可前移1002003004005006007008009001012013014015016017018011可发送不可发送指针
3、1002003004005006007008009001012013014015016017018011发送窗口可发送不可发送指针发送窗口前移n发送方已发送了 400 字节的数据,但只收到对前 200 字节数据的确认,同时窗口大小不变。n现在发送方还可发送 300 字节。已发送并被确认已发送但未被确认1002003004005006007008009001012013014015016017018011已发送并被确认已发送但未被确认可发送不可发送指针1002003004005006007008009001012013014015016017018011已发送并被确认可发送不可发送指针发送窗口前
4、移发送窗口缩小n发送方收到了对方对前 400 字节数据的确认,但对方通知发送方必须把窗口减小到 400 字节。n现在发送方最多还可发送 400 字节的数据。发送缓存 最后被确认的字节发送应用程序发送缓存最后发送的字节发送窗口已发送已发送已发送TCP序号增大接收缓存接收应用程序已收到已收到接收窗口TCP接收缓存下一个读取的字节序号增大下一个期望收到的字节(确认号)发送方的发送窗口大小不能超过接收方的接收窗口的大小!每段100字节,初始窗口和接收缓存为400SEQ=1SEQ=201SEQ=401SEQ=301SEQ=101SEQ=501ACK=201,WIN=300ACK=601,WIN=0ACK
5、=501,WIN=100主机 A主机 B允许 A 再发送 300 字节(序号 201 至 500)A 还能发送 200 字节A 还能发送 100 字节(序号 401 至 500)A 还能发送 300 字节A 不能再发送500 以后的数据A 超时重传,但不能继续发送允许 A 再发送 100 字节(序号 501 至 600)A 不能再发送600以后的数据不允许 A 再发送(到序号 600 的数据都已收到)SEQ=201丢失!应用程序取走100 字节应用程序取走100 字节本讲小结n流量控制的作用n让发送方的发送速率不要太快,让接收方来得及接收n滑动窗口的概念n发送窗口大小由谁决定?由谁调整?n流量控制的实现方法