多路访问协议仿真
1.引言
本仿真实验对单信道多路访问协议,包括纯 ALOHA, 分槽 ALOHA, 1 持续的 CSMA,
非持续 CSMA,P 持续 CSMA 协议进行仿真,首先分析了各个协议的工作原理,然后阐述
了对各个协议进行仿真的思想,最后对根据这些思想实现的仿真程序产生的结果进行分析。
2.各个协议的工作原理
纯 ALOHA 当用户有数据要发送的时候就让它们传输。当然,这样做可能会有冲突,冲
突的帧将被损坏。然而,由于广播的反馈特性,发送方只要通过监听信道,总是可以知道
它的帧是否被毁坏,其他的用户也可以做到这一点。在一个 LAN 中,发送方可以立即就得
到反馈。如果发送出去的帧被毁坏了,则发送方只要等待一段随机的时间,然后再次发送
该帧。等待的时间必须是随机的,否则的话,同样的帧会不停地冲突,因为重发的节奏完
全一致。
分槽 ALOHA 与纯 ALOHA 比较,分槽 ALOHA 将时间分成离散的时间间隔,在这里将一
个帧长的时间作为一个时间槽,即一个帧刚好在一个时间槽内发送完成,每个帧的发送开
始时刻必须为一个时间槽开始的时刻,如果发送开始时刻不是时间槽的开始时刻,则将其
延迟到下一个时间槽的开始时刻发送。那么发生冲突的时刻只能是一个时间槽的开始时刻
如果一个主机在某个时间槽的开始时刻发送数据,并且在这个时刻没有其他主机发送,则
该主机一定能发送成功。如果两个以上主机在同一个时间槽的开始时刻发送数据,则等待
一个大于一个帧长时间的随机时间。
持续的 CSMA 当一个站有数据要发送的时候,它首先监听信道,看当时是否有其他的站
正在传输数据。如果信道忙的话,该站会一直等待直到信道空闲,当该站监测到信道空闲
的时候,它就发送一帧数据。如果有冲突发生的话,该站等待一段随机的时间,然后再次
监测和发送。当一个站发现信道空闲的时候,它传输数据成功的概率为 1。
非持续的 CSMA 在这个协议中,每个协议在企图传送数据之前要检测信道,如果没有人
在发送数据,则该站自己开始发送数据。然而,如果信道当前正在被使用中,则该站并不
持续地对信道进行监听,以便一旦前一次传输结束它好立即抓住机会发送数据。相反,它
会等待一段随机的时间,然后重复同样的算法。
P-持续 CSMA 当一个站准备好要发送的数据时,它会检测信道,如果信道是空闲的,则
它按照概率 p 的可能性发送数据。在概率 p=1-p 的情况下,它会将传送的数据延迟到下一
个时槽。如果下一个时槽也是空闲的,则它或者传送数据,或者再次延迟,其概率分别为
p 和 q
这个过程会一直持续,直到改帧被发送出去,或者另一个站也开始传送数据。在后者的情
况下,该站的处理方式如同发生了冲突一样,即等待一段随机的时候,然后再重新开始。
如果该站刚开始的时候就检测到信道忙的话,它会等待到下一个时槽,然后再应用上面的
算法。