OpenWeave + Mutlu Çapraz Ağ Çok Noktaya Yayın Inet Katmanı NASIL

Kaynağı GitHub'da görüntüleyin

OpenWeave kullanarak ağlar arası çok noktaya yayın denemesi yapmak istediğinize karar verdiniz. Bu nasıl yapılır kılavuzu, çok noktaya yayın proxy'si ile iki farklı ağda OpenWeave'in Inet katmanını kullanmayı gösteren sanal bir topoloji kurmak için Happy ağ simülasyon aracının kullanımını gösterir.

mcproxy'yi indirin ve oluşturun

IPv6 vekil cini, çok noktaya mcproxy , iki ayrık IPv6 ağ bağlantıları üzerinden proxy / ileri / rota IPv6 çok noktaya trafiğe hizmet vermektedir.

Eğer klonlamak ve inşa nereye özellikle önemli olmasa da mcproxy çalıştırılabilir cini, aşağıda 6. adımda gereklidir için bir akraba veya mutlak yol olarak oluşturun yerin not edin.

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

İndirin, oluşturun ve mutlu bir şekilde yükleyin

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'u indirin ve oluşturun

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

Mutlu topolojiyi oluşturun

Bu çok benzer bir topoloji oluşturur Mutlu 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

Happy topolojisi için mcproxy yapılandırmasını oluşturun

Bu, yukarıda Adım 4'te oluşturduğumuz Happy topolojisinde "wpan0" üzerinde simüle edilmiş "Thread" ağ arayüzü ile "wlan0" üzerinde simüle edilmiş "WiFi" ağ arayüzü arasında bir IPv6 multicast proxy konfigürasyonu oluşturur.

Oluşturduğunuz nerede özellikle önemli olmasa da mcproxy.conf dosyası, kendisine bir akraba veya mutlak yol 6. adımda gerekli olduğu gibi bunu oluşturmak yerin not edin.

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

Gösteriyi çalıştırın

Bu IPv6 çok noktaya yayın vekil çalışır mcproxy sırasıyla "BorderRouter" düğümde ve daha sonra simüle "İplik" ve "Kablosuz" düğümlerde Inet tabaka çoklu fonksiyon testi gönderici ve alıcı başlatır.

İsterseniz gönderici ve alıcı düğümleri transpoze edebilirsiniz ve örnek de aynı şekilde çalışacaktır.

Aşağıdaki komut gruplarının her biri paralel, bağımsız kabuklardan çalıştırılmalıdır.

Sınır yönlendirici

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

Alıcı

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

Gönderen

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

Çıktı

Gönderen

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.

Alıcı

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.