Google s'est engagé à promouvoir l'équité raciale pour les communautés noires. Regarde comment.
Cette page a été traduite par l'API Cloud Translation.
Switch to English

OpenWeave + Happy Cross Network Multicast Inet Layer HOWTO

jinja-placeholder-0 .md "> Afficher la source sur GitHub

Vous avez décidé que vous souhaitiez expérimenter la multidiffusion inter-réseau à l'aide d'OpenWeave. Ce guide pratique illustre l'utilisation de l'outil de simulation de réseau Happy pour configurer une topologie virtuelle illustrant l'utilisation de la couche Inet d'OpenWeave sur deux réseaux distincts avec un proxy de multidiffusion.

Téléchargez et compilez mcproxy

Le démon proxy de multidiffusion IPv6, mcproxy , sert à proxy / mcproxy / acheminement du trafic de multidiffusion IPv6 sur deux liaisons réseau IPv6 disjointes.

Bien qu'il ne soit pas particulièrement important de cloner et de construire l'exécutable du démon mcproxy , veuillez noter l'emplacement où vous le créez en tant que chemin relatif ou absolu qui y est nécessaire à l'étape 6 ci-dessous.

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

Téléchargez, créez et installez 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

Téléchargez et compilez openweave-core

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

Établir la topologie Happy

Cela crée une topologie très similaire à 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

Créez la configuration mcproxy pour la topologie Happy

Cela crée une configuration proxy de multidiffusion IPv6 entre l'interface réseau simulée «Thread» sur «wpan0» et l'interface réseau simulée «WiFi» sur «wlan0» dans la topologie Happy que nous avons créée ci-dessus à l'étape 4.

Bien que l'endroit où vous créez le fichier mcproxy.conf ne soit pas particulièrement important, veuillez noter l'emplacement où vous le créez en tant que chemin relatif ou absolu qui lui est nécessaire à l'étape 6.

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

Lancer la démonstration

Ceci exécute le proxy multicast IPv6, mcproxy , sur le nœud "BorderRouter", puis lance l'expéditeur et le récepteur de test fonctionnel de multidiffusion de couche Inet sur les nœuds "Thread" et "WiFi" simulés, respectivement.

Si vous le souhaitez, vous pouvez transposer l'expéditeur et les nœuds récepteurs et l'exemple fonctionnera également.

Chacun des ensembles de commandes suivants doit être exécuté à partir de shells parallèles indépendants.

Routeur de frontière

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

Destinataire

 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

Expéditeur

 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

Production

Expéditeur

 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.

Destinataire

 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.