工做原理: ide
接收端收到發送端的數據段後,會返回一個數據段的確認報文,發送端收到接收端的確認報文以後,繼續發送下一個數據段,如此重複。spa
假設每一個數段的長度都是500字節blog
Seq(序列號)=Mit
Client A發送:class
數據段N:M+499(0-499表示500字節)原理
數據段N+1:M+499+500=M+999bfc
數據段N+2:M+999+500=M+1499im
Server B確認;數據
確認號M+1500 (表示前面M+1499的段都收到了,如今從M+1500開始發送)img
Client A發送:
數據段N+3:M+1499+500=M+1999
數據段N+4:M+1999+500=M+2499
數據段N+5: M+2499+500=M+2999
Server B確認:
確認號M+2500 (假如數據段N+5丟失了,先在從M+2500開始發送)
Client B發送:
Client A收到Server B確認包時,從M+2500開始發送,
那麼Client A就知道數據段N+5在傳輸過程當中弄丟了,那麼就會重傳
數據段N+5:M+2499+500=M+2999
數據段N+6:M+2999+500=M+3499
數據段N+7:M+3499+500=M+3999