PPT截圖:
在 TCP 協(xié)議中隙疚,接收端的窗口的起始點是下一個要接收并且 ACK 的包楔脯,即便后來的包都到了喇肋,放在緩存里面侣颂,窗口也不能右移档桃,因為 TCP 的 ACK 機(jī)制是基于序列號的累計應(yīng)答,一旦 ACK 了一個序列號憔晒,就說明前面的都到了藻肄,所以只要前面的沒到,后面的到了也不能 ACK拒担,就會導(dǎo)致后面的到了嘹屯,也有可能超時重傳,浪費帶寬从撼。
接收端是按順序回復(fù)ACK包的抚垄,如果接收方的ACK A包發(fā)生丟包現(xiàn)象,但是發(fā)送端接受到了ACK D包谋逻,就會知道D以前的包呆馁,接收端都已接受到了。
但如果發(fā)送端的F包發(fā)生丟包毁兆,接收端會一直回復(fù)E的ACK包浙滤,接收端收到多次E的ACK包就知道E以后的有丟包現(xiàn)象,會把窗口后移一位气堕,重復(fù)發(fā)送FGHI包纺腊。