112年法務部調查局調查人員三等資通網路
三、(一)請詳細說明網路上的流量控制 (flow control) 與壅塞控制 (congestion control) 有何差異。(10分) (二)有一個 TCP 的連線,其目前的壅塞視窗 cwnd 值是3000,接收視窗 rwnd 值是5000。若此傳送的主機已經傳送出 2000 bytes 而尚未得到確認回應 (ACK),請問此傳送主機還可以再傳送多少的 bytes 出去?請詳細說明你的計算過程。(10分) |
答:
(一)
|
流量控制 |
壅塞控制 |
定義 |
1.只與給定的傳送端與接收端之間的點對點流量有關 2.確保傳送端的傳輸速率不能比接收端的接收速率更快 3.執行流量控制時,接收端通常會直接告訴傳送端自己這一端的情形 |
所要解決的是子網路能夠確實載送所提供的流量,因此是一個整體性的問題,牽涉到所有主機、路由器、路由器儲存並轉送的動作,以及所有可能降低子網路載送容量的因素 |
目的 |
確保傳送端不會因為接收端處理資料的能力有限而傳輸過多的資料。它是基於接收端的緩衝區容量來進行的調節,確保接收端不會因為資料過多而出現遺失的情況 |
防止網路中過多的資料導致的網路壅塞。當網路中的資料過多,導致路由器之間的緩衝區容量滿載時,就會產生資料的遺失。壅塞控制是基於整個網路的狀態來進行的調節 |
作用範疇 |
作用於傳送端和接收端之間的直接連接 |
作用於整個網路,涉及到多個節點和路由器 |
控制方法 |
1.以回饋為基礎的流量控制(feedback-based flow control): 接收端送回資訊給傳送端,允許它傳送更多資料,或至少把接收端的狀況告訴傳送端 2.以速率為基礎的流量控制(rate-based flow control): 具有一個內建機制可以限制傳送端傳輸資料的速率,不需要透過接收端的回饋資訊 3.通常使用滑動窗口 (Sliding Window) 來控制。在高速網路上可能會使得頻寬沒有充分被利用 |
1.壓抑封包(Choke Packet): Router 直接向來源端發送壓抑封包,要求減低傳送速率 2.顯性信號通知: 當路由器遭受壅塞時,可以傳送一個顯性信號 (設定封包中的某個位元),以通知來源端或接收端 3.滑動窗口(Sliding Window): 傳送端的窗口大小不只由接收端來決定,也由網路的壅塞情況來調整。傳送端擁有接收端窗口大小 (rwnd) 及壅塞窗口大小 (cwnd) 兩項資訊。而實際使用的窗口大小為這兩者中較小的那一個 4.壅塞策略: (1)緩慢起動(Slow Start):指數式增加 (2)壅塞避免(Congestion Avoidance): 線性地增加 (3)壅塞偵測(Congestion Detection): 倍數式地減少 (4)快速重傳與快速回復 |
回饋訊號 |
主要是接收端給傳送端的回饋,例如 TCP 的 ACK 機制 |
可能是來自網路中的各個節點,例如TCP中因為多次超時或多個連續的重複確認而認為網路出現了壅塞 |
目標 |
確保接收端不被淹沒 |
確保網路不被淹沒 |
※參考資料:
1.http://sls.weco.net/node/10665
2.http://sls.weco.net/node/10667
3.http://www.cs.nthu.edu.tw/~nfhuang/chap03.htm
(二)
1.窗口大小為 rwnd 和 cwnd 中較小的那個值,所以等於3,000個位元組。
2.3,000-2,000 = 1,000 bytes,所以傳送主機還可以再傳送 1,000 bytes 出去。
留言列表