Midterm example 問題詢問

347 views
Skip to first unread message

邱語謙

unread,
Nov 8, 2020, 7:16:20 AM11/8/20
to NCCU Networking@MIS
我想請問一下Q36&Q37題目中,third ‘ACK’以及third ‘FIN’分別是如指附圖中標記3的封包嗎?

若是的話,
Q36的答案在網路上看到有兩種:
第一種是說,server會重傳SYN/ACK給client。
第二種是說,"連線已經可以由client→server,但有server→client尚無法正常傳輸,不過,當server收到第一次由client→server的資料,就代表暗示server連線已完成,進而取代第三步驟,所以client在送出最後階段的ACK後,不必經過對方再確認 ,就可以馬上開始傳送資料給server"。
想請教哪種方式才是正確?

A37:
若third ‘FIN’丟失,server必須在client端third ‘FIN’ timeout前重傳封包。
請問這樣回答是正確的嗎?

螢幕快照 2020-11-08 下午7.58.12.png
螢幕快照 2020-11-08 下午7.58.56.png

Prof. Hsiao

unread,
Nov 8, 2020, 11:08:55 AM11/8/20
to NCCU Networking@MIS
Q36. The following figure depicts the TCP 3-way handshaking process. If the third ‘ACK’ is lost, what will the server and client do?
截圖 2020-11-08 下午11.45.42.png
A36. 
The third 'ACK' indicates the last ACK in the three-way handshaking. Although there are several implementations of TCP, we can answer this question with the common rules. If the last ACK is lost, the timer set at the server-side waiting for this ACK will eventually expire. Therefore, the server will resend the SYN-ACK packet, and then the client will resent the last ACK.

If the client sends a packet with a layer 7 message to the server before the timer expires, this packet must be an ACK as well (since the ACK is piggybacked). Therefore, those two answers you mentioned are basically not a contradiction. It depends on when the timer is expired.


Q37. The following figure depicts the TCP termination process. If the third ‘FIN’ is lost, what will the server and client do?
截圖 2020-11-08 下午11.46.46.png

A37. 
The "third FIN" indicates the third packet in this termination process that is sent by the server to the client with FIN bit set. With common rules, the server has a timer for this FIN packet, so when the timer expires, the packet will be retransmitted.



chien0...@gmail.com 在 2020年11月8日 星期日下午8:16:20 [UTC+8] 的信中寫道:
Reply all
Reply to author
Forward
0 new messages