OpenWeave + Happy Cross Network Multicast Inet Layer HOWTO

Quelle auf GitHub anzeigen

Sie haben sich entschieden, mit netzwerkübergreifendem Multicast mit OpenWeave zu experimentieren. Diese Anleitung veranschaulicht die Verwendung des Happy-Netzwerksimulationstools zum Einrichten einer virtuellen Topologie, die die Verwendung der Inet-Schicht von OpenWeave in zwei verschiedenen Netzwerken mit einem Multicast-Proxy demonstriert.

mcproxy herunterladen und erstellen

Die IPv6 - Multicast - Proxy - Daemon, mcproxy dient als Proxy / Vorwärts / route IPv6 - Multicast - Datenverkehr über zwei disjunkte IPv6 - Netzwerk - Links.

Es ist zwar nicht besonders wichtig ist , wo Sie die klonen und bauen mcproxy Daemon ausführbare Datei, beachten Sie bitte den Ort, wo Sie es als ein relativer oder absoluter Pfad erstellen , um es in Schritt 6 unten erforderlich ist.

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

Herunterladen, erstellen und installieren happy

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-core herunterladen und erstellen and

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

Stellen Sie die Happy-Topologie her

Dies schafft eine Topologie sehr ähnlich den glücklichen Codelab .

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

Erstellen Sie die mcproxy-Konfiguration für die Happy-Topologie

Dadurch wird eine IPv6-Multicast-Proxy-Konfiguration zwischen der simulierten Netzwerkschnittstelle „Thread“ auf „wpan0“ und der simulierten Netzwerkschnittstelle „WiFi“ auf „wlan0“ in der oben in Schritt 4 erstellten Happy-Topologie erstellt.

Es ist zwar nicht besonders wichtig ist , wo Sie die erstellen mcproxy.conf Datei, beachten Sie bitte den Ort, wo Sie es als ein relativer oder absoluter Pfad , um es zu erstellen Schritt 6 notwendig ist.

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

Führen Sie die Demonstration durch

Dies wird mit dem IPv6 - Multicast - Proxy, mcproxy , auf dem „BorderRouter“ -Knoten und dann startet die Inet Schicht Multicast - Funktionstest Sender und Empfänger auf dem simulierten „Thread“ und „WiFi“ Knoten, respectively.

Wenn Sie möchten, können Sie den Sender- und den Empfängerknoten vertauschen und das Beispiel funktioniert auch gleich.

Jeder der folgenden Befehlssätze sollte von parallelen, unabhängigen Shells ausgeführt werden.

Grenzrouter

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

Empfänger

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

Absender

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

Ausgabe

Absender

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.

Empfänger

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.