什么是正确的 CSMA p-persistent 算法?

网络工程 协议论 第 2 层
2022-03-02 22:09:14

在阅读了一些书籍和资料后,我了解到 CSMA p-persistent 协议的工作原理如下:

  • 如果信道空闲,它以概率 传输p,并且以概率1 - p推迟到下一个时隙;如果该槽也空闲,则重复此步骤;
  • 如果信道忙,则等待信道空闲,然后应用上述步骤。

仅提及众多来源之一:计算机网络(A. Tanenbaum,第 5 版)在第 267 页提供了上述算法。

但这对我来说听起来不对。如果选择的值为p0,则意味着算法将始终以 1 的概率延迟传输。所以它总是会推迟并且永远不会传输任何东西。

另外,如果通道最初是空闲的,算法为什么要等待呢?这不是无用的资源浪费吗?

那么这被认为是正确的算法吗?不应该改为只等待一次,1 - p然后发送吗?否则,传输可能会被无限次推迟。

1个回答

除非您不想转移,否则 0 的概率没有意义。您需要0 和 1 之间进行选择。

等待时隙开始的算法减少了其他人刚刚开始传输但运营商尚未到达您的机会。总体而言,它通过减少碰撞惩罚来提高 CSMA 的效率。

不使用第一个可能的时隙而是使用概率是获得更公平的流量分配的方法。它大大降低了繁忙的发件人占用媒体的可能性。

跳过第一个插槽的1-p概率仅表示您现在发送(概率p)或在下一个插槽(概率1-p)。您不会一次又一次地为每个插槽掷骰子。