-
Notifications
You must be signed in to change notification settings - Fork 30
Open
Description
We are using node-tftp as a TFTP server to send a file to an embedded device. Under "normal" conditions the server and needed file transfer work fine. But in some cases (especially if we do something potentially CPU intensive simultaneously on the server, like generating a graph with Plotly), the transfer will fail.
Looking at wireshark, it appears that the following occurs:
- the client (Linux tftp) sends acknowledgments in "lock step"
- at a certain point the server (node-tftp) fails to send the next data segment <-- the anomaly
- After a brief period of time (100ms) the ack is seen again, and the server sends the next segment, and the client sends the appropriate acks, BUT the server appears to not process any acks after the anomaly occurs, and in fact it starts sending a series of segments, always starting with the first one after the anomaly occurred.
Now, as a UDP-based protocol, I understand that dropped packets (for any reason) are to be expected, but as far as I've read, TFTP should gracefully handle the situation, not in effect fail the transfer. Am I missing something?
Metadata
Metadata
Assignees
Labels
No labels