【學習日記】Week 6 – 企業資料通訊 | 課後探討題目1| TCP Reno
Published:
by .1. 假設 TCP Reno 是造成窗格大小(window size) 變化行為的協定,請考量下圖一並且回答下列問題。針對每種狀況,你都應該要提供一份簡短的討論來解釋你的答案。[共40分;每題8分]
Question:
- 請指出TCP 以緩啟動 (slow start) 模式運作的時期。
- 請指出TCP 以壅塞迴避 (congestion avoidance) 模式運作的時期。
- 第16 輪傳輸之後,我們是因為收到三次重複的ACK (duplicate ACK),還是因為發生逾時 (timeout) 事件,而偵測到區段遺失(segment loss)?
- 在第22 輪傳輸之後,我們是因為收到三次重複的ACK (duplicate ACK),還是因 為發生逾時 (timeout) 事件,而偵測到區段的遺失(segment loss)?
- 在第一輪傳輸時,ssthresh 的初始值 (initial value) 為何?
Answer:
(1) 緩啟動:起初發送端會分配 1 個 MSS 的額度量來發送資料,當在預期時間(Timeout)內收到全部回覆時,發送端會分配為前次 cwnd 兩倍的量,接者都以2^n 指數形態成長。
(2) 壅塞迴避:當在預期時間內收到全部回覆時,發送端會將 cwnd 的值加1個 MSS,以線性的方式成長。
(3) 我認為是收到三次重複的ACK(輕微壅塞),接受端判斷到封包遺失,並立刻採取封包快速重送。
(4) 在第22輪傳輸之後,明顯是發生了逾時,且超出逾時重送的計時器時間,Server 仍未收到 第一/二 個區段的 確認 (ACK) 回覆,因此,視區段毀損 (遺失、延遲),才開始重送該區段 。
(5) 一般來說,ssthresh 的初始值大約為 66536 bytes.