Random Access (随机访问)
在随机访问或竞争方式下,每个站点都是一样的。站点若想发送数据则需要遵从协议里的一些程序,主要是判断传输介质的状态(idle or busy)。这种访问方式有两个特点:①每个站点没有固定的发送数据的时间 ②没有规定站点发送的顺序
正是由于以上的两个特点,两个站点若同时发送数据是会产生collision(冲突),此时发生collision的数据都会被破坏。
如何优化呢?看看以下几点:
- 一个站点什么时候可以访问media
- 站点需要怎么做,if the media is busy
- 如何确认传输成功与否
- 若有冲突,站点该怎么做
Pure ALOHA
在pure ALOHA中,在一个站点发送一个帧的期间若有其他站点也发送数据,此时会产生collision。Pure ALOHA协议依赖于接收方的Acknowledgment(ACK),当一个站点发送一个帧的数据后,它会等待接收方发送的ACK应答来确认接收方收到了数据。如果在给定时间内(time-out)没有收到ACK,则认为帧在传输信道中产生了collision或者ACK应答帧在信道中产生了collision,此时发送端会重新传输这个数据帧。
Collision可以发生在多个站点之间,若多个发送端同时发送数据,则这些数据帧都会发生collision。Pure ALOHA指定在time-out后需要随机等待一段时间后再进行传输,否则很可能这些站点再次同时发送数据导致collision继续发生。这种随机等待的机制一定程度上有效避免