无噪和有噪信道中的协议2025年3月17日 | 阅读 14 分钟 协议的研究分为两类:一类是适用于无噪声或无差错信道的协议,另一类是适用于有噪声或有差错信道的协议。尽管第一类协议在实际情况中无法应用,但它们为有噪声信道的协议奠定了基础。 ![]() 什么是协议?协议是指一组定义好的指南和规则,用于控制网络中不同设备之间的通信。这些指南规定了数据在传输过程中的格式、时序、排序和差错校验方式。 协议在确保设备之间准确、高效和清晰的通信方面起着至关重要的作用。它们使得不同类型和品牌的设备能够相互通信,并为跨网络传输数据提供了一种一致的方法。 头部负责选择协议,这些协议是网络设备之间通信的规则。这些头部包含描述消息性质以及它将如何被处理的信息。为了检测任何问题,头部必须包含诸如消息的校验和、目的地和源地址以及其他必要的头部地址等信息。 无噪声信道有两种协议:1. 最简单的协议 - 对于无噪声信道,最简单的协议涉及数据从源直接传输到目的地,而无需任何中间处理。在这种情况下,假定信道无噪声,这意味着传输的数据保持不变,不会损坏。在无噪声信道中,一个简单的协议可以包括一种直接的数据传输方法,例如一次发送一个比特,没有错误纠正或流量控制机制。这种类型的协议非常适合无噪声信道,因为缺乏噪声可确保传输的数据能被准确接收,从而无需实施额外的措施。 由于该协议仅用于无噪声信道,因此它没有任何流量控制或错误检测和纠正机制。该协议假定接收方始终准备好立即处理发送方发送的任何数据帧。这种只允许数据从发送方流向接收方的协议称为单向协议。由于该协议是单向的,因此不需要进行确认或接收确认。此外,由于传输过程中没有数据丢失,因此无需重新发送或重新传输数据。 为了创建最简单的协议,已做出以下假设:
注意事项
如果没有 ACK 或 NACK,发送方必须在发送消息之前等待预定的时间。为了解决这个问题,使用了另一种称为滑动窗口协议的协议。滑动窗口协议是一种数据链路层协议,允许数据帧的顺序和可靠传输。该协议允许发送方利用序列号一次发送多个帧。序列号由发送方分配给每个数据帧,以确保在需要重新传输帧时具有正确的顺序。这还使接收方能够检测丢失或损坏的数据包。 注意 - 接收方在收到帧后会向发送方发送 ACK(确认)。ACK 通知发送方接收方是否成功接收了特定帧。Go-Back-N ARQ 和 Selective Repeat ARQ 是两种不同类型的滑动窗口技术。最简单协议中的流程图 数据流图(DFD)是系统中数据流的图形表示。在最简单协议的上下文中,DFD 可以说明数据在发送方和接收方之间的移动。DFD 将显示发送方如何发送数据帧到接收方,接收方如何处理数据,以及在传输过程中发生任何错误时会发生什么。它还可以显示流量控制和错误控制机制的缺失,这些通常包含在更复杂的协议中。DFD 有助于阐明最简单协议的基本功能,使其更易于理解和实现。 本图显示了基于停止等待协议的交换过程。它仍然易于理解。发送完一帧后,发送方等待接收方的响应。在等待接收端的确认(ACK)后发送下一帧。请注意,每次有两个帧时,发送方涉及四个事件,接收方涉及两个事件。 ![]() 2. 停止等待协议 - 停止等待协议是一种用于在无噪声信道中进行可靠数据传输的协议。在此协议中,发送方一次只发送一个数据包,并在发送下一个数据包之前等待接收方的确认(ACK)。这样,发送方就可以确保接收方收到了每个数据包并已成功处理。如果发送方在一定时间内未收到 ACK,则认为该数据包已丢失,必须重新传输。 停止等待协议简单高效,但有一个主要缺点。由于一次只能传输一个数据包,因此整体数据传输速率相对较慢。为了克服这一限制,开发了滑动窗口协议。在滑动窗口协议中,可以同时传输多个数据包,从而实现更快的数据传输。尽管存在此限制,但由于其简单性和可靠性,停止等待协议仍广泛用于许多应用程序中。
流程图 无噪声信道中停止等待协议的流程图包括以下步骤:
![]() 在此协议中,发送方一次发送一个帧,然后停止,直到收到接收方的 ACK。这可以防止接收方因传入帧而过载,并确保可靠的数据传输。此外,ACK 帧用于流量控制,允许发送方根据接收方的处理能力调整传输速率。 结论两种协议的主要区别在于,最简单的协议没有流量控制和错误控制机制,而停止等待协议则通过使用 ACK 帧来实现流量控制机制。 在最简单的协议中,接收方始终预期会准备好接收发送方发送的任何帧,因此不需要确认。在停止等待协议中,发送方必须在发送下一个帧之前等待接收方的确认。 这两种协议之间的另一个区别是,最简单的协议是单向的,而停止等待协议是双向的。在最简单的协议中,数据帧只能在一个方向上传输,从发送方到接收方,而在停止等待协议中,数据帧和 ACK 帧都可以双向传输。 总之,最简单的协议是一种适用于无噪声信道的简单明了的协议,而停止等待协议通过流量控制机制增加了额外的可靠性,更适合有噪声的信道。 有噪信道协议有噪声信道协议是一种用于通信系统中的通信协议,其中传输信道可能会在传输数据中引入错误。这种类型的协议旨在处理通信信道中的错误,并确保接收方能够准确地接收正在传输的数据。有噪声信道协议的主要目标是利用诸如错误检测和纠正、流量控制以及丢失或损坏的数据帧的重传等技术来最小化传输数据中的错误率。一些有噪声信道协议的例子包括停止等待协议、滑动窗口协议和自动重复请求(ARQ)协议。 1. 停止等待 ARQ 协议 - 停止等待协议是一种用于在有噪声信道上进行可靠数据传输的协议。在此协议中,发送方一次只发送一个帧,并在发送下一个帧之前等待接收方的确认(ACK)。这有助于确保接收方正确接收数据,并消除了由于有噪声信道引起的错误而需要重传的情况。发送方持续监控信道中的错误,如果检测到错误,它会等待下一个 ACK 后再重传帧。该协议为数据帧的基本单向通信和相反方向的 ACK 帧增加了错误控制。 流程图 有噪声信道中停止等待协议的数据流图可用于描述发送方和接收方之间的数据流。该图通常包括以下组件:
![]() 在此协议中,发送方一次只发送一个数据帧,并在发送下一帧之前等待接收方的响应。这确保了接收方有足够的时间在接收下一帧之前处理每一帧。停止等待协议是可靠的,但与其它协议相比吞吐量较低。 2. 回退 N ARQ 协议 - 回退 N 自动重复请求(ARQ)协议是一种用于确保有噪声信道上数据可靠传输的错误控制协议。在有噪声的信道中,接收到的数据包出错的概率很高,因此需要一种机制来检测和纠正这些错误。 回退 N ARQ 协议是一种滑动窗口协议,其中发送方将一个数据包窗口发送给接收方,接收方会发送一个确认(ACK)给发送方,表示成功接收了数据包。如果发送方在指定超时时间内未收到 ACK,则会重新传输整个数据包窗口。 流程图 说明有噪声信道中回退 N ARQ 协议操作的流程图 ![]() 发送方端
接收方端
发送方端(在未收到 ACK 的情况下)
发送方端(收到 NAK 的情况下)
上述步骤重复进行,直到所有数据包都已成功被接收方接收。回退 N ARQ 协议提供了一种在有噪声信道上传输数据的可靠机制,同时最大限度地减少了所需的重传次数。 3. 选择性重复 ARQ 协议 - 选择性重复 ARQ 协议是一种用于数据通信的错误控制协议,用于确保在有噪声的信道上可靠地传输数据。与回退 N ARQ 协议重新传输整个数据包窗口不同,选择性重复 ARQ 协议仅重新传输未正确接收的数据包。 在选择性重复 ARQ 协议中,发送方将一个数据包窗口发送给接收方,接收方会发送一个确认(ACK)给发送方,表示成功接收了数据包。如果接收方检测到数据包中的错误,它会发送一个否定确认(NAK)给发送方,请求重新传输该数据包。 在选择性重复 ARQ 协议中,发送方为窗口中的每个数据包维护一个计时器。如果发送方在其计时器过期之前未收到某个数据包的 ACK,则发送方仅重新传输该数据包。 在接收方端,如果一个数据包被正确接收,接收方会发送一个 ACK,其中包含下一个预期数据包的序列号。但是,如果接收到的数据包有错误,接收方会丢弃该数据包并发送一个 NAK,其中包含需要重新传输的数据包的序列号。 与回退 N ARQ 不同,在选择性重复 ARQ 中,接收方缓冲区用于存储所有非顺序到达的数据包。当到达一个序列号与预期序列号不同的数据包时,它会被缓冲,并且接收方会发送一个 ACK,表示已收到最后一个按顺序到达的包。 如果到达一个接收方已缓冲的序列号的数据包,则将其丢弃,并且接收方发送一个 ACK,表示已收到最后一个按顺序到达的包。 总之,选择性重复 ARQ 协议提供了一种在有噪声的信道上传输数据的可靠机制,同时最大限度地减少了所需的重传次数。它仅重新传输未正确接收的数据包,并缓冲乱序到达的数据包,以减少所需的重传次数。 流程图 说明选择性重复 ARQ 协议在有噪声信道中操作的流程图 ![]() 发送方端
接收方端
发送方端(在未收到 ACK 的情况下)
发送方端(收到 NAK 的情况下)
上述步骤重复进行,直到所有数据包都已成功被接收方接收。选择性重复 ARQ 协议提供了一种在有噪声信道上传输数据的可靠机制,同时最大限度地减少了所需的重传次数。它仅重新传输未正确接收的数据包,并缓冲乱序到达的数据包以减少所需的重传次数。 结论A. 停止等待 ARQ
B. 回退 N ARQ
C. 选择性重复 ARQ
总之,停止等待 ARQ 是最简单和最可靠的协议,但不适合高数据速率。回退 N ARQ 适用于中高错误率的信道,而选择性重复 ARQ 适用于高数据速率和长传输距离。协议的选择取决于通信信道的特性和应用程序的要求。 下一个主题网状拓扑的优缺点 |
我们请求您订阅我们的新闻通讯以获取最新更新。