2016-08-05 22 views
0

我一直在Windows上構建OpenThread原型,並且我注意到,使用當前CSMA退避邏輯Mac class,它在每次發送之前等待平均約9ms,即使沒有發現競爭。對於128字節的數據包來說,這似乎還有相當長的一段時間。OpenThread是否有性能目標或需求?

當我從一個虛擬(所有軟件)設備到另一個在我的Windows原型平,我得到的東西像小包以下:

Pinging fd00::e91b:775a:8cfd:bd05 from fd00::b98c:3fe5:44e1:3573 with 32 bytes of data: 
    Reply from fd00::e91b:775a:8cfd:bd05: time=12ms 
    Reply from fd00::e91b:775a:8cfd:bd05: time=2ms 
    Reply from fd00::e91b:775a:8cfd:bd05: time=18ms 
    Reply from fd00::e91b:775a:8cfd:bd05: time=19ms 
    Reply from fd00::e91b:775a:8cfd:bd05: time=12ms 

對於較大的包,我得到如下:

Pinging fd00::357c:a372:2734:344c from fd00::4392:ac8b:b7d1:631 with 1400 bytes of data: 
    Reply from fd00::357c:a372:2734:344c: time=249ms 
    Reply from fd00::357c:a372:2734:344c: time=273ms 
    Reply from fd00::357c:a372:2734:344c: time=355ms 
    Reply from fd00::357c:a372:2734:344c: time=231ms 
    Reply from fd00::357c:a372:2734:344c: time=236ms 
    Reply from fd00::357c:a372:2734:344c: time=281ms 

最後,我在兩個虛擬接口上使用了iPerf,並且我從來沒有比〜77 Kbits/sec更好。據RFC 6282 IPv6 Datagrams on IEEE 802.15.4 Section 1,802.15.4理論上應該有:

與鏈路吞吐量爲250 kbps或更少

無線鏈路我預計應該的OpenThread得到比77 kbps的更近。

基礎OpenThread庫應該能夠實現速度的設置要求或目標嗎?

Mac類中的退避時間是否應該較小,至少在最初?

回答

2

正如您所注意到的,我們並沒有專注於OpenThread的性能。我們仍在努力確保實施所有必要的功能。

OpenThread中的軟MAC實現是一個例子,它應該進行優化以更好地匹配IEEE 802.15.4-2006時序規範。 IEEE 802.15.4-2006規定了2.56ms的默認隨機最小退避窗口和2.4GHz的最大退避窗口10.24ms。假設最小默認窗口爲2.56ms,那麼未確認數據幀之間的平均幀間隔應該大約爲1.28ms。如果我們想要做到精確,需要增加一些時間來考慮強制性IFS(短幀爲12個符號,長幀爲40個符號)。

相關問題