网络:TCP滑动窗口机制

滑动窗口协议能保证网络上的包能正常传输,其原理为,规定一个同时允许发送包的最大数量,比如5,这时就可以同时往另一节点发送5个包。当另一端收到包以后,将会往回发送Ack,如果发送节点收到1号包的Ack,发送节点将会继续往后推,将第六号包发送出,一直保持发出状态或者待发状态为5。 但是当出现丢包状态时,比如2号包丢失,即使接收方收到了3、4、5号包,也不会往发送节点发送Ack,这个Ack必须是按照顺序发送的,所以发送节点会一直等待接收节点发送2号Ack,长时间未收到的话,这里有超时重发机制,2号包会被再次发出。当接受节点收到重发的2号包以后,如果3、4、5包已经收到了,会把2、3、4、5的Ack全部发送过去,此时发送节点会收到2-5的Ack,那么发送节点将会把后续的包读入,然后继续发送6-10号包。
网络:TCP滑动窗口机制