مشاهده منبع در GitHub |
شما تصمیم گرفته اید که می خواهید با استفاده از OpenWeave چندپخشی بین شبکه ای را آزمایش کنید. این راهنمای نحوه استفاده از ابزار شبیهسازی شبکه Happy را برای راهاندازی یک توپولوژی مجازی نشان میدهد که استفاده از لایه Inet OpenWeave را در دو شبکه مجزا با یک پروکسی چندپخشی نشان میدهد.
mcproxy را دانلود و بسازید
دیمون پروکسی چندپخشی IPv6، mcproxy ، برای پروکسی/پیشبرد/مسیریابی ترافیک چندپخشی IPv6 در دو پیوند شبکه IPv6 مجزا خدمت میکند.
اگرچه مهم نیست که کجای mcproxy daemon را شبیهسازی میکنید و میسازید، لطفاً به مکانی که آن را به عنوان یک مسیر نسبی یا مطلق برای رسیدن به آن در مرحله 6 زیر لازم است، توجه داشته باشید.
git clone https://github.com/mcproxy/mcproxy.git mcproxysudo apt-get install qt5-qmake qt5-defaultcd mcproxy/mcproxyqmakemake
شاد دانلود کنید، بسازید و نصب کنید
git clone https://github.com/openweave/happy.git happysudo apt-get install bridge-utils python-lockfile python-psutil python-setuptoolscd happysudo make install
Openweave-core را دانلود و بسازید
git clone https://github.com/openweave/openweave-core.git openweave-corecd openweave-core./configuremake
توپولوژی Happy را ایجاد کنید
این یک توپولوژی بسیار شبیه به Happy Codelab ایجاد می کند.
happy-network-add ThreadNetwork threadhappy-network-address ThreadNetwork fd00:0000:0000:0006::happy-network-add WiFiNetwork wifihappy-network-address WiFiNetwork fd00:0000:0000:0001::happy-network-address WiFiNetwork 192.168.1.0happy-node-add ThreadNodehappy-node-add WiFiNodehappy-node-add BorderRouterhappy-node-join ThreadNode ThreadNetworkhappy-node-join WiFiNode WiFiNetworkhappy-node-join BorderRouter ThreadNetworkhappy-node-join BorderRouter WiFiNetworkhappy-network-route --prefix fd00:0000:0000:0006:: ThreadNetwork BorderRouterhappy-network-route --prefix fd00:0000:0000:0001:: WiFiNetwork BorderRouterhappy-network-route --prefix 192.168.1.0 WiFiNetwork BorderRouter
پیکربندی mcproxy را برای توپولوژی Happy ایجاد کنید
این یک پیکربندی پروکسی چندپخشی IPv6 بین رابط شبکه شبیهسازیشده «Thread» در «wpan0» و رابط شبکه «WiFi» شبیهسازیشده در «wlan0» در توپولوژی Happy که در بالا در مرحله 4 ایجاد کردیم، ایجاد میکند.
اگرچه مهم نیست که کجا فایل mcproxy.conf را ایجاد می کنید، لطفاً به مکانی که آن را به عنوان یک مسیر نسبی یا مطلق برای آن در مرحله 6 ایجاد می کنید، توجه داشته باشید.
cat > mcproxy.conf << EOF
protocol MLDv2;
pinstance myProxy: wpan0 ==> wlan0;
EOF
تظاهرات را اجرا کنید
این پروکسی چندپخشی IPv6، mcproxy را روی گره "BorderRouter" اجرا می کند و سپس فرستنده و گیرنده آزمایشی عملکردی چندپخشی لایه Inet را به ترتیب روی گره های "Thread" و "WiFi" شبیه سازی شده راه اندازی می کند.
در صورت تمایل، میتوانید گرههای فرستنده و گیرنده را جابهجا کنید و مثال نیز به همان اندازه کار خواهد کرد.
هر یک از مجموعه دستورات زیر باید از پوسته های موازی و مستقل اجرا شوند.
روتر مرزی
happy-shell BorderRouter<path-to-mcproxy-from-step1>/mcproxy -f <path-to-mcproxy-config-from-step5>/mcproxy.conf
گیرنده
happy-shell WiFiNodeopenweave-core/src/test-apps/TestInetLayerMulticast -6 --udp -I wlan0 -g 5 --group-expected-rx-packets 5 --group-expected-tx-packets 0 -l
فرستنده
happy-shell ThreadNodeopenweave-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.
مشاهده منبع در GitHub