※ 引述《Mewra ()》之銘言:
: 1.請問傳送端的window是自行實作的嗎? 目前翻了幾本書都只看到這部份運作原理,沒提到到是否直接用tcp header中的接收用window或自行實作.
: 2.congestion window是否也是自行實作呢?
: 謝謝
幫你回答得詳細一點...。
flow control 跟congestion control 是有點不一樣的
layer 2 的flow control 是一種logical link control 功能
沒有視窗也可以執行
就一個frame 對一個ack 這種 store and forwrd方式來進行
或者你要說視窗大小等於1 也可以
其他像是selective arq或者 go back n arq 等方式
視窗大小一定是2的冪次方-1
決定要要接受哪個、要回到哪個開始重傳的當然是接收端為主
這樣才有辦法進行錯誤控制跟遺失重傳機制
但這裡的接收端是接收訊框那一端,而不是destinaion receiver
layer 4的 flow control 或者congestion control 也差不多
但決定者是destination receiver
不過決定其最後傳送速度快慢的有很多因素
transaction delay, propagation delay, 都有可能是原因
因此實際上運作會比layer 2 的flow control 複雜點...
這邊補得更清楚一點好了...
就我的認知啦...
壅塞控制這種東西是靠duplicate ack 來運做的
比如說超過3個dup ack 就會先進入fast retransmission 然後進入fast recovery
等到dup ack 沒了就回到congestion avoidance 階段
time out 則ssthesh = cwnd/2;
然後cwnd = 1; 回到slow start 這樣...
以這個部份來說,的確sender 計算要送多快
但一樣還是要有ack 回來才有辦法決定...
還是說我理解錯了@@
--
: 1.請問傳送端的window是自行實作的嗎? 目前翻了幾本書都只看到這部份運作原理,沒提到到是否直接用tcp header中的接收用window或自行實作.
: 2.congestion window是否也是自行實作呢?
: 謝謝
幫你回答得詳細一點...。
flow control 跟congestion control 是有點不一樣的
layer 2 的flow control 是一種logical link control 功能
沒有視窗也可以執行
就一個frame 對一個ack 這種 store and forwrd方式來進行
或者你要說視窗大小等於1 也可以
其他像是selective arq或者 go back n arq 等方式
視窗大小一定是2的冪次方-1
決定要要接受哪個、要回到哪個開始重傳的當然是接收端為主
這樣才有辦法進行錯誤控制跟遺失重傳機制
但這裡的接收端是接收訊框那一端,而不是destinaion receiver
layer 4的 flow control 或者congestion control 也差不多
但決定者是destination receiver
不過決定其最後傳送速度快慢的有很多因素
transaction delay, propagation delay, 都有可能是原因
因此實際上運作會比layer 2 的flow control 複雜點...
這邊補得更清楚一點好了...
就我的認知啦...
壅塞控制這種東西是靠duplicate ack 來運做的
比如說超過3個dup ack 就會先進入fast retransmission 然後進入fast recovery
等到dup ack 沒了就回到congestion avoidance 階段
time out 則ssthesh = cwnd/2;
然後cwnd = 1; 回到slow start 這樣...
以這個部份來說,的確sender 計算要送多快
但一樣還是要有ack 回來才有辦法決定...
還是說我理解錯了@@
--
All Comments