您的位置:控制工程论坛网论坛 » PLC与PAC » TCP是如何通过滑动窗口协议实现流量控制的?

swy

swy   |   当前状态:在线

总积分:8597  2024年可用积分:2

注册时间: 2006-08-05

最后登录时间: 2023-08-21

空间 发短消息加为好友

TCP是如何通过滑动窗口协议实现流量控制的?

swy  发表于 2011/10/8 10:05:04      1427 查看 1 回复  [上一主题]  [下一主题]

手机阅读

TCP是如何通过滑动窗口协议实现流量控制的?
1楼 0 0 回复
  • sweect

    sweect   |   当前状态:在线

    总积分:5941  2024年可用积分:0

    注册时间: 2007-11-07

    最后登录时间: 2023-08-21

    空间 发短消息加为好友

    sweect   发表于 2011/10/12 9:19:04

    T C P使用一种窗口(w i n d o w)机制来控制数据流。当一个连接建立时,连接的每一端分配一个缓冲区来保存输入的数据,并将缓冲区的尺寸发送给另一端。当数据到达时,接收方发送确认,其中包含了自己剩余的缓冲区尺寸。剩余的缓冲区空间的大小被称为窗口( w i n d o w) ,指出窗口大小的通知称为窗口通告(window advertisement) 。接收方在发送的每一确认中都含有一个窗口通告。
      如果接收方应用程序读数据的速度能够与数据到达的速度一样快,接收方将在每一确认中发送一个正的窗口通告。然而,如果发送方操作的速度快于接收方(由于C P U更快) ,接收到的数据最终将充满接收方的缓冲区,导致接收方通告一个零窗口( zero window) 。发送方收到一个零窗口通告时,必须停止发送,直到接收方重新通告一个正的窗口。
    TCP的窗口以字节为单位进行调整,以适应接收方的处理能力。处理过程如下:
      (1)TCP连接阶段,双方协商窗口尺寸,同时接收方预留数据缓存区;  
      (2)发送方根据协商的结果,发送符合窗口尺寸的数据字节流,并等待对方的确认;  
      (3)发送方根据确认信息,改变窗口的尺寸,增加或者减少发送未得到确认的字节流中的字节数。调整过程包括:如果出现发送拥塞,发送窗口缩小为原来的一半,同时将超时重传的时间间隔扩大一倍。  
      TCP的窗口机制和确认保证了数据传输的可靠性和流量控制。
    2楼 回复本楼

    引用 sweect 2011/10/12 9:19:04 发表于2楼的内容

总共 , 当前 /