2011-11-28 57 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

將「時間間隔」更改爲「時間範圍」 –