GitHub-এ উৎস দেখুন |
আপনি সিদ্ধান্ত নিয়েছেন যে আপনি OpenWeave ব্যবহার করে ক্রস-নেটওয়ার্ক মাল্টিকাস্ট নিয়ে পরীক্ষা করতে চান। এই কিভাবে করতে হবে নির্দেশিকাটি একটি ভার্চুয়াল টপোলজি সেট আপ করতে হ্যাপি নেটওয়ার্ক সিমুলেশন টুল ব্যবহার করে ব্যাখ্যা করে যা একটি মাল্টিকাস্ট প্রক্সি সহ দুটি স্বতন্ত্র নেটওয়ার্ক জুড়ে OpenWeave এর Inet স্তর ব্যবহার করে প্রদর্শন করে।
ডাউনলোড করুন এবং mcproxy তৈরি করুন
IPv6 মাল্টিকাস্ট প্রক্সি ডেমন, mcproxy , দুটি বিচ্ছিন্ন IPv6 নেটওয়ার্ক লিঙ্ক জুড়ে IPv6 মাল্টিকাস্ট ট্র্যাফিককে প্রক্সি/ফরওয়ার্ড/রুট করে।
যদিও এটি বিশেষভাবে গুরুত্বপূর্ণ নয় যেখানে আপনি mcproxy ডেমন এক্সিকিউটেবল ক্লোন এবং নির্মাণ করেন, অনুগ্রহ করে নোট করুন যেখানে আপনি এটিকে একটি আপেক্ষিক বা পরম পথ হিসাবে তৈরি করেছেন নীচের ধাপ 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
ওপেনওয়েভ-কোর ডাউনলোড করুন এবং তৈরি করুন
git clone https://github.com/openweave/openweave-core.git openweave-corecd openweave-core./configuremake
হ্যাপি টপোলজি স্থাপন করুন
এটি হ্যাপি কোডল্যাবের মতো একটি টপোলজি তৈরি করে।
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 কনফিগারেশন তৈরি করুন
এটি "wpan0"-এ সিমুলেটেড "থ্রেড" নেটওয়ার্ক ইন্টারফেস এবং "wlan0"-এ সিমুলেটেড "WiFi" নেটওয়ার্ক ইন্টারফেসের মধ্যে একটি IPv6 মাল্টিকাস্ট প্রক্সি কনফিগারেশন তৈরি করে যা আমরা উপরে ধাপ 4-এ তৈরি করেছি হ্যাপি টপোলজিতে।
আপনি যেখানে mcproxy.conf ফাইলটি তৈরি করবেন তা বিশেষভাবে গুরুত্বপূর্ণ না হলেও, অনুগ্রহ করে নোট করুন যেখানে আপনি এটিকে একটি আপেক্ষিক বা পরম পথ হিসাবে তৈরি করেছেন ধাপ 6 এ প্রয়োজনীয়।
cat > mcproxy.conf << EOF
protocol MLDv2;
pinstance myProxy: wpan0 ==> wlan0;
EOF
বিক্ষোভ চালান
এটি "BorderRouter" নোডে IPv6 মাল্টিকাস্ট প্রক্সি, mcproxy চালায় এবং তারপর যথাক্রমে সিমুলেটেড "থ্রেড" এবং "ওয়াইফাই" নোডে Inet স্তর মাল্টিকাস্ট ফাংশনাল টেস্ট সেন্ডার এবং রিসিভার চালু করে।
আপনি যদি চান, আপনি প্রেরক এবং রিসিভার নোডগুলি স্থানান্তর করতে পারেন এবং উদাহরণটিও সমানভাবে কাজ করবে।
নিম্নলিখিত কমান্ডের প্রতিটি সেট সমান্তরাল, স্বাধীন শেল থেকে চালানো উচিত।
বর্ডার রাউটার
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-এ উৎস দেখুন