OpenWeave + Happy Cross Network Multicast Inet Layer HOWTO

عرض المصدر على جيثب

لقد قررت أنك ترغب في تجربة البث المتعدد عبر الشبكات باستخدام OpenWeave. يوضح دليل الكيفية هذا استخدام أداة محاكاة الشبكة السعيدة لإعداد طوبولوجيا افتراضية توضح استخدام طبقة OpenWeave's Inet عبر شبكتين متميزتين مع وكيل متعدد الإرسال.

تحميل وبناء mcproxy

في الإصدار IPv6 المتعدد الخفي وكيل، mcproxy ، ويعمل على وكيل / إلى الأمام / الطريق الإصدار 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-core

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

أسس الهيكل السعيد

وهذا يخلق طوبولوجيا تشبه الى حد بعيد 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

قم بإنشاء تكوين mcproxy لطوبولوجيا Happy

يؤدي هذا إلى إنشاء تكوين وكيل IPv6 متعدد الإرسال بين واجهة شبكة "Thread" المحاكاة على "wpan0" وواجهة شبكة "WiFi" المحاكاة على "wlan0" في الهيكل السعيد الذي أنشأناه أعلاه في الخطوة 4.

في حين أنها ليست ذات أهمية خاصة حيث يمكنك إنشاء mcproxy.conf الملف، يرجى الإحاطة علما المكان الذي خلق على أنها مسار نسبي أو مطلق لأنه ضروري في الخطوة 6.

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

قم بتشغيل العرض التوضيحي

هذا يعمل الوكيل المتعدد IPv6، و mcproxy ، على عقدة "BorderRouter"، ومن ثم تطلق طبقة آينت المتعدد الوظائف المرسل والمتلقي اختبار على "الموضوع" محاكاة والعقد "واي فاي"، على التوالي.

إذا كنت ترغب في ذلك ، يمكنك تبديل عقدتي المرسل والمستقبل وسيعمل المثال بشكل متساوٍ أيضًا.

يجب تشغيل كل مجموعة من مجموعات الأوامر التالية من قذائف متوازية ومستقلة.

موجه الحدود

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.