作者khlo926 (深白色)
看板Examination
標題[考題] 102 二等刑警 電子監察組 網路工程 TCP
時間Mon Nov 4 22:17:36 2013
原題:
主機A,B正以TCP通訊,主機B已經收到由主機A發送出的前200 bytes(0~199)資料。
假設此時主機 A 連續送出兩個 TCP 封包至主機 B。其中,
第一個封包的資料量為 50個 bytes,第二個封包的資料量為 40個 bytes。
假設第一個封包序號(sequence number)為 200,則:
(一) 假設每一個資料封包皆可正確到達 B,B 驗證無誤後立即傳送回應封包
(acknowledgement)至 A。請問 B 在收到第二個封包後,應傳送的回應封包的
序號為何?請說明理由。
(二)第一個封包中途遺失,而第二個封包到達主機 B。主機 B 需送一個回應封包
(acknowledgement)給A,請問這個回應封包的序號為何?請說明理由。
(三)若兩個資料封包在傳送途中皆遺失,B 未收到任何封包,請問 A 應如何處理?
個人答案如下:
(一)290
(二)240,因為第一個封包遺失,而第二個封包資料量為40bytes,所以200+40=240
因不確定答案或想法是否正確?請版上高手們幫忙看看,謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.161.99.250
→ AcidReign:二的答案我覺得是291 TCP有編號不是? 11/06 08:54
→ malowda:(1)290 (2) 200 11/06 14:30
→ khlo926:感謝兩位!(一)應為290沒錯,但(二)為什麼不是240? 11/06 22:37
※ 編輯: khlo926 來自: 118.168.43.28 (11/06 22:38)
→ malowda:第一個封包的ack沒回到傳端要如何變240呢 11/07 10:08
→ khlo926:200應是A送B的封包序號,240是B回傳A的ACK封包序號,對嗎? 11/07 21:09