繁体   English   中英

仅使用NAK的数据传输协议如何才能可靠?

[英]How can a Data Transfer Protocol using NAKs only be reliable?

我一直在学习有关计算机网络的书(这不是作业问题)

问题之一是比较基于ACK和NAK的数据传输协议,重点是对于基于NAK的协议,当接收到第(x +1)个数据包时,可以通过接收到的数据包检测到数据包x的数据包丢失。

但是,我的问题是,如果接收方发送的NAK在到达发送方之前丢失了怎么办? 发件人将不会发现错误,也不会重新发送。 此外,如果数据包是序列中的最后一个数据包,该怎么办? (没有后续数据包可用于测试)

我看不到仅NAK协议的可靠性如何(以正确的顺序传送每个数据包)

我怀疑书中所描述的理论背景假设了无限的数据包流,而忽略了诸如通道被完全禁用之类的条件。 在实践中,还有其他构造被定义为ACK / NAK协议的一部分,或者由更高或更低的层协议来处理。 例如,物理层将提供诸如“信道断开”之类的指示,并且也许上面的协议发送/接收“流的末尾”分组,而计时器则检测最后一个分组的NAK丢失的情况。 这些只是假设的示例,而是现实协议中所做的事情的类型。

我看不到仅NAK协议的可靠性如何(以正确的顺序传送每个数据包)

我确信这本书暗示着某种机制可以按顺序识别数据包。 否则,接收器将无法指示它正在对哪个数据包进行NAK,即大多数协议在每个数据包/确认/无效中使用序列号。

仅NAK协议可以通过使接收方在发送NAK时启动计时器并在计时器重新发送丢失的数据包之前超时而重新发送NAK来实现可靠性。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM