0

私は Windows で OpenThread のプロトタイプを作成してきましたが、Mac クラスが持つ現在の CSMA バックオフ ロジックでは、競合が見られなくても、送信前に平均 9 ミリ秒待機することに気付きました。これは、128 バイトのパケットを待つのに非常に長い時間のようです。

Windows プロトタイプで 1 つの仮想 (すべてソフトウェア) デバイスから別のデバイスに ping を実行すると、小さなパケットに対して次のような結果が得られます。

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

最後に、2 つの仮想インターフェイスで iPerf を使用しましたが、最大 77 Kbits/sec を超えることはありませんでした。IEEE 802.15.4 セクション 1 の RFC 6282 IPv6 データグラムによると、802.15.4 は理論的には次のようになっている必要があります。

リンク スループットが 250 kbps 以下のワイヤレス リンク

OpenThread は 77 kbps よりも近くなるはずです。

ベース OpenThread ライブラリが達成できる速度に関する設定要件または目標はありますか?

少なくとも最初のうちは、Mac クラスのバックオフ時間を短くする必要がありますか?

4

1 に答える 1

2

お気づきのとおり、OpenThread ではまだパフォーマンスに焦点を当てていません。必要な機能がすべて実装されていることを確認するために、引き続き作業を行っています。

OpenThread でのソフト MAC の実装は 1 つの例であり、IEEE 802.15.4-2006 のタイミング仕様により適合するように最適化する必要があります。IEEE 802.15.4-2006 では、2.4 GHz のデフォルトのランダム最小バックオフ ウィンドウを 2.56 ミリ秒、最大バックオフ ウィンドウを 10.24 ミリ秒に指定しています。デフォルトの最小ウィンドウが 2.56 ミリ秒であると仮定すると、未確認のデータ フレーム間のフレーム間隔は平均で約 1.28 ミリ秒になるはずです。正確に言うと、必須の IFS (短いフレームの場合は 12 シンボル、長いフレームの場合は 40 シンボル) を考慮して、もう少し時間を追加する必要があります。

于 2016-08-10T18:33:18.633 に答える