理解
第一次和第二次握手是不能攜帶數據,只能消耗一個序號
后面揮手也有
第一次和第三次
題目
建立連接是1000,FIN揮手是5001,這兩個是不會帶數據的
所以字節數范圍是1001-5000
5000-1001+1 = 4000
c
再次理解
還可以叫快速重傳
題目
服務器想要100確認號
客戶端確實給了但中途丟失了
然后服務器發送了3個冗余ACK,一直沒找到自己想要的ACK
所以會在第三個冗余t3快速重傳!
而超時t4比快速重傳t3慢,撈啊
c
再次再次理解
通過接收方抑制發送方
這是一個全局的控制發送方的東西
可以看見到達閾值都是成倍增加,到達閾值后就一個一個加
慢開始和擁塞避免的組合技
只要擁塞了閾值就會降為原來的一半,然后擁塞窗口降為1,再次開始慢開始和擁塞避免的組合技
MSS是擁塞窗口的單位
快重傳和快恢復的組合技,不再降為1慢開始
這里慢開始有個小細節
每經過一次傳輸輪次RTT,cwnd指數增長,也就是1,2,4,8這樣
但這并不是一下子跳過去的,而是一個一個加的,比如1到2確認了1次ACK,2到4確認了2次ACK,4到8確認了4次ACK
題目
16KB發生了超時,說明使用慢開始,然后閾值變成8KB
這里MSS是1KB
然后4個RTT
就是1KB - 2KB - 4KB - 8KB - 9KB
一個“-”代表一個RTT
這里超時了,所以8KB變4KB
發送窗口要是擁塞窗口和接收窗口的最小值
所以答案是10
a
這里會接收數據了,所以經過4個RTT,選最小的是1KB
再次再次再次理解
然后就是這些雜毛知識點
A釋放連接就是進入FIN-WAIT-1這個狀態
然后B回復完ACK自己會變成CLOSE-WAIT狀態
A收到了這個ACK會變成FIN-WAIT-2
B發完釋放的消息會變成LAST-ACK
然后A回復完這個確認會變成TIME-WAIT
然后等2個MSL變成CLOSED,如果你立即CLOSED,ACK可能會丟失
B只要收到確認就會變成CLOSED
然后這個揮手第二步和第三步可以合并到一塊
這里沒合一塊是因為,B一直在持續的發數據
如果B也不想發數據了就可以合一塊了
可以看見MSL是個時間單位
然后下面的是什么意思呢,畫個圖就知道了
這里第二步和第三步合并了
客戶機釋放連接是一來一會加2MSL,這一來一回就是0.5*2個RTT
然后服務器關閉是0.5RTT*3