簡體   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