الاطّلاع على المصدر على GitHub
يوفّر OpenThread أوامر بروتوكول التحكم بالنقل للاستخدام مع شبكة Thread لاختبار الاتصال من نظير إلى نظير بين نقاط نهاية TCP. يوفّر cli tcp
نموذجًا لنقطة نهاية TCP
ونموذجًا واحدًا لمستمع TCP الذي تتفاعل معه جميع tcp
الأوامر.
توفر النظرات العامة على الأوامر والمثال التالي معلومات حول تهيئة مثال نقطة نهاية TCP ومستمع TCP، وكيفية الاتصال بنقطة نهاية TCP نظير، وكيفية إرسال رسالة إلى النظير.
أوامر بروتوكول التحكم بالنقل
للحصول على قائمة بأوامر tcp
، اكتب help
:
tcp help
abort
benchmark
bind
connect
deinit
init
listen
send
sendend
stoplistening
Done
للحصول على أوصاف جميع الأوامر وبنيتها، يُرجى الرجوع إلى مرجع أوامر CLI.
تبدأ أوامر بروتوكول التحكم بالنقل أبجديًا بإلغاء تفعيل بروتوكول tcp.
الأمر init
يمكنك استخدام الأمر tcp init
لإعداد وحدة TCP لبدء اتصال TCP.
يمكن لوحدة TCP بعد ذلك تنفيذ العديد من الوظائف، مثل رصد الاتصالات الواردة باستخدام نموذج مستمِع TCP الذي يوفّره واجهة سطر الأوامر tcp
.
لإيقاف نموذج مستمِع TCP ونموذج نقطة نهاية TCP،
يمكنك إصدار الأمر tcp deinit
.
الأمر bind
لربط نموذج نقطة نهاية TCP بعد إعداد وحدة TCP،
يمكنك تشغيل أمر tcp bind
لتخصيص عنوان IPv6 ومنفذ إلى نقطة نهاية TCP.
هذا يربط نقطة النهاية للاتصال. يُشار أيضًا إلى تعيين عنوان 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 abort
على أي من العُقد لنقل نقطة نهاية TCP إلى حالة مغلقة.
الأمر sendend
عند انتهاء إحدى العُقد من إرسال البيانات إلى العقدة الأخرى، يمكن للعقدة الأولى
إصدار أمر tcp sendend
لتنبيه العقدة الثانية إلى عدم توقع
البيانات بعد الآن. ويمكن للعقدة الثانية أيضًا إرسال tcp sendend
إلى العقدة الأولى.
بمجرد أن تتلقى كل عقدة رسالة TCP: Disconnected
، يتم قطع اتصال TCP
بين العُقدتين. يوصى بذلك ولكن ليس مطلوبًا إصدار هذا
الأمر عند اكتمال نقل البيانات.
إرسال رسالة بين نقطتين
في العقدة 1، قم بتهيئة وحدة TCP CLI، ثم استمع إلى الاتصالات الواردة باستخدام مثال مستمع TCP.
tcp init
tcp listen :: 30000
يشير استخدام
::
إلى أنّه علىlisten
استخدام عنوان IPv6 غير محدَّد، وبالتالي، يتم تحديد عنوان IPv6 من خلال حزمة TCP/IPv6. المنفذ هو 30000.في العقدة 2، قم بتهيئة وحدة TCP CLI والاتصال بالعقدة 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