0% found this document useful (0 votes)
396 views4 pages

CS 2204 Written Assignment Unit 7

Download as docx, pdf, or txt
Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1/ 4

UNIVERSITY OF THE PEOPLE

CS 2204: COMMMUNICATIONS AND NETWORKING

WRITTEN ASSIGNMENT UNIT 7

ANASTASIOS TSOURNOS
Answer the following in your own words.  

1. Why does the maximum packet lifetime have to be large enough to ensure that
not only the packet but also its acknowledgments have disappeared?

 To prevent possible introduction duplicate data packets to the network.


 To prevent possible bandwidth wastage that results from retransmission of already
transmitted data packets.
 To prevent possible transmission of wrong data packets.

2. Give one potential disadvantage when Nagle's algorithm is used on a badly


congested network.

Hence, while the Nagle’s algorithm does all the back-end stuff by holding any needed data
and sending it out in bursts could lead to lags.

Example:

A user is playing a sophisticated multi-player interactive online game with 4K display


resolution Each command needs to be executed in real-time to ensure no lags and
buffering for a seamless play experience.

Therefore, the idea of holding data using the Nagle’s algorithm is not the best in such a
scenario. Transmitting small bytes as they come in could serve us best in this case. Also, the
fact that data is held and sent out in bursts implies that if there is data loss, the packet size
that is lost could be bigger with the Nagle’s algorithm because it holds data.

3. Give two examples of cases where TCP sends data-less packets on an established
connection (which is not being torn down).

 When there is an acknowledgement (ACK) signal with no data.

These ACK signals are just notifications of successful data receipt.

 When there are keepalive (KA) packets with no data.


A keepalive (KA) packet is a message sent between two devices to reaffirm that the link
between the two devices is still working. It could also be sent to stop the connection from
being terminated, hence the name keepalive – the massage is sent to ensure the connection is
kept alive.

4. Exercise 5.0 from section 12.24 of the textbook:


1. Suppose you see multiple TCP connections on your workstation in state
FIN_WAIT_1. What is likely going on? Whose fault is it?

A connection is in FIN_WAIT_1 state when a node sends a FIN flag and waits for an ACK
signal for it to progress with termination. Whenever there are several TCP connections in the
FIN_WAIT_1 state, it means that several terminations with other nodes took place
concurrently. It’s not any connection’s fault and the connections eventually terminate
normally.

2. What might be going on if you see connections languishing in state


FIN_WAIT_2?

A FIN_WAIT_2 state in a client/server connection is usually brought about by a client node.


For example, a server may languish in state FIN_WAIT_2 if it receives an acknowledgement
signal only and no FIN flag. This implies that a passive closure was executed by the remote
app but no active closure was performed thereafter. State FIN_WAIT_2 state could also be as
a result of an unexpected client connection termination or if the connection didn’t terminate
properly after TIME_WAIT.
References

(n.d.). Retrieved May 24, 2021, from https://www.opcsupport.com/s/article/PATUsing-netstat-


reveals-lots-of-sockets-open-in-state-FINWAIT1-or-FINWAIT2KB350

Hb. (2015, August 28). TCP: About FIN_WAIT_2, TIME_WAIT and CLOSE_WAIT.
Retrieved May 24, 2021, from https://benohead.com/blog/2013/07/21/tcp-about-fin_wait_2-
time_wait-and-close_wait/

Keepalive. (2021, January 30). Retrieved May 24, 2021, from


https://en.wikipedia.org/wiki/Keepalive

You might also like