OpenWeave + Happy Cross Network Multicast Inet Layer HOWTO

GitHub-এ উৎস দেখুন

আপনি সিদ্ধান্ত নিয়েছেন যে আপনি OpenWeave ব্যবহার করে ক্রস-নেটওয়ার্ক মাল্টিকাস্ট নিয়ে পরীক্ষা করতে চান। এই কিভাবে করতে হবে নির্দেশিকাটি একটি ভার্চুয়াল টপোলজি সেট আপ করতে হ্যাপি নেটওয়ার্ক সিমুলেশন টুল ব্যবহার করে ব্যাখ্যা করে যা একটি মাল্টিকাস্ট প্রক্সি সহ দুটি স্বতন্ত্র নেটওয়ার্ক জুড়ে OpenWeave এর 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

ওপেনওয়েভ-কোর ডাউনলোড করুন এবং তৈরি করুন

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

হ্যাপি টপোলজি স্থাপন করুন

এটি হ্যাপি কোডল্যাবের মতো একটি টপোলজি তৈরি করে।

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 কনফিগারেশন তৈরি করুন

এটি "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 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.