In: Computer Science
For each state below, spell out plausible responses for a TFTP receiver upon receipt of a Data[N] packet. Your answers may depend on N and the packet size. Indicate the events that cause a transition from one state to the next. The TFTP states were proposed in 16.4.2 TFTP States.
(a). UNLATCHED
(b). ESTABLISHED
(c). DALLYING
Example: upon receipt of an ERROR packet, TFTP would in all three states exit.
I would like to answer this to my best interpretation of the qquestion. Please let me know if I misunderstood your question.
Whenever a receiver client sends a read request message (RRQ), initially it has no knowledge about the port from which the sender will send the packet. We will call this state UNLATCHED. It will remain in this state until he is aware of the correct port from which the sender will send the packets. Then after sometime, let's suppose, it receives a packet from the sender. It will then check whether that packet looks like a Data[1] packet, i.e, it is from the sender's IP address. It will also check if it has the length of a Data[N] packet and whether it's block number is 1 or not.
Only after confirming all these things will it go into the next state called the ESTABLISHED state. When in an ESTABLISHED state, the receiver continues to receive all the packets and for each packet, it confirms whether it is coming from the correct sender's port or not. If it receives any packet from some other port number, then it sends it back with an errror message and continues with it's original transfer.
You can consider the above process (ESTABLISHED state) as a loop which goes on until a packet marking the end of data is received. Once the last packet is received, the receiver transitions into the DALLY (or DALLYING) state.
I've tried to answer this question in a easier yet informative way. Please give it a like if this helps you.