Question:
1) Descrivere la procedura di chiusura connessione in TCP specificando perché si parla di chiusura asimmetrica e definendo il ruolo dei timer usati dai due end-points della connessione.
Author: federico volpeAnswer:
C'è una connessione aperta; ipotizzando client e server: 1) Il client invia un messaggio di fin = 1 ed entra nello stato di fin wait, dove aspetterà l'ack del server. In caso non lo riceva manderà nuovamente il messaggio di fin. 2) Il server manda l'ack ed entra in fase di close wait. 3) Il client riceve l'ack ed entra in stato di fin wait 2, e aspetta che il server mandi a sua volta il suo fin. 4) Il server può continuare a trasmettere e quando è pronto per chiudere la connessione manda il suo fin ed entra in stato di last_ack, ovvero aspetterà l'ultimo ack da parte del client. In caso non lo riceva rimanda il fin. 5) Il client riceve il fin del server e manda l'ultimo ack; nel frattempo avvia l'ultimo timer che permette di ricevere nuovamente il fin dal server nel caso venga perso e ci sia bisogno di rimandare l'ack (il client deve assicurarsi che il server abbia ricevuto l'ack). 6) Il server, ricevendo l'ack, chiude la pipe, che poi verrà chiusa anche dal client una volta scaduto l'ultimo timer.
0 / 5 (0 ratings)
1 answer(s) in total