民國105年 第2梯次 電腦軟體設計(C++)乙級 學科

第19題

假設A 以T C P 連線將一資料封包送給B ,其中序號( S e q u e n c e N u m b e r ) 為12000 、確認 值( A c k…

題目

假設A 以T C P 連線將一資料封包送給B ,其中序號( S e q u e n c e N u m b e r ) 為12000 、確認 值( A c k n o w l e d g e m e n t ) 為16000 、資料大小為200 位元組,則當B 順利收到A 所傳送過 來的這個封包並對A 進行回應時,在B 所回應給A 的封包中,確認值應為下列何者?

  1. (1) 16200
  2. (2) 12000
  3. (3) 12200
  4. (4) 16000

官方答案

(3) 12200

解析

TCP 的確認號採累計確認(cumulative ACK),代表「我已經正確收到這個位元組之前的所有資料,下一個期待收到的位元組編號」。計算方式為:確認值=收到的序號+資料長度=12000+200=12200。因此 B 回覆的封包中確認值應為 12200。選項 16200 是把原本 A 送出的確認值 16000 再加上 200,屬於誤用欄位;12000 只是原封包的序號,代表已收到的起點而非下一個期待位元組;16000 則是 A 對 B 的確認,方向相反。

AI 參考解析(推得答案已與官方答案比對一致),非官方公告內容,僅供備考參考。

官方資料