📜  1-持久和非持久CSMA之间的区别(1)

📅  最后修改于: 2023-12-03 14:38:47.846000             🧑  作者: Mango

1-持久和非持久CSMA之间的区别

在介绍持久和非持久CSMA之间的区别前,需要先了解CSMA协议。

CSMA协议是一种竞争类型的协议,用于多点接入网络中节点之间的发送和接收数据。在节点发送数据前,需要先检测信道是否空闲,如果信道空闲,则可以发送数据;否则就需要等待一段时间,重新检测信道是否空闲,如果信道依然不可用,则需要再次等待一段时间。

持久和非持久CSMA之间最大的区别在于节点在等待信道空闲时所采用的策略不同。

持久CSMA

当节点检测到信道忙时,持久CSMA节点会一直等待,直到信道空闲,然后立即发送数据。

下面是持久CSMA的基本流程:

  1. 发送节点检测信道是否可用。
  2. 如果检测到信道忙,则一直等待信道空闲。
  3. 如果信道空闲,则立即发送数据。
  4. 发送节点等待对方节点的确认帧,如果对方节点未回复,则认为数据未发送成功。
非持久CSMA

当节点检测到信道忙时,非持久CSMA节点会等待一个随机时间段,然后再次检测信道是否空闲。如果信道不可用,则继续等待,直到信道可用。

下面是非持久CSMA的基本流程:

  1. 发送节点检测信道是否可用。
  2. 如果检测到信道忙,则等待一个随机时间段。
  3. 等待结束后,再次检测信道是否空闲。
  4. 如果信道空闲,则立即发送数据。
  5. 发送节点等待对方节点的确认帧,如果对方节点未回复,则认为数据未发送成功。
区别
  1. 持久CSMA需要一直等待信道变空闲,因此可能会导致等待时间过长,且容易产生信道占用率过高的问题;而非持久CSMA随机等待一段时间,能够有效减少信道冲突和占用率过高的问题。
  2. 持久CSMA使用的是确定性的发送方式,即总是在检测到信道空闲时立即发送数据;而非持久CSMA使用的是非确定性的发送方式,即需要等待一段随机时间后再发送数据。因此,在低负载情况下,非持久CSMA可以更快地发送数据,但在高负载情况下,持久CSMA表现更佳。

总之,持久CSMA和非持久CSMA都是常用的CSMA协议,它们之间的区别主要在于等待信道空闲时的不同策略。选择何种协议应根据具体需要和网络负载情况而定。