OpenWeave +ハッピークロスネットワークマルチキャストInetレイヤーHOWTO

GitHubでソースを表示

OpenWeaveを使用してクロスネットワークマルチキャストを試してみることにしました。このハウツーガイドでは、Happyネットワークシミュレーションツールを使用して、マルチキャストプロキシを使用して2つの異なるネットワークでOpenWeaveのInetレイヤーを使用する方法を示す仮想トポロジを設定する方法について説明します。

mcproxyをダウンロードしてビルドします

IPv6は、プロキシデーモンマルチキャストmcproxy 、2つの互いに素IPv6ネットワークリンクを介してプロキシ/順方向/経路IPv6マルチキャストトラフィックに役立ちます。

どこで複製し、構築することが特に重要ではないですがmcproxy実行可能なデーモン、あなたはそれへの相対パスまたは絶対パスとして作成する場所をメモをしてください、以下のステップ6で必要です。

git clone https://github.com/mcproxy/mcproxy.git mcproxy
sudo apt-get install qt5-qmake qt5-default
cd mcproxy/mcproxy
qmake
make

ハッピーをダウンロード、ビルド、インストール

git clone https://github.com/openweave/happy.git happy
sudo apt-get install bridge-utils python-lockfile python-psutil python-setuptools
cd happy
sudo make install

ダウンロードしてビルドopenweaveコア

git clone https://github.com/openweave/openweave-core.git openweave-core
cd openweave-core
./configure
make

Happyトポロジを確立する

これは非常によく似トポロジ作成ハッピーコードラボを

happy-network-add ThreadNetwork thread
happy-network-address ThreadNetwork fd00:0000:0000:0006::
happy-network-add WiFiNetwork wifi
happy-network-address WiFiNetwork fd00:0000:0000:0001::
happy-network-address WiFiNetwork 192.168.1.0
happy-node-add ThreadNode
happy-node-add WiFiNode
happy-node-add BorderRouter
happy-node-join ThreadNode ThreadNetwork
happy-node-join WiFiNode WiFiNetwork
happy-node-join BorderRouter ThreadNetwork
happy-node-join BorderRouter WiFiNetwork
happy-network-route --prefix fd00:0000:0000:0006:: ThreadNetwork BorderRouter
happy-network-route --prefix fd00:0000:0000:0001:: WiFiNetwork BorderRouter
happy-network-route --prefix 192.168.1.0 WiFiNetwork BorderRouter

ハッピートポロジのためmcproxyコンフィギュレーションを作成します。

これにより、上記の手順4で作成したHappyトポロジで、「wpan0」のシミュレートされた「スレッド」ネットワークインターフェイスと「wlan0」のシミュレートされた「WiFi」ネットワークインターフェイスの間にIPv6マルチキャストプロキシ構成が作成されます。

それはあなたが作成する場合に特に重要ではありませんがmcproxy.confファイルを、あなたはそれへの相対パスまたは絶対パスとして作成する場所をメモをしてください。ステップ6必要です。

cat > mcproxy.conf << EOF
protocol MLDv2;
pinstance myProxy: wpan0 ==> wlan0;
EOF

デモを実行する

これは、IPv6マルチキャストプロキシ実行mcproxyそれぞれ、「BorderRouter」ノードにして、[シミュレート「スレッド」と「無線LAN」のノードでのinet層マルチキャスト機能テスト送信側と受信側を起動します。

あなたが希望する場合は、送信側と受信側のノードを移調することができますし、例が均等に同様に動作します。

次の各コマンドセットは、並列の独立したシェルから実行する必要があります。

ボーダールーター

happy-shell BorderRouter
<path-to-mcproxy-from-step1>/mcproxy -f <path-to-mcproxy-config-from-step5>/mcproxy.conf

レシーバー

happy-shell WiFiNode
openweave-core/src/test-apps/TestInetLayerMulticast -6 --udp -I wlan0 -g 5 --group-expected-rx-packets 5 --group-expected-tx-packets 0 -l

送信者

happy-shell ThreadNode
openweave-core/src/test-apps/TestInetLayerMulticast -6 --udp -I wpan0 -g 5 --group-expected-rx-packets 0 --group-expected-tx-packets 5 -L

出力

送信者

openweave-core/src/test-apps/TestInetLayerMulticast -6 --udp -I wlan0 -g 5 ... -L
Weave Node ready to service events; PID: 50845; PPID: 46482
Using UDP/IPv6, device interface: wpan0 (w/o LwIP)
Will join multicast group ff15::5
1/5 transmitted for multicast group 5
2/5 transmitted for multicast group 5
3/5 transmitted for multicast group 5
4/5 transmitted for multicast group 5
5/5 transmitted for multicast group 5
Will leave multicast group ff15::5
WEAVE:IN: Async DNS worker thread woke up.
WEAVE:IN: Async DNS worker thread exiting.
WEAVE:IN: Async DNS worker thread woke up.
WEAVE:IN: Async DNS worker thread exiting.

レシーバー

openweave-core/src/test-apps/TestInetLayerMulticast -6 --udp -I wlan0 -g 5 ... -l
Weave Node ready to service events; PID: 50826; PPID: 46499
Using UDP/IPv6, device interface: wlan0 (w/o LwIP)
Will join multicast group ff15::5
Listening...
UDP packet received from fd00::6:8693:b7ff:fe5a:1dc1:4242 to ff15::5:4242 (59 bytes)
1/5 received for multicast group 5
UDP packet received from fd00::6:8693:b7ff:fe5a:1dc1:4242 to ff15::5:4242 (59 bytes)
2/5 received for multicast group 5
UDP packet received from fd00::6:8693:b7ff:fe5a:1dc1:4242 to ff15::5:4242 (59 bytes)
3/5 received for multicast group 5
UDP packet received from fd00::6:8693:b7ff:fe5a:1dc1:4242 to ff15::5:4242 (59 bytes)
4/5 received for multicast group 5
UDP packet received from fd00::6:8693:b7ff:fe5a:1dc1:4242 to ff15::5:4242 (59 bytes)
5/5 received for multicast group 5
Will leave multicast group ff15::5
WEAVE:IN: Async DNS worker thread woke up.
WEAVE:IN: Async DNS worker thread exiting.
WEAVE:IN: Async DNS worker thread woke up.
WEAVE:IN: Async DNS worker thread exiting.