OT CLI দিয়ে TCP কার্যকারিতা পরীক্ষা করুন

GitHub-এ উৎস দেখুন

OpenThread টিসিপি এন্ডপয়েন্টের মধ্যে পিয়ার-টু-পিয়ার যোগাযোগ পরীক্ষা করার জন্য থ্রেড নেটওয়ার্কের সাথে ব্যবহারের জন্য TCP কমান্ড অফার করে। cli tcp একটি নমুনা TCP এন্ডপয়েন্ট এবং একটি নমুনা TCP লিসেনার প্রদান করে যার সাথে সমস্ত tcp কমান্ড ইন্টারঅ্যাক্ট করে।

কমান্ড ওভারভিউ এবং অনুসরণ করা উদাহরণ টিসিপি এন্ডপয়েন্ট এবং টিসিপি লিসেনার, কিভাবে পিয়ার টিসিপি এন্ডপয়েন্টের সাথে সংযোগ করতে হয় এবং পিয়ারকে কিভাবে একটি বার্তা পাঠাতে হয় সে সম্পর্কে তথ্য প্রদান করে।

TCP কমান্ড

tcp কমান্ডের তালিকার জন্য, help টাইপ করুন:

tcp help
abort
benchmark
bind
connect
deinit
init
listen
send
sendend
stoplistening
Done
সমস্ত কমান্ডের বর্ণনা এবং সিনট্যাক্সের জন্য, CLI কমান্ড রেফারেন্স দেখুন। TCP কমান্ডগুলি tcp abort দিয়ে বর্ণানুক্রমিকভাবে শুরু হয়।

init কমান্ড

TCP যোগাযোগ শুরু করতে TCP মডিউল আরম্ভ করতে tcp init কমান্ডটি ব্যবহার করুন। TCP মডিউল তখন অনেকগুলি ফাংশন সম্পাদন করতে পারে, যেমন tcp CLI দ্বারা প্রদত্ত TCP লিসেনার উদাহরণ ব্যবহার করে ইনকামিং সংযোগের জন্য শোনা। উদাহরণ টিসিপি লিসেনার এবং উদাহরণ টিসিপি এন্ডপয়েন্ট ডিইনিশিয়াল করতে, tcp deinit কমান্ড জারি করুন।

bind আদেশ

TCP মডিউলটি শুরু করার পরে উদাহরণ টিসিপি এন্ডপয়েন্টটি বাঁধতে, একটি IPv6 ঠিকানা এবং TCP এন্ডপয়েন্টে একটি পোর্ট বরাদ্দ করতে একটি tcp bind কমান্ড চালান। এটি যোগাযোগের জন্য শেষ বিন্দুকে আবদ্ধ করে। IPv6 ঠিকানা এবং পোর্ট বরাদ্দ করাকে "এন্ডপয়েন্টের নামকরণ" হিসাবেও উল্লেখ করা হয়।

আদেশ listen

TCP মডিউল শুরু করার পরে উদাহরণ TCP লিসেনার ব্যবহার করতে, একটি tcp listen কমান্ড চালান এবং IPv6 ঠিকানা এবং শোনার পোর্ট উল্লেখ করুন।

ইনকামিং TCP সংযোগের জন্য TCP শ্রোতাকে শোনা থেকে উদাহরণ বন্ধ করতে, tcp stoplistening কমান্ডটি জারি করুন।

connect কমান্ড

একটি tcp connect কমান্ড উদাহরণ TCP এন্ডপয়েন্টকে একটি পিয়ার TCP এন্ডপয়েন্ট ঠিকানার সাথে সংযুক্ত করে।

কমান্ড send

দুটি নোডের মধ্যে সংযোগ স্থাপন হয়ে গেলে, পিয়ারকে একটি বার্তা পাঠাতে একটি tcp send কমান্ড ইস্যু করুন।

benchmark কমান্ড

একবার দুটি নোডের মধ্যে একটি TCP সংযোগ স্থাপন করা হলে, নেটওয়ার্ক ব্যান্ডউইথ এবং কর্মক্ষমতা পরীক্ষা করতে নোডগুলির মধ্যে প্রচুর পরিমাণে ডেটা পাঠাতে ঐচ্ছিকভাবে benchmark কমান্ডগুলি ব্যবহার করুন। মিলিসেকেন্ডে ট্রান্সমিটেড বাইটের সংখ্যার পাশাপাশি TCP গুডপুট benchmark ফলাফলে প্রদান করা হবে।

আদেশ abort

অবিলম্বে এবং অপ্রত্যাশিতভাবে একটি TCP সংযোগ শেষ করতে, TCP এন্ডপয়েন্টটিকে একটি বন্ধ অবস্থায় স্থানান্তর করতে উভয় নোডে tcp abort কমান্ডটি চালান।

কমান্ড sendend

যখন একটি নোড অন্য নোডে ডেটা পাঠানো শেষ হয়, তখন প্রথম নোডটি দ্বিতীয় নোডকে সতর্ক করার জন্য একটি tcp sendend কমান্ড জারি করতে পারে যাতে আর ডেটা আশা করা যায় না। দ্বিতীয় নোড প্রথম নোডে একটি tcp sendend পাঠাতে পারে। একবার প্রতিটি নোড একটি TCP: Disconnected বার্তা, দুটি নোডের মধ্যে TCP সংযোগ বিচ্ছিন্ন হয়ে যায়। ডেটা স্থানান্তর সম্পূর্ণ হলে এটি সুপারিশ করা হয় কিন্তু এই কমান্ডটি জারি করার প্রয়োজন নেই।

দুটি নোডের মধ্যে একটি বার্তা পাঠান

  1. নোড 1-এ, TCP CLI মডিউল শুরু করুন, তারপর TCP লিসেনার উদাহরণ ব্যবহার করে ইনকামিং সংযোগের জন্য শুনুন।

    tcp init
    tcp listen :: 30000
    

    :: এর ব্যবহার বোঝায় যে listen উচিত অনির্দিষ্ট IPv6 ঠিকানা ব্যবহার করা, যার ফলে TCP/IPv6 স্ট্যাকটি IPv6 ঠিকানা বরাদ্দ করে। বন্দর 30000।

  2. নোড 2-এ, টিসিপি সিএলআই মডিউল শুরু করুন, নোড 1 এর সাথে সংযোগ করুন এবং তারপর একটি সাধারণ বার্তা পাঠান।

    tcp init
    tcp connect fe80:0:0:0:a8df:580a:860:ffa4 30000
    tcp send hello
    

যাচাইকরণ

উপরে দেখানো উদাহরণ পদক্ষেপের উপর ভিত্তি করে, নিম্নলিখিত আউটপুট আশা করা হবে:

  • নোড 2 tcp connect কমান্ড চালানোর পরে, নোড 2 TCP: Connection established বার্তাটি পাবে।
  • নোড 1 তারপর বার্তাগুলি গ্রহণ করবে (উদাহরণ সহ IPv6 ঠিকানা এবং পোর্ট):
    • Accepted connection from [fe80:0:0:0:8f3:f602:bf9b:52f2]:49152
    • TCP: Connection established
  • নোড 2 tcp send কমান্ড চালানোর পরে, নোড 1 TCP: Received 5 bytes: hello