我正在尝试实现一个tcp堆栈。以下是我遵循的步骤:
在我的情况下,在数据传输期间,我没有收到几个数据包,但我可以在wireshark上看到它们。
是否有任何机制使用序列号和ack号检查无序数据和数据包丢失,并将数据包取回?
发布于 2016-09-23 16:16:49
如果收到一个序列号高于预期下一个序列的段,则应重新发送最后一个ACK。这会告诉发送方某些段丢失了,并且它应该立即重新发送等待确认的所有段。
更好的解决方案是在2018年RFC中实现选择性确认选项。这将允许您确认已接收到的无序段,而发送方将只重传丢失的部分。
https://stackoverflow.com/questions/39665140
复制相似问题