Google is committed to advancing racial equity for Black communities. See how.
Questa pagina è stata tradotta dall'API Cloud Translation.
Switch to English

OpenWeave + Happy Cross Network Multicast Inet Layer HOWTO

jinja-placeholder-0 .md "> Visualizza sorgente su GitHub

Hai deciso di voler sperimentare il multicast tra reti usando OpenWeave. Questa guida pratica illustra l'uso dello strumento di simulazione della rete Happy per impostare una topologia virtuale che dimostra l'utilizzo del livello Inet di OpenWeave su due reti distinte con un proxy multicast.

Scarica e crea mcproxy

Il demone proxy multicast IPv6, mcproxy , serve per proxy / forward / instradamento del traffico multicast IPv6 attraverso due collegamenti di rete IPv6 disgiunti.

Anche se non è particolarmente importante clonare e costruire l'eseguibile del demone mcproxy , prendere nota della posizione in cui lo si crea come percorso relativo o assoluto necessario al passaggio 6 di seguito.

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

Scarica, costruisci e installa felice

 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

Scarica e crea openweave-core

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

Stabilire la topologia Happy

Questo crea una topologia molto simile a Happy 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

Creare la configurazione mcproxy per la topologia Happy

Ciò crea una configurazione proxy multicast IPv6 tra l'interfaccia di rete "Thread" simulata su "wpan0" e l'interfaccia di rete "WiFi" simulata su "wlan0" nella topologia Happy che abbiamo creato sopra nel passaggio 4.

Sebbene non sia particolarmente importante dove si crea il file mcproxy.conf , prendere nota della posizione in cui lo si crea come percorso relativo o assoluto è necessario al passaggio 6.

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

Esegui la dimostrazione

Questo esegue il proxy multicast IPv6, mcproxy , sul nodo "BorderRouter" e quindi avvia il mittente e il destinatario del test funzionale multicast di livello Inet sui nodi "Thread" e "WiFi" simulati, rispettivamente.

Se lo desideri, puoi trasporre i nodi mittente e destinatario e anche l'esempio funzionerà allo stesso modo.

Ognuno dei seguenti set di comandi deve essere eseguito da shell parallele e indipendenti.

Router di frontiera

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

Ricevitore

 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

Mittente

 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

Produzione

Mittente

 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.

Ricevitore

 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.