Re: [問題] 電腦網路問題

看板Examination作者 (盲人騎瞎馬,夜半臨深池)時間10年前 (2015/06/16 06:35), 10年前編輯推噓2(2038)
留言40則, 3人參與, 最新討論串2/2 (看更多)
原文恕刪。 題目 傳送者現在的擁塞窗口為 18KB,且接受端可接受的公告窗口(advertised window)為 8KB,並發生傳輸逾時,請問在連續成功傳送五次後,第六次傳送時 ,其擁塞窗口為多少?(6 分) 根據 TCP RENO 演算法,Time Out 後的處理方式為 cwnd = 1 ssthresh = 18/2 = 9kb advertised window = 8kb 第一次 cwnd=1 送1KB 第二次 cwnd=2 送2KB 第三次 cwnd=4 送4KB 第四次 cwnd=8 送8KB 第五次 cwnd=168KB 超過 Advertised windows,以AW為主 第六次 cwnd=178KB 超過 ssthresh 進入 Congestion Avoidance 在 http://goo.gl/OHv86f 裡面提到 The sender must NEVER use a transmit window size that is greater than the advertised window sizehttp://goo.gl/NNACa9 裡面提到 Advertised receiver window limits how large the sender’s window can grow to. 最後,國考老前輩「百憂解」 http://goo.gl/9lhRmf 裡面講到 window size ≦ min(cwnd,RAwnd),其中 cwnd 為 congestion window,限制封包傳送 數率;RAwnd 為 Receiver Advertisment Window,接收端建議視窗的大小。 也就是說,cwnd 會繼續增長,但會做「min(cwnd,RAwnd)」 sender 的 sliding window 會被 RAwnd 影響,cwnd 不會。 我的意思是這樣,請指教。謝謝。 祝你們都上榜。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 211.76.33.33 ※ 文章網址: https://www.ptt.cc/bbs/Examination/M.1434407703.A.F09.html

06/16 09:53, , 1F
可是你貼的第一個網址 就有圖顯示撞門檻直接跟門檻了..
06/16 09:53, 1F

06/16 09:55, , 2F
我剛翻參考書 翻黃能富講義也都是跟門檻而非跨過門檻
06/16 09:55, 2F

06/16 10:04, , 3F
sorry那圖好像是data rate 但不知道跟MSS門檻是否相同意
06/16 10:04, 3F

06/16 10:05, , 4F
思 謝謝你回應
06/16 10:05, 4F

06/16 10:12, , 5F
我大概了解 你可能誤解我解題的想法了@@
06/16 10:12, 5F

06/16 10:12, , 6F
你可能認為 我覺得接收端視窗會影響到cwnd
06/16 10:12, 6F

06/16 10:13, , 7F
但是其實我想法是因為ssthresh與門檻碰撞 所以才=9
06/16 10:13, 7F

06/16 10:15, , 8F
而並非cwnd 與 rws有關聯
06/16 10:15, 8F
對,誤會你觀念不正確了。純好心。 只要您知道 slow start 與 congestion avoidance 對 cwnd 的影響,就值了 ok 觀念正確就好,好事一椿! 怕我推文寫個一兩行您看不懂,才特意花點時間回這篇文。

06/16 10:51, , 9F
每收到一個ack,cwnd++
06/16 10:51, 9F

06/16 10:52, , 10F
還沒完全收完該次所有的ack 就已經撞門檻了@@
06/16 10:52, 10F
e 大,其實我中午就看到你這段,但遲疑了一下。 我之所以這樣答,是根據某老師教的觀念。 請看這張熟到不能再熟的圖 http://goo.gl/92Rc3o 某老師的意思就是只會「規則的指數遞增」超過再跑 +1 但您點出某老師沒教到的點。(就連這張圖也沒講到過) 說破了就是 cwnd = cwnd + 1 如果是真的,某老師又出包了,不過也不只出包一次了。恨他也沒用。

06/16 16:49, , 11F
他的意思應該是會cwnd繼續增長,跨過門檻才進入避免階段
06/16 16:49, 11F

06/16 16:49, , 12F
所以正確的解答究竟是?還是想再確認一次!!
06/16 16:49, 12F
我的意思是 cwnd 的成長,與 advertised window 無關。 cwnd 跑自己的一套增長演算法

06/16 16:58, , 13F
如果以跨過9為主 cwd成長到10的時候就已經進入避免了
06/16 16:58, 13F

06/16 16:59, , 14F
再怎麼樣都不會加到16吧@@???
06/16 16:59, 14F
沒錯,演算法真的是如 e 大講的這樣。 而且直覺的推演,值應該要變成 第五次 cwnd=9 送8KB 第六次 cwnd=10 送8KB 不過我遲遲沒馬上回,是一直找不到相關文件證明。 這裡的第五、六次就和 e 大所講的一模一樣。 這很底層了,剛剛看了 rfc 文件,也沒提到這段,有點煩。 ※ 編輯: fcouple (211.76.33.33), 06/16/2015 19:23:47

06/17 01:04, , 15F
這裡 cwnd = cwnd + 1 是因為seg剛好是1喔 !
06/17 01:04, 15F

06/17 01:05, , 16F
原始公式應該是 cwnd += segsize 或 cwnd += SMSS
06/17 01:05, 16F

06/17 01:06, , 17F
Each time an ACK is received ,
06/17 01:06, 17F

06/17 01:06, , 18F
the congestion window is increased by one segment
06/17 01:06, 18F

06/17 01:06, , 19F
在Slow start階段是這樣子cwnd成長的
06/17 01:06, 19F

06/17 01:09, , 20F
Slow start階段 cwnd是這樣子成長的(上面字順序錯了)
06/17 01:09, 20F

06/17 01:10, , 21F
進入CA那邊比較有爭議 但不管用哪種實作法
06/17 01:10, 21F

06/17 01:10, , 22F
都不可能是16 @@
06/17 01:10, 22F

06/17 01:11, , 23F
第五次因為他會 1. SET cwnd = 門檻 或是
06/17 01:11, 23F

06/17 01:12, , 24F
cwnd += (seg*seg)/cwnd .. 算一算大概會9.x或10.x吧
06/17 01:12, 24F

06/17 01:13, , 25F
不過大部分在第五次那種情況都會設成門檻值
06/17 01:13, 25F

06/17 01:14, , 26F
不過第五次cwnd = 門檻 或是cwnd = 9.x~10.x都沒錯
06/17 01:14, 26F

06/17 01:15, , 27F
至於第六次 因為已經完全進入ca階段
06/17 01:15, 27F

06/17 01:15, , 28F
所以會以一個rtt為主 cwnd = cwnd + 1
06/17 01:15, 28F

06/17 01:16, , 29F
當然也有人是直接cwnd += (seg*seg)/cwnd
06/17 01:16, 29F

06/17 01:16, , 30F
但如果使用公式的作法 他會有一個上限
06/17 01:16, 30F

06/17 01:16, , 31F
增加幅度不可以超過1 segsize
06/17 01:16, 31F

06/17 01:17, , 32F
因此通常都是用以一個rtt為主 cwnd = cwnd + 1
06/17 01:17, 32F

06/17 01:18, , 33F
所以才會是我們很熟習的那張圖 用公式的圖我也有看過
06/17 01:18, 33F

06/17 01:19, , 34F
RFC有很多種實作法 @@
06/17 01:19, 34F
謝謝,長知識了。 奇怪了,你怎麼知道那麼底層的東西。 有什麼書可以推薦嗎? ※ 編輯: fcouple (211.76.33.33), 06/17/2015 13:58:06

06/17 18:17, , 35F
ns2可以模擬tcp的壅塞控制
06/17 18:17, 35F

06/17 18:18, , 36F
以前老師也很喜歡叫我們實作有得沒有得..
06/17 18:18, 36F

06/17 18:18, , 37F
會知道有各家版本也是習慣看各種演算法+paper+文件
06/17 18:18, 37F

06/17 18:23, , 38F
我講的也不一定對 因為那版本真的很多 @@
06/17 18:23, 38F

06/17 18:23, , 39F
現在最常用的是哪一版我就不知道了0.0
06/17 18:23, 39F

06/17 18:24, , 40F
我們老師比較偏實作吧 會需要跑模擬或真的CODING
06/17 18:24, 40F
文章代碼(AID): #1LVrCNy9 (Examination)
文章代碼(AID): #1LVrCNy9 (Examination)