看板 Examination 關於我們 聯絡資訊
原題: 主機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