阿摩線上測驗 登入

申論題資訊

試卷:110年 - 110 身心障礙特種考試_三等_資訊處理:資通網路#98216
科目:電腦網路(計算機網路 網路工程 資通網路)
年份:110年
排序:0

申論題內容

三、(一)試說明 TCP/IP 網路中,TCP 傳送端是如何察知自己和目的端之間的路 徑發生壅塞情形?(10 分)

詳解 (共 1 筆)

詳解 提供者:蕭仁豪

TCP/IP(尤其是 TCP)偵測網路**壅塞(congestion)**主要靠「傳輸層的回應行為」,也就是透過封包丟失、延遲變化等訊號間接判斷。下面分層與機制詳解:



---

? 一、壅塞偵測的核心原理

TCP 並沒有直接感知網路流量負載的能力,而是根據「資料是否順利到達」來間接推測壅塞。

壅塞的典型徵兆包括:

1. 封包遺失(packet loss)
⇒ 表示中間節點(router/switch)緩衝區滿溢。
⇒ 最直接的壅塞指標。


2. RTT(Round-Trip Time)變長
⇒ 表示排隊延遲增加。
⇒ 是壅塞即將出現的早期訊號。




---

⚙️ 二、TCP 壅塞偵測的主要機制

1️⃣ 丟包偵測

TCP 透過兩種方式得知封包遺失:

偵測方式 說明 範例

超時重傳 (Timeout) 若在 RTO(重傳逾時)內未收到 ACK,視為封包遺失。 常見於嚴重壅塞或整個路由丟失。
重複 ACK (Duplicate ACKs) 若收到三個相同的 ACK,代表某個封包未到。 觸發「快速重傳」(Fast Retransmit)。



---

2️⃣ RTT 變化監控

TCP 會動態估計 RTT 平均值與變異量。

若 RTT 明顯上升,意味路由器緩衝區排隊變長 → 壅塞可能發生。

此訊號常配合 延遲基礎控制算法(如 Vegas、BBR) 使用。



---

? 三、壅塞控制算法如何反應

✴️ 1. Reno / NewReno(傳統丟包導向)

使用「加倍減半(AIMD)」策略:

無壅塞:線性增加擴大視窗。

偵測壅塞:視窗減半(乘法遞減)。


壅塞偵測依據:封包遺失或重複 ACK。


✴️ 2. Vegas(延遲導向)

不等丟包才反應,而是監控 RTT。

若實際 RTT 明顯高於期望 RTT,即提前減少傳送速率。

壅塞偵測依據:延遲增加。


✴️ 3. BBR(Bottleneck Bandwidth and RTT)

不依靠丟包,而根據「瓶頸頻寬 × 最小 RTT」動態估測。

壅塞偵測依據:傳輸速率與瓶頸頻寬的差距。



---

? 四、關鍵參數與指標

指標 代表意義 偵測方式

RTT 傳輸延遲 通過 ACK 時間計算
cwnd(壅塞視窗) 當前可傳輸的資料量 TCP 自動調整
ssthresh(慢啟動閾值) 控制線性與指數增長分界點 依壅塞事件更新
dupACKs 重複確認數量 若 ≥3 則觸發快速重傳
RTO 重傳逾時時間 基於 RTT 平均與偏差動態調整



---

? 五、整體流程概念圖(簡化文字示意)

[正常傳送]
  ↓(監控 RTT)
[RTT 明顯變長?]
  ↓ 是 → 減少傳輸速率 (Vegas/BBR)
  ↓ 否
[ACK 正常?]
  ↓ 否 → (丟包) 快速重傳 + cwnd 減半
  ↓ 是 → 緩慢增加 cwnd


---

? 六、延伸:主動式壅塞偵測(AQM, ECN)

現代網路中還有主動壅塞回報機制:

RED (Random Early Detection):
路由器在壅塞前,隨機丟包提醒 TCP 放慢速度。

ECN (Explicit Congestion Notification):
不丟包,直接在 IP 標頭打標記,通知 TCP「壅塞即將發生」。



---

✅ 總結一句話:

> TCP 透過「封包丟失」與「延遲上升」來發現壅塞,並依據不同演算法(Reno、Vegas、BBR…)動態調整傳輸速率,使網路維持在穩定且高效的狀態。




---

是否要我幫你畫出 TCP 壅塞偵測與控制流程圖(含 AIMD、Vegas、BBR 分支)?
這樣會更直觀看到整個偵測與反應過程。