2011-11-28 74 views
0

我是新来的网络一般和我读了这个协议称为阿罗哈,我想为它的纯粹版本做一个简单的模拟器。如何使用编程语言模拟aloha协议?

虽然我理解这些概念,但我觉得很难开始。

基本上我们在网络中有N个发送者。每个发件人都想发送一个数据包。现在,每个发件人都不关心网络是否忙或被其他发件人占用。如果它想发送数据,它只是发送它。

问题是,如果2个发送者同时发送一些数据,那么他们都会发生冲突,因此两个数据包都将被销毁。

由于它们被破坏,两个发送者将需要再次发送相同的数据包。

我明白这个简单的概念,难点在于,如何用概率来调整这个。

现在,我需要找出作为(成功)帧传输速率的吞吐量。

在进一步讨论之前,我们必须作出一些假设:

All frames have the same length. 
Stations cannot generate a frame while transmitting or trying to transmit. (That is, if a station keeps trying to send a frame, it cannot be allowed to generate more frames to send.) 
The population of stations attempts to transmit (both new frames and old frames that collided) according to a Poisson distribution. 

我实在无法理解的第三个假设,我怎么会适用于ALOHA这个概率有多大? 我不能为了得到一个想法如何做到这一点做网上找了单码...

这里是关于该协议的一些进一步的信息:

http://en.wikipedia.org/wiki/ALOHAnet#Pure_ALOHA 

回答

0

我认为你必须拆分时间间隔;在每个间隔内,一定数量的电台尝试发送。此数字是根据http://en.wikipedia.org/wiki/Poisson_distribution按固定时间间隔或时间发生的事件数量。

您必须根据泊松分布对其进行建模。

我的2美分,希望这有助于

+0

嗨,感谢您的帮助! 但是,如果我把时间分成不同的时间间隔,这不是一个开槽的阿罗哈,而不是纯粹的阿罗哈? 谢谢! – jonathan

+0

将“时间间隔”更改为“时间范围” –